姓名:張俸璽 學(xué)號(hào):20012100022 學(xué)院:竹園三號(hào)書(shū)院
轉(zhuǎn)自https://blog.csdn.net/qq_38798425/article/details/107084800909
【嵌牛導(dǎo)讀】FPGA,可編程門(mén)陣列,作為一種較為新型的技術(shù),為大多數(shù)人所陌生。如今,用FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)成為一種熱門(mén)技術(shù)話題。本文對(duì)Verilog 連續(xù)賦值、過(guò)程賦值、過(guò)程性連續(xù)賦值進(jìn)行了簡(jiǎn)要敘述。
【嵌牛鼻子】FPGA? ?Verilog
【嵌牛提問(wèn)】Verilog 連續(xù)賦值、過(guò)程賦值、過(guò)程性連續(xù)賦值分別指的什么?
【嵌牛正文】
連續(xù)賦值:
1)語(yǔ)法上,有關(guān)鍵詞“assign”來(lái)標(biāo)識(shí);
2)左側(cè)被賦值的數(shù)據(jù)類(lèi)型必須是線網(wǎng)型數(shù)據(jù)(wire);
3)連續(xù)賦值語(yǔ)句不能出現(xiàn)在過(guò)程快中(initial/always);
4)連續(xù)賦值語(yǔ)句主要用來(lái)對(duì)組合邏輯進(jìn)行建模以及線網(wǎng)數(shù)據(jù)間進(jìn)行描述;
5)連續(xù)賦值語(yǔ)句產(chǎn)生作用后,賦值表達(dá)式中信號(hào)的任何變化都將立即被反映到賦值線網(wǎng)型數(shù)據(jù)的取值上;
過(guò)程賦值:
1)語(yǔ)法上,沒(méi)有關(guān)鍵詞“assign”;
2)左側(cè)被賦值的數(shù)據(jù)類(lèi)型必須是寄存器類(lèi)型的變量(reg);
3)過(guò)程性連續(xù)賦值語(yǔ)句只能出現(xiàn)在過(guò)程塊中;
4)過(guò)程性連續(xù)賦值語(yǔ)句主要用來(lái)對(duì)時(shí)序邏輯電路進(jìn)行行為描述;
5)在過(guò)程賦值語(yǔ)句的情況下,只有在過(guò)程賦值語(yǔ)句被執(zhí)行時(shí)才執(zhí)行賦值操作,語(yǔ)句執(zhí)行完后被賦值變量的取值不再受到賦值表達(dá)式的影響;
過(guò)程性連續(xù)賦值語(yǔ)句:
? ? ?在verilog HDL中,有兩組過(guò)程性連續(xù)賦值語(yǔ)句可以實(shí)現(xiàn)連續(xù)賦值:assign-deassign,只能用于對(duì)寄存器型變量的連續(xù)賦值操作,而不能用來(lái)對(duì)線網(wǎng)型數(shù)據(jù)進(jìn)行連續(xù)賦值操作;force-release,它不僅能對(duì)寄存器型變量產(chǎn)生作用,也對(duì)線網(wǎng)型數(shù)據(jù)產(chǎn)生作用。force語(yǔ)句的優(yōu)先級(jí)高于assign 。
deassign 撤銷(xiāo)對(duì)某一個(gè)寄存器型變量的連續(xù)賦值后,該寄存器變量仍然保持deassign操作之前的取值。
?過(guò)程性連續(xù)賦值語(yǔ)句比普通的過(guò)程賦值語(yǔ)句有更高的優(yōu)先級(jí)。
舉例:異步清零的D觸發(fā)器;
module dff_asyn_clear(clk,clr,d,q);
input clk,clr;
input d;
output q;
reg q;
always@(clr) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//用于實(shí)現(xiàn)異步清零的always塊,強(qiáng)制清零,過(guò)程性連續(xù)賦值語(yǔ)句的優(yōu)先級(jí)高于過(guò)程賦值語(yǔ)句
begin
if(!clr)
assign q =0 ;
else
deassign q;
end
always@(posedge clk) ? ? ? ? ? ? ? ? ? ? ?//用于實(shí)現(xiàn)D觸發(fā)器正常工作的always塊
begin
q = d;
end
endmodule