數(shù)字電路第9、10章_第1頁(yè)
數(shù)字電路第9、10章_第2頁(yè)
數(shù)字電路第9、10章_第3頁(yè)
數(shù)字電路第9、10章_第4頁(yè)
數(shù)字電路第9、10章_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9,10章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD器件的發(fā)展器件的發(fā)展p用戶(hù)可以根據(jù)需要,通過(guò)對(duì)器件編程,自定義器件的用戶(hù)可以根據(jù)需要,通過(guò)對(duì)器件編程,自定義器件的邏輯功能。邏輯功能。p 發(fā)展歷史發(fā)展歷史PROMEPROMEEPROMPLAPALGALCPLDFPGA電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳

2、統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p實(shí)現(xiàn)邏輯關(guān)系:實(shí)現(xiàn)邏輯關(guān)系:p 傳統(tǒng)的電子設(shè)計(jì):傳統(tǒng)的電子設(shè)計(jì):BCBAX電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p實(shí)現(xiàn)邏輯關(guān)系:實(shí)現(xiàn)邏輯關(guān)系:p 傳統(tǒng)的電子設(shè)計(jì):傳統(tǒng)的電子設(shè)計(jì):BCBAX電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)流程:設(shè)計(jì)流程:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)

3、數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)流程:設(shè)計(jì)流程:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)流程:設(shè)計(jì)流程:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)流程:設(shè)計(jì)流程:電子學(xué)教研室電子學(xué)教研室 數(shù)字電

4、子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)流程:設(shè)計(jì)流程:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p 傳統(tǒng)電子設(shè)計(jì)的特點(diǎn):傳統(tǒng)電子設(shè)計(jì)的特點(diǎn): (1)復(fù)雜電路的設(shè)計(jì)、調(diào)試十分困難;復(fù)雜電路的設(shè)計(jì)、調(diào)試十分困難; (2)如果某一過(guò)程存在錯(cuò)誤,查找和修改十分不便;如果某一過(guò)程存在錯(cuò)誤,查找和修改十分不便; (3)可移植性差??梢浦残圆?。 (4)只有在設(shè)計(jì)出樣

5、機(jī)或生產(chǎn)出芯片后才能進(jìn)行實(shí)測(cè)。只有在設(shè)計(jì)出樣機(jī)或生產(chǎn)出芯片后才能進(jìn)行實(shí)測(cè)。電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)傳統(tǒng)的電子設(shè)計(jì)與傳統(tǒng)的電子設(shè)計(jì)與PLD設(shè)計(jì)流程設(shè)計(jì)流程p PLD設(shè)計(jì)的特點(diǎn):設(shè)計(jì)的特點(diǎn):(1)自頂向下的設(shè)計(jì)方案,適用于高效率大規(guī)模系統(tǒng)自頂向下的設(shè)計(jì)方案,適用于高效率大規(guī)模系統(tǒng)的設(shè)計(jì);的設(shè)計(jì);(2)采用硬件描述語(yǔ)言作為設(shè)計(jì)輸入;采用硬件描述語(yǔ)言作為設(shè)計(jì)輸入; (3)對(duì)設(shè)計(jì)者的硬件知識(shí)和硬件經(jīng)驗(yàn)要求低;對(duì)設(shè)計(jì)者的硬件知識(shí)和硬件經(jīng)驗(yàn)要求低;(4)計(jì)算機(jī)自動(dòng)生成電路。計(jì)算機(jī)自動(dòng)生成電路。電子學(xué)教研室電子學(xué)教研

6、室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)p GAL:與或邏輯陣列與或邏輯陣列 + 輸出邏輯宏單元輸出邏輯宏單元電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)p CPLD:2500個(gè)門(mén)個(gè)門(mén)128個(gè)宏單元個(gè)宏單元電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)pFPGA:由若干獨(dú)立的可編程邏輯模塊組由若干獨(dú)立的可編程邏輯模塊組成,用戶(hù)可以通過(guò)編程將這

7、些模塊成,用戶(hù)可以通過(guò)編程將這些模塊連接成所需要的數(shù)字系統(tǒng)。連接成所需要的數(shù)字系統(tǒng)。單片百萬(wàn)門(mén)以上單片百萬(wàn)門(mén)以上IOB,I/O Block LE,Logic Element IR,Interconnect Resource 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)pFPGA:n查找表查找表(Look-Up-Table)簡(jiǎn)稱(chēng)為簡(jiǎn)稱(chēng)為L(zhǎng)UT,LUT本質(zhì)上就是本質(zhì)上就是一個(gè)一個(gè)RAM。 n目前目前FPGA中多使用中多使用4輸入的輸入的LUT,所以每一個(gè),所以每一個(gè)LUT可可以看成一個(gè)有

8、以看成一個(gè)有4位地址線的位地址線的16x1的的RAM。 n用戶(hù)通過(guò)原理圖或用戶(hù)通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入的結(jié)果,并把結(jié)果事先寫(xiě)入RAM,這樣,每輸入一個(gè),這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)

9、言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)pFPGA:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)PLD的結(jié)構(gòu)的結(jié)構(gòu)pFPGA:電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)p能夠?qū)?shù)字邏輯電路的功能和結(jié)構(gòu)進(jìn)行描述的一種能夠?qū)?shù)字邏輯電路的功能和結(jié)構(gòu)進(jìn)行描述的一種高級(jí)編程語(yǔ)言高級(jí)編程語(yǔ)言pCPLD/FPGA的設(shè)計(jì)開(kāi)發(fā)語(yǔ)言的設(shè)計(jì)開(kāi)發(fā)語(yǔ)言p編寫(xiě)程序描述數(shù)字電路的功能與結(jié)構(gòu)編寫(xiě)程序描述數(shù)字電路的功能與結(jié)構(gòu)描述電路的功能描述電路的功能描述電路的結(jié)構(gòu)描述電路的結(jié)構(gòu)表達(dá)具有并行性表達(dá)具有并行性第第9章章 可編程邏輯器件及可編程邏輯器件及Verilo

10、g語(yǔ)言語(yǔ)言u(píng)什么是什么是Verilog HDL電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)p符合符合C語(yǔ)言語(yǔ)法習(xí)慣語(yǔ)言語(yǔ)法習(xí)慣簡(jiǎn)單,容易上手,縮短培訓(xùn)時(shí)間,如果有數(shù)字電子技術(shù)簡(jiǎn)單,容易上手,縮短培訓(xùn)時(shí)間,如果有數(shù)字電子技術(shù)和和C語(yǔ)言的基礎(chǔ),稍加學(xué)習(xí)即可編寫(xiě)能實(shí)現(xiàn)的電路。語(yǔ)言的基礎(chǔ),稍加學(xué)習(xí)即可編寫(xiě)能實(shí)現(xiàn)的電路。但也僅僅是語(yǔ)法上的相似而已但也僅僅是語(yǔ)法上的相似而已p并發(fā)執(zhí)行,多條語(yǔ)句可能同時(shí)執(zhí)行,在硬件上,實(shí)現(xiàn)不同并發(fā)執(zhí)行,多條語(yǔ)句可能同時(shí)執(zhí)行,在硬件上,實(shí)現(xiàn)不同功能的電路在同一時(shí)刻工作功能的電路在同一時(shí)刻工作p具有時(shí)序的概念,硬件電路輸入到輸出存在延遲。具有時(shí)序的概念,硬件電路輸入到輸出

11、存在延遲。p語(yǔ)法規(guī)則死,糾錯(cuò)仿真功能弱,錯(cuò)誤信息不完整,較語(yǔ)法規(guī)則死,糾錯(cuò)仿真功能弱,錯(cuò)誤信息不完整,較C語(yǔ)語(yǔ)言更難發(fā)現(xiàn)錯(cuò)誤言更難發(fā)現(xiàn)錯(cuò)誤uVerilog HDL的特點(diǎn)的特點(diǎn)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)pVerilog HDL語(yǔ)言的描述風(fēng)格,或者說(shuō)描述方式,又可語(yǔ)言的描述風(fēng)格,或者說(shuō)描述方式,又可分為三類(lèi)分為三類(lèi)行為型描述行為型描述指對(duì)行為與功能進(jìn)行描述,它只描述行指對(duì)行為與功能進(jìn)行描述,它只描述行為特征,而沒(méi)有涉及到用什么樣的時(shí)序邏輯電路來(lái)為特征,而沒(méi)有涉及到用什么樣的時(shí)序邏輯電路來(lái)實(shí)現(xiàn),因此是一種使用高

12、級(jí)語(yǔ)言的方法,具有很強(qiáng)實(shí)現(xiàn),因此是一種使用高級(jí)語(yǔ)言的方法,具有很強(qiáng)的通用性和有效性。的通用性和有效性。數(shù)據(jù)流型描述數(shù)據(jù)流型描述指通過(guò)指通過(guò)assign連續(xù)賦值實(shí)現(xiàn)組合邏輯連續(xù)賦值實(shí)現(xiàn)組合邏輯功能的描述。功能的描述。結(jié)構(gòu)型描述結(jié)構(gòu)型描述指描述實(shí)體連接的結(jié)構(gòu)方式,它通常通指描述實(shí)體連接的結(jié)構(gòu)方式,它通常通過(guò)實(shí)例進(jìn)行描述,將過(guò)實(shí)例進(jìn)行描述,將Verilog已定義的基元實(shí)例嵌入已定義的基元實(shí)例嵌入到語(yǔ)言中。到語(yǔ)言中。uVerilog HDL的描述風(fēng)格的描述風(fēng)格第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module Mux21 (

13、a,b,s,y);input a,b;input s;output y;assign y = (s=0)? a : b; endmodule1. assign 語(yǔ)句語(yǔ)句連續(xù)賦值連續(xù)賦值2. 表達(dá)式表達(dá)式1? 表達(dá)式表達(dá)式2: 表達(dá)式表達(dá)式3u9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.1行為描述方式行為描述方式第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言absymux 21電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)01y0absyu9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.1行為描述方式行為描述方式第第

14、9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module Mux21 (a,b,s,y);input a,b;input s;output y;wire d,e; /wire,定義內(nèi)部節(jié)點(diǎn)或連線,定義內(nèi)部節(jié)點(diǎn)或連線assign d = a & (s);assign e = b & s;assign y = d | e; /位運(yùn)算符位運(yùn)算符endmodule u9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.2數(shù)據(jù)流描述方式數(shù)據(jù)流描述方式第第9章章 可編程邏輯器件及可編程邏輯器件及Ver

15、ilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)u9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究位運(yùn)算符位運(yùn)算符第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module mux21 (y, a, b, s); input a, b, s; output y; reg y;always ( s or a or b) if (! s) y = a; else y = b;endmodule在在always 塊中被賦值的信號(hào)必須定義為塊中被賦值的信號(hào)必須定義為reg型型u9.6.2 2選選1數(shù)據(jù)選

16、擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.3行為級(jí)描述方式行為級(jí)描述方式第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言重復(fù)執(zhí)行語(yǔ)句重復(fù)執(zhí)行語(yǔ)句always,敏感信號(hào)列表,敏感信號(hào)列表?xiàng)l件語(yǔ)句條件語(yǔ)句if-else電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)n&(與與)、 |(或或)、 !(非非) n與邏輯優(yōu)先級(jí)別高于或邏輯,但都低于關(guān)系和等式運(yùn)與邏輯優(yōu)先級(jí)別高于或邏輯,但都低于關(guān)系和等式運(yùn)算符。算符。a = b & c;b = a | c;a b-1 & b!=c | c!=d (ab-1)&(b!=c)|(c!=d)if ( !

17、 inword )if ( inword = = 0 )u9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p邏輯運(yùn)算符邏輯運(yùn)算符第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)n結(jié)構(gòu)級(jí)結(jié)構(gòu)級(jí)Verilog適合開(kāi)發(fā)小規(guī)模元件,如適合開(kāi)發(fā)小規(guī)模元件,如ASIC和和FPGA的單元的單元Verilog內(nèi)部帶有描述基本邏輯功能的基本單元內(nèi)部帶有描述基本邏輯功能的基本單元(primitive),如如and門(mén)。門(mén)。module mux21(out, a, b, sl); input a, b, sl; output out; n

18、ot u1 (nsl, sl ); and #1 u2 (sela, a, nsl); and #1 u3 (selb, b, sl); or #2 u4 (out, sela, selb);endmoduleu9.6.2 2選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p結(jié)構(gòu)型描述結(jié)構(gòu)型描述第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言此處此處nsl,sela,selb不用定義不用定義assign語(yǔ)句中被賦值的變量必須定義語(yǔ)句中被賦值的變量必須定義電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module mux4_1(out,in0,in1,in2,in3,sel)

19、; output out; input in0,in1,in2,in3; input1:0 sel; reg out; always (in0 or in1 or in2 or in3 or sel) case(sel) 2b00: out=in0; 2b01: out=in1; 2b10: out=in2; 2b11: out=in3; default: out=1bx; endcaseendmoduleu9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.4用用case語(yǔ)句描述語(yǔ)句描述第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言矢量網(wǎng)表,包括矢量

20、網(wǎng)表,包括sel1和和sel0 case語(yǔ)句語(yǔ)句整數(shù)的表示法整數(shù)的表示法必要的必要的default電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)nwire 7:0 bus;/8位矢量網(wǎng)表位矢量網(wǎng)表 busnreg 0:40 addr; /41位矢量寄存器位矢量寄存器addrnreg -1:4 b;/6位矢量寄存器位矢量寄存器bnbus0/bus的第的第0位位nbus2:0/bus的三位最低有效位。注意不能用的三位最低有效位。注意不能用 bus0:2,應(yīng)和定義中保持一致。,應(yīng)和定義中保持一致。naddr0:1 /addr的兩位最高有效位的兩位最高有效位 u9.6.3 4選選1數(shù)據(jù)選擇器及仿真

21、研究數(shù)據(jù)選擇器及仿真研究p矢量網(wǎng)表矢量網(wǎng)表第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言?xún)煞N表達(dá)方法兩種表達(dá)方法n簡(jiǎn)單的十進(jìn)制數(shù)簡(jiǎn)單的十進(jìn)制數(shù). 10,9,156.n attention!n必須在進(jìn)制符號(hào)前加必須在進(jìn)制符號(hào)前加 號(hào),并且號(hào),并且 號(hào)和進(jìn)制符號(hào)間不能存在空格號(hào)和進(jìn)制符號(hào)間不能存在空格 n進(jìn)制符號(hào):進(jìn)制符號(hào):b或或B(二進(jìn)制),(二進(jìn)制),d或或D(十進(jìn)制),(十進(jìn)制),h或或H(十六(十六進(jìn)制),進(jìn)制),o或或O(八進(jìn)制)(八進(jìn)制)n659 /

22、A signed decimal numberh 837FF / is a hexadecimal numberb101 /is a 3-bit binary numbero7460 / is an octal number4af / is illegal (hexadecimal format requires h)u9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p整數(shù)的表示法整數(shù)的表示法電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)n數(shù)字與進(jìn)制之間可以有空格數(shù)字與進(jìn)制之間可以有空格 5D 3n數(shù)字電路中,數(shù)字電路中,x表示不定值,表示不定值,z表示高阻態(tài)??稍谑M(jìn)制,八

23、進(jìn)制和二表示高阻態(tài)??稍谑M(jìn)制,八進(jìn)制和二進(jìn)制中使用進(jìn)制中使用x和和z,十六進(jìn)制中一個(gè),十六進(jìn)制中一個(gè)x表示有四位都是表示有四位都是x,八進(jìn)制中一個(gè),八進(jìn)制中一個(gè)x表表示三位都是示三位都是x,二進(jìn)制中則表示一位是,二進(jìn)制中則表示一位是x。z用法同理。用法同理。nunsized constants 32bit 10=32d10=32b1010 1=32d1=32b1n當(dāng)實(shí)際數(shù)據(jù)位數(shù)小于定義的位寬時(shí),如果是無(wú)符號(hào)數(shù),則在左邊補(bǔ)零,當(dāng)實(shí)際數(shù)據(jù)位數(shù)小于定義的位寬時(shí),如果是無(wú)符號(hào)數(shù),則在左邊補(bǔ)零,如果無(wú)符號(hào)數(shù)最左邊是如果無(wú)符號(hào)數(shù)最左邊是“x”,則在左邊補(bǔ),則在左邊補(bǔ)“x”,如果無(wú)符號(hào)數(shù)左邊是,如果無(wú)符

24、號(hào)數(shù)左邊是“z”,則在左邊補(bǔ),則在左邊補(bǔ)“z” 12h3x=12h03x, 12hzx=12hzzx 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p整數(shù)的表示法整數(shù)的表示法電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言n在表示長(zhǎng)數(shù)據(jù)時(shí)還可以用下劃線在表示長(zhǎng)數(shù)據(jù)時(shí)還可以用下劃線“_”進(jìn)行分割以增加程序的可讀性,進(jìn)行分割以增加程序的可讀性,16 b 1001_0110_1111_zzzz /is legal syntax 8b_1110_1101

25、 /is illegal syntaxn8d -6 /this is illegal syntax-8d6 /this is legal syntaxu9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p整數(shù)的表示法整數(shù)的表示法電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言case (表達(dá)式表達(dá)式)選項(xiàng)值選項(xiàng)值1: 語(yǔ)句語(yǔ)句1;選項(xiàng)值選項(xiàng)值2: 語(yǔ)句語(yǔ)句2;選項(xiàng)值選項(xiàng)值3: 語(yǔ)句語(yǔ)句3; default: 缺省語(yǔ)句缺省語(yǔ)句;endcaseu9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究pcase語(yǔ)句的

26、語(yǔ)法結(jié)構(gòu)語(yǔ)句的語(yǔ)法結(jié)構(gòu)電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module mux4_1(out,in0,in1,in2,in3,sel); output out; input in0,in1,in2,in3; input1:0 sel; reg out;always orororor begin if else if else if else if else endendmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究p例例9.6.5用用if-else語(yǔ)句語(yǔ)句電子學(xué)教研室電子學(xué)教研室 數(shù)字

27、電子技術(shù)數(shù)字電子技術(shù)if (表達(dá)式表達(dá)式1)語(yǔ)句語(yǔ)句1;else if (表達(dá)式表達(dá)式2)語(yǔ)句語(yǔ)句2;else if else語(yǔ)句語(yǔ)句n; 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.3 4選選1數(shù)據(jù)選擇器及仿真研究數(shù)據(jù)選擇器及仿真研究pif-else語(yǔ)句語(yǔ)句begin 語(yǔ)句語(yǔ)句1; 語(yǔ)句語(yǔ)句2; . 語(yǔ)句語(yǔ)句n; endp順序塊語(yǔ)句順序塊語(yǔ)句begin-end語(yǔ)句按順序執(zhí)行語(yǔ)句按順序執(zhí)行 電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module add_full(A,B,C,Carry,S); input A,B,C; output Carry,S; a

28、ssign S = ABC; assign Carry = (A&B)|(B&C)|(A&C);endmodulemodule add_full4(A,B,C,S); input3:0 A,B; output3:0 S; output4:0 C; assign C0=0; add_full u1(A0,B0,C0,C1,S0), u2(A1,B1,C1,C2,S1), u3(A2,B2,C2,C3,S2), u4(A3,B3,C3,C4,S3);endmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.4 4位加法器電路及仿真研究位

29、加法器電路及仿真研究p例例9.6.8全加器全加器n設(shè)計(jì)中我們可能需要調(diào)用一些已設(shè)計(jì)中我們可能需要調(diào)用一些已經(jīng)定義好的模塊,作為我們電路經(jīng)定義好的模塊,作為我們電路中的單元,中的單元,n調(diào)用這些模塊的過(guò)程,稱(chēng)為調(diào)用這些模塊的過(guò)程,稱(chēng)為實(shí)例實(shí)例化化(instantiation),調(diào)用完之后,調(diào)用完之后,這些電路中的模塊單元稱(chēng)為這些電路中的模塊單元稱(chēng)為實(shí)例實(shí)例(Instance)。實(shí)例的使用格式為:。實(shí)例的使用格式為:n ; 電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module decode48(a,b,c,d,e,f,g,D3,D2,D1,D0); output a,b,c,d,e,f,

30、g; input D3,D2,D1,D0; /輸入輸入4 位位BCD 碼碼 reg a,b,c,d,e,f,g; /輸出驅(qū)動(dòng)輸出驅(qū)動(dòng)7個(gè)筆劃段個(gè)筆劃段 always (D3 or D2 or D1 or D0) begin case(D3,D2,D1,D0) /用用case 語(yǔ)句進(jìn)行譯碼語(yǔ)句進(jìn)行譯碼 4d0: a,b,c,d,e,f,g=7b1111110; 4d1: a,b,c,d,e,f,g=7b0110000; 4d2: a,b,c,d,e,f,g=7b1101101; 4d3: a,b,c,d,e,f,g=7b1111001; 4d4: a,b,c,d,e,f,g=7b0110011;

31、 4d5: a,b,c,d,e,f,g=7b1011011; 4d6: a,b,c,d,e,f,g=7b1011111; 4d7: a,b,c,d,e,f,g=7b1110000; 4d8: a,b,c,d,e,f,g=7b1111111; 4d9: a,b,c,d,e,f,g=7b1111011; default: a,b,c,d,e,f,g=7bz; endcase endendmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言p例例9.6.9電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module d_ff (q, d, clk); output q;

32、 input d, clk; reg q; always (posedge clk) q=d;endmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.6 D觸發(fā)器觸發(fā)器p例例9.6.10電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module d_ff (q1,q2, d, clk); output q1,q2; input d, clk; reg q1,q2; always (posedge clk) begin q1=d; q2= q1; end endmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.6

33、 D觸發(fā)器觸發(fā)器p例例9.6.11阻塞賦值阻塞賦值阻塞賦值,賦值馬上執(zhí)行阻塞賦值,賦值馬上執(zhí)行 q1n+1=dn,q2n+1=qn+1=dn。 電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module d_ff (q1,q2, d, clk); output q1,q2; input d, clk; reg q1,q2; always (posedge clk) begin q1=d; q2=q1; endendmodule 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.6 D觸發(fā)器觸發(fā)器p例例9.6.12非阻塞賦值非阻塞賦值非阻塞賦值,賦值不馬上執(zhí)行非阻塞

34、賦值,賦值不馬上執(zhí)行 q1n+1=dn,q2n+1=q1n 電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module count4(out,reset,clk); output3:0 out; input reset,clk; reg3:0 out; always (posedge clk) begin if (reset) out=0; /同步復(fù)位同步復(fù)位 else out=out+1; /計(jì)數(shù)計(jì)數(shù) endendmodule第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.134位同步加法計(jì)數(shù)器位同步加法計(jì)數(shù)器電子學(xué)教研室電子學(xué)教

35、研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module count(out,data,load,reset,clk); output7:0 out; input7:0 data; input load,clk,reset; reg7:0 out; always (posedge clk) /clk上升沿觸發(fā)上升沿觸發(fā) begin if (!reset) out = 8h00; /同步清同步清0,低電平有效,低電平有效 else if (!load) out = data; /同步預(yù)置同步預(yù)置 else out = out + 1; /計(jì)數(shù)計(jì)數(shù) endendmodule 第第9章章 可編程邏輯器件及可編程邏

36、輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.14同步置數(shù)、同步清零加法計(jì)數(shù)器同步置數(shù)、同步清零加法計(jì)數(shù)器電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module count2(out,reset,clk); output7:0 out; input clk, reset; reg7:0 out; always (posedge clk or negedge reset) begin if(!reset) out = 0; else out = out + 1; /計(jì)數(shù)計(jì)數(shù) endendmodule第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言

37、u9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.15異步清零加法計(jì)數(shù)器異步清零加法計(jì)數(shù)器電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)F3Q1DC1F2Q1DC1F1Q1DC1F0Q1DC1CP態(tài)序態(tài)序Q3 Q2 Q1 Q0F態(tài)序態(tài)序Q3 Q2 Q1 Q0F00 0 0 0100 0 1 0111 0 0 0111 0 0 1021 1 0 0120 1 0 0131 1 1 0131 0 1 0141 1 1 1041 1 0 1050 1 1 1050 1 1 0160 0 1 1061 0 1 1070 0 0 1070 1 0 10第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog

38、語(yǔ)言語(yǔ)言u(píng)9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.16扭環(huán)形計(jì)數(shù)器扭環(huán)形計(jì)數(shù)器電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module johnson(clk,clr,out); input clk,clr; output3:0 out; reg3:0 out; always (posedge clk) begin if (clr) out= 4h0; else begin out 1); /右移運(yùn)算右移運(yùn)算 out3= out0; end endendmodule第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.16扭環(huán)形計(jì)數(shù)器扭環(huán)

39、形計(jì)數(shù)器電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)nout 1) nan 或或 an na代表要進(jìn)行移位的操作數(shù),代表要進(jìn)行移位的操作數(shù),n代表要移幾位。這兩種移位代表要移幾位。這兩種移位運(yùn)算都用運(yùn)算都用0來(lái)填補(bǔ)移出的空位。例如:來(lái)填補(bǔ)移出的空位。例如:start = 1; /start在初始時(shí)刻設(shè)為值在初始時(shí)刻設(shè)為值0001 result = (start2); /移位后,移位后,start的值為的值為0100,然,然后賦給后賦給result 第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.7 計(jì)數(shù)器計(jì)數(shù)器p例例9.6.16扭環(huán)形計(jì)數(shù)器扭環(huán)形計(jì)數(shù)器電子學(xué)教

40、研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)module lfsr4_1(clk,Q); input clk; output3:0 Q; wire3:0 Q; wire nQ0; assign nQ0 = Q0; DFF DFF_0(.CLK(clk),.Q(Q0),.D(Q1); DFF DFF_1(.CLK(clk),.Q(Q1),.D(Q2); DFF DFF_2(.CLK(clk),.Q(Q2),.D(Q3); DFF DFF_3(.CLK(clk),.Q(Q3),.D(nQ0);endmodule第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言電子學(xué)教研室電子學(xué)教研室

41、 數(shù)字電子技術(shù)數(shù)字電子技術(shù)n控制電路的核心部分;控制電路的核心部分;n采用采用 always 和和 case 語(yǔ)句;語(yǔ)句;nFSM是在時(shí)鐘沿的同步控制作用下從一個(gè)狀態(tài)轉(zhuǎn)換成另是在時(shí)鐘沿的同步控制作用下從一個(gè)狀態(tài)轉(zhuǎn)換成另一個(gè)狀態(tài);一個(gè)狀態(tài); n采用寄存器型變量采用寄存器型變量 (a variable of reg data type) 賦值。賦值。第第9章章 可編程邏輯器件及可編程邏輯器件及Verilog語(yǔ)言語(yǔ)言u(píng)9.6.8 狀態(tài)機(jī)及仿真研究狀態(tài)機(jī)及仿真研究p有限狀態(tài)機(jī)有限狀態(tài)機(jī)電子學(xué)教研室電子學(xué)教研室 數(shù)字電子技術(shù)數(shù)字電子技術(shù)n設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)的邏輯電路。它的投幣口每次只能投設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)的邏輯電路。它的投幣口每次只能投入一枚五角或一元的硬幣。投入一元五角錢(qián)硬幣后機(jī)器自入一枚五角或一元的硬幣。投入一元五角錢(qián)硬幣后機(jī)器自動(dòng)給出一枚飲料;投入兩元(兩枚一元)硬幣后,在給出動(dòng)給出一枚飲料;投入兩元(兩枚一元)硬幣后,在給出飲料的同時(shí)找回一枚五角的硬幣。飲料的同時(shí)找回一枚五角的硬幣。n邏輯抽象邏輯抽象 一元一元 五角五角 售出一瓶飲料售出一瓶飲料 找錢(qián)找錢(qián) one_dollar half_dollar dispense half_outn狀態(tài)狀態(tài)idle: 未投幣前初始狀態(tài)未投幣前初始狀態(tài)n狀態(tài)狀態(tài)half: 投入五角投入五角n狀

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論