版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章1、EDA的定義:以計(jì)算機(jī)為工作平臺(tái),以EDA軟件工具為開(kāi)發(fā)環(huán)境,以硬件描述語(yǔ)言為設(shè)計(jì)語(yǔ)言,以ASIC為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過(guò)程。2、EDA的三大特征:硬件描述語(yǔ)言、系統(tǒng)級(jí)仿真、綜合技術(shù)3、EDA的設(shè)計(jì)方法:自上而下4、EDA的核心:利用計(jì)算機(jī)完成電路設(shè)計(jì)的全程自動(dòng)化5、常用的EDA工具及其作用:設(shè)計(jì)編輯器:一般支持圖形輸入,HDL文本輸入,波形圖輸入等仿真器:完成行為模型的表達(dá)、電子系統(tǒng)的建模、邏輯電路的驗(yàn)證以及門級(jí)系統(tǒng)的測(cè)試HDL綜合器:將軟件描述與給定的硬件結(jié)構(gòu)用某種網(wǎng)表文件的方式對(duì)應(yīng)起來(lái),成為相互的映射關(guān)系。適配器:將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生
2、最終的下載文件,下載器:在功能仿真與時(shí)序仿真正確的前提下,將設(shè)計(jì)下載到對(duì)應(yīng)的實(shí)際器件中,實(shí)現(xiàn)硬件設(shè)計(jì)6、EDA的設(shè)計(jì)流程:設(shè)計(jì)輸入(將設(shè)計(jì)的系統(tǒng)或電路按照EDA開(kāi)發(fā)軟件要求的文本方式或圖形方式表示出來(lái),并送入計(jì)算機(jī)的過(guò)程。)綜合(由高層次描述自動(dòng)轉(zhuǎn)換為低層次描述的過(guò)程,是EDA技術(shù)的核心。)適配(將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作。)仿真(功能仿真:對(duì)邏輯功能進(jìn)行模擬測(cè)試,看是否符合設(shè)計(jì)及要求;時(shí)序仿真:包含硬件特性參數(shù),仿真精度高)目標(biāo)器件的編程下載(將編程數(shù)據(jù)發(fā)放到具體的可編程器件中去)硬件測(cè)試(FPGA或CPLD直接用于應(yīng)用系統(tǒng)的檢測(cè)中)第二章1、PLD的基本結(jié)構(gòu):
3、輸入緩沖器、與陣列、或陣列、輸出緩沖器;電路的核心是由門電路構(gòu)成的與陣列、或陣列,邏輯函數(shù)靠它們實(shí)現(xiàn)。與陣列產(chǎn)生乘積項(xiàng),或陣列產(chǎn)生乘積項(xiàng)之和。2、PLD的分類:簡(jiǎn)單PLD:PROM:與門陣列固定,或門陣列可編程。優(yōu)點(diǎn):價(jià)格低、易編程性能可預(yù)測(cè)。不足:規(guī)模大、速度低、功耗高。PLA:與陣列和或陣列均可編程。特點(diǎn)使用靈活,運(yùn)行速度慢,價(jià)格高,缺少高質(zhì)量的支持軟件,使用不廣泛。PAL:與陣列可編程,或陣列固定,即乘積項(xiàng)可若干,數(shù)目固定。特點(diǎn):性能速度較高。有幾種固定的輸出結(jié)構(gòu),不同結(jié)構(gòu)對(duì)應(yīng)不同的型號(hào)。GAL;即通用陣列邏輯器件,與陣列和PAL的類似,或陣列及輸出寄存器則采用OLMC輸出邏輯宏單元OL
4、MC最多有8個(gè)或項(xiàng),每個(gè)或項(xiàng)最多有32個(gè)與項(xiàng)。復(fù)雜PLD:(1)CPLD-復(fù)雜可編程邏輯器件(2)FPGA-現(xiàn)場(chǎng)可編程門陣列(3)ISP-在系統(tǒng)可編程邏輯器件3、PLD的互聯(lián)結(jié)構(gòu):(1)確定型:除FPGA外的PLD器件 布線每次相同。(2)統(tǒng)計(jì)型:FPGA每次布線模式不同,設(shè)計(jì)者提出約束模式。4、PLD相對(duì)于MCU的優(yōu)勢(shì):運(yùn)行速度、復(fù)位、程序“跑飛”5、CPLD/FPGA的優(yōu)勢(shì):高速性、高可靠性、編程方式、標(biāo)準(zhǔn)化設(shè)計(jì)語(yǔ)言6、常用的可編程邏輯器件: CPLD和FPGA7、CPLD 的結(jié)構(gòu): 可編程邏輯功能塊(FB);可編程I/O單元;可編程內(nèi)部連線。CPLD最基本的單元是宏單元,由邏輯陣列、乘積
5、項(xiàng)選擇矩陣和可編程觸發(fā)器組成。8、FPGA器件的內(nèi)部結(jié)構(gòu)為邏輯單元陣列(LCA)包括:可編程輸入/輸出模塊、核心陣列是可編程邏輯塊、可編程內(nèi)部連線9、FPGA的分類:(1)查找表型FPGA的可編程邏輯塊(CLB)是查找表,由查找表構(gòu)成函數(shù)發(fā)生器,通過(guò)查找表實(shí)現(xiàn)邏輯函數(shù),查找表的物理結(jié)構(gòu)是靜態(tài)存儲(chǔ)器(SRAM)。查找表本質(zhì)上是一個(gè)RAM大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會(huì)丟失,一定需要外加一片專用配置芯片(2)多路開(kāi)關(guān)型FPGA的可編程邏輯塊(CLB)是可配置的多路開(kāi)關(guān)。(3)多路與非門型結(jié)構(gòu)FPGA的結(jié)構(gòu)是基于一個(gè)與-或-異或邏輯塊。10、可編程邏輯器件的
6、測(cè)試技術(shù):(1)內(nèi)部邏輯測(cè)試(2)JTAG邊界掃描邊界掃描的引腳功能:TDI測(cè)試數(shù)據(jù)輸入;TDO測(cè)試數(shù)據(jù)輸出;TMS測(cè)試模式選擇;TCK測(cè)試時(shí)鐘輸入;TRST測(cè)試復(fù)位輸入11、指令寄存器。用來(lái)決定是否進(jìn)行測(cè)試或訪問(wèn)數(shù)據(jù)寄存器操作。旁路寄存器。這個(gè)l位寄存器用來(lái)提供TDI和TDO的最小串行通道。邊界掃描寄存器。由器件引腳上的所有邊界掃描單元構(gòu)成。12、CPLD/FPGA的編程與配置 1)基于電可擦除存儲(chǔ)單元的EEPROM或Flash技術(shù)。CPLD一般使用此技術(shù)進(jìn)行編程。2)基于SRAM查找表的編程單元。對(duì)該類器件,編程信息是保存在SRAM中的,SRAM在掉電后編程信息立即丟失,在下次上電后,還需
7、要重新載入編程信息。因此該類器件的編程一般稱為配置。大部分FPGA采用該種編程工藝。3)基于一次性可編程反熔絲編程單元對(duì)于基于SRAM LUT結(jié)構(gòu)的FPGA器件,由于是易失性器件使之需要在上電后必須進(jìn)行一次配置,需要一個(gè)加載過(guò)程。13、FPGA的配置方式:(1)FPGA專用配置器件(2)使用單片機(jī)配置FPGA (3)使用CPLD配置FPGA14、FPGA和CPLD在開(kāi)發(fā)應(yīng)用上的選擇:如果設(shè)計(jì)中使用到大量觸發(fā)器,例如設(shè)計(jì)一個(gè)復(fù)雜的時(shí)序邏輯,那么使用FPGA就是一個(gè)很好選擇。 同時(shí)PLD擁有上電即可工作的特性,而大部分FPGA需要一個(gè)加載過(guò)程,所以,如果系統(tǒng)要可編程邏輯器件上電就要工作,那么就應(yīng)該
8、選擇PLD。要嵌入cpu核或者DSP模塊,選擇FPGA。編程:在邏輯設(shè)計(jì)時(shí)可以在沒(méi)有設(shè)計(jì)具體電路時(shí),就把CPLD/FPGA焊接在印制電路板上,然后在設(shè)計(jì)調(diào)試時(shí)可以一次又一次地改變整個(gè)電路的硬件邏輯關(guān)系,而不必改變電路板的結(jié)構(gòu)。配置:在掉電后編程信息立即失效,在下次上電后,還需要重新載入編程信息,此類編程成為配置。 第三章1、原理圖輸入設(shè)計(jì)方法的編輯規(guī)則:1)引腳名稱:不區(qū)分大小寫,第一個(gè)字符必須為英文,以后可用下劃線、數(shù)字等組合下劃線前后要有字母或數(shù)字“/”“-”“%”都是非法的2)節(jié)點(diǎn)名稱:顯示為一條細(xì)線,命名規(guī)則與引腳名稱相同3)總線名稱:顯示一條粗線,代表很多節(jié)點(diǎn)的組合。名稱后加m.n
9、,m,n 均為正數(shù),大小不規(guī)定。如address0.74)文件名稱 :任何字符,<32字符,擴(kuò)展名為.bdf。仿真波形文件的擴(kuò)展名為.vwf.元件符號(hào)圖文件的擴(kuò)展名為.sym5)項(xiàng)目名稱 :項(xiàng)目?jī)?nèi)相同程序的不同類型文件,名稱相同,擴(kuò)展名不同;功能不同的可用不同文件名,但項(xiàng)目名稱必須與最高層的電路設(shè)計(jì)文件名稱相同。2、原理圖底層電路設(shè)計(jì):原理圖由若干個(gè)元件組合而成,當(dāng)有些元件是多個(gè)簡(jiǎn)單元件的組合電路時(shí),為了精確仿真組合元件的特性,必須單獨(dú)設(shè)計(jì)組合元件的原理圖設(shè)計(jì),這種設(shè)計(jì)稱為底層電路設(shè)計(jì)。3、原理圖頂層電路設(shè)計(jì):當(dāng)所有的底層元件多設(shè)計(jì)完畢并生成包裝好的單一元件后,再設(shè)計(jì)一個(gè)總原理圖,把所有
10、的底層元件調(diào)出來(lái),進(jìn)行導(dǎo)線連接、仿真、編程下載,這種設(shè)計(jì)稱為頂層電路設(shè)計(jì)。4、分層設(shè)計(jì)的好處:增強(qiáng)設(shè)計(jì)的可讀性,避免在設(shè)計(jì)中出現(xiàn)大量復(fù)雜的組合邏輯影響檢查和測(cè)試效率有利于進(jìn)行模塊復(fù)制,需要復(fù)制的電路模塊可以先封裝成底層元件,再在頂層設(shè)計(jì)中重復(fù)調(diào)用5、分層設(shè)計(jì)的要點(diǎn)在底層文件設(shè)計(jì)完成后執(zhí)行File|Create Default Symbol 命令并編譯(quartus II自動(dòng)完成)在頂層文件中,調(diào)用底層設(shè)計(jì)時(shí)頂層文件不能與底層文件名字相同6、用Quartus II圖形編輯方式生成的圖形文件的擴(kuò)展名為.gdf或.bdf。建立工程目錄的需注意:文件的路徑不能包含漢字,不能用空格保存的文件名不要和庫(kù)
11、文件名相同,如and2、7402等等 7、設(shè)置仿真終止時(shí)間的意義:規(guī)定何時(shí)終止施加輸入向量。8、設(shè)置仿真柵格單位的意義:規(guī)定每個(gè)柵格的最小時(shí)間單位 ,時(shí)間值顯示在每個(gè)柵格豎線的上方。仿真柵格單位是設(shè)置時(shí)鐘周期的最小單位,即時(shí)鐘周期最小等于柵格單位,最大等于柵格單位的倍數(shù)。9、在波形文件存盤操中,系統(tǒng)自動(dòng)將波形文件名設(shè)置設(shè)計(jì)文件名同名,但文件類型是.vwf。鎖定引腳后還需要對(duì)設(shè)計(jì)文件重新編譯,產(chǎn)生設(shè)計(jì)電路的下載文件(.sof)。10、分配引線端子后一定要重新編譯;同理,對(duì)原理圖做任何修改后,也一定要重新編譯11、quartus II中各種類型文件后綴名:工程名.qpf 原理圖.bdf 波形仿真文
12、件.vwf VHDL源文件.vhd 底層文件生成的符號(hào)文件.bsf 下載文件 .pof for cpld .sof for fpga第四章1、什么是VHDL:Very high speed integrated Hardware Description Language (VHDL)超高速集成電路VHSIC)硬件描述語(yǔ)言2、常用硬件描述語(yǔ)言:常用硬件描述語(yǔ)言有VHDL、Verilog和ABEL語(yǔ)言。對(duì)比:(1) 邏輯描述層次:層次由高到低依次可分為行為級(jí)、RTL級(jí)和門電路級(jí);VHDL語(yǔ)言是一種高級(jí)描述語(yǔ)言,適用于行為級(jí)和RTL級(jí)的描述,最適于描述電路的行為;Verilog語(yǔ)言和ABEL語(yǔ)言是一
13、種較低級(jí)的描述語(yǔ)言,適用于RTL級(jí)和門電路級(jí)的描述,最適于描述門級(jí)電路。 (2) 設(shè)計(jì)要求:VHDL進(jìn)行電子系統(tǒng)設(shè)計(jì)時(shí)可以不了解電路的結(jié)構(gòu)細(xì)節(jié),設(shè)計(jì)者所做的工作較少;Verilog和ABEL語(yǔ)言進(jìn)行電子系統(tǒng)設(shè)計(jì)時(shí)需了解電路的結(jié)構(gòu)細(xì)節(jié),設(shè)計(jì)者需做大量的工作。(3) 綜合過(guò)程:VHDL語(yǔ)言源程序的綜合通常要經(jīng)過(guò)行為級(jí)RTL級(jí)門電路級(jí)的轉(zhuǎn)化,而Verilog語(yǔ)言和ABEL語(yǔ)言源程序的綜合經(jīng)過(guò)RTL級(jí)門電路級(jí)的轉(zhuǎn)化。(4) 對(duì)綜合器的要求:VHDL描述語(yǔ)言層次較高,不易控制底層電路,因而對(duì)綜合器的性能要求較高,Verilog和ABEL對(duì)綜合器的性能要求較低。3、VHDL的特點(diǎn):VHDL主要用于描述數(shù)字
14、系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。(1) 與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力。(2) VHDL具有豐富的仿真語(yǔ)句和庫(kù)函數(shù)。 (3) 用VHDL完成一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(4) VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性。(5) 由于VHDL具有類屬描述語(yǔ)句和子程序調(diào)用等功能。 (6) VHDL的生命周期長(zhǎng),移植性好。4、VHDL程序設(shè)計(jì)約定:語(yǔ)句結(jié)構(gòu)描述中方括號(hào)“ ”內(nèi)的內(nèi)容為可選內(nèi)容。 程序文字的大小寫是不加區(qū)分的。 程序中的注釋使用雙橫線“-”。 層次縮進(jìn)格式:同一層次的對(duì)齊,低層次的較高層次的縮進(jìn)兩個(gè)字符。
15、 各個(gè)源程序文件的命名均與其實(shí)體名一致。 保存的位置一定不能放在根目錄下。5、VHDL的基本結(jié)構(gòu):注意:實(shí)體名實(shí)際上是器件名,最好用相應(yīng)功能來(lái)確定,如counter4b,adder8b。注意不能用prim等庫(kù)的元件注意:In 信號(hào)只能被引用,不能被賦值out 信號(hào)只能被賦值,不能被引用buffer 信號(hào)可以被引用,也可以被賦值簡(jiǎn)單地說(shuō)<= 或 : = In端口 out端口 <= 或 : = buffer端口 <= 或 : = buffer端口6、結(jié)構(gòu)體(ARCHITECTURE) 結(jié)構(gòu)體(ARCHITECTURE)是設(shè)計(jì)實(shí)體的一個(gè)重要部分,結(jié)構(gòu)體將具體實(shí)現(xiàn)一個(gè)實(shí)體。每一個(gè)實(shí)體
16、都有一個(gè)或一個(gè)以上的結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體對(duì)應(yīng)著實(shí)體不同結(jié)構(gòu)和算法實(shí)現(xiàn)方案,其間的各個(gè)結(jié)構(gòu)體的地位是同等的,它們完整地實(shí)現(xiàn)了實(shí)體的行為。 實(shí)體與結(jié)構(gòu)體的關(guān)系:一個(gè)設(shè)計(jì)實(shí)體可有多個(gè)結(jié)構(gòu)體,代表實(shí)體的多種實(shí)現(xiàn)方式。各個(gè)結(jié)構(gòu)體的地位相同。 注:實(shí)體名必須是所在設(shè)計(jì)實(shí)體的名字,而結(jié)構(gòu)體名可以由設(shè)計(jì)者自己選擇,但當(dāng)一個(gè)實(shí)體具有多個(gè)結(jié)構(gòu)體時(shí),同一實(shí)體的結(jié)構(gòu)體不能同名。7、功能描述語(yǔ)句結(jié)構(gòu) 功能描述語(yǔ)句結(jié)構(gòu)可以含有五種不同類型的、以并行方式工作的語(yǔ)句結(jié)構(gòu)。各語(yǔ)句結(jié)構(gòu)的基本組成和功能分別是: (1) 塊語(yǔ)句是由一系列并行執(zhí)行語(yǔ)句構(gòu)成的組合體。 (2) 進(jìn)程語(yǔ)句定義順序語(yǔ)句模塊. (3) 信號(hào)賦值語(yǔ)句將設(shè)計(jì)實(shí)體內(nèi)的
17、處理結(jié)果向定義的信號(hào)或界面端口進(jìn)行賦值。 (4) 子程序調(diào)用語(yǔ)句用于調(diào)用一個(gè)已設(shè)計(jì)好的子程序。 (5) 元件例化語(yǔ)句對(duì)其他的設(shè)計(jì)實(shí)體作元件調(diào)用說(shuō)明。 8、CASE語(yǔ)句:表達(dá)真值表CASE<表達(dá)式>ISWHEN<選擇值或標(biāo)識(shí)符><順序語(yǔ)句>;END CASE;9、元件例化語(yǔ)句 COMPONENT 元件名PORT(端口名表);END COMPONENT;10、并置操作符:“ & ”11、BUFFER并非是一種特殊的硬件端口結(jié)構(gòu),只是一種功能描述,作為內(nèi)部輸出信號(hào)可以反饋到實(shí)體內(nèi)部。第五章 1、信號(hào)與變量的區(qū)別:信號(hào)最后一次賦值才有效library iee
18、e;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tvs isport( a,b,c : in std_logic_vector( 3 downto 0);x,y : out std_logic_vector(3 downto 0);end tvs;architecture tvs_arch of tvs issignal d : std_logic_vector(3 downto 0);beginprocess(a,b,c) begin d<=a;x<=b+d;d<=c;y<=b+
19、d;end process; 運(yùn)行結(jié)果為: x=b+c; y= b+c;process (a,b,c)variable d: std_logic_vector(3 downto 0);begind :=a;x <=b+d;d :=c;y <=b+d;end process;運(yùn)行結(jié)果為: x = b+a; y = b+c;2、邏輯運(yùn)算: SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,i,j,k : STD_LOGIC ;
20、 SIGNAL l,m,n,o,p : BOOLEAN ; . a<=b AND c; -b、c相與后向a賦值 d<=e OR f OR g ; -兩個(gè)操作符or相同,不需要加括號(hào) h<=(i NAND j)NAND k ; -NAND不屬于AND,OR,NOR之中的一種,必須加括號(hào) l<=(m XOR n)AND(o XOR p); -操作符不同,必須加括號(hào) h<=i AND j AND k ; -操作符相同,不必加括號(hào) h<=i AND j OR k ; -操作符不同,未加括號(hào),表達(dá)錯(cuò)誤 a<=b AND e ; -b,e的位矢長(zhǎng)度不一致,表達(dá)錯(cuò)誤
21、 h<=i OR l ; . -不同數(shù)據(jù)類型 不能相互作用,表達(dá)錯(cuò)誤 3、VHDL順序語(yǔ)句: 順序語(yǔ)句(Sequential Staements)和并行語(yǔ)句(Concurrent Statements)是VHDL程序設(shè)計(jì)中兩大基本描述語(yǔ)句系列。 順序語(yǔ)句是相對(duì)于并行語(yǔ)句而言的,其特點(diǎn)是每一條順序語(yǔ)句的執(zhí)行(指仿真執(zhí)行)順序是與它們的書寫順序基本一致的。 順序語(yǔ)句只能出現(xiàn)在進(jìn)程(Process)和子程序中。在VHDL中,一個(gè)進(jìn)程是由一系列順序語(yǔ)句構(gòu)成的,而進(jìn)程本身屬并行語(yǔ)句,在同一設(shè)計(jì)實(shí)體中,所有的進(jìn)程是并行執(zhí)行的。然而任一給定的時(shí)刻內(nèi),在每一個(gè)進(jìn)程內(nèi),只能執(zhí)行一條順序語(yǔ)句。VHDL有如下
22、六類基本順序語(yǔ)句:賦值語(yǔ)句;轉(zhuǎn)向控制語(yǔ)句;等待語(yǔ)句;子程序調(diào)用語(yǔ)句;返回語(yǔ)句;空操作語(yǔ)句。(3) IF 條件1THEN 語(yǔ)句 ELSIF 條件2THEN 語(yǔ)句 ELSE 語(yǔ)句 END IF; 4、IF語(yǔ)句: (1) IF 條件 THEN 語(yǔ)句 END IF; (2) IF 條件 THEN 語(yǔ)句 ELSE 語(yǔ)句 END IF;CASE語(yǔ)句 CASE 表達(dá)式 ISWHEN 值1=> 語(yǔ)句A;WHEN 值2=> 語(yǔ)句B;.WHEN OTHERS=> 語(yǔ)
23、句C;END CASE FOR 循環(huán)FOR循環(huán)語(yǔ)句的一般形式為:循環(huán)標(biāo)號(hào): FOR 循環(huán)變量 IN 循環(huán)次數(shù)范圍 LOOP 順序處理語(yǔ)句BEGIN PROCESS(a) BEGIN tmp<='0' FOR n IN 0 TO 7 LOOP-FOR循環(huán)語(yǔ)句 tmp<=tmp XOR a(n); END LOOP; y<=tmp; END PROCESS;END behave;【例5-11】-8位奇偶校驗(yàn)電路LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY p_check IS PORT(a: IN STD_LOGI
24、C_VECTOR(7 DOWNTO 0); y: OUT STD_LOGIC);END p_check;ARCHITECTURE behave OF p_check IS SIGNAL tmp: STD_LOGIC; END LOOP循環(huán)標(biāo)號(hào);Y=0 偶數(shù)個(gè)1Y=1 奇數(shù)個(gè)1 6、VHDL并行語(yǔ)句:其執(zhí)行方式與書寫的順序無(wú)關(guān)。在執(zhí)行中,并行語(yǔ)句之間可以有信息往來(lái),也可以是互為獨(dú)立、互不相關(guān)、異步運(yùn)行的。每一并行語(yǔ)句內(nèi)部的語(yǔ)句運(yùn)行方式可以有2種不同的方式,即并行執(zhí)行方式(如塊語(yǔ)句)和順序執(zhí)行方式(如進(jìn)程語(yǔ)句)。并行語(yǔ)句主要有7種: 進(jìn)程語(yǔ)句(PROCESS STATEMENTS); 塊語(yǔ)句(BL
25、OCK STATEMENTS); 并行信號(hào)賦值語(yǔ)句(CONCURRENT SIGNAL ASSIGNMENTS); 條件信號(hào)賦值語(yǔ)句(SELECTED SIGNAL ASSIGNMENTS); 元件例化語(yǔ)句(COMPONENT INSTANTIATIONS); 生成語(yǔ)句(GENERATE STATEMENTS); 并行過(guò)程調(diào)用語(yǔ)句(CONCURRENT PROCEDURE CALLS)。7、 進(jìn)程語(yǔ)句PROCESS語(yǔ)句格式 進(jìn)程標(biāo)號(hào):PROCESS(敏感信號(hào)參數(shù)表)IS 進(jìn)程說(shuō)明部分 BEGIN 順序描述語(yǔ)句 END PROCESS進(jìn)程標(biāo)號(hào); PROCESS語(yǔ)句的組成 PROCESS語(yǔ)句結(jié)構(gòu)是
26、由3個(gè)部分組成的,即進(jìn)程說(shuō)明部分、順序描述語(yǔ)句部分和敏感信號(hào)參數(shù)表。 (1) 進(jìn)程說(shuō)明部分主要定義一些局部量,可包括數(shù)據(jù)類型、常數(shù)、屬性、子程序等。但需注意,在進(jìn)程說(shuō)明部分中不允許定義信號(hào)和共享變量。 (2) 順序描述語(yǔ)句部分可分為賦值語(yǔ)句、進(jìn)程啟動(dòng)語(yǔ)句、子程序調(diào)用語(yǔ)句、順序描述語(yǔ)句和進(jìn)程跳出語(yǔ)句等。 (3) 敏感信號(hào)參數(shù)表需列出用于啟動(dòng)本進(jìn)程可讀入的信號(hào)名(當(dāng)有WAIT語(yǔ)句時(shí)例外)。 敏感信號(hào)表的特點(diǎn):(1)、同步進(jìn)程的敏感信號(hào)表中只有時(shí)鐘信號(hào)。(2)、異步進(jìn)程敏感信號(hào)表中除時(shí)鐘信號(hào)外,還有其它信號(hào)。進(jìn)程語(yǔ)句有如下特點(diǎn):(3)、如果有 wait 語(yǔ)句,則不允許有敏感信號(hào)表。(1)可以和其它進(jìn)
27、程語(yǔ)句同時(shí)執(zhí)行,并可以存取結(jié)構(gòu)體和實(shí)體中所定義的信號(hào);(2)進(jìn)程中的所有語(yǔ)句都按照順序執(zhí)行;(3)為啟動(dòng)進(jìn)程,在進(jìn)程中必須包含一個(gè)敏感信號(hào)表或WAIT語(yǔ)句;(4)進(jìn)程之間的通信是通過(guò)信號(hào)量來(lái)實(shí)現(xiàn)的。 IF(SELX='0')THEN temp<=a; ELSE temp<=b; END IF;END PROCESS p_a;p_b:PROCESS(temp,c,sely) BEGIN IF (sely='0') THEN data_out<=temp; ELSE data_out<=c; END IF;END PROCESS p_b;EN
28、D ex; 8、畫出下面程序的信號(hào)圖:ENTITY mul IS PORT(a,b,c,selx,sely:IN BIT; data_out:OUT BIT);END mul;ARCHITECTURE ex OF mul ISSIGNAL temp:BIT;BEGINp_a:PROCESS(a,b,selx) BEGIN并行信號(hào)賦值語(yǔ)句:1、 簡(jiǎn)單信號(hào)賦值語(yǔ)句:信號(hào)賦值目標(biāo)<=表達(dá)式;2、 條件信號(hào)賦值語(yǔ)句:賦值目標(biāo)<=表達(dá)式1 WHEN 賦值條件1 ELSE 表達(dá)式2 WHEN 賦值條件2 ELSE . 表達(dá)式n;3、 選擇信號(hào)賦值語(yǔ)句:WITH 選擇表達(dá)式 SELEC
29、T 賦值目標(biāo)信號(hào)<= 表達(dá)式1 WHEN 選擇值1, 表達(dá)式2 WHEN 選擇值2, . 表達(dá)式n WHEN 選擇值n; 注意: 選擇信號(hào)賦值語(yǔ)句本身不能在進(jìn)程中應(yīng)用,但其功能卻與進(jìn)程中的CASE語(yǔ)句的功能相似。 選擇信號(hào)語(yǔ)句中也有敏感量,即關(guān)鍵詞WITH旁的選擇表達(dá)式。 選擇信號(hào)賦值語(yǔ)句不允許有條件重疊現(xiàn)象,也不允許存在條件涵蓋不全的情況,為了防止這種情況出現(xiàn),可以在語(yǔ)句的最后加上“表達(dá)式WHEN OTHERS”子句。 另外,選擇信號(hào)賦值語(yǔ)句的每個(gè)子句是以“,”號(hào)結(jié)束的,只有最后一個(gè)子句才是以“;”號(hào)結(jié)束。用case語(yǔ)句實(shí)現(xiàn)下面程序功能: LIBRARY IEEE; USE IEEE.
30、STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY decoder IS PORT(a,b,c:IN STD_LOGIC; data1,data2:IN STD_LOGIC; dataout:OUT STD_LOGIC); END decoder; ARCHITECTURE concunt OF decoder IS SIGNAL instruction: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN instruction<=c&b&a; WITH instruction SE
31、LECT dataout<=data1 AND data2 WHEN "000", data1 OR data2 WHEN "001", data1 NAND data2 WHEN "010", data1 NOR data2 WHEN "011", data1 XOR data2 WHEN "100", data1 XNOR data2 WHEN "101", 'Z' WHEN OTHERS; END concunt;原件例化語(yǔ)句:包含元件定義和元件例
32、化兩部分:(1) COMPONENT語(yǔ)句可以在結(jié)構(gòu)體(ARCHITECTURE)、程序包(PACKAGE)和塊(BLOCK)的說(shuō)明中使用;GENERIC用于該元件的可變參數(shù)的代入和賦值;PORT則說(shuō)明該元件的輸入輸出端口的信號(hào)規(guī)定;(2) COMPONENT語(yǔ)句分為“元件定義”和“元件例化”兩部分;“元件定義”完成元件的“封裝”,“元件例化”完成電路板上的元件“插座”的定義,“例化名”(標(biāo)號(hào)名)相當(dāng)于“插座名”是不可缺少的。(3) (信號(hào),)部分完成“元件”引腳與“插座”引腳的連接“關(guān)聯(lián)”元件聲明:對(duì)所調(diào)用的較低層次的實(shí)體模塊(元件)的名稱、類屬參數(shù)、端口類型、數(shù)據(jù)類型的聲明。語(yǔ)法:compo
33、nent 元件名 is generic (類屬聲明); port (端口聲明);end component 元件名 ;元件的例化:把低層元件安裝(調(diào)用)到當(dāng)前層次設(shè)計(jì)實(shí)體內(nèi)部的過(guò)程。端口映射方式:名稱關(guān)聯(lián)方式 、位置關(guān)聯(lián)方式4位移位寄存器-元件例化語(yǔ)句ENTITY shifter IS PORT(din,clk:IN BIT; dout:OUT BIT);END shifter;ARCHITECTURE a OF shifter IS COMPONENT dff PORT(d,clk:IN BIT; q:OUT BIT); END COMPONENT;SIGNAL d:BIT_VECTOR(0
34、 TO 4);例題: BEGINd(0)<=din; -并行信號(hào)賦值U0:dff PORT MAP(d(0),clk,d(1); -位置關(guān)聯(lián)方式U1:dff PORT MAP(d(1),clk,d(2);U2:dff PORT MAP(d=>d(2),clk=>clk,q=>d(3); -名字關(guān)聯(lián)方式U3:dff PORT MAP(d=>d(3),clk=>clk,q=>d(4);dout<=d(4);END a; 分析以下程序,用原理圖的方法代替該程序。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTIT
35、Y ND2 IS PORT(A,B:IN STD_LOGIC; C:OUT STD_LOGIC);END ND2;ARCHITECTURE ARTND2 OF ND2 IS BEGIN Y<=A NAND B;END ARCHITECTURE ARTND2;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ORD41 IS PORT(A1,B1,C1,D1:IN STD_LOGIC; Z1:OUT STD_LOGIC);END ORD41;ARCHITECTURE ARTORD41 OF ORD41 IS COMPONENT ND2 PORT
36、(A,B:IN STD_LOGIC; C:OUT STD_LOGIC);END COMPONENT;SIGNAL X,Y :STD_LOGIC;BEGINU1:ND2 PORT MAP (A1,B1,X); -位置關(guān)聯(lián)方式U2:ND2 PORT MAP (A=>C1,C=>Y,B=>D1);-名字關(guān)聯(lián)方式U3:ND2 PORT MAP (X,Y,C=>Z1); -混合關(guān)聯(lián)方式END ARCHITECTURE ARTORD41;用VHDL語(yǔ)言編寫的,所以其源程序也需要以.vhd文件類型保存1VHDL描述風(fēng)格1、行為描述 2、數(shù)據(jù)流描述3、結(jié)構(gòu)描述看書上例題5-415-43
37、理解這三種描述風(fēng)格作業(yè):1、 寫出三輸入與非門的實(shí)體描述ENTITY NAND IS PORT(a,b,c:IN BIT;Data_out:OUT BIT);END ENTITY NAND;2、 設(shè)計(jì)一個(gè)4位數(shù)值比較器library ieee;use ieee.std_logic_1164.all;entity comparator4bit isport(A,B:in std_logic_vector(3 downto 0);Y: out std_logic_vector(1 to 3);end comparator4bit;architecture bj of comparator4bit isbeginprocess (A,B)beginif A>B then Y<="100"elsif A=B thenY<="010"else Y<="001"e
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)安全知識(shí)培訓(xùn)課件
- 二年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)
- 團(tuán)隊(duì)建設(shè)與管理技巧培訓(xùn)課件
- 班主任工作經(jīng)驗(yàn)交流36
- 二零二五年度國(guó)際農(nóng)業(yè)合作與農(nóng)產(chǎn)品貿(mào)易合同參考模板6篇
- 收費(fèi)站業(yè)務(wù)知識(shí)培訓(xùn)課件
- 生產(chǎn)經(jīng)營(yíng)單位生產(chǎn)安全事故應(yīng)急處置卡編制指南
- 二零二五年度房屋信托代理銷售合同范本3篇
- 鄉(xiāng)村振興戰(zhàn)略下農(nóng)村醫(yī)養(yǎng)結(jié)合型養(yǎng)老服務(wù)體系研究
- 倉(cāng)庫(kù)年終工作總結(jié)
- GA 172-2014金屬手銬
- 醫(yī)學(xué)醫(yī)學(xué)文獻(xiàn)檢索與論文寫作培訓(xùn)課件
- SQL Server 2000在醫(yī)院收費(fèi)審計(jì)的運(yùn)用
- 北師大版小學(xué)三年級(jí)數(shù)學(xué)下冊(cè)課件(全冊(cè))
- 工程臨時(shí)用工確認(rèn)單
- 簡(jiǎn)約清新大氣餐飲行業(yè)企業(yè)介紹模板課件
- 氮?dú)庵舷⑹鹿拾咐?jīng)驗(yàn)分享
- 某公司年度生產(chǎn)經(jīng)營(yíng)計(jì)劃書
- 廠房租賃合同標(biāo)準(zhǔn)版(通用10篇)
- 《教育心理學(xué)》教材
- 易制毒化學(xué)品安全管理制度(3篇)
評(píng)論
0/150
提交評(píng)論