版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)文檔編號(hào)版本密級(jí)深圳市華為技術(shù)有限公司1.0內(nèi)部公開(kāi)共 56頁(yè)研究管理部文檔中心資源類(lèi)別: HDL語(yǔ)言Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)(僅供內(nèi)部使用)Verilog Group擬制:批準(zhǔn):批準(zhǔn):日期:日期:日期:2000/04/04yyyy/mm/ddyyyy/mm/dd深圳市華為技術(shù)有限公司版權(quán)所有 不得復(fù)制2001/02/28版權(quán)所有,侵權(quán)必究第 1頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)修訂記錄日期修訂版本 描述作者2000/04/04 1.002001/02/28 1.01Veril
2、og Group初稿完成修訂,主要增加三態(tài)和一些電路圖蘇文彪2001/02/28版權(quán)所有,侵權(quán)必究第 2頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)目 錄1前言556667892典型電路的設(shè)計(jì)2.1全加器的設(shè)計(jì)2.2數(shù)據(jù)通路2.2.1四選一的多路選擇器2.2.2譯碼器2.2.3優(yōu)先編碼器2.3計(jì)數(shù)器2.4算術(shù)操作2.5邏輯操作2.6移位操作2.7時(shí)序器件101011121212132.7.1上升沿觸發(fā)的觸發(fā)器2.7.2 帶異步復(fù)位、上升沿觸發(fā)的觸發(fā)器2.7.3帶異步置位、上升沿觸發(fā)的觸發(fā)器2.7.4帶異步復(fù)位和置位、上升沿觸發(fā)的觸發(fā)器1415162.7.5帶同步復(fù)位、上升
3、沿觸發(fā)的觸發(fā)器2.7.6帶同步置位、上升沿觸發(fā)的觸發(fā)器2.7.7帶異步復(fù)位和時(shí)鐘使能、上升沿觸發(fā)的觸發(fā)器161718202023263030313131312.7.8 D-Latch(鎖存器)2.8 ALU2.9有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)2.9.1概述2.9.2One-hot編碼2.9.3 Binary編碼2.10三態(tài)總線2.10.1三態(tài) buffer2.10.2雙向 I/O buffer3常用電路設(shè)計(jì)3.1CRC校驗(yàn)碼產(chǎn)生器的設(shè)計(jì)3.1.1概述3.1.2 CRC校驗(yàn)碼產(chǎn)生器的分析與硬件實(shí)現(xiàn)32333.1.3并行 CRC-16校驗(yàn)碼產(chǎn)生器的 VerilogHDL編碼3.1.4串行 CRC-16
4、校驗(yàn)碼產(chǎn)生器的 VerilogHDL編碼3537373.2隨機(jī)數(shù)產(chǎn)生電路設(shè)計(jì)3.2.1概述2001/02/28版權(quán)所有,侵權(quán)必究第 3頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)3.2.2偽隨機(jī)序列發(fā)生器的硬件實(shí)現(xiàn)3.2.3 8位偽隨機(jī)序列發(fā)生器的 VerilogHDL編碼3738404141414444443.3雙端口 RAM仿真模型3.4同步 FIFO的設(shè)計(jì)3.4.1功能描述3.4.2設(shè)計(jì)代碼3.5異步 FIFO設(shè)計(jì)3.5.1概述3.5.2設(shè)計(jì)代碼2001/02/28版權(quán)所有,侵權(quán)必究第 4頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)Verilo
5、g 基本電路設(shè)計(jì)指導(dǎo)書(shū)關(guān)鍵詞:電路、摘 要:本文列舉了大量的基本電路的 Verilog HDL代碼,使初學(xué)者能夠迅速熟悉基本的 HDL建模;同時(shí)也列舉了一些常用電路的代碼,作為設(shè)計(jì)者的指導(dǎo)??s略語(yǔ)清單: 對(duì)本文所用縮略語(yǔ)進(jìn)行說(shuō)明,要求提供每個(gè)縮略語(yǔ)的英文全名和中文解釋。參考資料清單: 請(qǐng)?jiān)诒砀裰辛_列本文檔所引用的有關(guān)參考文獻(xiàn)名稱、作者、標(biāo)題、編號(hào)、發(fā)布日期和出版單位等基本信息。參考資料清單名稱作者編號(hào)發(fā)布日期查閱地點(diǎn)或渠 出版單位(若道不為本公司發(fā)布的文獻(xiàn),請(qǐng)?zhí)顚?xiě)此列)ActelHDLStyleNovember 1997 文檔室Actel公司codingGuide1 前言當(dāng)前業(yè)界的硬件描述語(yǔ)言
6、中主要有 VHDL和 Verilog HDL。公司根據(jù)本身 ASIC設(shè)計(jì)現(xiàn)有的特點(diǎn)、現(xiàn)狀,主推 Verilog HDL語(yǔ)言,逐漸淡化 VHDL語(yǔ)言,從而統(tǒng)一公司的 ASIC/FPGA設(shè)計(jì)平臺(tái),簡(jiǎn)化流程。為使新員工在上崗培訓(xùn)中能迅速掌握 ASIC/FPGA設(shè)計(jì)的基本技能,中研基礎(chǔ)部 ASIC設(shè)計(jì)中心開(kāi)發(fā)了一系列的培訓(xùn)教材。該套 HDL語(yǔ)言培訓(xùn)系列包括如下教程:Verilog HDL入門(mén)教程Verilog HDL代碼書(shū)寫(xiě)規(guī)范Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)TestBench編碼技術(shù)系列教材完成得較匆忙,本身尚有許多不完善的地方,同時(shí),可能還需要其他知識(shí)方面的培訓(xùn)但沒(méi)有形成培訓(xùn)教材,希望大家在培訓(xùn)過(guò)
7、程中,多提寶貴意見(jiàn),以便我們對(duì)它進(jìn)行修改和完善2 典型電路的設(shè)計(jì)2001/02/28版權(quán)所有,侵權(quán)必究第 5頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)在本章節(jié)中,主要講述觸發(fā)器、鎖存器、多路選擇器、解碼器、編碼器、飽和/非飽和計(jì)數(shù)器、FSM等常用基本電路的設(shè)計(jì)。如果你是初學(xué)者,我們建議你從典型電路學(xué)起,如果你已經(jīng)非常熟悉電路設(shè)計(jì),我們建議你從第 3章看起。2.1全加器的設(shè)計(jì)/*FilenameAuthor:fulladd.vVerilog_gruopExample of a one-bit full add.2000/02/29DescriptionRevisionCo
8、mpanyVerilog_group*/module FULLADDR(Cout, Sum, Ain, Bin, Cin);inputAin, Bin, Cin;Sum, Cout;outputwirewireSum;Cout;assignSum = Ain Bin Cin;assignCout = (Ain & Bin) | (Bin & Cin) | (Ain & Cin);endmodule2.2數(shù)據(jù)通路2.2.1四選一的多路選擇器用 case語(yǔ)句實(shí)現(xiàn)的多路選擇器,一般要求選擇信號(hào)之間是相關(guān)的;case的多路選擇器一般是并行的操作,但有些工具也可能綜合成優(yōu)先級(jí)的譯碼器除非加一些控制參數(shù)。
9、/*FilenameAuthor:mux.vVerilog_gruopExample of a mux4-1.2000/02/29DescriptionRevisionCompanyVerilog_group*/module MUX( C,D,E,F,S,Mux_out);2001/02/28版權(quán)所有,侵權(quán)必究第 6頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)inputC,D,E,F ;S ;/inputinput1:0/select control/resultoutputMux_out ;reg Mux_out ;/muxalways(C or D or E or F
10、 or S)begincase (S)2b00 : Mux_out = C ;2b01 : Mux_out = D ;2b10 : Mux_out = E ;default : Mux_out = F ;endcaseendendmodule以上代碼實(shí)現(xiàn)的功能如下所示:CDEMUXMux_outFS1:01 Multiplexor using a case statement2.2.2譯碼器因?yàn)樽g碼信號(hào)之間是相關(guān)的,因此,譯碼器要 case語(yǔ)句實(shí)現(xiàn)。/*FilenameAuthor:decode.vVerilog_gruopDescriptionExample of a 3-8 decoder
11、.2001/02/28版權(quán)所有,侵權(quán)必究第 7頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)Revision:2000/02/29CompanyVerilog_group*/module DECODE(Ain,En,Yout);inputinputoutputEn ;/enable2:07:0Ain ;Yout ;/input codereg 7:0 Yout ;always(En or Ain)beginif(!En)Yout = 8b0 ;elsecase (Ain)3b000 : Yout = 8b0000_0001 ;3b001 : Yout = 8b0000_00
12、10 ;3b010 : Yout = 8b0000_0100 ;3b011 : Yout = 8b0000_1000 ;3b100 : Yout = 8b0001_0000 ;3b101 : Yout = 8b0010_0000 ;3b110 : Yout = 8b0100_0000 ;3b111 : Yout = 8b1000_0000 ;default : Yout = 8b0000_0000 ;endcaseendendmodule2.2.3優(yōu)先編碼器/*FilenameAuthor:Prio-encoder.vVerilog_gruopDescriptionRevisionExampl
13、e of a Priority Encoder.2000/02/292001/02/28版權(quán)所有,侵權(quán)必究第 8頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)Company:Verilog_group*/module PRIO_ENCODER (Cin,Din,Ein,Fin,Sin,Pout);inputinputoutputregCin,Din,Ein,Fin;/ input signals1:0Pout;Sin;/input select control/output select resultPout;/ Pout assignmentalways (Sin or
14、Cin or Din or Ein or Fin)beginif (Sin = 2b00)Pout= Cin;else if (Sin = 2b01)Pout = Din;else if (Sin = 2b10)Pout = Ein;elsePout = Fin;endendmodule以上代碼實(shí)現(xiàn)的功能如下圖:FinEinDinPoutCinSin=10Sin=01Sin=001 使用if 的優(yōu)先譯碼器2.3計(jì)數(shù)器/*FilenameAuthor:count_en.vVerilog_gruop2001/02/28版權(quán)所有,侵權(quán)必究第 9頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸
15、入文檔編號(hào)Description:Example of a counter with enable.RevisionCompany2000/02/29Verilog_group*/module COUNT_EN (En,Clock,Reset,Out);parameterparameterinputWidth=8 ;U_DLY =1;Clock , Reset , En ;Out ;outputWidth-1:0regWidth-1:0Out ;always(posedge Clock or negedge Reset)if (!Reset)Out= 8b0 ;else if (En)Out
16、B ;= A = B ;Q2Q32001/02/28版權(quán)所有,侵權(quán)必究第 11頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)if (A = B)Q4= 1 ;= 0 ;elseQ4endendmodule2.6移位操作/*FilenameAuthor:shifter.vVerilog_gruopExample of a shifter2000/02/29DescriptionRevisionCompanyVerilog_group*/module SHIFT (Data ,Q1, Q2) ;input3:03:0Data ;outputQ1,Q2 ;parameterB =
17、 2 ;reg3:0Q1, Q2 ;always(Data)beginQ1= Data B ;Q2endendmodule2.7時(shí)序器件一個(gè)時(shí)序器件(指觸發(fā)器或鎖存器)就是一個(gè)一位存儲(chǔ)器。鎖存器是電平敏感存儲(chǔ)器件,觸發(fā)器是沿觸發(fā)存儲(chǔ)器件。觸發(fā)器也被稱為寄存器,在程序中體現(xiàn)為對(duì)上升沿或下降沿的探測(cè),VERILOG中采用如下方法表示:2001/02/28版權(quán)所有,侵權(quán)必究第 12頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)(posedge Clk)- 上升沿-下降沿(negedgeClk)下面給出各種不同類(lèi)型觸發(fā)器的描述。2.7.1上升沿觸發(fā)的觸發(fā)器實(shí)現(xiàn)了一個(gè) D觸發(fā)器。/*
18、FilenameAuthor:dff.vVerilog_gruopDescriptionRevisionCompanyExample of a Rising Edge Flip-Flop.2000/03/30Verilog_group*/module DFF (Data, Clk, Q);inputData, Clk;Q;outputregQ;always (posedge Clk)Q= Data;endmodule功能如下圖:DataClkDQQCK1 D 觸發(fā)器2.7.2 帶異步復(fù)位、上升沿觸發(fā)的觸發(fā)器/*FilenameAuthor:dff_async_rst.vVerilog_gruo
19、pDescriptionExample of a Rising Edge Flip-Flop with Asynchronous Reset.2001/02/28版權(quán)所有,侵權(quán)必究第 13頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)Revision:2000/03/30CompanyVerilog_group*/module DFF_ASYNC_RST (Data, Clk, Reset, Q);inputData, Clk, Reset;Q;outputparameterU_DLY =1;reg Q;always (posedge Clk or negedge Rese
20、t)if ( Reset)Q= #U_DLY 1b0 ;elseQ= #U_DLY Data ;endmudule功能如下圖:DataDQQCKRClkReset1 帶異步復(fù)位D 觸發(fā)器2.7.3帶異步置位、上升沿觸發(fā)的觸發(fā)器/*FilenameAuthor:dff_async_pre.vVerilog_gruopDescriptionRevisionCompanyExample of a Rising Edge Flip-Flop with Asynchronous Preset.2000/03/30Verilog_group*/module DFF_ASYNC_PRE (Data, Clk
21、, Preset, Q);inputData, Clk, Preset;2001/02/28版權(quán)所有,侵權(quán)必究第 14頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)outputQ;parameterreg Q;U_DLY =1;always (posedge Clk or negedge Preset)if ( Preset)Q= #U_DLY 1b1 ;elseQ= #U_DLY Data ;endmudule功能如下圖:PresetDataD PCKQQClk1 帶異步置位D 觸發(fā)器2.7.4帶異步復(fù)位和置位、上升沿觸發(fā)的觸發(fā)器/*FilenameAuthor:dff_
22、async.vVerilog_gruopDescriptionExample of a Rising Edge Flip-Flopwith Asynchronous Reset and Preset.RevisionCompany:2000/03/30Verilog_group*/module DFF_ASYNC (Data, Clk, Reset, Preset, Q);inputData, Clk, Reset, Preset ;outputparameterregQ;U_DLY = 1;Q;always (posedge Clk or negedge Reset or negedge P
23、reset)2001/02/28版權(quán)所有,侵權(quán)必究第 15頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)if ( Reset)Q= 1b0 ;else if ( preset )Q= 1b1;elseQ= #U_DLY Data ;endmudule功能如下圖:PresetDataD PCKQQClkRReset1 帶異步置位、復(fù)位D 觸發(fā)器2.7.5帶同步復(fù)位、上升沿觸發(fā)的觸發(fā)器/*FilenameAuthor:dff_sync_rst.vVerilog_gruopDescriptionRevisionCompanyExample of a Rising Edge Fli
24、p-Flop with Synchronous Reset.2000/03/30Verilog_group*/module DFF_SYNC_RST (Data, Clk, Reset, Q);inputData, Clk, Reset;outputparameterregQ;U_DLY = 1;Q;always (posedge Clk )if ( Reset)Q= #U_DLY 1b0 ;= #U_DLY Data ;elseQendmudule2001/02/28版權(quán)所有,侵權(quán)必究第 16頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)功能如下圖:Reset0DQQDa
25、taClkCK1 帶同步復(fù)位D 觸發(fā)器2.7.6帶同步置位、上升沿觸發(fā)的觸發(fā)器/*FilenameAuthor:dff_sync_pre.vVerilog_gruopDescriptionRevisionCompanyExample of a Rising Edge Flip-Flop with Synchronous Preset.2000/03/30Verilog_group*/module DFF_SYNC_PRE (Data, Clk, Preset, Q);inputData, Clk, Preset;outputparameterregQ;U_DLY = 1;Q;always (p
26、osedge Clk )if ( Preset)Q= #U_DLY 1b1 ;= #U_DLY Data ;elseQendmudule功能如下圖:2001/02/28版權(quán)所有,侵權(quán)必究第 17頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)1 帶同步置位的D 觸發(fā)器2.7.7帶異步復(fù)位和時(shí)鐘使能、上升沿觸發(fā)的觸發(fā)器/*Filename:dff_ck_en.vPreset1DQQDataClkCKAuthor:Verilog_gruopDescriptionExample of a Rising Edge Flip-Flop with Asynchronous Resetan
27、d Clock Enable.RevisionCompany:2000/03/30Verilog_group*/module DFF_CK_EN (Data, Clk, Reset, En, Q);inputData, Clk, Reset, En;outputparameterregQ;U_DLY = 1;Q;always (posedge Clk or negedge Reset)if ( Reset)Qelse if (En)Q= 1b0 ;= #U_DLY Data ;endmudule功能如下圖:2001/02/28版權(quán)所有,侵權(quán)必究第 18頁(yè),共 56頁(yè) 絕密Verilog基本電路
28、設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)1 帶異步復(fù)位、使能端的D 觸發(fā)器2.7.8D-Latch(鎖存器)鎖存器是電平敏感器件,在 ASIC設(shè)計(jì)中,鎖存器會(huì)帶來(lái)諸多問(wèn)題,如額外時(shí)延、DFT問(wèn)題,因此,在實(shí)際設(shè)計(jì)中必須盡量避免鎖存器的出現(xiàn)。DataEnQDEQClkCKRResetmodule d_latch (enable,data,y);input enable ;input data;output y;reg y;always (enable or data)if (enable )y = data;endmodule功能如下圖:dataenableD QTy1 D-Latch2.8ALU/*Filen
29、ameAuthor:alu.vVerilog_gruopDescriptionExample of a 4-bit Carry Look Ahead ALU2001/02/28版權(quán)所有,侵權(quán)必究第 19頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)Revision:2000/02/29CompanyVerilog_group*/module ALU(A, B, Cin, Sum, Cout, Operate, Mode);/input signalsinputinputinputinputoutputoutput3:03:03:0A, B;Cin;/ two operand
30、s of ALU/carry in at the LSBOperate;Mode;Sum;/determine f(.) of sum = f(a, b)/arithmetic(mode = 1b1) or logic operation(mode = 1b0)/result of ALUCout;/carry produced by ALU operation/ carry generation bits and propogation bits.wire3:0G, P;C;/ carry bits;reg2:0/ function for carry generation:function
31、 geninputinputA, B;Oper;1:0begincase(Oper)2b00: gen = A;2b01: gen = A & B;2b10: gen = A & (B);2b11: gen = 1b0;endcase;endendfunction2001/02/28版權(quán)所有,侵權(quán)必究第 20頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)/ function for carry propergation:function propinputinputA, B;Oper;1:0begincase(Oper)2b00: prop = 1;2b01: prop =
32、 A | (B);2b10: prop = A | B;2b11: prop = A;endcase;endendfunction/ producing carry generation bits;assign G0 = gen(A0, B0, Oper1:0);assign G1 = gen(A1, B1, Oper1:0);assign G2 = gen(A2, B2, Oper1:0);assign G3 = gen(A3, B3, Oper1:0);/ producing carry propogation bits;assign P0 = por(A0, B0, Oper3:2);a
33、ssign P1 = por(A1, B1, Oper3:2);assign P2 = por(A2, B2, Oper3:2);assign P3 = por(A3, B3, Oper3:2);/ producing carry bits with carry-look-ahead;always (G or P or Cin, Mode)beginif (Mode) beginC0 = G0 | P0 & Cin;C1 = G1 | P1 & G0 | P1 & P0 & Cin;2001/02/28版權(quán)所有,侵權(quán)必究第 21頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)
34、C2 = G2 | P2 & G1 | P2 & P1 & G0 | P2 & P1 & P0 & Cin;Cout = G3 | P3 & G2 | P3 & P2 & G1 | P3 & P2 & P1 & G0 | P3 &P2 & P1 & P0 & Cin;endelse beginC0 = 1b0;C1 = 1b0;C2 = 1b0;Cout = 1b0;endend/ calculate the operation results;assign Sum0 = (G0 & P0) Cin;assign Sum1 = (G1 & P1) C0;assign Sum2 = (G2 &
35、P2) C1;assign Sum3 = (G3 & P3) C2;endmodule2.9有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)2.9.1概述有限狀態(tài)機(jī)(FSM)是一種常見(jiàn)的電路,由時(shí)序電路和組合電路組成。設(shè)計(jì)有限狀態(tài)機(jī)的第一步是確定采用 Moore狀態(tài)機(jī)還是采用 Mealy狀態(tài)機(jī)。(Mealy型:狀態(tài)的轉(zhuǎn)變不僅和當(dāng)前狀態(tài)有關(guān),而且跟各輸入信號(hào)有關(guān);Moore型:狀態(tài)的轉(zhuǎn)變只和當(dāng)前狀態(tài)有關(guān))。從實(shí)現(xiàn)電路功能來(lái)講,任何一種都可以實(shí)現(xiàn)同樣的功能。但他們的輸出時(shí)序不同,所以,在選擇使用那種狀態(tài)機(jī)時(shí)要根據(jù)具體情況而定,在此,把他們的主要區(qū)別介紹一下:1. Moore狀態(tài)機(jī):在時(shí)鐘脈沖的有限個(gè)門(mén)延時(shí)之后,輸出達(dá)到
36、穩(wěn)定。輸出會(huì)在一個(gè)完整的時(shí)鐘周期內(nèi)保持穩(wěn)定值,即使在該時(shí)鐘內(nèi)輸入信號(hào)變化了,輸出信號(hào)也不會(huì)變化。輸入對(duì)輸出的影響要到下一個(gè)時(shí)鐘周期才能反映出來(lái)。把輸入和輸出分開(kāi),是 Moore狀態(tài)機(jī)的重要特征。2. Mealy狀態(tài)機(jī):由于輸出直接受輸入影響,而輸入可以在時(shí)鐘周期的任一時(shí)刻變化,這就使得輸出狀態(tài)比 Moore狀態(tài)機(jī)的輸出狀態(tài)提前一個(gè)周期到達(dá)。輸入信號(hào)的噪聲可能會(huì)出現(xiàn)在輸出信號(hào)上。3.對(duì)同一電路,使用 Moore狀態(tài)機(jī)設(shè)計(jì)可能會(huì)比使用 Mealy狀態(tài)機(jī)多出一些狀態(tài)。2001/02/28版權(quán)所有,侵權(quán)必究第 22頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)根據(jù)他們的特征和要設(shè)計(jì)
37、的電路的具體情況,就可以確定使用那種狀態(tài)機(jī)來(lái)實(shí)現(xiàn)功能。一旦確定狀態(tài)機(jī),接下來(lái)就要構(gòu)造狀態(tài)轉(zhuǎn)換圖?,F(xiàn)在還沒(méi)有一個(gè)成熟的系統(tǒng)化狀態(tài)圖構(gòu)造算法,所以,對(duì)于實(shí)現(xiàn)同一功能,可以構(gòu)造出不同的狀態(tài)轉(zhuǎn)換圖。但一定要遵循結(jié)構(gòu)化設(shè)計(jì)。在構(gòu)造電路的狀態(tài)轉(zhuǎn)換圖時(shí),使用互補(bǔ)原則可以幫助我們檢查設(shè)計(jì)過(guò)程中是否出現(xiàn)了錯(cuò)誤。互補(bǔ)原則是指離開(kāi)狀態(tài)圖節(jié)點(diǎn)的所有支路的條件必須是互補(bǔ)的。同一節(jié)點(diǎn)的任何 2個(gè)或多個(gè)支路的條件不能同時(shí)為真。同時(shí)為真是我們?cè)O(shè)計(jì)不允許的。在檢查無(wú)冗余狀態(tài)和錯(cuò)誤條件后,就可以開(kāi)始用 verilog HDL來(lái)設(shè)計(jì)電路了。Curr_stNext_st Next_stLogicCombiLogicCurr_stLo
38、gicResetClockCombi &syncLogic1 狀態(tài)機(jī)電路邏輯圖在設(shè)計(jì)的過(guò)程中要注意以下方面:1.full_case spec定義完全狀態(tài),即使有的狀態(tài)可能在電路中不會(huì)出現(xiàn)。目的是避免綜合出不希望的Latch,因?yàn)長(zhǎng)atch可能會(huì)帶來(lái):a. 額外的延時(shí);b. 異步Timing問(wèn)題always (Curr_st)begincase(Curr_st)ST0 : Next_st = ST1;ST1 : Next_st = ST2;ST2 : Next_st = ST0;endcaseend2001/02/28版權(quán)所有,侵權(quán)必究第 23頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)
39、請(qǐng)輸入文檔編號(hào)1 沒(méi)有采用full-casealways (Curr_st)begincase(Curr_st)/synthesis full_caseST0 : Next_st = ST1;ST1 : Next_st = ST2;ST2 : Next_st = ST0;default : Next_st = ST0;Curr_stQDNext_stDQendcaseendCurr_stDDNext_st1 采用full-case2. parallel_case spec確保不同時(shí)出現(xiàn)多種狀態(tài)case(En3, En2, En1)3b?1 : Out = In1;2001/02/28版權(quán)所有,侵權(quán)必究第 24頁(yè),共 56頁(yè) 絕密Verilog基本電路設(shè)計(jì)指導(dǎo)書(shū)請(qǐng)輸入文檔編號(hào)3b?1? : Out = In2;3b1? : Out = In3;endcaseEn1In1En2In2OutEn3In31 沒(méi)采用parallel-casecase(En3, En2, En1)3b?1 : Out = In1;3b?1? : Out = In2;3b1? : Out = In3;endcase/synthesis parallel_caseEn1In1E
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂(lè)隊(duì)訓(xùn)練第二學(xué)期計(jì)劃2篇
- 主診醫(yī)師述職報(bào)告范文(6篇)
- 中學(xué)生繁星春水讀后感
- 高職傷逝課件教學(xué)課件
- 探究性閱讀課教案
- 美術(shù)大綱課件教學(xué)課件
- 輪椅車(chē)座椅 第14部分:與外力控制以維持組織完整性有關(guān)的概念 征求意見(jiàn)稿
- 農(nóng)小蜂-中國(guó)香蕉市場(chǎng)動(dòng)態(tài)監(jiān)測(cè)(2024年10月)
- 八年級(jí)上學(xué)期語(yǔ)文1月月考試卷
- 初中化學(xué)基礎(chǔ)知識(shí)與題目(含答案)
- 心理健康教育心理健康知識(shí)講座-課件
- 2023年新高考數(shù)學(xué)(新高考Ⅰ卷)真題評(píng)析及2024備考策略
- 湖北省武漢市華中師范大學(xué)附屬小學(xué)六年級(jí)小升初語(yǔ)文測(cè)試卷(8套試卷帶答案解析)
- 新媒體運(yùn)營(yíng)(用戶運(yùn)營(yíng)內(nèi)容運(yùn)營(yíng)活動(dòng)運(yùn)營(yíng)產(chǎn)品運(yùn)營(yíng)社群運(yùn)營(yíng))PPT完整全套教學(xué)課件
- 贛州市中小學(xué)三年級(jí)上冊(cè)計(jì)算機(jī)教室上機(jī)記錄表
- 任務(wù)七食品中脂肪含量測(cè)定
- 《IT人員職業(yè)規(guī)劃》
- 初級(jí)社會(huì)統(tǒng)計(jì)學(xué)智慧樹(shù)知到答案章節(jié)測(cè)試2023年哈爾濱工程大學(xué)
- 詩(shī)歌鑒賞基本知識(shí)點(diǎn)
- 人文英語(yǔ)3范文+人文英語(yǔ)3閱讀740
- GB/T 3274-2007碳素結(jié)構(gòu)鋼和低合金結(jié)構(gòu)鋼熱軋厚鋼板和鋼帶
評(píng)論
0/150
提交評(píng)論