freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

大規(guī)模集成電路硬件描述語言vhdl(已修改)

2025-08-29 10:14 本頁面
 

【正文】 第五章 大規(guī)模集成電路硬件描述語言 (VHDL)80年代以來,采用計算機輔助設計 CAD技術(shù)設計硬件電路在全世界范圍得到了普及和應用。一開始,僅用 CAD來實現(xiàn)印刷板的布線,以后才慢慢實現(xiàn)了插件板級規(guī)模的設計和仿真,其中最具代表性的設計工具是OrCad和Tango,它們的出現(xiàn)使電子電路設計和印刷板布線工藝實現(xiàn)了自動化。但這種設計方法就其本身而言仍是自下而上的設計方法,即利用已有的邏輯器件來構(gòu)成硬件電路,它沒有脫離傳統(tǒng)的硬件設計思路。 隨著集成電路規(guī)模與復雜度的進一步提高,特別是大規(guī)模、超大規(guī)模集成電路的系統(tǒng)集成,使得電路設計不斷向高層次的模塊式的設計方向發(fā)展,原有的電原理圖輸入方式顯得不夠嚴謹規(guī)范,過多的圖紙和底層細節(jié)不利于從總體上把握和交流設計思想;再者,自下而上的設計方法使仿真和調(diào)試通常只能在系統(tǒng)硬件設計后期才能進行,因而系統(tǒng)設計時存在的問題只有在后期才能較容易發(fā)現(xiàn),這樣,一旦系統(tǒng)設計存在較大缺陷,就有可能要重新設計系統(tǒng),使得設計周期大大增加?;谝陨想娫韴D輸入方式的缺陷,為了提高開發(fā)效率,增加已有成果的可繼承性并縮短開發(fā)時間,大規(guī)模專用集成電路 ASIC研制和生產(chǎn)廠家相繼開發(fā)了用于各自目的的硬件描述語言。其中最具代表性的就是美國國防部開發(fā)的VHDL語言和 Verilog公司開發(fā)的Verilog HDL以及日本電子工業(yè)振興協(xié)會開發(fā)的UDL/I語言。 1987年12月10日, IEEE標準化組織發(fā)布IEEE標準的VHDL,定為 IEEE Stdl076—1987標準(該標準是從1983年8月美國空軍支持并開發(fā)的VHDL7.2版發(fā)展而來)。這使得VHDL成為唯一被IEEE標準化的HDL語言,這標志著 VHDL被電子系統(tǒng)設計行業(yè)普遍接收并推廣為標準的HDL語言。許多公司因而紛紛使自己的開發(fā)工具與VHDL兼容。由此可見,使用 VHDL語言來設計數(shù)字系統(tǒng)在一定程度上是電子設計技術(shù)的大勢所趨。 利用VHDL設計硬件電路的優(yōu)點是: 1) 設計技術(shù)齊全、方法靈活、支持廣泛 VHDL語言可以支持自上而下和基于庫的設計方法,還支持同步電路、異步電路、 FPGA以及其他隨機電路的設計。目前大多數(shù)EDA工具幾乎在不同程度上都支持VHDL語言。這給VHDL語言進一步推廣和應用創(chuàng)造了良好的環(huán)境。2)系統(tǒng)硬件描述能力強 VHDL具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學模型直到門級電路。3)VHDL語言可以與工藝無關(guān)編程VHDL設計硬件系統(tǒng)時,可以編寫與工藝有關(guān)的信息。但是,與大多數(shù)HDL語言不同的是,當門級或門級以上層次的描述通過仿真驗證后,可以用相應的工具將設計映射成不同的工藝(如MOS,CMOS等)。這樣,工藝更新時,就無須修改程序,只須修改相應的映射工具即可。所以,在VHDL中,電路設計的編程可以與工藝相互獨立。4)VHDL語言標準、規(guī)范,易于共享和復用VHDL語言的語法較嚴格,給閱讀和使用都帶來了極大的好處。再者,VHDL作為一種工業(yè)標準,設計成果便于復用和交流,反過來也能進一步推動VHDL語言的推廣和普及。167。51 VHDL程序的基本結(jié)構(gòu)一個完整的VHDL語言程序通常包含實體(Entity),結(jié)構(gòu)體(Architecture),配置(Configuration),包(package)和庫(Library)5個部分。前四種是可分別編譯的源設計單元。庫存放已編譯的實體、結(jié)構(gòu)體、配置和包。實體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;包存放各設計模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等;配置用于從庫中選取所需單元來支持系統(tǒng)的不同設計,即對庫的使用;庫可由用戶生成或ASIC芯片制造商提供,以便共享。本章將對上述5部分作一詳細介紹。167。 511 VHDL程序的基本單元與構(gòu)成 VHDL程序的基本單元是設計實體和結(jié)構(gòu)體,它對應于硬件電路中的某個基本模塊。該模塊可以是一個門,也可以是一個微處理器,甚至整個系統(tǒng)。但無論是簡單的還是復雜的數(shù)字電路,VHDL程序的基本構(gòu)成都是一樣的,都由實體和結(jié)構(gòu)體構(gòu)成。實體描述模塊的對外端口,結(jié)構(gòu)體描述模塊的內(nèi)部情況即模塊的行為和結(jié)構(gòu)。 例1是一個如圖51所示半加器的VHDL描述。 The entity declaration entity Half_adder is port ( X Half_ Sum X: in Bit 。 Y adder Carry Y: in Bit 。 Sum : out Bit 。 Carry : out Bit ) 。 圖51 半加器 end Half_adder 。 The architecture body : architecture Behavioral_description of Half_adder is begin process begin Sum = X xor Y after 5 Ns 。 Carry = X and Y after 5 Ns 。 wait on X , Y 。 end process 。 end Behavioral_description例2描述了作為一個設計實體的二選一電路。entity mux isgeneric(m:TIME:=1ns); port(d0,d1,sel: in BIT;q: out BIT);end mux。architecture connect of mux isSignal tmp:BIT; begin Cale: process(d0,dl,sel) variable tmpl,tmp2,tmp3:BIT; begin tmp1:=d0 and sel; tmp2:=d1 and (not sel); tmp3:=tmp1 or tmp2; tmp=tmp3; q=tmp after m; end process; end connect: VHDL可以通過已有的基本模塊來構(gòu)造更大的模塊或更高一層次的模塊。例如它可以利用現(xiàn)有的半加器模塊來構(gòu)造一個如圖52所示的全加器: entity Full_adder is port ( A : in Bit 。 B : in Bit 。 Carry_in : in Bit 。 AB : out Bit 。 Carry_out : out Bit ) 。 end Full_adder 。 architecture Structure of Full_adder is signal declarations signal Temp_sum : Bit 。 signal Temp_carry_1 : Bit 。 signal Temp_carry_2 : Bit 。 local ponent declarations ponent Half_adder port ( X : in Bit 。 Y : in Bit 。 Sum : out Bit 。 Carry : out Bit ) 。 end ponent 。 ponent Or_gate port ( In1 : Bit : In2 : Bit 。 Out1 : out Bit ) 。 end ponent 。 ponent instantiation statements U0 : Half_adder port map ( X = A, Y = B, Sum = Temp_sum , Carry = Temp_carry_1 ) 。 U1 : Half_adder port map ( X = Temp_sum , Y = Carry_in Sum = AB , Carry = Temp _Carry_2 ) 。 U2 : Or_gate port map ( In1 = Temp_carry_1, In2 = Temp_carry_2 , Out1 = Carry_out ) 。 end structure 。 圖52 由半加器構(gòu)造的全加器說明: ① 在上述所有例子中,粗斜體(如end ) 表示該標識符( end )為系統(tǒng)保留字。 ② In1: in Bit 。 In2: in Bit。 可寫成In1:Bit。 In2: Bit。 因為in是缺省的I/O狀態(tài)。 ③ 為注釋行標志, 該行其后的所有字符均為注釋內(nèi)容。 ④ 由ponent ... end ponent 。 注明的一段為元件說明語句, 給出了該元件的外端口情況, 或者說是給出了一個元件的模板。 ⑤ 由 ponent instantiation statements說明的為元件實例化語句部分。該語句將元件說明中的端口映射到實際元件中的端口, 即將模板映射到現(xiàn)實電路。 下面對實體說明和結(jié)構(gòu)體的詳細情況進行解釋說明:實體說明(Entity Declaration) 實體說明的一般形式是: entity 實體名 is [類屬參數(shù)說明 formal_generic_clause] [端口說明formal_port_clause] [說明語句declarations] [begin 實體語句部分] end[實體名];說明:① 實體名和所有端口名都由字符串組成(稱為標識符)。該字符串中的任意字符可以是“a”到“z”,“A”到“Z”,或數(shù)字“0”到“9”,以及下劃線“_”;字符串的第一個字符必須是字母,中間不包括空格,且最后一個字符不可以為下劃線,兩個下劃線不允許相鄰。② [ ]表示其中的部分是可選項; ③ 對VHDL而言,大小寫一視同仁,不加區(qū)分; ④ 實體說明以 entity 實體名is開始,至 end[實體名]結(jié)束,最簡單的實體說明是: entity E is end;除此之外,其余各項皆為可選項;⑤ 類屬(Generic)語句必須放在端口語句之前,用于指定由環(huán)境決定的參數(shù)。例如,在數(shù)據(jù)類型說明上用于傳遞位矢長度、數(shù)組的位長以及器件的延遲時間等參數(shù)。類屬語句的一般形式為: generic(類屬參數(shù)名:子類型名[:=初始值]) 例如,在二選一電路的描述中的 generic(m:time:=1ns)指定了結(jié)構(gòu)體內(nèi)延時m的值為 lns。又如: entity AndGate is generic(N:Natural:=2); port(inputs: in Bit_vector(1 to N); result: out Bit); 一一類屬參數(shù)N規(guī)定了位矢量(Bit_Vector)inputs的長度end AndGate;⑥ 端口(port)說明是關(guān)于設計實體之外部接口的描述,規(guī)定了端口的名稱、數(shù)據(jù)類型和輸入輸出方向。例如對二選一電路描述中的 port(do,d1,sel:in BIT; q:out B1T);其一般書寫格式是: port(端口名{,端口名}:[方向]子類型名[bus][:=初始值] {;端口名{,端口名}: [方向]子類型名[bus][:=初始值]}) 其中方向用于定義外部引腳的信號方向是輸入還是輸出,共有五種方向: in,out,inout,buffer,1inkage。In表示信號自端口輸入到結(jié)構(gòu)體;out表示信號自結(jié)構(gòu)體輸出到端口;inout表示該端口是雙向的;buffer說明端口可以輸出信號,且結(jié)構(gòu)體內(nèi)部可以利用該輸出信號;1inkage用于說明該端口無指定方向,可以與任何方向的信號連接。上例中的d0,d1,sel為輸入引腳,q為輸出引腳。 ⑦ 說明語句(Declaration)可以包括:subprogram說明subprogram定義(或稱subprogram體)type說明subtype說明constant說明signal說明 file說明alias說明attribute說明attribute定義use語句disconnection定義用于對設計實體內(nèi)所用的信號、常數(shù)、數(shù)據(jù)類型和函數(shù)進行定義,這種定義對該設計實體是可見的。結(jié)構(gòu)體(Architecture Body) 結(jié)構(gòu)體是對實體功能的具體描述,必須跟在實體后面。通常,先編譯實體后才能對結(jié)構(gòu)體進行編譯,如果實體需要重新編譯,那么相應的結(jié)構(gòu)體也應重新編譯。 結(jié)構(gòu)體的一般結(jié)構(gòu)描述如下: Architecture 結(jié)構(gòu)體名 of 實體名 is [說明語句;] begin [并行處理語句;] end [結(jié)構(gòu)體名];說明:① 結(jié)構(gòu)體的名稱應是該結(jié)構(gòu)體的唯一名稱,of后緊跟的實體名表明了該
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1