• /  144
  • 下載費用: 9.90積分  

eda技術與vhdl實用教程電子教案動畫源程序 廖超平第4章 VHDL設計入門.ppt

'eda技術與vhdl實用教程電子教案動畫源程序 廖超平第4章 VHDL設計入門.ppt'
EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平第4章 VHDL設計入門<>EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平 ? 要求掌握VHDL語言的基本知識和運用VHDL語言分析、設計邏輯電路的基本方法。? 知識點理解Quartus II的HDL輸入法理解VHDL程序的基本結構理解VHDL程序的順序結構理解VHDL程序的并行結構理解VHDL程序的語言要素 ? 重點和難點Quartus II的HDL輸入法VHDL程序的順序結構VHDL程序的并行結構EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平引 言 HDL文本輸入設計法是Quartus II的另一個重要輸入設計法,本書主要介紹VHDL文本輸入設計法。本章討論VHDL文本輸入設計法的基本知識,在第五章再對VHDL文本輸入設計法作進一步的深入討論。 本章先介紹VHDL文本輸入設計法的文件建立、文件編輯、文件編譯和文件仿真方法,然后再依次介紹VHDL程序的基本結構、順序結構和并行結構,最后對VHDL程序的語言要素作一個總結。EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平第4章 VHDL設計入門Quartus II的HDL輸入法 4.1VHDL程序的順序結構4.3VHDL程序的并行結構4.4VHDL程序的語言要素4.5VHDL程序的基本結構4.2EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平4.1 Quartus II的HDL輸入法 HDL輸入法是Quartus II的常用輸入法,有AHDL、VHDL和Verilog HDL三種語言,本書主要介紹VHDL語言。下面以7段數碼顯示譯碼器設計為例介紹Quartus II的VHDL文件的輸入編輯和編譯仿真方法。 EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平一、輸入編輯VHDL文件(實際操作)1. 建立工程項目 2. 建立VHDL文件 3. 編輯VHDL文件二、編譯仿真VHDL文件1.編譯VHDL文件 2.仿真VHDL文件EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平仿真結果如圖 :EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平 一個完整的VHDL語言程序通常包含庫(Library)和程序包(Package)聲明、實體(Entity)聲明、構造體(Architecture)和配置(Configuration)等部分。 4.2 VHDL程序的基本結構 EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平一、庫、程序包 1.庫與程序包的概念程序包(package)是預先定義或設計好的數據類型、子程序和各種設計實體的集合;而庫(Library)則是用來存儲已經完成的程序包等VHDL設計與數據的倉庫。庫和程序包的引用聲明放在設計文件的最前面。 EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平 2. 常見的庫: (1) IEEE 庫 : IEEE 庫是最常用的庫,它包含:STD_LOGIC_1164 、STD_LOGIC _ARITH 、STD_LOGIC_ UNSIGNED等程序包,這些程序包包含有IEEE的標準和其他一些工業標準。其中STD_LOGIC_1164程序包最為常用,它是許多其他程序包的基礎。(2)STD庫 : 是符合VHDL語言標準的庫,使用時不需顯式聲明,它包含STANDARD、TEXTIO等程序包。 EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平(3)ASIC矢量庫 : 各公司提供的ASIC邏輯門庫。 (4)WORK 庫: 為現行作業庫,存放設計者的VHDL語言程序,是用戶自己的庫。使用時不需顯式聲明,但必需在根目錄下建立一個文件夾作為用戶項目目錄,這目錄將被綜合器默認為WORK 庫,但WORK 庫并不以這個文件夾的名字為名字,它的名字是WORK。(5)用戶自定義庫: 用戶自己定義的庫。3、程序包的定義 PACKAGE 程序包名 IS 程序包首說明語句; END[PACKAGE] 程序包名; PACKAGE BODY 程序包名 IS 程序包體說明語句; END [PACKAGE BODY] 包集合名; [重點提示]程序包體為可選項,程序包首與程序包體名字應相同; 4、庫與程序包的使用 除WORK、STD庫外,其他庫與程序包使用前首先要聲明。格式如下: LIBRARY 庫名; USE 庫名.程序包名.項目名; USE 庫名.程序包名.ALL; 最后的一個USE語句中的ALL表示使用這個程序包中的所有資源。例如: LIBRARY ALTERA; USE ALTERA.MAXPLUS2.ALL; LIBRARY IEEEE; USE IEEE.STD_LOGIC_1164.ALL; 庫說明的作用范圍從實體開始到其所屬構造體、配置為止。 使用下面語句使用用戶定義的程序包; USE work.包名.項目名; USE work.包名.ALL; 二、實體 實體(ENTITY)VHDL程序的主體,包括實體聲明和結構體兩部分。實體聲明部分描述所設計的電路與外部電路的接口,指定其輸入/輸出端口或引腳,而結構體則用來規定所設計電路的內部結構和輸入與輸出引腳間的邏輯關系。 實體聲明格式是:ENTITY 實體名 IS [GENERIC(類屬表);]----類屬參數聲明 PROT(端口表);----端口聲明END [ENTITY] 實體名; 1、類屬參數聲明 放在端口聲明之前,指定所設計電路所用到的類屬參數,如矢量位數、時間單位等,主要在進行考慮一般性的設計時用到,通過改變這些類屬參數可適應不同情況要求。 例如: GENERIC(n:POSITIVE:=8);---聲明一個類屬參數。 2、端口聲明 描述所設計的電路與外部電路的接口,指定其輸入/輸出端口或引腳。其格式如下:PORT(端口名: 端口方向 端口數據類型; …… 端口名: 端口方向 端口數據類型); 下面是一個實體聲明的例子:ENTITY and_n IS GENERIC(n:POSITIVE:=8);---聲明一個類屬參。省略部分。 所謂子類型是在預定義或用戶定義中,通過對某一數據類型作一些范圍限制而形成的一種新的數據類型。子類型定義的一般格式為: SUBTYPE 子類型名 IS 數據類型名 [范圍]; 子類型可以是對其父類型施加限制條件,也可以是簡單地對其父類型重新起個名字,而沒有增加任何新的意義。 (二)預定義數據類型與IEEE庫中所定義的數據類型 1、預定義數據類型 在VHDL標準庫STD中的程序包STANDARD中預定義了一系列常用的數據類型,稱預定義數據類型。使用這些數據類型不必顯示寫出所引用的庫與程序包的引用聲明。 (1) 位(BIT) 預定義枚舉類型BIT稱為位數據類型,只有‘0’和‘1’兩種值,代表電平的高低。 (2) 布爾量(BOOLEAN) 預定義枚舉類型BOOLEAN稱布爾量數據類型,只有兩種取值,FALSE和TURE。沒有數值的含義,不能進行算術運算。 (3) 錯誤等級(SEVERITY_LEVEL) (4) 字符(CHARACTER) 字符的值要用單引號括起來,如‘A’,并且對大小寫敏感。 (5) FILE_OPEN 預定義枚舉類型FILE_OPEN有READ_ MODE、WRITE_MODE和APPEND_MODE三種值。 (6) FILE_OPEN_STATUS 預定義枚舉類型FILE_OPEN_STATUS有OPEN _OK、STATUS_ERROR、NAME_ERROR和MODE_ERROR四種值。 以上是在VHDL標準程序包STANDARD中預定義的六種枚舉類型。 (7) 整數(INTEGER) 整數(INTEGER)與數學中的整數相似,包括正整數、零、負整數。 (8) 自然數類型(NATURAL) 自然數類型(NATURAL)是整數的子集,自然數包括零和正整數。 (9) 正整數類型(POSITIVE) (10) 實數類型(REAL) (11) 時間類型(TIME) (12)位矢量(BIT_VECTOR) 位矢量是用雙引號括起來的一組數據,是基于位數據類型的數組。 (13)字符串(STRING IS) 字符串是用雙引號括起來的一個字符序列,也稱為字符串向量或字符串數組。 2、IEEE庫中所定義的數據類型 在IEEE庫中有關的程序包中定義了一些的較常用的類型,因為這是在VHDL標準庫STD之外定義的數據類型,屬自定義型。使用這些數據類型時要顯示寫出所引用的庫與程序包的引用聲明。 (1) 標準邏輯位(STD_LOGIC) 在程序包STD_LOGIC_1164中定義了標準邏輯位STD_LOGIC枚舉類型,它包含九種(‘U’,--未初始化,‘X’,--強未知態,‘0’,--強0,‘1’,--強1, ‘Z’,--高阻,‘W’,--弱未知態,‘L’,--弱0,‘H’,--弱1,‘-’,--不關心); (2) 標準邏輯位矢量(STD_LOGIC_VECTOR) (3) 無符號數據類型(UNSIGNED) 無符號數據類型(UNSIGNED)代表一個無符號的數值,在綜合器中,這個數值被解釋為一個二進制數,其最左位是最高位。 (4) 有符號數據類型(SIGNED) 有符號數據類型(SIGNED)表示一個有符號的數值,綜合器將其解釋為補碼,此數的最高位是符號位。 (三) 用戶自定義數據類型 在VHDL中用戶自己可定義數據類型,其格式有如下兩種: TYPE 數據類型名{,數據類型名}IS 數據類型定義; TYPE 數據類型名{,數據類型名}IS 數據類型定義 OF 基本數據類型; 一個類型說明與其它類型說明所定義的范圍是不同的,在用VHDL對硬件描述時,有時一個對象可能取值的范圍是某個類型定義范圍的子集,這時就要用到子類型的概念。 子類型的格式如下: SUBTYPE 子類型名 IS 基本數據類型名[范圍限制];1、枚舉類型2、整數類型 3、浮點類型 4、物理類型 5、數組類型 6、記錄類型 7、存取類型與文件類型 (四)數據類型的轉換 在VHDL語言中,數據的定義是相當嚴格的,不同類型數據是不能進行運算和直接賦值的。為了實現正確的運算和賦值和賦值操作,必須將數據進行類型轉換。數據類型轉換有如下兩種方式: 1. 類型轉換函數方式 2.直接類型轉換方式 四、運算操作符 VHDL的運算操作符可分:邏輯操作符、關系操作符、算術操作符、移位操作符和符號操作符等如下表所示: 表4-7 VHDL的運算操作符列表 類型操作符功能操作數類型 邏輯操作符AND與Boolean、bit、std_logicOR或Boolean、bit、std_logicNAND與非Boolean、bit、std_logicNOR或非Boolean、bit、std_logicXOR異或Boolean、bit、std_logicXNOR異或非Boolean、bit、std_logicNOT非Boolean、bit、std_logic關系操作符=等于任意數據類型/=不等于任意數據類型大于枚舉與整數類型及對應的一維數組=大于等于枚舉與整數類型及對應的一維數組算術操作符 +加整數-減整數&連接一維數組*乘整數和浮點數/除整數和浮點數MOD求模整數REM取余整數**指數整數ABS取絕對值整數位移操作符SLL邏輯左移Boolean或bit一維數組SRL邏輯右移Boolean或bit一維數組SLA算術左移Boolean或bit一維數組SRA算術由移Boolean或bit一維數組ROL循環左移Boolean或bit一維數組ROR循環右移Boolean或bit一維數組符號操作符+正整數-負整數運算操作符使用在使用時要注意它們的優先級。 EDA技術與VHDL實用教程作者: 蘇莉萍 陳東 廖超平本 章 小 結VHDL程序分析與設計VHDL基本結構分析VHDL順序結構分析VHDL并行結構分析VHDL基本結構設計VHDL順序結構設計VHDL并行結構設計
關 鍵 詞:
vhdl 教案 電子 動畫 教程 實用 源程序 設計 技術 eda
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:eda技術與vhdl實用教程電子教案動畫源程序 廖超平第4章 VHDL設計入門.ppt
鏈接地址: http://www.476824.live/p-51617318.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 甘肃十一选五玩法规则 11选五5开奖结果江苏 北京十一选五一定用 河南22选5开奖数据 七位数历史开奖查询 广西体彩十一选5走势图 日本东京快乐8开奖结果 云南11选五5今天开奖结果查询 019创业交流微信群 内蒙古快3开奖