![第8章PLD技術(shù)及其應(yīng)用_第1頁(yè)](http://file4.renrendoc.com/view/82f5c222a5d462ec233eccffe9aa2e16/82f5c222a5d462ec233eccffe9aa2e161.gif)
![第8章PLD技術(shù)及其應(yīng)用_第2頁(yè)](http://file4.renrendoc.com/view/82f5c222a5d462ec233eccffe9aa2e16/82f5c222a5d462ec233eccffe9aa2e162.gif)
![第8章PLD技術(shù)及其應(yīng)用_第3頁(yè)](http://file4.renrendoc.com/view/82f5c222a5d462ec233eccffe9aa2e16/82f5c222a5d462ec233eccffe9aa2e163.gif)
![第8章PLD技術(shù)及其應(yīng)用_第4頁(yè)](http://file4.renrendoc.com/view/82f5c222a5d462ec233eccffe9aa2e16/82f5c222a5d462ec233eccffe9aa2e164.gif)
![第8章PLD技術(shù)及其應(yīng)用_第5頁(yè)](http://file4.renrendoc.com/view/82f5c222a5d462ec233eccffe9aa2e16/82f5c222a5d462ec233eccffe9aa2e165.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
概述12.1可編程邏輯器件12.2
可編程邏輯器件開(kāi)發(fā)環(huán)境12.3
VHDL介紹第12章目錄第12章PLD技術(shù)及其應(yīng)用
第一頁(yè),共一百零八頁(yè)。概述
自頂向下的綜合技術(shù)
傳統(tǒng)電子系統(tǒng)的設(shè)計(jì)方法
ISP技術(shù)介紹
數(shù)字系統(tǒng)的設(shè)計(jì)
PLD的發(fā)展第12章概述第二頁(yè),共一百零八頁(yè)。PLD的發(fā)展可編程邏輯器件(ProgrammbleLogicDevice)簡(jiǎn)稱PLD制造商通用集成電路用戶專用集成電路第11章11.1第12章概述第三頁(yè),共一百零八頁(yè)??删幊踢壿嬈骷姆诸悘幕ミB特性上分類從可編程特性上分類從器件容量上分類從結(jié)構(gòu)的復(fù)雜程度上分類第11章11.1第12章概述第四頁(yè),共一百零八頁(yè)??删幊踢壿嬈骷陌l(fā)展PROMPLAPALGALSPLDCPLDFPGAISP技術(shù)什么是ISP技術(shù)!?第11章11.1第12章概述第五頁(yè),共一百零八頁(yè)。數(shù)字系統(tǒng)的設(shè)計(jì)積木塊式的設(shè)計(jì)方法根據(jù)需要選擇器件搭系統(tǒng)調(diào)試傳統(tǒng)電子系統(tǒng)的設(shè)計(jì)方法固定功能元件電路板設(shè)計(jì)電子系統(tǒng)缺點(diǎn)1.器件多,數(shù)目大;2.可靠性差;3.不能實(shí)時(shí)修改。第12章概述
第六頁(yè),共一百零八頁(yè)。自頂向下的綜合技術(shù)系統(tǒng)子功能塊1子功能塊2子功能塊n邏輯塊11邏輯塊12邏輯塊1m邏輯塊21邏輯塊111Top-Down方法的關(guān)鍵在于:利用功能分割手段將設(shè)計(jì)由上到下進(jìn)行層次化和模塊化第12章概述第七頁(yè),共一百零八頁(yè)。自頂向下設(shè)計(jì)方法的優(yōu)點(diǎn)設(shè)計(jì)與具體的器件和工藝無(wú)關(guān)方便在各種集成電路或PLD器件之間移植適合多個(gè)設(shè)計(jì)者同時(shí)進(jìn)行設(shè)計(jì)設(shè)計(jì)原則1、逐層分解功能,分層次進(jìn)行設(shè)計(jì)2、在各設(shè)計(jì)層次上,進(jìn)行仿真驗(yàn)證第12章概述第八頁(yè),共一百零八頁(yè)。ISP技術(shù)介紹只要將器件插在系統(tǒng)內(nèi)或者電路板上,就能對(duì)其編程或再編程??梢韵妊b配后編程,成為產(chǎn)品后還可反復(fù)編程??梢詫?shí)時(shí)地進(jìn)行靈活和方便的更改和開(kāi)發(fā),真正做到了硬件的“軟件化”自動(dòng)設(shè)計(jì)。第12章概述第九頁(yè),共一百零八頁(yè)。
CPLD的ISP技術(shù)使得硬件像軟件一樣被編程配置,實(shí)時(shí)設(shè)計(jì)、實(shí)時(shí)修改、實(shí)時(shí)實(shí)現(xiàn),為電子技術(shù)的發(fā)展開(kāi)辟了廣闊的前景。第12章概述第十頁(yè),共一百零八頁(yè)。12.1可編程邏輯器件可編程邏輯器件的基本邏輯約定可編程邏輯器件的基本結(jié)構(gòu)可編程邏輯器件的介紹第12章12.1第十一頁(yè),共一百零八頁(yè)。第12章12.1.1
(1)輸入緩沖單元
(a)緩沖器(b)真值表
有關(guān)邏輯約定第十二頁(yè),共一百零八頁(yè)。第12章12.1.1
(2)與門(mén)和或門(mén)
(a)與門(mén)PLD表示法(b)與門(mén)傳統(tǒng)表示法
(c)或門(mén)PLD表示法(d)或門(mén)傳統(tǒng)表示法有關(guān)邏輯約定第十三頁(yè),共一百零八頁(yè)。有關(guān)邏輯約定第12章12.1.1
(3)PLD連接方式
(a)固定連接(b)可編程連接(c)不連接
第十四頁(yè),共一百零八頁(yè)。第12章12.1.2
早期的可編程邏輯器件(1)PROM的結(jié)構(gòu)
固定與陣列可編程或陣列第十五頁(yè),共一百零八頁(yè)。第12章12.1.2(2)PLA的結(jié)構(gòu)
與陣、或陣均可編程
早期的可編程邏輯器件第十六頁(yè),共一百零八頁(yè)。第12章12.1.2
(3)PAL的結(jié)構(gòu)
可編程與陣列固定或陣列
早期的可編程邏輯器件第十七頁(yè),共一百零八頁(yè)。第12章12.1.1
(4)GAL的結(jié)構(gòu)
其特點(diǎn)是在它的每個(gè)輸出端都集成有一個(gè)輸出邏輯宏單元,因此其輸出方式可以配置(Configurable)。
早期的可編程邏輯器件第十八頁(yè),共一百零八頁(yè)。第12章12.1.2
CPLD的結(jié)構(gòu)特點(diǎn)在CPLD中,通常將整個(gè)邏輯分為幾個(gè)邏輯塊。每個(gè)邏輯塊相當(dāng)于數(shù)個(gè)GAL的組合,各個(gè)邏輯塊之間再用互連資源實(shí)現(xiàn)連接。在CPLD芯片中設(shè)置了若干I/O單元,它們可直接與引腳相連,然后通過(guò)另一組連線連到所需的宏單元上。CPLD中普遍設(shè)有多個(gè)時(shí)鐘輸入端,并可以利用芯片中產(chǎn)生的乘積項(xiàng)作為時(shí)鐘,給系統(tǒng)的設(shè)計(jì)帶來(lái)了很大的靈活性。結(jié)構(gòu)特點(diǎn)第十九頁(yè),共一百零八頁(yè)。第12章12.1.2
CPLD的編程工藝
EPROM(ErasableProgrammableROM)工藝E2ROM(ElectricalErasableROM)工藝Flash工藝第二十頁(yè),共一百零八頁(yè)。第12章12.1.2
FPGA的結(jié)構(gòu)特點(diǎn)在構(gòu)造FPGA時(shí)改用了單元結(jié)構(gòu)。即在陣列的各個(gè)節(jié)點(diǎn)上放的不再是一個(gè)單獨(dú)的門(mén),而是用門(mén)、觸發(fā)器等做成的邏輯單元,并在各個(gè)單元之間預(yù)先制作了許多連線。所以嚴(yán)格地說(shuō),F(xiàn)PGA不是門(mén)陣列,而是邏輯單元陣列,它和門(mén)陣列只是在陣列結(jié)構(gòu)上相似而已。結(jié)構(gòu)特點(diǎn)第二十一頁(yè),共一百零八頁(yè)。第12章12.1.2
FPGA的編程工藝
(1)反熔絲工藝-----編程時(shí)不是將熔絲熔斷,而是將其熔連。Actel公司的FPGA采用。(2)RAM工藝-----Xilinx公司的FPGA采用的是另一種工藝,每個(gè)連接點(diǎn)代替熔絲的是一個(gè)受SR靜態(tài)觸發(fā)器控制的開(kāi)關(guān),當(dāng)觸發(fā)器被置1時(shí),開(kāi)關(guān)接通,否則開(kāi)關(guān)斷開(kāi)。第二十二頁(yè),共一百零八頁(yè)。第12章12.1.2
FPGA/CPLD的比較延遲可預(yù)測(cè)能力
CPLD的時(shí)序延遲是均勻的和可預(yù)測(cè)的,F(xiàn)PGA的時(shí)序延遲不可預(yù)測(cè)。布線能力
CPLD獨(dú)特的內(nèi)連線結(jié)構(gòu)使其內(nèi)連率很高,更適合于芯片設(shè)計(jì)的可編程器件驗(yàn)證。適用場(chǎng)合
CPLD更適合于完成各種算法和組合邏輯,F(xiàn)PGA更適合于完成時(shí)序較多的邏輯電路。主要區(qū)別第二十三頁(yè),共一百零八頁(yè)。第12章12.1.3
Altera公司的主要產(chǎn)品
器件的可用資源逐漸增多,輸入輸出管腳也隨之增加。Classic系列MAX系列ACEX系列FLEX系列APEX系列第二十四頁(yè),共一百零八頁(yè)。12.2
可編程邏輯器件開(kāi)發(fā)環(huán)境MAX+PLUSII的設(shè)計(jì)流程主要設(shè)計(jì)輸入方法原理圖輸入方式文本設(shè)計(jì)輸入方法編譯設(shè)計(jì)項(xiàng)目設(shè)計(jì)項(xiàng)目的模擬仿真器件編程時(shí)間分析第二十五頁(yè),共一百零八頁(yè)。第12章12.2MAX+PLUSII的設(shè)計(jì)流程(1)設(shè)計(jì)輸入??梢圆捎迷韴D輸入、HDL語(yǔ)言描述、EDIF網(wǎng)表讀入及波形輸入等方式。
(2)語(yǔ)法檢查。主要為檢驗(yàn)輸入是否有誤。
(3)編譯。主要完成器件的選擇及適配,邏輯的綜合及器件的裝入,延時(shí)信息的提取。
(4)仿真。將編譯產(chǎn)生的延時(shí)信息加入到設(shè)計(jì)中,進(jìn)行布局布線后的仿真。
(5)編程驗(yàn)證。經(jīng)EPROM或編程電纜配置CPLD,加入實(shí)際激勵(lì),進(jìn)行測(cè)試,以檢查是否完成預(yù)定功能。MAX+PLUSII的設(shè)計(jì)流程圖第二十六頁(yè),共一百零八頁(yè)。第12章12.2.1主要設(shè)計(jì)輸入方法
原理圖輸入方式文本設(shè)計(jì)輸入方式層次設(shè)計(jì)輸入方式波形設(shè)計(jì)輸入方式第二十七頁(yè),共一百零八頁(yè)。第12章12.2.1指定設(shè)計(jì)項(xiàng)目的名字
用MAX+PLUSII編譯一個(gè)項(xiàng)目前,必須確定一個(gè)設(shè)計(jì)文件作為當(dāng)前項(xiàng)目。原理圖輸入方式第二十八頁(yè),共一百零八頁(yè)。第12章12.2.1建立新文件原理圖輸入方式第二十九頁(yè),共一百零八頁(yè)。第12章12.2.1原理圖輸入方式第三十頁(yè),共一百零八頁(yè)。第12章12.2.1輸入圖原和宏功能符號(hào)原理圖輸入方式第三十一頁(yè),共一百零八頁(yè)。第12章12.2.1連線
輸入引腳原理圖輸入方式第三十二頁(yè),共一百零八頁(yè)。第12章12.1.1原理圖輸入方式圖形編輯選項(xiàng)第三十三頁(yè),共一百零八頁(yè)。第12章12.1.1保存文件,檢查基本錯(cuò)誤原理圖輸入方式第三十四頁(yè),共一百零八頁(yè)。第12章12.2.1原理圖輸入方式創(chuàng)建一個(gè)默認(rèn)的圖形符號(hào)第三十五頁(yè),共一百零八頁(yè)。創(chuàng)建一個(gè)默認(rèn)的圖形符號(hào)第12章12.2.1第三十六頁(yè),共一百零八頁(yè)。第12章12.2.1文本設(shè)計(jì)輸入方法
新建文本文件第三十七頁(yè),共一百零八頁(yè)。第12章12.2.1文本設(shè)計(jì)輸入方法
新建文本文件第三十八頁(yè),共一百零八頁(yè)。第12章12.2.1文本設(shè)計(jì)輸入方法
文本輸入第三十九頁(yè),共一百零八頁(yè)。保存文件文本設(shè)計(jì)輸入方法第12章12.2.1第四十頁(yè),共一百零八頁(yè)。第12章12.2.1頂層圖形設(shè)計(jì)方法創(chuàng)建頂層圖形設(shè)計(jì)文件第四十一頁(yè),共一百零八頁(yè)。第12章12.2.1第四十二頁(yè),共一百零八頁(yè)。第12章12.2.2編譯設(shè)計(jì)項(xiàng)目
打開(kāi)編輯器窗口第四十三頁(yè),共一百零八頁(yè)。編譯設(shè)計(jì)項(xiàng)目第12章12.2.2第四十四頁(yè),共一百零八頁(yè)。第12章12.2.2編譯設(shè)計(jì)項(xiàng)目
選擇器件
第四十五頁(yè),共一百零八頁(yè)。選擇器件編譯設(shè)計(jì)項(xiàng)目第12章12.2.2第四十六頁(yè),共一百零八頁(yè)。第12章12.2.2編譯設(shè)計(jì)項(xiàng)目
設(shè)計(jì)規(guī)則檢查第四十七頁(yè),共一百零八頁(yè)。第12章12.2.2編譯設(shè)計(jì)項(xiàng)目
保護(hù)位設(shè)置第四十八頁(yè),共一百零八頁(yè)。第12章12.2.2器件的引腳分配
引腳分配第四十九頁(yè),共一百零八頁(yè)。第12章12.2.2打開(kāi)定時(shí)模擬器網(wǎng)表文件提取器
打開(kāi)TimingSNFExtractor模塊
第五十頁(yè),共一百零八頁(yè)。第12章12.2.2指定在報(bào)告文件中需要產(chǎn)生的部分
如果某些部分還沒(méi)有被打開(kāi),就選中All選項(xiàng)第五十一頁(yè),共一百零八頁(yè)。第12章12.2.2閱讀報(bào)告
打開(kāi)報(bào)告文件第五十二頁(yè),共一百零八頁(yè)。第12章12.2.2在底層圖編輯器中觀察試配結(jié)果
器件視圖邏輯陣列塊視圖第五十三頁(yè),共一百零八頁(yè)。第12章12.2.3設(shè)計(jì)項(xiàng)目的模擬仿真
創(chuàng)建模擬文件第五十四頁(yè),共一百零八頁(yè)。第12章12.2.3設(shè)計(jì)項(xiàng)目的模擬仿真
輸入節(jié)點(diǎn)打開(kāi)仿真器第五十五頁(yè),共一百零八頁(yè)。第12章12.2.3設(shè)計(jì)項(xiàng)目的模擬仿真
模擬仿真第五十六頁(yè),共一百零八頁(yè)。第12章12.2.3設(shè)計(jì)項(xiàng)目的模擬仿真
仿真結(jié)果第五十七頁(yè),共一百零八頁(yè)。時(shí)序仿真又稱為后仿真,在后仿真中由于加入了芯片中的實(shí)際延時(shí)信息,仿真結(jié)果與芯片實(shí)際工作狀態(tài)基本一致。時(shí)序仿真時(shí)序仿真可以發(fā)現(xiàn)競(jìng)爭(zhēng)與冒險(xiǎn)現(xiàn)象,若有此問(wèn)題可從設(shè)計(jì)中設(shè)法消除,仿真與設(shè)計(jì)輸入為一交互過(guò)程。第12章12.2.4第五十八頁(yè),共一百零八頁(yè)。時(shí)間分析
傳播延遲分析第12章12.2.4第五十九頁(yè),共一百零八頁(yè)。時(shí)間分析
時(shí)序邏輯電路性能分析
第12章12.2.4第六十頁(yè),共一百零八頁(yè)。時(shí)間分析
建立和保持時(shí)間分析第12章12.2.4第六十一頁(yè),共一百零八頁(yè)。器件編程
(1)打開(kāi)編程器窗口打開(kāi)編程器第12章12.2.5第六十二頁(yè),共一百零八頁(yè)。器件編程
編程器設(shè)置第12章12.2.5第六十三頁(yè),共一百零八頁(yè)。第12章12.312.3硬件描述語(yǔ)言
VHDL(VeryHighSpeedIntergratedCircuitHardwareDescriptionLanguage)即超高速集成電路硬件描述語(yǔ)言
(1)功能強(qiáng)大,描述力強(qiáng)??捎糜陂T(mén)級(jí)、電路級(jí)甚至系統(tǒng)級(jí)的描述、仿真和設(shè)計(jì)。主要優(yōu)點(diǎn)(2)可移植性好。對(duì)于設(shè)計(jì)和仿真工具采用相同的描述,對(duì)于不同的平臺(tái)也采用相同的描述。(4)可以延長(zhǎng)設(shè)計(jì)的生命周期。因?yàn)閂HDL的硬件描述與工藝技術(shù)無(wú)關(guān),不會(huì)因工藝變化而使描述過(guò)時(shí)。(3)研制周期短,成本低。由于VHDL支持大規(guī)模設(shè)計(jì)的分解和對(duì)已有設(shè)備的利用,因此加快了設(shè)計(jì)流程。定義第六十四頁(yè),共一百零八頁(yè)。第12章12.3硬件描述語(yǔ)言
庫(kù)實(shí)體結(jié)構(gòu)體第六十五頁(yè),共一百零八頁(yè)。第12章12.3實(shí)體
實(shí)體名端口數(shù)據(jù)類型第六十六頁(yè),共一百零八頁(yè)。第12章12.3端口說(shuō)明端口模式端口模式說(shuō)明IN輸入OUT輸出(構(gòu)造體內(nèi)部不能再使用)BUFFER輸出(構(gòu)造體內(nèi)部可再使用)INOUT雙向LINKAGE不指定方向,無(wú)論哪一個(gè)方向都可連接第六十七頁(yè),共一百零八頁(yè)。第12章12.3數(shù)據(jù)類型BIT位類型,取值0、1,由STANDARD程序包定義;BIT_VECTOR位向量類型,是BIT的組合,該端口的取值可能是一組二進(jìn)制位的值;STD_LOGIC 工業(yè)標(biāo)準(zhǔn)的邏輯類型,取值0、1、X、Z,由STD_LOGIC_1164程序包定義;INTEGER整數(shù)類型,可用作循環(huán)的指針或常數(shù),通常不用作I/O信號(hào);STD_LOGIC_VECTOR工業(yè)標(biāo)準(zhǔn)的邏輯向量類型,是STD_LOGIC的組;BOOLEAN布爾類型,取值FALSE,TRUE。第六十八頁(yè),共一百零八頁(yè)。第12章12.3結(jié)構(gòu)體結(jié)構(gòu)體的一般形式為:Architecture結(jié)構(gòu)體名Of實(shí)體名Is[說(shuō)明]Begin[功能描述語(yǔ)句]End結(jié)構(gòu)體名;Architectureor2xOfor2IsBegin y<=aORb;Endor2x;結(jié)構(gòu)體名實(shí)體名第六十九頁(yè),共一百零八頁(yè)。第12章12.3結(jié)構(gòu)體---Block進(jìn)程(Process)語(yǔ)句結(jié)構(gòu)Block語(yǔ)句結(jié)構(gòu)子程序(Subprograms)語(yǔ)句結(jié)構(gòu)ARCHITECTUREaOFdemulti_4vISBeginB BlockBeginCaseSIs When“00”=> Y0<=D; When“01”=> Y1<=D; When“10”=> Y2<=D; WhenOthers=> Y3<=D;
EndBlock
B;Enda;Block語(yǔ)句的表達(dá)格式如下: 塊結(jié)構(gòu)名: Block Begin 并行語(yǔ)句 EndBlock塊結(jié)構(gòu)名;三種子結(jié)構(gòu)第七十頁(yè),共一百零八頁(yè)。第12章12.3結(jié)構(gòu)體---Process
Architecturedec4be_archofdec4beisBegin
Process(in_bit)Begin Casein_bitis When'0'=>BE0<='0';BE1<='1'; When'1'=>BE0<='1';BE1<='0'; Whenothers=>BE0<='X'; BE1<='X'; Endcase;
Endprocess;Enddec4be_arch;Process語(yǔ)句的表達(dá)格式如下:[進(jìn)程名]:Process(信號(hào))Begin 順序描述語(yǔ)句EndProcess;第七十一頁(yè),共一百零八頁(yè)。第12章12.3結(jié)構(gòu)體---Subprograms
Proceduremypro(sig1,sig2)IS┇Endmypro;調(diào)用語(yǔ)句:mypro(sig1,sig2);在VHDL中,子程序有兩種類型:過(guò)程(Procedure)函數(shù)(Function)1)過(guò)程語(yǔ)句格式如下:Procedure過(guò)程名(參數(shù)表)Is[定義語(yǔ)句]Begin [順序處理語(yǔ)句]End過(guò)程名;第七十二頁(yè),共一百零八頁(yè)。第12章12.3結(jié)構(gòu)體---Subprograms
PackagebpacisFunctionmax(a:Std_logic_vector; b:Std_logic_vector) ReturnStd_logic_vector;Endbpac;
PackagebodybpacisFunctionmax(a:Std_logic_vector; b:Std_logic_vector) ReturnStd_logic_vectorisVariabletemp:Std_logic_vector;BeginIf(a<b)Thentemp:=a;Else temp:=b;EndIf; Returntemp;End;Endbpac;Function函數(shù)名(參數(shù)表)Return數(shù)據(jù)類型名Is[定義語(yǔ)句]Begin [順序處理語(yǔ)句]Return[返回變量名]End[函數(shù)名];通常各種功能的FUNCTION語(yǔ)句的程序都被集中在包集合(Package)中。第七十三頁(yè),共一百零八頁(yè)。第12章12.3包集合
PackageLogicis:TypeThree_level_logicis(‘0’,‘1’,‘Z’);ConstantU:Three_level_logic:=‘0’;Functionlnvert(Input:Three_level_logic) ReturnThree_level_logic;EndLogic;PackagebodyLogicIsFunctionlnvert(Input:Three_level_logic) ReturnThree_level_logicIs;BeginCaselnputIs When‘0’=>Return‘1’; When‘1’=>Return‘0’; When‘Z’=>Return‘Z’;EndCase;Endlnvert;EndLogic;
包集合標(biāo)題的形式為:Package包集合名is[說(shuō)明語(yǔ)句];End包集合名;包集合體的形式為:PackageBody包集合名is[說(shuō)明語(yǔ)句];End包集合名;包集合標(biāo)題包集合體第七十四頁(yè),共一百零八頁(yè)。第12章12.3庫(kù)
例如:LibraryIEEE;UseIEEE.STD_LOGIC_1164.ALL;庫(kù)的說(shuō)明總是放在設(shè)計(jì)單元的最前面。格式為:Library庫(kù)名;庫(kù)大致可以歸納為5種:IEEE庫(kù)、STD庫(kù)、面向ASIC的庫(kù)用戶定義的庫(kù)WORK庫(kù)。
第七十五頁(yè),共一百零八頁(yè)。第12章12.3配置
ArchitectureoneOFNANDISBeginC<=NOT(aANDb);EndArchitectureone;ArchitecturetwoOfNANDIsBeginC<=‘1’When(a=‘0’)AND(b=‘0’)ElseC<=‘1’When(a=‘0’)AND(b=‘1’)ElseC<=‘1’When(a=‘1’)AND(b=‘0’)ElseC<=‘0’When(a=‘1’)AND(b=‘1’)ElseC<=‘0’;EndArchitecturetwo;配置語(yǔ)句的一般格式如下:Configration配置名Of實(shí)體名Is[語(yǔ)句說(shuō)明]End配置名;ConfigurationsecondOfNANDIsFortwoEndFor;Endsecond;ConfigurationfirstOfNANDIsForoneEndFor;Endfirst;第七十六頁(yè),共一百零八頁(yè)。第12章12.3
VHDL語(yǔ)言的數(shù)據(jù)類型及運(yùn)算操作符
(1)常數(shù)常數(shù)的說(shuō)明的一般格式如下: Constant:常數(shù)名:數(shù)據(jù)類型:=表達(dá)式;例如: Constant:VCC:REAL:=3.3;(2)變量變量的說(shuō)明語(yǔ)句格式如下:Variable:變量名:數(shù)據(jù)類型 約束條件:=表達(dá)式;例如: Variable:z:IntegerRange0To255:=8;(3)信號(hào)信號(hào)說(shuō)明語(yǔ)句格式如下:Singal:信號(hào)名:數(shù)據(jù)類型 約束條件:=表達(dá)式;例如: Singal:CLK:BIT:=‘0’;VHDL中有三類對(duì)象:常數(shù)(Constant)變量(Variable)信號(hào)(Signal)
第七十七頁(yè),共一百零八頁(yè)。第12章12.3VHDL中的數(shù)據(jù)類型
數(shù)據(jù)類型含義整數(shù)整數(shù)32位,-2147483647~2147483647實(shí)數(shù)浮點(diǎn)數(shù),-1.0E+38~+1.0E+38位邏輯‘0’或‘1’位矢量位矢量布爾量邏輯“假”或邏輯“真”字符ASCII字符時(shí)間時(shí)間單位fs,ps,ns,ms,sec,min,hr錯(cuò)誤等級(jí)NOTE,WARNING,ERROR,FAILURE自然數(shù),正整數(shù)整數(shù)的子集字符串字符矢量第七十八頁(yè),共一百零八頁(yè)。第12章12.3VHDL語(yǔ)言的運(yùn)算操作符
邏輯(Logical)運(yùn)算、關(guān)系(Relational)運(yùn)算算術(shù)(Arithmetic)運(yùn)算并置(Concatenation)運(yùn)算
第七十九頁(yè),共一百零八頁(yè)。第12章12.3VHDL語(yǔ)言的運(yùn)算操作符
(1)邏輯運(yùn)算符在VHDL語(yǔ)言中邏輯運(yùn)算符共有6種:NOT — 取反;AND — 與;OR — 或;NAND — 與非;NOR — 或非;XOR — 異或;第八十頁(yè),共一百零八頁(yè)。第12章12.3VHDL語(yǔ)言的運(yùn)算操作符
(2)算術(shù)運(yùn)算符VHDL有10種算術(shù)運(yùn)算符,它們分別是:+ — 加;— — 減;* — 乘;/ — 除;MOD — 求模;REM — 取余;+ — 正;(一元運(yùn)算)- — 負(fù);(一元運(yùn)算)** — 指數(shù);ABS — 取絕對(duì)值。第八十一頁(yè),共一百零八頁(yè)。第12章12.3VHDL語(yǔ)言的運(yùn)算操作符
(3)關(guān)系運(yùn)算符VHDL語(yǔ)言中有6種關(guān)系運(yùn)算符,它們分別是:= — 等于;/= — 不等于;< — 小于;<= — 小于等于;> — 大于;>= — 大于等于。第八十二頁(yè),共一百零八頁(yè)。第12章12.3VHDL語(yǔ)言的運(yùn)算操作符
(4)并置運(yùn)算符并置運(yùn)算符“&”用于位的連接。例:將a(0)~a(3)4位連接起來(lái)構(gòu)成位矢量a,則表示為: a<=a(0)&a(1)&a(2)&a(3);將b(0)~b(3)4位連接起來(lái)構(gòu)成位矢量b,則表示為: b<=b(0)&b(1)&b(2)&b(3);將a和b連接起來(lái)構(gòu)成8位位矢量y,表示為: y<=a&b;第八十三頁(yè),共一百零八頁(yè)。第12章12.3VHDL順序語(yǔ)句
VHDL中有如下幾種順序語(yǔ)句:變量賦值語(yǔ)句流程控制語(yǔ)句等待(WAIT)語(yǔ)句信號(hào)代入語(yǔ)句斷言(ASSERT)語(yǔ)句返回語(yǔ)句空操作語(yǔ)句第八十四頁(yè),共一百零八頁(yè)。第12章12.3變量賦值語(yǔ)句變量賦值語(yǔ)句的書(shū)寫(xiě)格式為: 目的變量:=表達(dá)式;其中:目的變量和表達(dá)式所代表的新值的類型必須相同。目的變量的類型、范圍及初值在事先應(yīng)已給出。表達(dá)式可以是變量、信號(hào)或字符。例如: a:=2;變量值只在進(jìn)程或子程序中使用,它無(wú)法傳遞到進(jìn)程之外。它類似于一般高級(jí)語(yǔ)言的局部變量。注意第八十五頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句
流程控制語(yǔ)句共有五種:IF語(yǔ)句CASE語(yǔ)句LOOP語(yǔ)句N(xiāo)EXT語(yǔ)句EXIT語(yǔ)句第八十六頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----IF語(yǔ)句
IF條件句Then--第一種IF語(yǔ)句,IF語(yǔ)句的單選擇控制順序語(yǔ)句EndIF;IF條件句Then--第二種IF語(yǔ)句,IF語(yǔ)句的二選擇控制順序語(yǔ)句ELSE 順序語(yǔ)句EndIF;IF條件句Then--第三種IF語(yǔ)句,IF語(yǔ)句的多選擇控制順序語(yǔ)句ELSIF條件句Then順序語(yǔ)句…ELSE順序語(yǔ)句EndIF;第八十七頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----CASE語(yǔ)句
CASE語(yǔ)句的結(jié)構(gòu)如下: CASE表達(dá)式IS WHEN選擇值=>順序語(yǔ)句; WHEN選擇值=>順序語(yǔ)句; … EndCASE;條件句中的選擇值必須在表達(dá)式的取值范圍內(nèi)。除非所有條件句中的選擇值能覆蓋CASE語(yǔ)句中表達(dá)式的取值,否則最末一個(gè)條件句中的選擇必須用“OHTERS”表示。CASE語(yǔ)句中每一條件句的選擇值只能出現(xiàn)一次,不能有相同選擇值的條件語(yǔ)句出現(xiàn)。CASE語(yǔ)句執(zhí)行中必須選中,且只能選中所列條件語(yǔ)句中的一條。第八十八頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----LOOP語(yǔ)句1)FOR循環(huán)變量這樣的LOOP語(yǔ)句格式如下:[標(biāo)號(hào)]:FOR循環(huán)變量IN離散范圍LOOP順序處理語(yǔ)句;EndLOOP[標(biāo)號(hào)];例如:ASUM:FORiIN1TO128LOOP sum=i+sum;---sum初值為0 EndLOOPASUM;第八十九頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----LOOP語(yǔ)句2)WHILE條件這樣的LOOP語(yǔ)句格式如下:[標(biāo)號(hào)]:WHILE條件LOOP順序處理語(yǔ)句;EndLOOP[標(biāo)號(hào)];在該LOOP語(yǔ)句中,如果條件為“真”,則進(jìn)行循環(huán);如果條件為“假”,則結(jié)束循環(huán)。 例如: x:=1;ASUM:WHILE(x<129)LOOPsum=x+sum;---sum初值為0 x:=x+1; EndLOOPASUM;第九十頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----NEXT語(yǔ)句
在LOOP語(yǔ)句中,NEXT語(yǔ)句主要用于跳出本次循環(huán)。其書(shū)寫(xiě)格式為:NEXT[標(biāo)號(hào)][WHEN條件]
例如:…LA:FORvalueIN1TO15LOOPS1:A(value):=‘1’; NEXTWHEN(b=c);S2:A(value+15):=‘0’;EndLOOPLA;說(shuō)明:NEXT語(yǔ)句執(zhí)行時(shí)將停止本次迭代,而轉(zhuǎn)入下一次新的迭代。NEXT后跟的“標(biāo)號(hào)”和”WHEN條件”均為可選項(xiàng),二者均無(wú)時(shí),只要執(zhí)行到該語(yǔ)句就立即無(wú)條件跳出本次循環(huán),從LOOP語(yǔ)句的起始位置進(jìn)入下一次循環(huán),即開(kāi)始下一次迭代。第九十一頁(yè),共一百零八頁(yè)。第12章12.3流程控制語(yǔ)句----EXIT語(yǔ)句在LOOP語(yǔ)句中,NEXT語(yǔ)句主要用于跳出本次循環(huán)。其書(shū)寫(xiě)格式為:NEXT[標(biāo)號(hào)][WHEN條件]EXIT語(yǔ)句的格式也有三種:EXIT; --第一種當(dāng)程序執(zhí)行到該EXIT語(yǔ)句時(shí)就無(wú)條件地從當(dāng)前所屬的LOOP語(yǔ)句中跳出,結(jié)束循環(huán)狀態(tài),繼續(xù)執(zhí)行LOOP語(yǔ)句后繼的語(yǔ)句。EXITLOOP標(biāo)號(hào); --第二種執(zhí)行此EXIT語(yǔ)句時(shí),程序?qū)⑻了f(shuō)明的標(biāo)號(hào)。EXITLOOP標(biāo)號(hào)WHEN條件表達(dá)式; --第三種當(dāng)執(zhí)行到此EXIT語(yǔ)句時(shí),只要在所說(shuō)明的條件為T(mén)RUE時(shí),程序?qū)⑻了f(shuō)明的標(biāo)號(hào)。若無(wú)標(biāo)號(hào)說(shuō)明,下一條要執(zhí)行的語(yǔ)句是循環(huán)外的下一條語(yǔ)句。第九十二頁(yè),共一百零八頁(yè)。第12章12.3等待(WAIT)語(yǔ)句
WAIT等待語(yǔ)句有以下四種不同的語(yǔ)句格式,設(shè)置不同的結(jié)束掛起條件:WAIT --無(wú)限等待WAITON信號(hào)表 --敏感信號(hào)量變化WAITUNTIL條件表達(dá)式 --條件滿足WAITFOR時(shí)間表達(dá)式 --時(shí)間到WAITUNTIL rising_edge(clock);WAITUNTIL clock’EVENTANDclock=‘1’;WAITONa,b;WAITFOR10ms;WAITFORa+b;第九十三頁(yè),共一百零八頁(yè)。第12章12.3信號(hào)代入語(yǔ)句
信號(hào)代入語(yǔ)句的書(shū)寫(xiě)格式為:目的變量:=表達(dá)式;該語(yǔ)句表明,目的變量的值將由表達(dá)式所表達(dá)的新值替代,但是兩者的類型必須相同。例如:a:=2;b:=c+d;第九十四頁(yè),共一百零八頁(yè)。第12章12.3斷言(ASSERT)語(yǔ)句
斷言語(yǔ)句的書(shū)寫(xiě)格式為:ASSERT條件[REPORT輸出信息][SEVERITY級(jí)別];當(dāng)執(zhí)行ASSERT語(yǔ)句時(shí),就會(huì)對(duì)條件進(jìn)行判別。如果條件為T(mén)RUE,則向下執(zhí)行另一個(gè)語(yǔ)句。如果條件為FALSE,則輸出錯(cuò)誤信息和錯(cuò)誤嚴(yán)重程度的級(jí)別。例如:ASSERT(waitA=‘1’)REPORT“waitAtimedoutat’1’”SEVERITYERROR;該斷言語(yǔ)句的條件是信號(hào)量waitA=‘1’。如果執(zhí)行到該語(yǔ)句時(shí),信號(hào)量waitA=‘0’,說(shuō)明條件不滿足,就會(huì)輸出REPORT后跟的文字串。SEVERITYERROR語(yǔ)句告訴操作人員,其出錯(cuò)級(jí)別為ERROR。ASSERT語(yǔ)句方便了程序的仿真和調(diào)試。第九十五頁(yè),共一百零八頁(yè)。第12章12.3返回語(yǔ)句空操作語(yǔ)句
返回語(yǔ)句有兩種語(yǔ)句格式:Return; --第一種語(yǔ)句格式Return表達(dá)式; --第二種語(yǔ)句格式第一種語(yǔ)句格式只能用于過(guò)程,它只是結(jié)束過(guò)程,并不返回任何值;第二種語(yǔ)句格式只能用于函數(shù),并且必須返回一個(gè)值。返回語(yǔ)句只能用于子程序體中??詹僮髡Z(yǔ)句的語(yǔ)句格式如下:
NULL空操作語(yǔ)句不完成任何操作,它唯一的功能就是使邏輯運(yùn)行流程跨入下一步語(yǔ)句的執(zhí)行。第九十六頁(yè),共一百零八頁(yè)。第12章12.3VHDL并行語(yǔ)句
在VHDL語(yǔ)言中能進(jìn)行并行處理的語(yǔ)句有:進(jìn)程(Process)語(yǔ)句,并行信號(hào)賦值(ConcurrentSignalAssignment)語(yǔ)句條件信號(hào)賦值(ConditionalSignalAssignment)語(yǔ)句選擇信號(hào)賦值(SelectiveSignalAssignment)語(yǔ)句并行過(guò)程調(diào)用(ConcurrentProcedureCall)語(yǔ)句塊(Block)語(yǔ)句第九十七頁(yè),共一百零八頁(yè)。第12章12.3并行信號(hào)賦值語(yǔ)句
并行信號(hào)賦值語(yǔ)句的語(yǔ)句格式如下:賦值目標(biāo)<= 表達(dá)式;例如:ArchitecturebehavOFaISBegin Output<=f(i);Endbehav;說(shuō)明賦值語(yǔ)句在進(jìn)程內(nèi)部使用時(shí),以順序語(yǔ)句的形式出現(xiàn);在結(jié)構(gòu)體的進(jìn)程之外使用時(shí),以并行語(yǔ)句的形式出現(xiàn)。第九十八頁(yè),共一百零八頁(yè)。第12章12.3條件信號(hào)賦值語(yǔ)句
其書(shū)寫(xiě)格式為:目的信號(hào)量<= 表達(dá)式1WHEN條件1ELSE表達(dá)式2WHEN條件2ELSE表達(dá)式3WHEN條件3ELSE… ELSE表達(dá)式n;ArchitecturertlOFmux4IS Signalsel:STD_LOGIC_VECTOR(1DOWNTO0);BeginSel<=b&a;Q<=i0Whensel=”00”ELSE i1Whensel=”01”ELSE i2Whensel=”10”ELSE i3Whensel=”11”ELSE ’X’;Endrtl;第九十九頁(yè),共一百零八頁(yè)。第12章12.3并行過(guò)程調(diào)用語(yǔ)句
并行過(guò)程調(diào)用語(yǔ)句的語(yǔ)句調(diào)用格式與前面講過(guò)的順序過(guò)程調(diào)用語(yǔ)句是相同的。即過(guò)程名(關(guān)聯(lián)參量名);下面是一個(gè)在結(jié)構(gòu)體中采用并行過(guò)程調(diào)用語(yǔ)句的實(shí)例:Architecture…BeginVector_to_int(z,x_flag,q);┇End…;第一百頁(yè),共一百零八頁(yè)。第12章12.3命名規(guī)則和注解的標(biāo)記
在VHDL語(yǔ)言中為信號(hào)、實(shí)體、結(jié)構(gòu)體以及變量等命名時(shí)應(yīng)遵守如下規(guī)則:(1)名字的最前面應(yīng)該是英文字母;(2)能使用的字符只有英文字母、數(shù)字和‘—’;(3)不能連續(xù)使用‘—’符號(hào),在名字的最后也不能使用‘—’符號(hào)。下面是命名語(yǔ)句的例子:SIGNALa_bus: STD_LOGIC_VECTOR(7DOWNTO0);SIGNAL1_bus: --數(shù)字開(kāi)頭的名字是錯(cuò)誤的SIGNALa_@bus: --@不能作為名稱中的字符,是錯(cuò)誤的SIGNALa__bus: --不能連續(xù)使用’—‘符號(hào),是錯(cuò)誤的SIGNALa_bus_: --在名字的最后也不能使用’—‘符號(hào),是錯(cuò)誤的第一百零一頁(yè),共一百零八頁(yè)。第12章12.3組合邏輯電路設(shè)計(jì)------全加器
LibraryIEEE;UseIEEE.STD_LOGIC_1164.ALL;UseIEEE.STD_LOGIC_unsigned.ALL;Entityfull_adderISPort(a,b,ci:INSTD_LOGIC;Sum,co:OUTSTD_LOGIC);Endfull_adder;ARCHITECTUREfadderOFfull_adderISsignaltemp:std_logic_vector(1downto0);Begintemp<=('0'&a)+b+ci;sum<=temp(0);co<=temp(1);Endfadder;第一百零二頁(yè),共一百零八頁(yè)。第12章12.3時(shí)序邏輯電路設(shè)計(jì)------觸發(fā)器
LibraryIEEE;UseIEEE.STD_LOGIC_1164.ALL;EntitydffIS Port(d,clk,set,clr:INSTD_LOGIC; q:OUTSTD_LOGIC);Enddff;ARCHITECTURExdffOFdffIS Begin Process(clk)Begin IF(clk'EVENTANDclk='1')THEN
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保協(xié)會(huì)申請(qǐng)書(shū)
- 2025年度醫(yī)院與網(wǎng)絡(luò)安全公司信息系統(tǒng)安全保障合同
- 航空法概論知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋中國(guó)民航大學(xué)
- 現(xiàn)代物流技術(shù)與醫(yī)療物資管理研究
- 保送大學(xué)申請(qǐng)書(shū)
- 進(jìn)禮儀隊(duì)的申請(qǐng)書(shū)
- 2025年度城市基礎(chǔ)設(shè)施建設(shè)借款合同擔(dān)保書(shū)(公共項(xiàng)目)
- 入會(huì)申請(qǐng)書(shū) 學(xué)生會(huì)
- 2025年度創(chuàng)新教育理念下學(xué)校學(xué)生入學(xué)合同示范書(shū)
- 2025年度電影后期剪輯及拍攝合同
- ABB工業(yè)機(jī)器人應(yīng)用技術(shù) 課件 2.6系統(tǒng)輸入輸出與IO信號(hào)的關(guān)聯(lián)
- 中建總承包項(xiàng)目高支模專項(xiàng)施工方案含計(jì)算書(shū)
- 學(xué)校疫情防控學(xué)校傳染病疫情及突發(fā)公共衛(wèi)生事件報(bào)告制度
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 2025 年福建省中考語(yǔ)文試題:作文試題及范文
- 短視頻運(yùn)營(yíng)績(jī)效考核表KPI-企業(yè)管理
- 四川省綿陽(yáng)市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 《從零到卓越- 創(chuàng)新與創(chuàng)業(yè)導(dǎo)論》教案
- 慢性心衰的管理:2024年國(guó)家心衰指南更新
- 15J403-1-樓梯欄桿欄板(一)
- QC課題提高金剛砂地面施工一次合格率
評(píng)論
0/150
提交評(píng)論