版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息與通信第四章圖表 VHDL語(yǔ)言基礎(chǔ)本章任務(wù)1.VHDL語(yǔ)言的根底知識(shí),如何用VHDL語(yǔ)言描述數(shù)字系統(tǒng)。2.VHDL程序構(gòu)造,實(shí)體和構(gòu)造體的概念。實(shí)體說(shuō)明、構(gòu)造體說(shuō)明。構(gòu)造體的3種描述方法。3.Quartus開(kāi)發(fā)軟件及應(yīng)用。圖形編輯方法;數(shù)字系統(tǒng)的VHDL文本文件編輯方法。4.一些根本的VHDL語(yǔ)法。數(shù)組Array、并行語(yǔ)句Concurrent Statement、選擇信號(hào)代入語(yǔ)句Selected Signal Assignment Statement、并行信號(hào)賦值語(yǔ)句Concurrent Signal Assignment Statement、多值邏輯(IEEE STD.1164 Mult
2、i_Value Logic)和庫(kù)Library等語(yǔ)法概念。Sec4.1 概述VHDL語(yǔ)言的特點(diǎn):.硬件設(shè)計(jì)時(shí)可以分層描述;.每個(gè)要設(shè)計(jì)的模塊或元件都有完善的定義接口;.性能指標(biāo)既可以用算法定義也可以用硬件構(gòu)造定義;. VHDL語(yǔ)言有并發(fā)性,定時(shí)和實(shí)時(shí)時(shí)鐘方式,同步時(shí)序和異步時(shí)序 電路都可以描述。Verilog HDL語(yǔ)言的特點(diǎn):以C語(yǔ)言為根底,充分保存了C語(yǔ)言的簡(jiǎn)潔、高效和編程風(fēng)格。語(yǔ)法寬松。2.EDA技術(shù)的開(kāi)展 .ProtellTonger-印刷線路板PCB設(shè)計(jì); . Simulation Softwaremultisim Maxplus;.Design 、Compilation Simul
3、ation 軟件-Quartus ISESec.4.2 VHDL程序構(gòu)造程序構(gòu)造.VHDL實(shí)體和實(shí)體說(shuō)明.構(gòu)造體和構(gòu)造體說(shuō)明.構(gòu)造體的3種描述方法。圖4.2.1. VHDL實(shí)體和構(gòu)造體結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體結(jié)構(gòu)體實(shí)體實(shí)體實(shí)體實(shí)體實(shí)體b分層應(yīng)用構(gòu)造體(a).“包裹皮的概念 實(shí)體程序構(gòu)造程序構(gòu)造由五局部組成: .實(shí)體Entity: 描述設(shè)汁系統(tǒng)的外部接口信號(hào); .構(gòu)造體Architecture:用于描述設(shè)汁系統(tǒng)的行為、 系統(tǒng)數(shù)據(jù)信號(hào)的流程、或系統(tǒng)組織的構(gòu)造形式。 .配置Configuration:用于從庫(kù)里選取所需單元模塊 來(lái)組成系統(tǒng)設(shè)計(jì)的不同規(guī)格和不同版本, 使被設(shè)計(jì)系統(tǒng)的功能或行為改變
4、。 .包集合Package:存放各種設(shè)計(jì)模塊能共享的 數(shù)據(jù)類(lèi)型、常數(shù)和子程序等。 .庫(kù)Library:用于已存放已編譯的實(shí)體、 構(gòu)造體、包集合配置及第3方開(kāi)發(fā)的元器件等。 圖4.2.2 VHDL程序文件構(gòu)造A Y B C CO a邏輯電路圖 bVHDL符號(hào)圖4.3.1 一位數(shù)加法器邏輯電路和VHDL符號(hào)Sec4.3.實(shí)體和構(gòu)造體 :1Co圖4.2.2 VHDL程序文件構(gòu)造文本文件Entity 實(shí)體名 IS GENERIC 參數(shù)類(lèi)屬表 port端口表 實(shí)體端口說(shuō)明局部 ; END實(shí)體名 ; 實(shí)體的書(shū)寫(xiě)格式文本文件實(shí)體的組成是由實(shí)體名、類(lèi)屬表、端口表、實(shí)體說(shuō)明局部和實(shí)體語(yǔ)句局部組成。根據(jù)IEEE標(biāo)
5、準(zhǔn),實(shí)體組成的一般格式如下:例4.3.1. 圖4.3.1 一位加法器邏輯電路1111yABCA Y B COC1位加法器bVHDL符號(hào) a加法器邏輯電路 1Co例4.3.1.-full adder :adds two bits, a and b, plus input carry -to yield sum bit and output carry.LIBRARY ieee ;USE ieee.std_logic_1164. ALL;庫(kù)說(shuō)明語(yǔ)句使用std_logic庫(kù)設(shè)計(jì)工程說(shuō)明ENTITY 1bit_adder ISPort (a,b,C-in : IN BIT;Y,C-out : OUT
6、BIT);END 1bit _adder;ARCHITECTURE add OF bit_adder ISBEGINY= (a xor b xor c);C-out =A xor Band Cinor A and B ;END add;實(shí)體說(shuō)明結(jié)構(gòu)體說(shuō)明解釋.port Mode:.IN.Out.IN/OUT.Buffer.Data type:.Boolen.bit.bit_eger.std_Logic. std_Logic_vector3.構(gòu)造體說(shuō)明ARCHITECTURE 構(gòu)造體名 OF 實(shí)體名 IS關(guān)鍵字 BEGIN : : END 構(gòu)造體名 BEGIN和END構(gòu)造體名
7、組成構(gòu)造體框架語(yǔ)句對(duì),從第2行開(kāi)場(chǎng)用布爾表達(dá)式定義輸入與輸出之間的邏輯關(guān)系。構(gòu)造體的語(yǔ)法格式:對(duì)下面的邏輯電路圖4.3.2,寫(xiě)出用BIT類(lèi)型定義端口的VHDL文件。 11ABCDY解:電路的邏輯表達(dá)式Y(jié)= (ABAC)D用VHDL描述成設(shè)計(jì)實(shí)體。ENTITY logic_circuit IS PORT(a,b,c,d : IN BIT; y : OUT BIT); END logic_circuit; ARCHITECTURE examp1 OF logic_circuit IS BEGIN Ynot(a and b)or (not a) andnot c)or d);END examp1;
8、1.行為描述法: behavioral description這是以元器件或電路模塊為根底的描述方法,描述元器件或電路模塊之間輸入、輸出的邏輯關(guān)系,是對(duì)它們性能或行為的描述。在VHDL語(yǔ)言中對(duì)這一類(lèi)的描述稱(chēng)作行為描述。 2.數(shù)據(jù)流描述法:數(shù)據(jù)流描述dataflow description法主要反映數(shù)據(jù)經(jīng)過(guò)一定的邏輯運(yùn)算后在輸入和輸出之間的傳送過(guò)程。這種描述方法以表示數(shù)據(jù)在設(shè)計(jì)實(shí)體中從輸入到輸出的傳輸或流向?yàn)槟康?。使用并發(fā)語(yǔ)句concurrent procedure call也叫并發(fā)過(guò)程調(diào)用語(yǔ)句描述。 3.構(gòu)造描述法:structural description描述構(gòu)造體功能的第3種方法是構(gòu)造描
9、述法,它以描述元部件component為根底,通過(guò)描述模塊與模塊之間的連接關(guān)系來(lái)表示被設(shè)計(jì)實(shí)體的構(gòu)成和性能。這種描述方法適用于多層次設(shè)計(jì),把一個(gè)復(fù)雜的系統(tǒng)分解成多個(gè)子系統(tǒng),將每一個(gè)子系統(tǒng)設(shè)計(jì)成一個(gè)模塊,再用構(gòu)造描述法將各模塊之間的連接關(guān)系寫(xiě)出來(lái)形成一個(gè)整體。 圖4.4.1 Quartus的設(shè)計(jì)流程圖 Sec4.4.用Quartus開(kāi)發(fā)數(shù)字系統(tǒng) 附錄ASec4.5.Quartus的開(kāi)發(fā)流程圖4.5.1 Quartus啟動(dòng)窗口 圖4.5.3 新建VHDL 文件對(duì)話框 VHDL文本編輯窗口輸入代碼 圖4.5.5 引腳分配編輯器窗口圖4.5.6. 編譯文本文件窗口圖4.5.7. 仿真窗口圖4.5.8.
10、 GX-SOC/SOPC-DEV-LAB PLATFORM開(kāi)發(fā)實(shí)驗(yàn)平臺(tái)4.6 VHDL語(yǔ)法 Port、Mode、Type一、幾種關(guān)鍵詞的說(shuō)明 1.Modes(模式):2.數(shù)據(jù)類(lèi)型 Data Type:3.信號(hào) Signal : 1.Modes(模式): 4種工作Modes:.輸入模式:.CLK, Enable, Load, Reset, CLR, Preset;.單方向數(shù)據(jù)輸入,Address BUS,etc;.不用的輸入端一般接地,以防止浮動(dòng)引入干擾信號(hào)。圖4.6.1 VHDL 口(Port)的4種模式CPLDLogic circuit輸入輸出輸入/ 輸出緩沖輸出1.Modes(模式):.從
11、設(shè)計(jì)實(shí)體端口向外流出的數(shù)據(jù)或信號(hào)。但不能只是可讀的,應(yīng)是實(shí)際值。輸出模式output mode端口包括: .counter, register等的輸出端產(chǎn)生的輸出; .單向data輸出; .不用的輸出端不能接地,以防止輸出為高電平時(shí)燒壞CPLD/FPGA的引腳。 .輸出模式:圖4.6.2 緩沖端口與輸出端口的區(qū)別 1ABCBufferOutXA or ByX and C.緩沖模式Buffer Mode: 緩沖模式允許從端口引出信號(hào),并且向CPLD引入一個(gè)反響信號(hào)。即緩沖端口可用于輸出也可用于反響。緩沖端口的驅(qū)動(dòng)源可以是:被設(shè)計(jì)實(shí)體的內(nèi)部信號(hào)源或其它實(shí)體的緩沖端口。緩沖端口不允許多重驅(qū)動(dòng),不與其
12、它實(shí)體的雙向端口、輸出端口相連。.輸入/輸出模式 Input/output mode : 雙向模式數(shù)據(jù)流描述方法2.數(shù)據(jù)類(lèi)型 Data Type:VHDL中Type稱(chēng)為類(lèi)型,它除了定義端口標(biāo)識(shí)名稱(chēng)、端口定義外,還要標(biāo)明輸出輸入端口的數(shù)據(jù)類(lèi)型。表示port、Signal或variable的性質(zhì),決定對(duì)象可能有什么值。 用于VHDL語(yǔ)言中的IEEE1706/93標(biāo)準(zhǔn)規(guī)定, EDA綜合工具提供的數(shù)據(jù)類(lèi)型有布爾型Boolean、位型Bit,位矢量型Bitvector和整數(shù)型Integer。 VHDL語(yǔ)言編寫(xiě)的程序是電子系統(tǒng)的行為描述、功能的說(shuō)明和構(gòu)造的組織,使用標(biāo)準(zhǔn)化語(yǔ)言,有著很強(qiáng)的約束性。不同的數(shù)據(jù)
13、類(lèi)型不能直接代入,一樣的類(lèi)型,位長(zhǎng)不同也不能代入。除了上述兩種不同標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)類(lèi)型以外,數(shù)據(jù)類(lèi)型根據(jù)使用目的分為:.用于EDA工具,對(duì)電子系統(tǒng)進(jìn)展綜合的數(shù)據(jù)類(lèi)型。如標(biāo)量類(lèi)型SCALAR TYPE,復(fù)合類(lèi)型COMPOSITE TYPE。.用于EDA工具,對(duì)電子系統(tǒng)進(jìn)展仿真的數(shù)據(jù)類(lèi)型。如存取類(lèi)型ACCESS TYPE。1.Port data typeVHDL語(yǔ)言標(biāo)準(zhǔn)所定義的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型有10種。.整數(shù)類(lèi)型INTEGER TYPE.實(shí)數(shù)或浮點(diǎn)類(lèi)型REAL TYPE or FLOATING TYPE.位類(lèi)型BIT TYPE.位矢量類(lèi)型BIT_VECTOR TYPE.布爾類(lèi)型BOOLEAN TYPE.
14、字符類(lèi)型CHARAVTER TYPE.時(shí)間類(lèi)型TIME TYPE.字符串類(lèi)型TRING TYPE.自然數(shù)、整數(shù)類(lèi)型NATURAL TYPE.錯(cuò)誤類(lèi)型NOTE,WARNING,ERROR,FAILURE TYPE2.用戶(hù)在電子系統(tǒng)設(shè)計(jì)時(shí),自行定義的數(shù)據(jù)類(lèi)型共8種。.整數(shù)類(lèi)型INTEGER TYPE.實(shí)數(shù)或浮點(diǎn)類(lèi)型REAL TYPE or FLOATING TYPE.枚舉類(lèi)型ENUMERATEI TYPE.數(shù)組類(lèi)型ARRAY TYPE.存取類(lèi)型ACCESS TYPE.文件類(lèi)型.時(shí)間類(lèi)型TIME TYPE.記錄類(lèi)型RECODE TYPE這些數(shù)據(jù)類(lèi)型在后面章節(jié)用到時(shí)將會(huì)介紹。3.BIT 和 BIT_V
15、ECTOR. BIT TYPE .BIT類(lèi)型是VHDL語(yǔ)言特有的,存儲(chǔ)在它的標(biāo)準(zhǔn)庫(kù)中。.BIT只有兩個(gè)值0和1。通常用來(lái)表示一個(gè)信號(hào)的值,要用單引號(hào)括起來(lái),因?yàn)閂HDL處理它們和ASCII字符是一樣的。位的值表示方法: 如:TYPE BIT IS 0,1; .位的值1,0表示信號(hào)的狀態(tài),很多情況數(shù)字電路大量的數(shù)就是這些值。 .BIT_VECTOR數(shù)據(jù)類(lèi)型 .BIT_VECTOR數(shù)據(jù)類(lèi)型的概念: 定義: BIT_VECTOR數(shù)據(jù)類(lèi)型為一維元素的數(shù)組a Array,其中的每一個(gè)都是BIT數(shù)據(jù)類(lèi)型。數(shù)組的取值范圍由列表給出上下限。例如,定義一個(gè)4位矢量d :IN BIT_VECTOR3 downto
16、 0;這個(gè)矢量的每個(gè)元素能夠通過(guò)園括弧中的一個(gè)數(shù)指示的位置單獨(dú)尋址。 圖4.6.5.一維數(shù)組矢量中的元素d(3)d(2)d(1)d(0)d(0)d(1)d(2)d(3)ddad(3 downto 0)bd(0 to 3)MSBLSBMSBLSBd :IN BIT_VECTOR0 to 3; d :IN BIT_VECTOR(3 downto 0); .位矢量的概念:.BIT_VECTOR應(yīng)用推廣假設(shè)端口定義d :IN BIT_VECTOR(3 downto 0);那么,下面一組語(yǔ)句是等效的。d30; d21; 等效成 d“0101;d10; d01;如果端口定義d :IN BIT_VECTOR
17、(0 to 3);那么,下面一組語(yǔ)句是等效的。d30; d21; 等效成 d“1010;d10; d01; Note:矢量賦值從左向右進(jìn)展。.BIT 和 BIT_VECTOR比較【例4.6.3】與門(mén)陣列,用BIT和BIT_VECTOR數(shù)據(jù)類(lèi)型分別寫(xiě)出描述這個(gè)陣列的VHDL文件。解:用BIT類(lèi)型寫(xiě)這個(gè)文件如下:-4_bit bitform and function-y3 = a3 and b3; y2 = a2 and b2;etc.ENTITY bitform_and_4 IS PORT( a3, a2, a1, a0 :IN BIT; ports defined b3, b2, b1, b0
18、 :IN BIT; individually y3, y2, y1, y0 :OUT BIT); 分別定義各口 END bitform_and_4 ; ARCHITECTURE and _gate OF bitform_and_4 ISBEGIN y3 a3 and b3; Outputs assigned individually y2 a2 and b2; 輸出分別賦值 y1 a1 and b1; y0 a0 and b0;END and_gate;qA3B3A2B2A1B1A0B0Y3Y2Y1y0圖4.6.6 4 位“與陣列【例4.6.4】利用BIT_VECTOR類(lèi)型重寫(xiě)這個(gè)文件如下:-
19、4_bit bitform AND function - y = a and b; ENTITY bitform_and_vec_4 IS PORT( a, b : IN BIT_VECTOR 3 downto 0; port defined y :OUT BIT_VECTOR 3 downto 0; as vectors END bitform_and_vec_4 ; 口定義為矢量 ARCHITECTURE and _gate OF bitform_and_vec_4 ISBEGIN y= a and b; Outputs assigned as a vector 輸出賦值一個(gè)矢量 END
20、and_gate; 區(qū)別: BIT_VECTOR類(lèi)型:所有元素同時(shí)使用一條“and語(yǔ)句。 BIT 類(lèi)型: a,b為一樣類(lèi)型、一樣模式。 VHDL93標(biāo)準(zhǔn)定義了STD_LOGIC標(biāo)準(zhǔn)邏輯數(shù)據(jù)類(lèi)型,也叫IEEE Std.1164 Multi-Valued Logic,有9 種不同的取值, 多值邏輯。STD_LOGIC、STD_LOGIC_VECTOR 的 端口、信號(hào) 和 變量都可以使用下面的9種不同的值。 9 種不同的狀態(tài)值表示如下: U初始值 不確定,未知 00 11 Z高阻狀態(tài) w弱信號(hào)不確定,未知 L弱信號(hào)0 H弱信號(hào)1 Dont care 無(wú)關(guān)狀態(tài) “強(qiáng)信號(hào)電平0、1是指門(mén)的輸出, “弱信
21、號(hào)電平是指輸出端有上拉或下拉電阻時(shí)的輸出端狀態(tài)。 弱信號(hào)電平通常用于電路建模,在這里門(mén)的輸出與上拉或下拉電阻的區(qū)別很重要。z狀態(tài)用于三態(tài)門(mén)的高阻狀態(tài)。大多數(shù)的應(yīng)用會(huì)遇到x、0、1和z值的處理,如果在設(shè)計(jì)中只用0和1,這個(gè)語(yǔ)句產(chǎn)生的作用就和BIT或BIT_VECTOR數(shù)據(jù)類(lèi)型完全一樣。為了在VHDL文件設(shè)計(jì)中使用STD_LOGIC、STD_LOGIC_VECTOR這兩個(gè)數(shù)據(jù)類(lèi)型,在程序中必須寫(xiě)出庫(kù)說(shuō)明語(yǔ)句和使用程序包集合說(shuō)明語(yǔ)句。否那么,EDA工具進(jìn)展編譯、綜合時(shí)會(huì)報(bào)告類(lèi)型錯(cuò)誤。即LIBRARY ieee;USE ieee.std_logic_1164.ALL;The std_logic_116
22、4 package contains the type definitions of the STD_LOGIC types. “STD_LOGIC_VECTOR 與 “BIT數(shù)據(jù)類(lèi)型比較:【例4.6.6】4bit AND門(mén)陣列的VHDL文件。解: LIBRARY ieee; 使用STD_LOGIC 或 ; STD_LOGIC_VECTOR 要求這兩行。 ENTITY bitform_and_std_4 IS PORT(a,b:IN STD_LOGIC_VECTOR3 downto 0; y :OUT STD_LOGIC_VECTOR3 downto 0); END bitform_and_s
23、td_4; ARCHITECTURE and_gate OF bitform_and_std_4 IS BEGIN y = a and b; END and_gate; “STD_LOGIC_VECTOR 與 “BIT區(qū)別:.Altera 1164元件庫(kù)習(xí)慣方法;. STD_LOGIC_VECTOR更具有通用性。圖4.6.11 4三態(tài)門(mén)緩沖器Y1Y2Y3Y4A1A2A3A4GG Y1 Y2 Y3 Y4 0 A1 A2 A3 A4 1 Z Z Z Z【例4.6.7】 編寫(xiě)圖4.6.11所示4三態(tài)門(mén)緩沖器操作的VHDL文件,并用Quartus軟件仿真,驗(yàn)證設(shè)計(jì)的正確性。 解: LIBRARY ie
24、ee; USE ieee.std_logic_1164.ALL;ENTITY quad_tri IS PORT(a:IN STD_LOGIC_VECTOR3 downto 0;:IN STD_LOGIC;y: OUT STD_LOGIC_VECTOR3 downto 0);END quad_tri ;ARCHITECTURE quad _buff OF quad_tri ISBEGIN WITH SELECT 只有1位y = a WHEN0;“z z z zWHEN others;END quad_buff; 解:LIBRARY ieee; USE ieee.std_logic_1164.AL
25、L;ENTITY quad_tri IS PORT (a:IN STD_LOGIC_VECTOR3 downto 0; :IN STD_LOGIC; y: OUT STD_LOGIC_VECTOR3 downto 0);END quad_tri ;ARCHITECTURE quad _buff OF quad_tri IS BEGIN WITH SELECT 只有1位 y = a WHEN0; “z z z z WHEN others;END quad _buff;STD_LOGIC_VECTOR也適用于三態(tài)門(mén)。三、信號(hào)Signal1.定義:信號(hào)是電子電路內(nèi)部硬件實(shí)體相互連接的信息表示。信號(hào)通
26、常在構(gòu)造體、包集合和實(shí)體說(shuō)明中使用。信號(hào)的使用規(guī)那么說(shuō)明如下: “:表示對(duì)信號(hào)直接賦值,可用來(lái)表示信號(hào)初始值不產(chǎn)生延時(shí)?!氨硎敬胭x值,是變量之間信號(hào)的傳遞。代入賦值法允許產(chǎn)生延時(shí)。例如:T1T2 AFTER 20ns;說(shuō)明T2的延時(shí)值為20ns后賦予T1。在使用EDA工具綜合時(shí),信號(hào)應(yīng)在實(shí)體和構(gòu)造體中描述清楚。2.一般書(shū)寫(xiě)格式為:SIGNAL 信號(hào)名:數(shù)據(jù)類(lèi)型、約束條件:表達(dá)式;使用上述格式舉例如下:SIGNAL sys_clk: BIT:0; -系統(tǒng)時(shí)鐘變量SIGNAL sys_BUS: BIT:1; -系統(tǒng)總線狀態(tài)變量SIGNAL COUNTER:bit_vector7 downto 0
27、; -計(jì)數(shù)器寬度并行語(yǔ)句A并行語(yǔ)句B并行語(yǔ)句C3.信號(hào)并行性(Signal Concurrency):VHDL的構(gòu)造體設(shè)計(jì)是由一個(gè)以上的并行語(yǔ)句構(gòu)成。構(gòu)造體中的多個(gè)并行語(yǔ)句書(shū)寫(xiě)順序無(wú)關(guān)緊要,每個(gè)并行語(yǔ)句表示一個(gè)功能單元,各個(gè)功能單元組成一個(gè)構(gòu)造體,如圖4.6.3。 說(shuō)明信號(hào)并行性的性質(zhì)。 VHDL語(yǔ)句中一大類(lèi),叫并行語(yǔ)句concurrent statements,意味著所有并行語(yǔ)句都是同時(shí)求值的。構(gòu)造體書(shū)寫(xiě)的一般格式為: ARCHITECTURE 構(gòu)造體名 OF 實(shí)體名 IS -說(shuō)明語(yǔ)句 BEGIN 并行語(yǔ)句 并行語(yǔ)句:END ARCHITECTURE 構(gòu)造體名VHDL語(yǔ)言能進(jìn)展并行處理的語(yǔ)句
28、有:Process 進(jìn)程語(yǔ)句Concurrent Signal Assignment statements 并行信號(hào)代入語(yǔ)句Conditional Signal Assignment statements 條件信號(hào)代入語(yǔ)句Selective Signal Assignment statements 選擇信號(hào)代入語(yǔ)句Concurrent Procedure Call 并發(fā)過(guò)程調(diào)用語(yǔ)句BLOCK 塊語(yǔ)句ASSERT 并行斷言語(yǔ)句GENERA 生成語(yǔ)句Component 元件例化語(yǔ)句。這些語(yǔ)句對(duì)并行信號(hào)不敏感,因?yàn)樗哪康氖蔷C合硬件而不是按照程序語(yǔ)句順序運(yùn)行。所以它不同于其它BASIC、Pascal
29、或C語(yǔ)言,一次全部執(zhí)行完才出現(xiàn)邏輯結(jié)果。 表4.6.1 真值表并行性的解釋?zhuān)菏莾蓚€(gè)一位數(shù)A、B相加電路用兩個(gè)邏輯函數(shù)表示,即半加和 Fs = AB,進(jìn)位輸出 Fc = AB 。哪個(gè)改變?cè)谙?,是Fs還是Fc?由于兩個(gè)輸出決定于兩個(gè)完全一樣的輸入,兩個(gè)輸出確實(shí)是同時(shí)攺變。在VHDL中寫(xiě)成:Sum a xor b;Carry_out a and b; A B C Y1 Y00 0 0 0 0 0 0 1 1 00 1 0 1 00 1 1 0 11 0 0 0 01 0 1 0 01 1 0 0 11 1 1 0 0 ABFs=ABFc=AB4.7 VHDL信號(hào)一、多位信號(hào)Multi-Bit Sig
30、nals 1.VHDL如何表示多位信號(hào) : A B C W X Y Z0 0 0 1 0 0 00 0 1 0 1 0 00 1 0 0 1 1 00 1 1 1 0 0 11 0 0 0 1 1 01 0 1 0 0 0 11 1 0 1 0 0 11 1 1 0 0 1 0 A WB XC Y Z4個(gè)輸出的布爾表達(dá)式如下: WABCABCABC XABCABCABC YABCABCABC ZABCABCABC Inputs20 outputs30ABCWXYZ“打捆信號(hào)“拆捆信號(hào)輸入打捆口輸出打捆口PortsPorts用選擇信號(hào)代入語(yǔ)句描述用并行信號(hào)代入語(yǔ)句描述圖4.7.3 輸入口轉(zhuǎn)換成3
31、位信號(hào)abcInputs2Inputs1Inputs0輸入口wxyz outputs3outputs2outputs1 outputs0輸出口圖4.7.4 信號(hào)轉(zhuǎn)換到輸出口2. 信號(hào)轉(zhuǎn)換到輸入/ 輸出口LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY sigexample IS PORT( a, b, c : IN STD_LOGIC; W,X,Y,Z : OUT STD_LOGIC);END sigexample;ARCHITECTURE signal OF sigexample IS信號(hào)說(shuō)明 -Declaration area說(shuō)明區(qū) -Def
32、ine signals here定義信號(hào)SIGNAL inputs:STD_LOGIC_VECTOR2 downto 0;SIGNAL outputs: STD_LOGIC_VECTOR3 downto 0;BEGIN輸入口 -Concatenate input ports into 3-bit signal“打捆 Inputsa b c; WITH inputs SELECT wxyz Outputs “1000 WHEN “000, “0100WHEN “001 abc “0110WHEN “010, 輸出口 “1001WHEN “011,“拆捆 “0110WHEN “100, “0001
33、WHEN “101, “1001WHEN “110, “0010WHEN “111, “0000WHEN others; -Separate signal into individual ports W outputs3; X outputs2; Y outputs1; Z outputs0; END signal;仿真設(shè)計(jì),包括內(nèi)部信號(hào)顯示在圖4.7.5中。4.多輸入多輸出數(shù)字電路仿真注意:選擇信號(hào)代入語(yǔ)句 “WITH inputs SELECT 二、1-位信號(hào)Single Bit Signals圖4.7.6 表示信號(hào)連接的邏輯電路11ABCD信號(hào)YPORTPORTS實(shí)現(xiàn)這個(gè)電路的VHDL文
34、件如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY signal_ex IS PORT( a,b,c,d: IN STD_LOGIC; Y : OUT STD_LOGIC); END signalex;ARCHITECTURE sig OF signalex IS -Declare signal 信號(hào)說(shuō)明 SIGNAL a_xor_b:STD_LOGIC; BEGIN -Define signal in terms of ports a and b a_xor_bnot aand bor a and not b; -Combine Signa
35、l with ports c and d Y a_ xor_b or not c and d; END sig;三、組合信號(hào)和多位信號(hào)Combining Single在VHDL中還可能遇到1位信號(hào)連結(jié)concatenate到一個(gè)多位對(duì)象上的情況,例如,假設(shè)有一個(gè)3位口定義為: d: IN STD_LOGIC_VECTOR2 downto 0;和一個(gè)1位口定義為Enable使能:IN STD_LOGIC;把這些口組合成一個(gè)信號(hào)如下。定義信號(hào):SIGNAL:inputs STD_LOGIC_VECTOR2 downto 0;.連接口成為信號(hào):inputs enable d;等效語(yǔ)句的另一種寫(xiě)法:i
36、nputs3enable;inputs2 downto 0d; .在這種情況下要指明輸入矢量的元素,因?yàn)樵诓煌姆椒ㄖ幸o信號(hào)的不同局部賦予不同的值。 Port( a, b, c :IN STD_Logic;En : IN STD_Logic); - and Multiple-Bit Signals等效成下面4條語(yǔ)句:inputs3enable;inputs2d2;inputs1d1;inputs0d0;例:ENTITY mux4 IS PORT( d0,d1,d2,d3, a,b: IN STD_LOGIC; Y: OUT STD_LOGIC);END mux4 ;ARCHITECTURE
37、sample OF mux4 IS BEGIN with a & b SELECT Y=d0 when “00; d1 when “01; d2 when “10; d3 when “11; x when others; END sample;Create/Update圖4.6.7 文件菜單 (Creat/Update) a0 y0a1 y1a2 y2a3 y3b0 b1 b2 b3 bitform_and_4Inst. a3.0y3.0 b3.0 Bitform_and_vec_4Inst.圖4.6.8 4_bit 與陣列符號(hào) (單個(gè)輸入 圖4.6.9 4_bit 與陣列符號(hào) 組合輸入VHDL文件中輸入各端口用細(xì)線表示出各引腳單獨(dú)定義)輸出各端口用細(xì)線表示要分別定義VHDL文件中用粗線定義IN/OUTPORT矢量表4.6.2 D2 D1 D0 Y0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 0 0 1 0 0 0 0 1 輸 入輸 出輸 入輸 出 A B C D YA B C D Y 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 000100101 0 0 01 0 0 1 1 0 1 01 0 1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)沙商貿(mào)旅游職業(yè)技術(shù)學(xué)院《機(jī)械制圖與實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 配電網(wǎng)數(shù)據(jù)采集與分析
- 述職報(bào)告:技術(shù)領(lǐng)先之道模板
- 職業(yè)導(dǎo)論-2020年房地產(chǎn)經(jīng)紀(jì)人《職業(yè)導(dǎo)論》真題匯編
- 名畫(huà)欣賞與創(chuàng)作模板
- 公司年年會(huì)主持稿
- 二零二五年電子商務(wù)平臺(tái)入駐合作協(xié)議范本3篇
- 二零二五版北京車(chē)牌租賃市場(chǎng)推廣合作合同規(guī)范范本9篇
- 二零二五版基站建設(shè)場(chǎng)地使用權(quán)及通信網(wǎng)絡(luò)優(yōu)化合同2篇
- 吉林油田十二中2024-2025學(xué)年七年級(jí)上學(xué)期期末語(yǔ)文試卷(含答案)
- 分期還款協(xié)議書(shū)
- 小區(qū)住戶(hù)手冊(cè)范本
- ??低?視頻監(jiān)控原理培訓(xùn)教材課件
- 《鄭伯克段于鄢》-完整版課件
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請(qǐng)表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊(cè)
- 8小時(shí)等效A聲級(jí)計(jì)算工具
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題300道
評(píng)論
0/150
提交評(píng)論