天天看點

verilog文法筆記 續前

2019-12-19

12.在verilog子產品中有三種方法可以生成邏輯電路

-assign語句:

assign cs = (a0&~a1&~a2);//連續指派, 組合邏輯

-元件的執行個體調用:

and and_inst(q,a,b);

-always塊:

always @(posedge clk or posedge clr)

begin if(clr) q<=0;else if(en)q<=d;end//D觸發器

13.并行和順序邏輯關系的表示

在子產品中邏輯功能由下面三個語句塊組成:

assign cs = (a0&~a1 & ~a2);//-----1//連續指派語句

and and_inst(qout,a,b);//-----2執行個體引用塊

always @(posedge clk or posedge clr)//-----3

begin if(clr) q<=0;else if(en) q<=d;end//過程塊

<= “非阻塞”

這三條語句是并行的,他們産生獨立的邏輯電路

而在always塊中:begin與end之間是順序執行的

14.Verilog子產品中的信号

隻有兩種主要的信号類型:

-寄存器類型:reg

在always塊中被指派的信号,往往代表觸發器,但不一定是觸發器。

reg用于儲存值,組合邏輯帶回報。有“時間沿”,比作“照相”

-連線類型 :wire

用assign關鍵詞指定的組合邏輯的信号或連線,并且assign語句中的信号類型必須是wire

wire用于邏輯關系,組合邏輯不能回報。比作“照鏡子”

“用組合邏輯産生時序”

注意::寄存器(reg)類型不一定是觸發器。它隻是在always塊中指派的信号。