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塊中指派的信号。