版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
概述12.1可編程邏輯器件12.2
可編程邏輯器件開發(fā)環(huán)境12.3
VHDL介紹第12章目錄第12章PLD技術(shù)及其應(yīng)用
第一頁,共一百零八頁。概述
自頂向下的綜合技術(shù)
傳統(tǒng)電子系統(tǒng)的設(shè)計方法
ISP技術(shù)介紹
數(shù)字系統(tǒng)的設(shè)計
PLD的發(fā)展第12章概述第二頁,共一百零八頁。PLD的發(fā)展可編程邏輯器件(ProgrammbleLogicDevice)簡稱PLD制造商通用集成電路用戶專用集成電路第11章11.1第12章概述第三頁,共一百零八頁??删幊踢壿嬈骷姆诸悘幕ミB特性上分類從可編程特性上分類從器件容量上分類從結(jié)構(gòu)的復(fù)雜程度上分類第11章11.1第12章概述第四頁,共一百零八頁??删幊踢壿嬈骷陌l(fā)展PROMPLAPALGALSPLDCPLDFPGAISP技術(shù)什么是ISP技術(shù)???第11章11.1第12章概述第五頁,共一百零八頁。數(shù)字系統(tǒng)的設(shè)計積木塊式的設(shè)計方法根據(jù)需要選擇器件搭系統(tǒng)調(diào)試傳統(tǒng)電子系統(tǒng)的設(shè)計方法固定功能元件電路板設(shè)計電子系統(tǒng)缺點1.器件多,數(shù)目大;2.可靠性差;3.不能實時修改。第12章概述
第六頁,共一百零八頁。自頂向下的綜合技術(shù)系統(tǒng)子功能塊1子功能塊2子功能塊n邏輯塊11邏輯塊12邏輯塊1m邏輯塊21邏輯塊111Top-Down方法的關(guān)鍵在于:利用功能分割手段將設(shè)計由上到下進行層次化和模塊化第12章概述第七頁,共一百零八頁。自頂向下設(shè)計方法的優(yōu)點設(shè)計與具體的器件和工藝無關(guān)方便在各種集成電路或PLD器件之間移植適合多個設(shè)計者同時進行設(shè)計設(shè)計原則1、逐層分解功能,分層次進行設(shè)計2、在各設(shè)計層次上,進行仿真驗證第12章概述第八頁,共一百零八頁。ISP技術(shù)介紹只要將器件插在系統(tǒng)內(nèi)或者電路板上,就能對其編程或再編程。可以先裝配后編程,成為產(chǎn)品后還可反復(fù)編程??梢詫崟r地進行靈活和方便的更改和開發(fā),真正做到了硬件的“軟件化”自動設(shè)計。第12章概述第九頁,共一百零八頁。
CPLD的ISP技術(shù)使得硬件像軟件一樣被編程配置,實時設(shè)計、實時修改、實時實現(xiàn),為電子技術(shù)的發(fā)展開辟了廣闊的前景。第12章概述第十頁,共一百零八頁。12.1可編程邏輯器件可編程邏輯器件的基本邏輯約定可編程邏輯器件的基本結(jié)構(gòu)可編程邏輯器件的介紹第12章12.1第十一頁,共一百零八頁。第12章12.1.1
(1)輸入緩沖單元
(a)緩沖器(b)真值表
有關(guān)邏輯約定第十二頁,共一百零八頁。第12章12.1.1
(2)與門和或門
(a)與門PLD表示法(b)與門傳統(tǒng)表示法
(c)或門PLD表示法(d)或門傳統(tǒng)表示法有關(guān)邏輯約定第十三頁,共一百零八頁。有關(guān)邏輯約定第12章12.1.1
(3)PLD連接方式
(a)固定連接(b)可編程連接(c)不連接
第十四頁,共一百零八頁。第12章12.1.2
早期的可編程邏輯器件(1)PROM的結(jié)構(gòu)
固定與陣列可編程或陣列第十五頁,共一百零八頁。第12章12.1.2(2)PLA的結(jié)構(gòu)
與陣、或陣均可編程
早期的可編程邏輯器件第十六頁,共一百零八頁。第12章12.1.2
(3)PAL的結(jié)構(gòu)
可編程與陣列固定或陣列
早期的可編程邏輯器件第十七頁,共一百零八頁。第12章12.1.1
(4)GAL的結(jié)構(gòu)
其特點是在它的每個輸出端都集成有一個輸出邏輯宏單元,因此其輸出方式可以配置(Configurable)。
早期的可編程邏輯器件第十八頁,共一百零八頁。第12章12.1.2
CPLD的結(jié)構(gòu)特點在CPLD中,通常將整個邏輯分為幾個邏輯塊。每個邏輯塊相當于數(shù)個GAL的組合,各個邏輯塊之間再用互連資源實現(xiàn)連接。在CPLD芯片中設(shè)置了若干I/O單元,它們可直接與引腳相連,然后通過另一組連線連到所需的宏單元上。CPLD中普遍設(shè)有多個時鐘輸入端,并可以利用芯片中產(chǎn)生的乘積項作為時鐘,給系統(tǒng)的設(shè)計帶來了很大的靈活性。結(jié)構(gòu)特點第十九頁,共一百零八頁。第12章12.1.2
CPLD的編程工藝
EPROM(ErasableProgrammableROM)工藝E2ROM(ElectricalErasableROM)工藝Flash工藝第二十頁,共一百零八頁。第12章12.1.2
FPGA的結(jié)構(gòu)特點在構(gòu)造FPGA時改用了單元結(jié)構(gòu)。即在陣列的各個節(jié)點上放的不再是一個單獨的門,而是用門、觸發(fā)器等做成的邏輯單元,并在各個單元之間預(yù)先制作了許多連線。所以嚴格地說,F(xiàn)PGA不是門陣列,而是邏輯單元陣列,它和門陣列只是在陣列結(jié)構(gòu)上相似而已。結(jié)構(gòu)特點第二十一頁,共一百零八頁。第12章12.1.2
FPGA的編程工藝
(1)反熔絲工藝-----編程時不是將熔絲熔斷,而是將其熔連。Actel公司的FPGA采用。(2)RAM工藝-----Xilinx公司的FPGA采用的是另一種工藝,每個連接點代替熔絲的是一個受SR靜態(tài)觸發(fā)器控制的開關(guān),當觸發(fā)器被置1時,開關(guān)接通,否則開關(guān)斷開。第二十二頁,共一百零八頁。第12章12.1.2
FPGA/CPLD的比較延遲可預(yù)測能力
CPLD的時序延遲是均勻的和可預(yù)測的,F(xiàn)PGA的時序延遲不可預(yù)測。布線能力
CPLD獨特的內(nèi)連線結(jié)構(gòu)使其內(nèi)連率很高,更適合于芯片設(shè)計的可編程器件驗證。適用場合
CPLD更適合于完成各種算法和組合邏輯,F(xiàn)PGA更適合于完成時序較多的邏輯電路。主要區(qū)別第二十三頁,共一百零八頁。第12章12.1.3
Altera公司的主要產(chǎn)品
器件的可用資源逐漸增多,輸入輸出管腳也隨之增加。Classic系列MAX系列ACEX系列FLEX系列APEX系列第二十四頁,共一百零八頁。12.2
可編程邏輯器件開發(fā)環(huán)境MAX+PLUSII的設(shè)計流程主要設(shè)計輸入方法原理圖輸入方式文本設(shè)計輸入方法編譯設(shè)計項目設(shè)計項目的模擬仿真器件編程時間分析第二十五頁,共一百零八頁。第12章12.2MAX+PLUSII的設(shè)計流程(1)設(shè)計輸入。可以采用原理圖輸入、HDL語言描述、EDIF網(wǎng)表讀入及波形輸入等方式。
(2)語法檢查。主要為檢驗輸入是否有誤。
(3)編譯。主要完成器件的選擇及適配,邏輯的綜合及器件的裝入,延時信息的提取。
(4)仿真。將編譯產(chǎn)生的延時信息加入到設(shè)計中,進行布局布線后的仿真。
(5)編程驗證。經(jīng)EPROM或編程電纜配置CPLD,加入實際激勵,進行測試,以檢查是否完成預(yù)定功能。MAX+PLUSII的設(shè)計流程圖第二十六頁,共一百零八頁。第12章12.2.1主要設(shè)計輸入方法
原理圖輸入方式文本設(shè)計輸入方式層次設(shè)計輸入方式波形設(shè)計輸入方式第二十七頁,共一百零八頁。第12章12.2.1指定設(shè)計項目的名字
用MAX+PLUSII編譯一個項目前,必須確定一個設(shè)計文件作為當前項目。原理圖輸入方式第二十八頁,共一百零八頁。第12章12.2.1建立新文件原理圖輸入方式第二十九頁,共一百零八頁。第12章12.2.1原理圖輸入方式第三十頁,共一百零八頁。第12章12.2.1輸入圖原和宏功能符號原理圖輸入方式第三十一頁,共一百零八頁。第12章12.2.1連線
輸入引腳原理圖輸入方式第三十二頁,共一百零八頁。第12章12.1.1原理圖輸入方式圖形編輯選項第三十三頁,共一百零八頁。第12章12.1.1保存文件,檢查基本錯誤原理圖輸入方式第三十四頁,共一百零八頁。第12章12.2.1原理圖輸入方式創(chuàng)建一個默認的圖形符號第三十五頁,共一百零八頁。創(chuàng)建一個默認的圖形符號第12章12.2.1第三十六頁,共一百零八頁。第12章12.2.1文本設(shè)計輸入方法
新建文本文件第三十七頁,共一百零八頁。第12章12.2.1文本設(shè)計輸入方法
新建文本文件第三十八頁,共一百零八頁。第12章12.2.1文本設(shè)計輸入方法
文本輸入第三十九頁,共一百零八頁。保存文件文本設(shè)計輸入方法第12章12.2.1第四十頁,共一百零八頁。第12章12.2.1頂層圖形設(shè)計方法創(chuàng)建頂層圖形設(shè)計文件第四十一頁,共一百零八頁。第12章12.2.1第四十二頁,共一百零八頁。第12章12.2.2編譯設(shè)計項目
打開編輯器窗口第四十三頁,共一百零八頁。編譯設(shè)計項目第12章12.2.2第四十四頁,共一百零八頁。第12章12.2.2編譯設(shè)計項目
選擇器件
第四十五頁,共一百零八頁。選擇器件編譯設(shè)計項目第12章12.2.2第四十六頁,共一百零八頁。第12章12.2.2編譯設(shè)計項目
設(shè)計規(guī)則檢查第四十七頁,共一百零八頁。第12章12.2.2編譯設(shè)計項目
保護位設(shè)置第四十八頁,共一百零八頁。第12章12.2.2器件的引腳分配
引腳分配第四十九頁,共一百零八頁。第12章12.2.2打開定時模擬器網(wǎng)表文件提取器
打開TimingSNFExtractor模塊
第五十頁,共一百零八頁。第12章12.2.2指定在報告文件中需要產(chǎn)生的部分
如果某些部分還沒有被打開,就選中All選項第五十一頁,共一百零八頁。第12章12.2.2閱讀報告
打開報告文件第五十二頁,共一百零八頁。第12章12.2.2在底層圖編輯器中觀察試配結(jié)果
器件視圖邏輯陣列塊視圖第五十三頁,共一百零八頁。第12章12.2.3設(shè)計項目的模擬仿真
創(chuàng)建模擬文件第五十四頁,共一百零八頁。第12章12.2.3設(shè)計項目的模擬仿真
輸入節(jié)點打開仿真器第五十五頁,共一百零八頁。第12章12.2.3設(shè)計項目的模擬仿真
模擬仿真第五十六頁,共一百零八頁。第12章12.2.3設(shè)計項目的模擬仿真
仿真結(jié)果第五十七頁,共一百零八頁。時序仿真又稱為后仿真,在后仿真中由于加入了芯片中的實際延時信息,仿真結(jié)果與芯片實際工作狀態(tài)基本一致。時序仿真時序仿真可以發(fā)現(xiàn)競爭與冒險現(xiàn)象,若有此問題可從設(shè)計中設(shè)法消除,仿真與設(shè)計輸入為一交互過程。第12章12.2.4第五十八頁,共一百零八頁。時間分析
傳播延遲分析第12章12.2.4第五十九頁,共一百零八頁。時間分析
時序邏輯電路性能分析
第12章12.2.4第六十頁,共一百零八頁。時間分析
建立和保持時間分析第12章12.2.4第六十一頁,共一百零八頁。器件編程
(1)打開編程器窗口打開編程器第12章12.2.5第六十二頁,共一百零八頁。器件編程
編程器設(shè)置第12章12.2.5第六十三頁,共一百零八頁。第12章12.312.3硬件描述語言
VHDL(VeryHighSpeedIntergratedCircuitHardwareDescriptionLanguage)即超高速集成電路硬件描述語言
(1)功能強大,描述力強。可用于門級、電路級甚至系統(tǒng)級的描述、仿真和設(shè)計。主要優(yōu)點(2)可移植性好。對于設(shè)計和仿真工具采用相同的描述,對于不同的平臺也采用相同的描述。(4)可以延長設(shè)計的生命周期。因為VHDL的硬件描述與工藝技術(shù)無關(guān),不會因工藝變化而使描述過時。(3)研制周期短,成本低。由于VHDL支持大規(guī)模設(shè)計的分解和對已有設(shè)備的利用,因此加快了設(shè)計流程。定義第六十四頁,共一百零八頁。第12章12.3硬件描述語言
庫實體結(jié)構(gòu)體第六十五頁,共一百零八頁。第12章12.3實體
實體名端口數(shù)據(jù)類型第六十六頁,共一百零八頁。第12章12.3端口說明端口模式端口模式說明IN輸入OUT輸出(構(gòu)造體內(nèi)部不能再使用)BUFFER輸出(構(gòu)造體內(nèi)部可再使用)INOUT雙向LINKAGE不指定方向,無論哪一個方向都可連接第六十七頁,共一百零八頁。第12章12.3數(shù)據(jù)類型BIT位類型,取值0、1,由STANDARD程序包定義;BIT_VECTOR位向量類型,是BIT的組合,該端口的取值可能是一組二進制位的值;STD_LOGIC 工業(yè)標準的邏輯類型,取值0、1、X、Z,由STD_LOGIC_1164程序包定義;INTEGER整數(shù)類型,可用作循環(huán)的指針或常數(shù),通常不用作I/O信號;STD_LOGIC_VECTOR工業(yè)標準的邏輯向量類型,是STD_LOGIC的組;BOOLEAN布爾類型,取值FALSE,TRUE。第六十八頁,共一百零八頁。第12章12.3結(jié)構(gòu)體結(jié)構(gòu)體的一般形式為:Architecture結(jié)構(gòu)體名Of實體名Is[說明]Begin[功能描述語句]End結(jié)構(gòu)體名;Architectureor2xOfor2IsBegin y<=aORb;Endor2x;結(jié)構(gòu)體名實體名第六十九頁,共一百零八頁。第12章12.3結(jié)構(gòu)體---Block進程(Process)語句結(jié)構(gòu)Block語句結(jié)構(gòu)子程序(Subprograms)語句結(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語句的表達格式如下: 塊結(jié)構(gòu)名: Block Begin 并行語句 EndBlock塊結(jié)構(gòu)名;三種子結(jié)構(gòu)第七十頁,共一百零八頁。第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語句的表達格式如下:[進程名]:Process(信號)Begin 順序描述語句EndProcess;第七十一頁,共一百零八頁。第12章12.3結(jié)構(gòu)體---Subprograms
Proceduremypro(sig1,sig2)IS┇Endmypro;調(diào)用語句:mypro(sig1,sig2);在VHDL中,子程序有兩種類型:過程(Procedure)函數(shù)(Function)1)過程語句格式如下:Procedure過程名(參數(shù)表)Is[定義語句]Begin [順序處理語句]End過程名;第七十二頁,共一百零八頁。第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[定義語句]Begin [順序處理語句]Return[返回變量名]End[函數(shù)名];通常各種功能的FUNCTION語句的程序都被集中在包集合(Package)中。第七十三頁,共一百零八頁。第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;
包集合標題的形式為:Package包集合名is[說明語句];End包集合名;包集合體的形式為:PackageBody包集合名is[說明語句];End包集合名;包集合標題包集合體第七十四頁,共一百零八頁。第12章12.3庫
例如:LibraryIEEE;UseIEEE.STD_LOGIC_1164.ALL;庫的說明總是放在設(shè)計單元的最前面。格式為:Library庫名;庫大致可以歸納為5種:IEEE庫、STD庫、面向ASIC的庫用戶定義的庫WORK庫。
第七十五頁,共一百零八頁。第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;配置語句的一般格式如下:Configration配置名Of實體名Is[語句說明]End配置名;ConfigurationsecondOfNANDIsFortwoEndFor;Endsecond;ConfigurationfirstOfNANDIsForoneEndFor;Endfirst;第七十六頁,共一百零八頁。第12章12.3
VHDL語言的數(shù)據(jù)類型及運算操作符
(1)常數(shù)常數(shù)的說明的一般格式如下: Constant:常數(shù)名:數(shù)據(jù)類型:=表達式;例如: Constant:VCC:REAL:=3.3;(2)變量變量的說明語句格式如下:Variable:變量名:數(shù)據(jù)類型 約束條件:=表達式;例如: Variable:z:IntegerRange0To255:=8;(3)信號信號說明語句格式如下:Singal:信號名:數(shù)據(jù)類型 約束條件:=表達式;例如: Singal:CLK:BIT:=‘0’;VHDL中有三類對象:常數(shù)(Constant)變量(Variable)信號(Signal)
第七十七頁,共一百零八頁。第12章12.3VHDL中的數(shù)據(jù)類型
數(shù)據(jù)類型含義整數(shù)整數(shù)32位,-2147483647~2147483647實數(shù)浮點數(shù),-1.0E+38~+1.0E+38位邏輯‘0’或‘1’位矢量位矢量布爾量邏輯“假”或邏輯“真”字符ASCII字符時間時間單位fs,ps,ns,ms,sec,min,hr錯誤等級NOTE,WARNING,ERROR,FAILURE自然數(shù),正整數(shù)整數(shù)的子集字符串字符矢量第七十八頁,共一百零八頁。第12章12.3VHDL語言的運算操作符
邏輯(Logical)運算、關(guān)系(Relational)運算算術(shù)(Arithmetic)運算并置(Concatenation)運算
第七十九頁,共一百零八頁。第12章12.3VHDL語言的運算操作符
(1)邏輯運算符在VHDL語言中邏輯運算符共有6種:NOT — 取反;AND — 與;OR — 或;NAND — 與非;NOR — 或非;XOR — 異或;第八十頁,共一百零八頁。第12章12.3VHDL語言的運算操作符
(2)算術(shù)運算符VHDL有10種算術(shù)運算符,它們分別是:+ — 加;— — 減;* — 乘;/ — 除;MOD — 求模;REM — 取余;+ — 正;(一元運算)- — 負;(一元運算)** — 指數(shù);ABS — 取絕對值。第八十一頁,共一百零八頁。第12章12.3VHDL語言的運算操作符
(3)關(guān)系運算符VHDL語言中有6種關(guān)系運算符,它們分別是:= — 等于;/= — 不等于;< — 小于;<= — 小于等于;> — 大于;>= — 大于等于。第八十二頁,共一百零八頁。第12章12.3VHDL語言的運算操作符
(4)并置運算符并置運算符“&”用于位的連接。例:將a(0)~a(3)4位連接起來構(gòu)成位矢量a,則表示為: a<=a(0)&a(1)&a(2)&a(3);將b(0)~b(3)4位連接起來構(gòu)成位矢量b,則表示為: b<=b(0)&b(1)&b(2)&b(3);將a和b連接起來構(gòu)成8位位矢量y,表示為: y<=a&b;第八十三頁,共一百零八頁。第12章12.3VHDL順序語句
VHDL中有如下幾種順序語句:變量賦值語句流程控制語句等待(WAIT)語句信號代入語句斷言(ASSERT)語句返回語句空操作語句第八十四頁,共一百零八頁。第12章12.3變量賦值語句變量賦值語句的書寫格式為: 目的變量:=表達式;其中:目的變量和表達式所代表的新值的類型必須相同。目的變量的類型、范圍及初值在事先應(yīng)已給出。表達式可以是變量、信號或字符。例如: a:=2;變量值只在進程或子程序中使用,它無法傳遞到進程之外。它類似于一般高級語言的局部變量。注意第八十五頁,共一百零八頁。第12章12.3流程控制語句
流程控制語句共有五種:IF語句CASE語句LOOP語句NEXT語句EXIT語句第八十六頁,共一百零八頁。第12章12.3流程控制語句----IF語句
IF條件句Then--第一種IF語句,IF語句的單選擇控制順序語句EndIF;IF條件句Then--第二種IF語句,IF語句的二選擇控制順序語句ELSE 順序語句EndIF;IF條件句Then--第三種IF語句,IF語句的多選擇控制順序語句ELSIF條件句Then順序語句…ELSE順序語句EndIF;第八十七頁,共一百零八頁。第12章12.3流程控制語句----CASE語句
CASE語句的結(jié)構(gòu)如下: CASE表達式IS WHEN選擇值=>順序語句; WHEN選擇值=>順序語句; … EndCASE;條件句中的選擇值必須在表達式的取值范圍內(nèi)。除非所有條件句中的選擇值能覆蓋CASE語句中表達式的取值,否則最末一個條件句中的選擇必須用“OHTERS”表示。CASE語句中每一條件句的選擇值只能出現(xiàn)一次,不能有相同選擇值的條件語句出現(xiàn)。CASE語句執(zhí)行中必須選中,且只能選中所列條件語句中的一條。第八十八頁,共一百零八頁。第12章12.3流程控制語句----LOOP語句1)FOR循環(huán)變量這樣的LOOP語句格式如下:[標號]:FOR循環(huán)變量IN離散范圍LOOP順序處理語句;EndLOOP[標號];例如:ASUM:FORiIN1TO128LOOP sum=i+sum;---sum初值為0 EndLOOPASUM;第八十九頁,共一百零八頁。第12章12.3流程控制語句----LOOP語句2)WHILE條件這樣的LOOP語句格式如下:[標號]:WHILE條件LOOP順序處理語句;EndLOOP[標號];在該LOOP語句中,如果條件為“真”,則進行循環(huán);如果條件為“假”,則結(jié)束循環(huán)。 例如: x:=1;ASUM:WHILE(x<129)LOOPsum=x+sum;---sum初值為0 x:=x+1; EndLOOPASUM;第九十頁,共一百零八頁。第12章12.3流程控制語句----NEXT語句
在LOOP語句中,NEXT語句主要用于跳出本次循環(huán)。其書寫格式為:NEXT[標號][WHEN條件]
例如:…LA:FORvalueIN1TO15LOOPS1:A(value):=‘1’; NEXTWHEN(b=c);S2:A(value+15):=‘0’;EndLOOPLA;說明:NEXT語句執(zhí)行時將停止本次迭代,而轉(zhuǎn)入下一次新的迭代。NEXT后跟的“標號”和”WHEN條件”均為可選項,二者均無時,只要執(zhí)行到該語句就立即無條件跳出本次循環(huán),從LOOP語句的起始位置進入下一次循環(huán),即開始下一次迭代。第九十一頁,共一百零八頁。第12章12.3流程控制語句----EXIT語句在LOOP語句中,NEXT語句主要用于跳出本次循環(huán)。其書寫格式為:NEXT[標號][WHEN條件]EXIT語句的格式也有三種:EXIT; --第一種當程序執(zhí)行到該EXIT語句時就無條件地從當前所屬的LOOP語句中跳出,結(jié)束循環(huán)狀態(tài),繼續(xù)執(zhí)行LOOP語句后繼的語句。EXITLOOP標號; --第二種執(zhí)行此EXIT語句時,程序?qū)⑻了f明的標號。EXITLOOP標號WHEN條件表達式; --第三種當執(zhí)行到此EXIT語句時,只要在所說明的條件為TRUE時,程序?qū)⑻了f明的標號。若無標號說明,下一條要執(zhí)行的語句是循環(huán)外的下一條語句。第九十二頁,共一百零八頁。第12章12.3等待(WAIT)語句
WAIT等待語句有以下四種不同的語句格式,設(shè)置不同的結(jié)束掛起條件:WAIT --無限等待WAITON信號表 --敏感信號量變化WAITUNTIL條件表達式 --條件滿足WAITFOR時間表達式 --時間到WAITUNTIL rising_edge(clock);WAITUNTIL clock’EVENTANDclock=‘1’;WAITONa,b;WAITFOR10ms;WAITFORa+b;第九十三頁,共一百零八頁。第12章12.3信號代入語句
信號代入語句的書寫格式為:目的變量:=表達式;該語句表明,目的變量的值將由表達式所表達的新值替代,但是兩者的類型必須相同。例如:a:=2;b:=c+d;第九十四頁,共一百零八頁。第12章12.3斷言(ASSERT)語句
斷言語句的書寫格式為:ASSERT條件[REPORT輸出信息][SEVERITY級別];當執(zhí)行ASSERT語句時,就會對條件進行判別。如果條件為TRUE,則向下執(zhí)行另一個語句。如果條件為FALSE,則輸出錯誤信息和錯誤嚴重程度的級別。例如:ASSERT(waitA=‘1’)REPORT“waitAtimedoutat’1’”SEVERITYERROR;該斷言語句的條件是信號量waitA=‘1’。如果執(zhí)行到該語句時,信號量waitA=‘0’,說明條件不滿足,就會輸出REPORT后跟的文字串。SEVERITYERROR語句告訴操作人員,其出錯級別為ERROR。ASSERT語句方便了程序的仿真和調(diào)試。第九十五頁,共一百零八頁。第12章12.3返回語句空操作語句
返回語句有兩種語句格式:Return; --第一種語句格式Return表達式; --第二種語句格式第一種語句格式只能用于過程,它只是結(jié)束過程,并不返回任何值;第二種語句格式只能用于函數(shù),并且必須返回一個值。返回語句只能用于子程序體中??詹僮髡Z句的語句格式如下:
NULL空操作語句不完成任何操作,它唯一的功能就是使邏輯運行流程跨入下一步語句的執(zhí)行。第九十六頁,共一百零八頁。第12章12.3VHDL并行語句
在VHDL語言中能進行并行處理的語句有:進程(Process)語句,并行信號賦值(ConcurrentSignalAssignment)語句條件信號賦值(ConditionalSignalAssignment)語句選擇信號賦值(SelectiveSignalAssignment)語句并行過程調(diào)用(ConcurrentProcedureCall)語句塊(Block)語句第九十七頁,共一百零八頁。第12章12.3并行信號賦值語句
并行信號賦值語句的語句格式如下:賦值目標<= 表達式;例如:ArchitecturebehavOFaISBegin Output<=f(i);Endbehav;說明賦值語句在進程內(nèi)部使用時,以順序語句的形式出現(xiàn);在結(jié)構(gòu)體的進程之外使用時,以并行語句的形式出現(xiàn)。第九十八頁,共一百零八頁。第12章12.3條件信號賦值語句
其書寫格式為:目的信號量<= 表達式1WHEN條件1ELSE表達式2WHEN條件2ELSE表達式3WHEN條件3ELSE… ELSE表達式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;第九十九頁,共一百零八頁。第12章12.3并行過程調(diào)用語句
并行過程調(diào)用語句的語句調(diào)用格式與前面講過的順序過程調(diào)用語句是相同的。即過程名(關(guān)聯(lián)參量名);下面是一個在結(jié)構(gòu)體中采用并行過程調(diào)用語句的實例:Architecture…BeginVector_to_int(z,x_flag,q);┇End…;第一百頁,共一百零八頁。第12章12.3命名規(guī)則和注解的標記
在VHDL語言中為信號、實體、結(jié)構(gòu)體以及變量等命名時應(yīng)遵守如下規(guī)則:(1)名字的最前面應(yīng)該是英文字母;(2)能使用的字符只有英文字母、數(shù)字和‘—’;(3)不能連續(xù)使用‘—’符號,在名字的最后也不能使用‘—’符號。下面是命名語句的例子:SIGNALa_bus: STD_LOGIC_VECTOR(7DOWNTO0);SIGNAL1_bus: --數(shù)字開頭的名字是錯誤的SIGNALa_@bus: --@不能作為名稱中的字符,是錯誤的SIGNALa__bus: --不能連續(xù)使用’—‘符號,是錯誤的SIGNALa_bus_: --在名字的最后也不能使用’—‘符號,是錯誤的第一百零一頁,共一百零八頁。第12章12.3組合邏輯電路設(shè)計------全加器
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;第一百零二頁,共一百零八頁。第12章12.3時序邏輯電路設(shè)計------觸發(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國鉆機電控系統(tǒng)行業(yè)市場全景評估及投資規(guī)劃建議報告
- 二零二五年度升級版儲油罐交易合同(智能監(jiān)測系統(tǒng)配置)4篇
- 二零二五版二零二五年度化妝品店租賃及銷售合同范本4篇
- 2025年度牛肝菌產(chǎn)品研發(fā)與市場拓展合同4篇
- 2025年度農(nóng)產(chǎn)品溯源體系構(gòu)建與運營合同4篇
- 2025年度工業(yè)自動化設(shè)備廠家與客戶銷售合同范本3篇
- 二零二五年度電梯廣告位租賃合作協(xié)議8篇
- 2025年中國書店連鎖經(jīng)營市場前景預(yù)測及投資規(guī)劃研究報告
- 2025年農(nóng)業(yè)保險配套農(nóng)資銷售合作協(xié)議7篇
- 二零二五年度社區(qū)食堂廚師勞務(wù)合作協(xié)議4篇
- 電力系統(tǒng)動態(tài)仿真與建模
- 蝦皮shopee新手賣家考試題庫及答案
- 四川省宜賓市2023-2024學(xué)年八年級上學(xué)期期末義務(wù)教育階段教學(xué)質(zhì)量監(jiān)測英語試題
- 價值醫(yī)療的概念 實踐及其實現(xiàn)路徑
- 2024年中國華能集團燃料有限公司招聘筆試參考題庫含答案解析
- 《紅樓夢》中的男性形象解讀
- 安全生產(chǎn)技術(shù)規(guī)范 第49部分:加油站 DB50-T 867.49-2023
- 《三國演義》中的語言藝術(shù):詩詞歌賦的應(yīng)用
- 腸外營養(yǎng)液的合理配制
- 消防安全教育培訓(xùn)記錄表
- 2023年河南省新鄉(xiāng)市鳳泉區(qū)事業(yè)單位招聘53人高頻考點題庫(共500題含答案解析)模擬練習(xí)試卷
評論
0/150
提交評論