節(jié)通過(guò)硬件描述語(yǔ)言Verilog HDL對(duì)二十進(jìn)制編碼器的描述,介紹Verilog HDL程序的基本結(jié)構(gòu)及特點(diǎn)。
二十進(jìn)制編碼器及Verilog HDL描述
二十進(jìn)制編碼器是數(shù)字電路中常用的電路單元,它的輸入是代表0~9這10個(gè)輸入端的狀態(tài)信息。輸入信號(hào)為高電平時(shí),輸出相應(yīng)的BCD碼,因此也稱為10線4線編碼器。其功能表及電路符號(hào)如圖3-1所示。
圖3-1二十進(jìn)制編碼器
【例3-1】利用Verilog HDL對(duì)二十進(jìn)制編碼器進(jìn)行設(shè)計(jì)。
Verilog HDL程序的基本構(gòu)成
從例3-1可以看出,一個(gè)完整的Verilog HDL程序由3個(gè)基本部分構(gòu)成,分別是:模塊端口定義部分、信號(hào)類型說(shuō)明部分和邏輯功能描述語(yǔ)句部分。其結(jié)構(gòu)圖如3-2所示。
圖3-2Verilog HDL程序基本結(jié)構(gòu)
模塊端口定義部分
對(duì)于硬件描述語(yǔ)言來(lái)說(shuō),一個(gè)程序代表了一個(gè)具有某種邏輯功能的電路,模塊端口定義部分描述了該電路的接口部分的信息,即輸入輸出信號(hào)的信息。
模塊端口定義部分的語(yǔ)法結(jié)構(gòu)如下:
module模塊名(端口信號(hào)1,端口信號(hào)2,端口信號(hào)3,端口信號(hào)4,……);
input[width:0]端口信號(hào)1,端口信號(hào)3,……;
output[width:0]端口信號(hào)2,端口信號(hào)4,……;
程序以關(guān)鍵詞module引導(dǎo),模塊名是設(shè)計(jì)者對(duì)于設(shè)計(jì)的電路所取的名字,在模塊端口定義的第1行列出了所有進(jìn)出該電路模塊的端口信號(hào),在第2行和第3行中定義了各端口信號(hào)流動(dòng)方向。流動(dòng)方向包括輸入(input)、輸出(output)和雙向(inout),[width:0]表示信號(hào)的位寬,如果位寬沒(méi)有特別說(shuō)明,則系統(tǒng)默認(rèn)為1位寬度。
【例3-2】模塊端口定義舉例。
信號(hào)類型說(shuō)明部分
在Verilog HDL語(yǔ)法中,信號(hào)共有兩種數(shù)據(jù)類型,分別為:網(wǎng)線類型(net型)和寄存器類型(register型)。在信號(hào)類型說(shuō)明部分除了要對(duì)輸入/輸出端口的信號(hào)類型進(jìn)行說(shuō)明之外,還要對(duì)程序中定義的中間量的數(shù)據(jù)類型進(jìn)行說(shuō)明。
信號(hào)類型說(shuō)明部分的語(yǔ)法結(jié)構(gòu)如下:
wire[width:0]信號(hào)1,信號(hào)2,……;
reg[width:0]信號(hào)3,信號(hào)4,……;
【例3-3】信號(hào)類型說(shuō)明舉例。
邏輯功能描述語(yǔ)句部分
邏輯功能描述語(yǔ)句部分對(duì)輸入/輸出信號(hào)之間的邏輯關(guān)系進(jìn)行了描述,是Verilog HDL程序設(shè)計(jì)中最主要的部分,在電路上相當(dāng)于器件的內(nèi)部電路結(jié)構(gòu)。在Verilog HDL語(yǔ)言中,常用的邏輯功能描述語(yǔ)句可以分為以下3種:
例化語(yǔ)句:調(diào)用已進(jìn)行元件化封裝的程序。這種語(yǔ)句常應(yīng)用于層次化設(shè)計(jì)的頂層文件設(shè)計(jì)中。
【例3-4】例化語(yǔ)句舉例。
該語(yǔ)句分別調(diào)用了一個(gè)非門(mén)和與門(mén)電路模塊。
連續(xù)賦值語(yǔ)句:描述信號(hào)之間簡(jiǎn)單的賦值關(guān)系。在連續(xù)賦值語(yǔ)句中,右邊表達(dá)式使用的操作數(shù)無(wú)論何時(shí)發(fā)生變化,右邊表達(dá)式都重新計(jì)算。這類描述通常以關(guān)鍵詞assign引導(dǎo)。
【例3-5】連續(xù)賦值語(yǔ)句舉例。
該語(yǔ)句描述了輸出信號(hào)與輸入信號(hào)的賦值關(guān)系。
過(guò)程語(yǔ)句:以關(guān)鍵詞always、initial等關(guān)鍵詞引導(dǎo)的語(yǔ)句,描述了一定條件下信號(hào)之間的賦值關(guān)系。這種變量數(shù)據(jù)被賦值后,其值保持不變,直到下一次條件具備時(shí)對(duì)它們重新賦值。
【例3-6】過(guò)程語(yǔ)句舉例。
與連續(xù)賦值語(yǔ)句一樣,always和initial也描述了輸出信號(hào)與輸入信號(hào)的賦值關(guān)系,但是這種賦值往往是一種比較復(fù)雜的條件賦值,例如,例3-6就用了if……else語(yǔ)句描述了輸出信號(hào)與輸入信號(hào)的條件關(guān)系。
-
編碼器
+關(guān)注
關(guān)注
45文章
3775瀏覽量
137127 -
Verilog
+關(guān)注
關(guān)注
28文章
1366瀏覽量
111803 -
HDL
+關(guān)注
關(guān)注
8文章
330瀏覽量
47818 -
程序
+關(guān)注
關(guān)注
117文章
3823瀏覽量
82399
原文標(biāo)題:邏輯功能描述語(yǔ)句部分
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【FPGA學(xué)習(xí)】Verilog HDL有哪些特點(diǎn)
Verilog-HDL實(shí)踐與應(yīng)用系統(tǒng)設(shè)計(jì)

什么是Verilog HDL?

Verilog HDL程序基本結(jié)構(gòu)與程序入門(mén)
Verilog HDL語(yǔ)言簡(jiǎn)介
Verilog HDL程序設(shè)計(jì)教程_王金明

Verilog HDL程序設(shè)計(jì)與實(shí)踐
Verilog HDL硬件描述語(yǔ)言_結(jié)構(gòu)建模
Verilog HDL入門(mén)教程之Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程

Verilog HDL的基礎(chǔ)知識(shí)詳細(xì)說(shuō)明

Verilog教程之Verilog HDL程序設(shè)計(jì)語(yǔ)句和描述方式

評(píng)論