




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄123VHDL設(shè)計(jì)概念VHDL簡介VHDL程序結(jié)構(gòu)VHDL簡介 VHDL全名Very-High-Speed Integrated Circuit Very-High-Speed Integrated Circuit Hardware Description LanguageHardware Description Language,超高速集成電路硬件描述語言,VHDL語言是一種用于電路設(shè)計(jì)的高級語言。最初是源于美國國防部1980年開始啟動的超高速集成電路計(jì)劃,在這一計(jì)劃執(zhí)行過程中,專家們認(rèn)識到需要有一種標(biāo)準(zhǔn)的語言來描述集成電路的結(jié)構(gòu)和功能,由此,美國國防部便開發(fā)出VHDL設(shè)計(jì)語言供美軍用來
2、提高設(shè)計(jì)的可靠性和縮減開發(fā)周期的設(shè)計(jì)語言。VHDL設(shè)計(jì)概念 采用VHDL進(jìn)行設(shè)計(jì)的方法為高層設(shè)計(jì),即“概念驅(qū)動模式”設(shè)計(jì)。設(shè)計(jì)人員無需通過門級原理圖描述,而是針對設(shè)計(jì)目標(biāo)進(jìn)行功能描述。VHDL并不十分關(guān)心一個具體邏輯是靠何種方式實(shí)現(xiàn)的,而是把開發(fā)者的精力集中到邏輯所實(shí)現(xiàn)的功能上。由于高層設(shè)計(jì)只定義系統(tǒng)的行為特性,因此可以不涉及工藝。 采用VHDL進(jìn)行設(shè)計(jì)的具體過程為: 1、以VHDL語言描述設(shè)計(jì)概念; 2、用VHDL仿真與調(diào)試工具分析此概念的“行為”,檢查是否滿足初始要求。這一過程與普通的編程語言,如C語言的編譯、運(yùn)行、調(diào)試是類似的。 3、VHDL設(shè)計(jì)VHDL綜合工具。利用集成電路廠商或EDA
3、廠家提供的被充分驗(yàn)證過的工藝庫,以面積、功耗、速度等為目標(biāo)進(jìn)行優(yōu)化,將電路映射成網(wǎng)表,得到門級電路后,還要進(jìn)行仿真來驗(yàn)證門電路的行為和時序特性。 4、物理設(shè)計(jì)。得到可供生產(chǎn)的文件,進(jìn)行延時、故障、熱分析等,保證系統(tǒng)的穩(wěn)定工作,滿足設(shè)計(jì)指標(biāo)。VHDL程序結(jié)構(gòu)程序結(jié)構(gòu)實(shí)體和結(jié)構(gòu)體實(shí)體和結(jié)構(gòu)體 是是VHDL設(shè)計(jì)文件的兩個基設(shè)計(jì)文件的兩個基本組成部分本組成部分實(shí)體實(shí)體說明說明 描述設(shè)計(jì)實(shí)體描述設(shè)計(jì)實(shí)體(黑盒)(黑盒)的外的外部接口信號(即輸入部接口信號(即輸入/輸出信號);輸出信號);結(jié)構(gòu)體結(jié)構(gòu)體說明說明 用于描述設(shè)計(jì)實(shí)體用于描述設(shè)計(jì)實(shí)體(黑(黑盒)盒)的內(nèi)部電路。的內(nèi)部電路。包集合包集合 存放各設(shè)計(jì)
4、模塊能共享的數(shù)存放各設(shè)計(jì)模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等;據(jù)類型、常數(shù)、子程序等;庫庫 用于存放已編譯的實(shí)體、結(jié)構(gòu)體、用于存放已編譯的實(shí)體、結(jié)構(gòu)體、包集合和配置。包集合和配置。配置配置 用于從庫中選取所需元件安裝用于從庫中選取所需元件安裝到設(shè)計(jì)單元的實(shí)體中。到設(shè)計(jì)單元的實(shí)體中。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 IS PORT( a , b:IN STD_LOGIC;s:IN STD_LOGIC;y:OUT STD_LOGIC );END mux21;ARCHITECTURE behavior OF mux21 IS
5、BEGIN PROCESS(a,b,s)BEGIN IF s = 0 THEN y=a; ELSE y=b; END IF; END PROCESS;END one;程序包程序包實(shí)體說明實(shí)體說明結(jié)構(gòu)體結(jié)構(gòu)體實(shí)體實(shí)體說明說明的一般格式為:的一般格式為: ENTITY 實(shí)體名實(shí)體名 IS GENERIC類屬參數(shù)說明類屬參數(shù)說明; PORT端口端口說明說明; END;ayand2b 實(shí)體中的每一個實(shí)體中的每一個I/OI/O信號被稱為端口,其功信號被稱為端口,其功能對應(yīng)于電路圖符號的一個引腳。端口說明則能對應(yīng)于電路圖符號的一個引腳。端口說明則是對一個實(shí)體的一組端口的定義,即對基本設(shè)是對一個實(shí)體的一組端
6、口的定義,即對基本設(shè)計(jì)實(shí)體與外部接口的描述。計(jì)實(shí)體與外部接口的描述。端口是設(shè)計(jì)實(shí)體和端口是設(shè)計(jì)實(shí)體和外部環(huán)境動態(tài)通信的通道。實(shí)體類似一個外部環(huán)境動態(tài)通信的通道。實(shí)體類似一個“黑黑盒盒”,實(shí)體描述了,實(shí)體描述了“黑盒黑盒”的輸入輸出口。的輸入輸出口。 ENTITY、IS、GENERIC、PORT、END是是VHDL的關(guān)鍵字(保留字)。的關(guān)鍵字(保留字)。 實(shí)體名、端口名實(shí)體名、端口名(端口說明)(端口說明)等均應(yīng)為符合等均應(yīng)為符合VHDL命名規(guī)則的標(biāo)識符。命名規(guī)則的標(biāo)識符。實(shí)體說明實(shí)體說明類屬信息類屬信息1 1、作用、作用 為設(shè)計(jì)實(shí)體和其外部環(huán)境通信的靜態(tài)信息提供通道,可以定義端口的大小、實(shí)體中
7、元件的數(shù)目以及實(shí)體的定時特性等。2 2、一般格式、一般格式 GENERIC(CONSTANT 名字表:IN 子類型標(biāo)識 := 靜態(tài)表達(dá)式, );端口說明端口說明端口說明的一般格式為:端口說明的一般格式為: PORT(端口名(端口名,端口名,端口名:端口模式:端口模式 數(shù)據(jù)類型數(shù)據(jù)類型; 端口名端口名,端口名,端口名:端口模式:端口模式 數(shù)據(jù)類型數(shù)據(jù)類型);); 例如:例如:PORT ( a,b : IN STD_LOGIC; y : OUT STD_LOGIC);端口名端口模式數(shù)據(jù)類型端口模式端口模式 用來說明數(shù)據(jù)傳輸通過該端口的方向。用來說明數(shù)據(jù)傳輸通過該端口的方向。 。端口數(shù)據(jù)類型端口數(shù)據(jù)
8、類型 常用的有布爾型(boolean)、位型(bit)、位矢量型(bit-vector)、整數(shù)型(integer)、非標(biāo)準(zhǔn)邏輯和標(biāo)準(zhǔn)邏輯類型(Std_ulogic和Std_logic)。 1)boolean:布爾型,可取值“TRUE(真)”或“FALSE(假)”。2)bit:為位邏輯數(shù)據(jù)類型,信號取值是邏輯值“1”和“0”。3)bit_vector:取值是一組二進(jìn)制位的值。 非標(biāo)準(zhǔn)邏輯和標(biāo)準(zhǔn)邏輯類型,由IEEE:Std_logic_1164支持,程序包中定義了有關(guān)的數(shù)據(jù)類型,訪問該程序包中的項(xiàng)目需要使用LIBRARY子句和USE子句。練習(xí)練習(xí)練習(xí)練習(xí)答案答案Library ieee;Use i
9、eee.std_logic_1164.ALL;Entity my_design isPORT ( d: in std_logic_vector(11 downto 0); oe , clk: in: std_logic; ad: inout std_logic_vector(7 downto 0); a: out std_logic_vector(7 downto 0); int: out std_logic; as: buffer std_logic);End my_design; 結(jié)構(gòu)體結(jié)構(gòu)體 結(jié)構(gòu)體是用來描述一個設(shè)計(jì)的具體結(jié)構(gòu),建立一個設(shè)計(jì)中輸入和輸出之間的關(guān)系,即描述實(shí)體的功能,對黑盒
10、子的內(nèi)部進(jìn)行具體描述。 VHDL允許采用三種描述格式來進(jìn)行具體的設(shè)計(jì)構(gòu)造,行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述。具體描述時,可以是以上三種中的一種或幾種的任意組合。一個設(shè)計(jì)實(shí)體可以有多個結(jié)構(gòu)體。結(jié)構(gòu)體一般格式為:結(jié)構(gòu)體一般格式為:ARCHITECTURE 結(jié)構(gòu)體名結(jié)構(gòu)體名 OF 實(shí)體名實(shí)體名 IS 定義語句定義語句: 內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)定義內(nèi)部信號,常數(shù),數(shù)據(jù)類型,函數(shù)定義 BEGIN 并行處理語句并行處理語句; 進(jìn)程語句進(jìn)程語句; END 結(jié)構(gòu)體名;結(jié)構(gòu)體名; ARCHITECTURE、OF、IS、BEGIN、END是是VHDL的關(guān)鍵字(保留字)。的關(guān)鍵字(保留字)。 結(jié)構(gòu)體名稱由設(shè)計(jì)
11、者自由命名,是結(jié)構(gòu)體的唯一名稱,該結(jié)構(gòu)體名可反結(jié)構(gòu)體名稱由設(shè)計(jì)者自由命名,是結(jié)構(gòu)體的唯一名稱,該結(jié)構(gòu)體名可反映結(jié)構(gòu)體的特色。映結(jié)構(gòu)體的特色。 例如:architecture behavior of mux is 用結(jié)構(gòu)體行為命名architecture dataflow of mux is 用結(jié)構(gòu)體的數(shù)據(jù)流命名architecture structural of mux is 用結(jié)構(gòu)體組織結(jié)構(gòu)命名architecture latch of mux is 用結(jié)構(gòu)體的功能命名 以上命名舉例說明,幾個結(jié)構(gòu)體都屬于設(shè)計(jì)實(shí)體mux,結(jié)構(gòu)體名由設(shè)計(jì)者自行定義,OF后面的實(shí)體名指明了該結(jié)構(gòu)體所對應(yīng)的是哪個實(shí)
12、體。由于一個設(shè)計(jì)有行為描述、數(shù)據(jù)流描述和結(jié)構(gòu)描述3種方式,一般建議用behave, dataflow, structure為結(jié)構(gòu)體命名。 用于對結(jié)構(gòu)體內(nèi)部將要使用的信號、常數(shù)、數(shù)據(jù)類型、元件、函數(shù)和過程加以說明。最常見的是對內(nèi)部流動的信號的定義。但不能定義變量。 實(shí)體說明中定義的信號是外部信號,而結(jié)構(gòu)體定義的信號為該結(jié)構(gòu)體的內(nèi)部信號,它只能用于這個結(jié)構(gòu)體中。 結(jié)構(gòu)體中的信號定義和端口說明一樣,應(yīng)有信號名稱和數(shù)據(jù)類型定義。因?yàn)樗莾?nèi)部連接用的信號,因此不需要方向說明。1、行為描述2、結(jié)構(gòu)描述3、數(shù)據(jù)流描述1 1、行為描述、行為描述描述該設(shè)計(jì)單元的功能,即該硬件做什么,主要使用函數(shù)、過程和進(jìn)程語句
13、,以算法形式描述數(shù)據(jù)的變換和傳送。即只描述所希望電路的功能或者電路行為(輸入輸出間轉(zhuǎn)換的行為),而沒有指明或涉及實(shí)現(xiàn)這些行為的硬件結(jié)構(gòu)。ARCHITECTURE behavior OF mux21 IS BEGIN PROCESS(a,b,s)BEGIN IF s = 0 THEN y=a; ELSE y=b; END IF; END PROCESS;END one;2 2、結(jié)構(gòu)描述、結(jié)構(gòu)描述描述該設(shè)計(jì)單元的硬件結(jié)構(gòu),即該硬件是如何構(gòu)成的。主要使用配置指定語句及元件例化語句描述元件的類型及元件的互聯(lián)關(guān)系。3 3、數(shù)據(jù)流描述、數(shù)據(jù)流描述設(shè)計(jì)庫設(shè)計(jì)庫設(shè)計(jì)設(shè)計(jì)庫(庫(LibraryLibrary)
14、1 1、設(shè)計(jì)、設(shè)計(jì)庫是經(jīng)編譯后的數(shù)據(jù)的集合,存放包集合庫是經(jīng)編譯后的數(shù)據(jù)的集合,存放包集合定義、實(shí)體定義、結(jié)構(gòu)體定義和配置定義。定義、實(shí)體定義、結(jié)構(gòu)體定義和配置定義。 2 2、VHDLVHDL中,中,設(shè)計(jì)設(shè)計(jì)庫的說明總放在設(shè)計(jì)單元的最前庫的說明總放在設(shè)計(jì)單元的最前面。面。 3 3、設(shè)計(jì)、設(shè)計(jì)庫中的各個設(shè)計(jì)單元可以用作進(jìn)行其他設(shè)庫中的各個設(shè)計(jì)單元可以用作進(jìn)行其他設(shè)計(jì)的資源,一個設(shè)計(jì)可以使用多個庫中的設(shè)計(jì)單元。計(jì)的資源,一個設(shè)計(jì)可以使用多個庫中的設(shè)計(jì)單元。設(shè)計(jì)庫的使用設(shè)計(jì)庫的使用 首先在設(shè)計(jì)的開頭說明要引用的庫,然后使用首先在設(shè)計(jì)的開頭說明要引用的庫,然后使用use子句指子句指明要使用庫中的哪一個
15、設(shè)計(jì)單元,其書寫格式為:明要使用庫中的哪一個設(shè)計(jì)單元,其書寫格式為: Library 庫名;庫名; Use 庫名庫名. 程序包名程序包名. all; 其中:程序包名就是實(shí)際設(shè)計(jì)要使用的庫中的設(shè)計(jì)單元;其中:程序包名就是實(shí)際設(shè)計(jì)要使用的庫中的設(shè)計(jì)單元;all表示使用程序包中的所有項(xiàng)目。表示使用程序包中的所有項(xiàng)目。常用設(shè)計(jì)庫常用設(shè)計(jì)庫1、STD庫2、WORK庫 WORK庫是VHDL語言工作庫,用戶在項(xiàng)目設(shè)計(jì)中設(shè)計(jì)成功、正在驗(yàn)證、和未仿真的中間件都放在WORK庫中。 以上兩個庫對當(dāng)前設(shè)計(jì)是永遠(yuǎn)可見的,不需在程序開頭對它們進(jìn)行說明。即下面的LIBRARY子句隱含存在于任何設(shè)計(jì)單元之前。 library
16、 std; library work;3、資源庫 除STD和WORK庫以外所有的庫均為資源庫。這些資源庫的使用必須用LIBRARY顯式的說明出來。如常用的資源庫IEEE庫(Std_logic_1164)和VITAL庫。程序包程序包 在VHDL中,設(shè)計(jì)的實(shí)體和結(jié)構(gòu)體中定義的數(shù)據(jù)類型、常量、子程序說明和元件說明等只能在該設(shè)計(jì)實(shí)體中使用,而對其他設(shè)計(jì)實(shí)體是不可見的。 程序包說明用來單純地羅列VHDL中所要用到的信號定義、常量定義、數(shù)據(jù)類型、子程序說明和元件說明等,是一個可編譯的設(shè)計(jì)單元。 要使用程序包中的某些說明和定義,要用use語句說明。各種VHDL編譯系統(tǒng)都含有多個標(biāo)準(zhǔn)程序包,如Std_Logi
17、c_1164和Standard程序包。用戶也可以自行設(shè)計(jì)程序包。常用程序包常用程序包1 1、s standardtandard 預(yù)先在std庫中編譯,主要定義了布爾類型、bit類型、character類型、出錯級別、實(shí)數(shù)類型、整數(shù)類型、時間類型、延遲長度子類型、自然數(shù)子類型、正整數(shù)子類型、string類型、bit_vector子類型、文件打開方式類型和文件打開狀態(tài)類型。對所有設(shè)計(jì)模塊可見對所有設(shè)計(jì)模塊可見。2 2、textiotextio 預(yù)先在std庫中編譯,定義了line類型、text類型、side類型、操作寬度width子類型、文件input、文件output、readline過程、對應(yīng)于不同數(shù)據(jù)類型的read過程、writeline過程和對應(yīng)于不同數(shù)據(jù)類型的write過程。對所有設(shè)計(jì)模塊都對所有設(shè)計(jì)模塊都不可見,使用時要進(jìn)行說明不可見,使用時要進(jìn)行說明。use std.textio.all;use std.textio.all;3 3、S
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程竣工驗(yàn)收報告建筑物隔音性能檢測
- 鹽田樓頂防水施工方案
- 2025年網(wǎng)絡(luò)安全產(chǎn)業(yè)布局及發(fā)展預(yù)測:市場規(guī)模與技術(shù)趨勢分析
- 廚房排風(fēng)管施工方案
- 江蘇省南京市南京師范大學(xué)附屬中學(xué)2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(解析版)
- 幕墻競標(biāo)方案模板范本
- 升降平臺鋼筋施工方案
- 巡視通道修繕施工方案
- 裝修施工方案與技術(shù)措施
- 電梯井道整改施工方案
- 高中歷史:如何上好高一開學(xué)第一課(共58張PPT)
- 三年級數(shù)學(xué)下冊課件-制作活動日歷-人教版-(共45張PPT)
- 石油化工建設(shè)工程竣工報告
- 詩歌鑒賞之思鄉(xiāng)懷人詩課件
- 成人高考輔導(dǎo)資料教學(xué)課件
- 2022-2023學(xué)年廣西壯族河池市小升初考試數(shù)學(xué)試卷含答案
- 2022春大學(xué)英語A2學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- “家校合育”手冊
- 食堂安全培訓(xùn)-課件
- 計(jì)算機(jī)之父-圖靈課件
- 水利工程建設(shè)監(jiān)理人員培訓(xùn)講義課件
評論
0/150
提交評論