[X]关闭

最近在学习systemverilog,总结了些知识要点,不对的地方,希望高手多赐教,谢谢了

文档创建者:shiwuge
浏览次数:2993
最后更新:2016-03-08
一.Sv的主要数据类型
1.    四态数据类型:0,1,X,Z
主要有reg,integer(有符号数据类型),logic(相当于reg)
2.    二态数据类型:0,1
   主要有bit,byte,shortint,int(32位),longint
note1: reg,logic,bit 数据类型位宽可以改变。
note2:bit类型即可用于变量,也可用于线网。
二.用户定义类型---typedef
typedef existing_type mytype_t;
      `ifdefSTATE2
            typedefbit bit_t ;
    `else
                 typedeflogic bit_t;
    endif
note1:好的命名规则用”_t”做后缀。
  note2:用typedef可以很容易的在4态和2态逻辑仿真之间加快仿真速度。
三.systemverilog表示数字的语法
  logic [3:0] data_i;
  data_i <= `1;(data_i=4’b1111)
四.特定逻辑过程
1.     always_comb
always_comb is used todescribe combinational logic. It implicitly creates a complete sensitivity listby looking at the variables and nets that are read in the process, justlike always @* in Verilog-2001
2.     always_latch  always_ff
always_latch and always_ff are used for infering transparent latchesand flip-flops respectively.
      note :
              always_comb
                     begin
                            tmp1= a&b;
                            tmp2= c&d ;
                            y= tmp1|tmp2 ;
                     end
      always_latch
              begin
                     if(en)  q <= d ;
              end
     
    always_ff(posedge clk or negedge rst_n)
         begin
              if(!rst_n)  q<= 0 ;
        else q <= d;  
     end
  3.alwasy_comb 和 void 函数
     void 函数行为相当于0延时的任务
五.设计意图—unique/priority
  1.unique,priority case ,所有可能的都已经定义了,其它任何可能都是错误的。
                     priority case (1’b1)
irq0: irq= 4’b1 <<0;
irq1: irq= 4’b1 <<1;
irq2: irq= 4’b1 <<2;
irq3: irq= 4’b1 <<3;
endcase
   note:irq0 到 irq3中至少一个必为高,否则仿真出错 ,case后面不能加default,否则会使priority关键字失效。
              unique case (1’b1)
sel[0]: muxo = a;
sel[1]: muxo = b;
sel[2]: muxo = c;
endcase
  note:  sel ==3’b011 时,仿真出现错误,任何没有预料到的sel值将会使仿真出现错误。case语句最后面后面有default时,没有预料到的sel值不会在仿真中出现错误。
六.枚举(enumerated)数据类型
   typedefenum
      {
       red ,
       yellow ,
       green ,
       black,
       bule ,
       white            
} clolors_t ;
七.systemverilog隐含端口连接
      
    multop1    multop1 (.mop1, .data, .ld_multop1,
                                .clk, . rst_n);
暂时就这么多吧,边学边做点笔记

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则