PSN0503083同步十進(jìn)制計(jì)數(shù)器
發(fā)布時(shí)間:2019/10/19 16:49:23 訪(fǎng)問(wèn)次數(shù):728
PSN0503083非二進(jìn)制計(jì)數(shù)器,例6.6,4描述了一個(gè)帶有異步置零功能的同步十進(jìn)制計(jì)數(shù)器。當(dāng)清零信號(hào)CR跳變到低電平(由negedge CR描述)時(shí),計(jì)數(shù)器的輸出被置零;否則,當(dāng)CR=1,且使能信號(hào)CE=1時(shí),在CP的上升沿作用下,若計(jì)數(shù)值大于或者等于9,計(jì)數(shù)器的輸出被置零;若計(jì)數(shù)值小于9,則計(jì)數(shù)器的值加1。當(dāng)CR=1,但CE=0時(shí),計(jì)數(shù)器保持原來(lái)的狀態(tài)不變。注意,電路的功能描述與具體的硬件電路結(jié)構(gòu)是無(wú)關(guān)的。
例6.6.4
//Non-iBinarv counter lW・ith enable
m.odule m10~counter(CE,CP,CR,Q);
input CE,CP,CR~;
output[3:0]Q; //Data。utput
reg[3:0]Q; :
always@(posedge CP or negedge CR)
if(~CR)Q<=4’b0000;
else if(CE)
begin if(Q) =41b1001)Q|<=4.b0000;
else Q(=Q+1’b1;
end
else Q<=Q;
emdnn.odule
狀態(tài)圖的Veri|og建模用Vern。g描述狀態(tài)圖是十分方便的,可以直接寫(xiě)出描述語(yǔ)句。描述狀態(tài)圖的方法很多,最常用的是利用always語(yǔ)句和case語(yǔ)句。圖6.3.7所示是一個(gè)有3個(gè)狀態(tài)的狀態(tài)圖,可用于檢測(cè)連續(xù)輸人序列110,它的Verilog描述如例6.6.5所示。其中用通常的方法定義了電路的輸人、輸出、時(shí)鐘以及清零信號(hào),保存著電路狀態(tài)值的觸發(fā)器用標(biāo)識(shí)符current~state、next~state進(jìn)行定義,并使用參數(shù)定義語(yǔ)句parameter定義了電路的三種狀態(tài),即sO=2’b00、s1=2i bO1和S2=2’b11。注意,雖然使用S2=3的形式定義狀態(tài)在語(yǔ)句上是正確的,但存儲(chǔ)“3”這個(gè)整數(shù)至少要使用32位寄存器,而存儲(chǔ)21b11只需要2位寄存器,所以例題中使用的定義方式更好一些。
電路的功能描述使用了兩個(gè)并行執(zhí)行的always結(jié)構(gòu)型語(yǔ)句,通過(guò)公用變量相互進(jìn)行通信。第一個(gè)always語(yǔ)句使用邊沿觸發(fā)事件描述了電路的觸發(fā)器部分,第二個(gè)always語(yǔ)句使用電平敏感事件描述了組合邏輯部分。
PSN0503083非二進(jìn)制計(jì)數(shù)器,例6.6,4描述了一個(gè)帶有異步置零功能的同步十進(jìn)制計(jì)數(shù)器。當(dāng)清零信號(hào)CR跳變到低電平(由negedge CR描述)時(shí),計(jì)數(shù)器的輸出被置零;否則,當(dāng)CR=1,且使能信號(hào)CE=1時(shí),在CP的上升沿作用下,若計(jì)數(shù)值大于或者等于9,計(jì)數(shù)器的輸出被置零;若計(jì)數(shù)值小于9,則計(jì)數(shù)器的值加1。當(dāng)CR=1,但CE=0時(shí),計(jì)數(shù)器保持原來(lái)的狀態(tài)不變。注意,電路的功能描述與具體的硬件電路結(jié)構(gòu)是無(wú)關(guān)的。
例6.6.4
//Non-iBinarv counter lW・ith enable
m.odule m10~counter(CE,CP,CR,Q);
input CE,CP,CR~;
output[3:0]Q; //Data。utput
reg[3:0]Q; :
always@(posedge CP or negedge CR)
if(~CR)Q<=4’b0000;
else if(CE)
begin if(Q) =41b1001)Q|<=4.b0000;
else Q(=Q+1’b1;
end
else Q<=Q;
emdnn.odule
狀態(tài)圖的Veri|og建模用Vern。g描述狀態(tài)圖是十分方便的,可以直接寫(xiě)出描述語(yǔ)句。描述狀態(tài)圖的方法很多,最常用的是利用always語(yǔ)句和case語(yǔ)句。圖6.3.7所示是一個(gè)有3個(gè)狀態(tài)的狀態(tài)圖,可用于檢測(cè)連續(xù)輸人序列110,它的Verilog描述如例6.6.5所示。其中用通常的方法定義了電路的輸人、輸出、時(shí)鐘以及清零信號(hào),保存著電路狀態(tài)值的觸發(fā)器用標(biāo)識(shí)符current~state、next~state進(jìn)行定義,并使用參數(shù)定義語(yǔ)句parameter定義了電路的三種狀態(tài),即sO=2’b00、s1=2i bO1和S2=2’b11。注意,雖然使用S2=3的形式定義狀態(tài)在語(yǔ)句上是正確的,但存儲(chǔ)“3”這個(gè)整數(shù)至少要使用32位寄存器,而存儲(chǔ)21b11只需要2位寄存器,所以例題中使用的定義方式更好一些。
電路的功能描述使用了兩個(gè)并行執(zhí)行的always結(jié)構(gòu)型語(yǔ)句,通過(guò)公用變量相互進(jìn)行通信。第一個(gè)always語(yǔ)句使用邊沿觸發(fā)事件描述了電路的觸發(fā)器部分,第二個(gè)always語(yǔ)句使用電平敏感事件描述了組合邏輯部分。
熱門(mén)點(diǎn)擊
- 北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國(guó)自行研制的全球衛(wèi)星導(dǎo)航
- 數(shù)字式萬(wàn)用表的各單元電路原理A/D轉(zhuǎn)換器
- 線(xiàn)零序電流的首半波的幅值和極性
- 外接調(diào)頻電壓輸入插座(VCF)
- 對(duì)NUS利用穩(wěn)態(tài)基波量作為選線(xiàn)的依據(jù)
- 考慮到NUGS輸電線(xiàn)路一般不長(zhǎng)
- 人為向系統(tǒng)注人一個(gè)特殊信號(hào)電流
- 光纖通信系統(tǒng)的分類(lèi)
- 分段開(kāi)關(guān)和聯(lián)絡(luò)開(kāi)關(guān)的時(shí)限整定
- 8619440門(mén)電路的扇出數(shù)
推薦技術(shù)資料
- RA Arm Cortex-M
- 110V, 75A RMS集成
- 微型C語(yǔ)言可編程處理器技術(shù)參數(shù)
- iNEMO系統(tǒng)級(jí)封裝 (SiP
- 首款 EVC 技術(shù)ST31N
- 嵌入式Flash技術(shù)制造ST54L芯片
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究