




已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
vhdl語言 第一章vhdl初探 1 1vhdl簡介 hdl語言是一種支持用形式化方法來描述數(shù)字邏輯電路和系統(tǒng)的語言 vhdl語言源于美國國防部發(fā)起的vhsic veryhighspeedintegratedcircuits 計(jì)劃 1987年12月ieee批準(zhǔn)vhdl為標(biāo)準(zhǔn)hdl語言 ieee 1076 稱為vhdl 87 1993年修訂為vhdl 93 2001年修訂為vhdl2001 ieee 1076 1vhdl ams ieee 1076 2mathematicalpackages ieee 1076 3synthesispackages ieee 1076 4vital ieeestandard1164multi valuelogicsystem 1 1 1vhdl特點(diǎn) 1 支持 自頂向下 的設(shè)計(jì)方法 vhdl語言支持自頂向下的系統(tǒng)劃分 直至劃分后的最底層單元能用圖元 primitiveelement 來實(shí)現(xiàn)為止 圖元就是基本邏輯單元 宏模型或ip core 2 系統(tǒng)硬件描述能力強(qiáng)3 系統(tǒng)仿真能力強(qiáng)最初是作為仿真標(biāo)準(zhǔn)推出4 工藝無關(guān)性與使用的芯片無關(guān)5 其他并行性 1 1 2設(shè)計(jì)流程 1 畫出系統(tǒng)框圖2編碼 寫程序3 編譯語法檢查4 功能仿真驗(yàn)證系統(tǒng)功能是否正確 不涉及硬件5 綜合1 生成門級(jí)描述的網(wǎng)表文件2 轉(zhuǎn)換為硬件的關(guān)鍵步驟3 可以設(shè)定一些約束6 適配利用網(wǎng)表文件針對(duì)某一目標(biāo)器件進(jìn)行邏輯操作如 器件配置 邏輯分割 邏輯優(yōu)化 布局布線7 時(shí)序仿真適配后的仿真8 下載到器件 1 1 3如何學(xué)好 1 掌握時(shí)鐘的概念2 注意和軟件編程的區(qū)別3 語法貴精 不在多 靠練不靠背4 注意可綜合性 第二章vhdl入門 2 1vhdl程序結(jié)構(gòu)1 庫存放已經(jīng)編譯的包集合 實(shí)體 結(jié)構(gòu)體和配置 像c語言里的庫 2 包 聲明在實(shí)體中用的信號(hào)定義 常數(shù)定義 數(shù)據(jù)類型 元件語句 函數(shù)定義等3 實(shí)體 定義電路的輸入和輸出接口4 結(jié)構(gòu)體 描述電路的內(nèi)部結(jié)構(gòu) 2 1 1實(shí)體 定義電路的輸入和輸出接口格式entityis generic port 端口名1 端口方向端口類型 端口名2 端口方向端口類型 端口名n 端口方向端口類型 end 2 1 1實(shí)體 格式說明 1 實(shí)體名 名稱一般與文件名相同 2 類屬參數(shù) 提供用于規(guī)定端口大小 元件數(shù)目 定時(shí)的參數(shù) 3 端口名設(shè)計(jì)者用于定義端口引腳名 一般名稱有實(shí)際意義 4 端口方向 端口方向 1 輸入in注意 只能做輸入 即所定義的管腳只能放在等式的右邊2 輸出out注意 只能做輸出 即所定義的管腳只能放在等式的左邊3 雙向inout雙向即可做輸入也可做輸出 注意 管腳做為輸出后 必須置為高阻態(tài)后 才能做輸入4 輸出buffer輸出 結(jié)構(gòu)體內(nèi)部可讀取 5 端口類型std logic std logic vector integer 補(bǔ)充說明 1 可將幾個(gè)方向 類型相同的信號(hào)放在一個(gè)語句中a b instd logic 2 最后一條端口說明語句后不可加分號(hào) 3 實(shí)體名和端口名 1 必須是字母和數(shù)字以及 下劃線組成 并且開頭必須是字母 2 不能是保留字 2 1 2結(jié)構(gòu)體 一個(gè)實(shí)體可對(duì)應(yīng)多個(gè)結(jié)構(gòu)體 同一時(shí)刻只有一個(gè)結(jié)構(gòu)體起作用 可以通過配置語句決定哪一個(gè)結(jié)構(gòu)體起作用注意 我們只用一個(gè)結(jié)構(gòu)體 2 1 2結(jié)構(gòu)體 語法格式 architecture結(jié)構(gòu)體名of實(shí)體名is 聲明語句區(qū) begin語功能描述句end 結(jié)構(gòu)體名 實(shí)體名必須與實(shí)體聲明部分所取的名字相同 2 1 2結(jié)構(gòu)體 注意 聲明語句用于說明和定義內(nèi)部信號(hào) 常量 數(shù)據(jù)類型 子過程 元件等 內(nèi)部說明信號(hào)不必規(guī)定信號(hào)方向 功能描述語句允許信號(hào)賦值 塊 進(jìn)程 子程序調(diào)用 生成 元件例示等語句 功能描述語句主要用到1 進(jìn)程語句2 信號(hào)賦值語句3 元件例化語句例 2 1 3庫和包的調(diào)用 libraryieee useieee std logic 1164 all useieee std logic arith all useieee std logic unsigned all 2 2vhdl基本數(shù)據(jù)類型 強(qiáng)數(shù)據(jù)類型語言 只有相同數(shù)據(jù)類型的量才能互相傳遞 2 2 1vhdl預(yù)定義數(shù)據(jù)類型 1 布爾數(shù)據(jù)類型值范圍true 1 false 0 用于邏輯關(guān)系2 位數(shù)據(jù)類型bit0 13 位矢量數(shù)據(jù)類型位矢量基于位的數(shù)組bit vector 0ton bit vector ndownto0 關(guān)鍵字to表示數(shù)組從左到右升序排列關(guān)鍵字downto表示數(shù)組從右到左降序排列使用downto 2 2 1預(yù)定義數(shù)據(jù)類型 4 整數(shù)數(shù)據(jù)類型integerrange to range to 必有32位取值范圍 231 1 231 1 補(bǔ)碼形式 其他數(shù)據(jù)類型錯(cuò)誤等級(jí) 實(shí)數(shù)和時(shí)間等不能綜合 2 2 2ieee預(yù)定義標(biāo)準(zhǔn)邏輯位與矢量 1 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型std logic九值系統(tǒng)四種狀態(tài)可被綜合0 1 z2 標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型是基于標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型的數(shù)組std logic vector 0ton std logic vector ndownto0 同bit vector 2 2 3用戶自定義數(shù)據(jù)類型 1 枚舉數(shù)據(jù)類型語法格式type數(shù)據(jù)類型名is 元素1 元素2 用于狀態(tài)機(jī)例typestate typeis start step1 step2 final signalstate state type 數(shù)據(jù)類型總結(jié) 1 編程中只使用std logic std logic vector integer和枚舉數(shù)據(jù)類型其中枚舉數(shù)據(jù)類型用于狀態(tài)機(jī)integer盡量不用2 數(shù)的表示矢量 即大于1位寬 二進(jìn)制b b可以省略八進(jìn)制o 可以表示位寬為3的倍數(shù)十六進(jìn)制x 可以表示位寬為4的倍數(shù)十進(jìn)制n標(biāo)量用單引號(hào) 2 3vhdl數(shù)據(jù)對(duì)象 3種 信號(hào) signal 變量 variable 和常量 constant 變量 variable 和常量 constant 于軟件高級(jí)語言中的相似信號(hào)具有硬件特性 特有的數(shù)據(jù)對(duì)象 2 3 1信號(hào) 信號(hào)是用來描述實(shí)體內(nèi)部節(jié)點(diǎn)的數(shù)據(jù)類型語法格式signal信號(hào)名 數(shù)據(jù)類型 例如 signaltemp sum std logic vector 3downto0 signala b std logic 1 信號(hào)和端口都描述電路中的實(shí)際存在的節(jié)點(diǎn) 只是信號(hào)描述的是內(nèi)部節(jié)點(diǎn) 而端口則描述實(shí)體與外界的接口2 實(shí)體有方向 其他一樣3 信號(hào)賦值語句格式目標(biāo)信號(hào)名 表達(dá)式例 見書34頁 4 賦值語句等式兩邊的位數(shù)要相等例 書35頁5 信號(hào)的賦值具有 非立即性 會(huì)有延時(shí) 2 3 2變量 1 只能在進(jìn)程和子程序中使用 用于描述算法和方面程序中的數(shù)值運(yùn)算 2 語法格式variable變量名 數(shù)據(jù)類型 3 賦值語句的格式目標(biāo)變量名 表達(dá)式 4 變量和信號(hào)區(qū)別信號(hào)對(duì)應(yīng)具體的硬件 變量無硬件對(duì)應(yīng)信號(hào)賦值有延時(shí)性 變量賦值無延時(shí)性5 我們這門課不用 2 3 3常數(shù) 書寫格式 constant常量名 數(shù)據(jù)類型 作用 1 保證常數(shù)描述的數(shù)據(jù)在程序中不會(huì)因誤操作被改變2 對(duì)程序中某些關(guān)鍵數(shù)據(jù)值命名 可以提高程序的可讀性3 將出現(xiàn)次數(shù)多的關(guān)鍵數(shù)值用數(shù)值表示 易于修改例 2 4vhdl運(yùn)算符 2 4 1算術(shù)運(yùn)算符 mod rem abs 可以綜合 但不推薦用 如果用乘法 選用庫函數(shù) 只有除數(shù)是2的n次冪才能綜合 不用如果用的話 選用庫函數(shù)其他不能綜合 2 4 2并置運(yùn)算符 用于多個(gè)元素或矢量連接成新的矢量例 2 4 3關(guān)系運(yùn)算符 2 4 4邏輯運(yùn)算符 not優(yōu)先級(jí)最高and or nor xor xnor nand優(yōu)先級(jí)無從左到右的結(jié)合順序用括號(hào)例 2 5并行語句 1 區(qū)別于軟件語言 2 所有語句同時(shí)執(zhí)行 與書寫順序無關(guān) 3 并行語句的內(nèi)部可以是并行的 也可以是順序的 進(jìn)程語句 主要有 進(jìn)程語句 并行信號(hào)賦值語句 元件例化語句 生成語句 2 5 1并行信號(hào)賦值語句 1 簡單信號(hào)賦值語句目標(biāo)信號(hào)名 表達(dá)式 2 選擇信號(hào)賦值語句 語法格式 with選擇表達(dá)式select賦值信號(hào)名 表達(dá)式1when選擇值1 表達(dá)式2when選擇值2 表達(dá)式nwhenothers 表達(dá)式是指某一值 某一個(gè)信號(hào)或運(yùn)算式 同c語言 用 符號(hào)表示或 2 選擇信號(hào)賦值語句 注意 1 選擇值必須互斥2 選擇值必須覆蓋所有可能情況 若不能一一指定 要用others3 由于用std logic 所以必須用others4 無優(yōu)先級(jí) 例 8路4選一復(fù)用器 3 條件信號(hào)賦值語句 語法格式賦值目標(biāo)信號(hào) 表達(dá)式1when賦值條件1else表達(dá)式2when賦值條件2else 表達(dá)式nwhen賦值條件nelse表達(dá)式 有優(yōu)先級(jí) 例 8輸入優(yōu)先編碼器 2 5 2進(jìn)程語句 特點(diǎn)1 本身是并行語句 內(nèi)部是順序語句2 進(jìn)程只有在特定的時(shí)刻 敏感信號(hào)發(fā)生變化時(shí) 才會(huì)被激活 3 主要用于時(shí)序電路注意 1 2主要從語法上說的 1 進(jìn)程語句的語法格式 進(jìn)程標(biāo)號(hào) process 敏感信號(hào)表 is 聲明區(qū) begin順序語句 endprocess 進(jìn)程標(biāo)號(hào) 注 敏感信號(hào)表 信號(hào)名1 信號(hào)名 1 進(jìn)程標(biāo)號(hào)不是必需的 主要是提高可讀性2 敏感信號(hào)參數(shù)表進(jìn)程只有在敏感信號(hào)發(fā)生變化是才被激活注意 一個(gè)進(jìn)程可有多個(gè)敏感信號(hào) 任一敏感信號(hào)變化都能激活進(jìn)程 3 定義一些局部量 如變量4 順序語句 2 2進(jìn)程的工作原理 12 3 進(jìn)程與時(shí)鐘 1 進(jìn)程與時(shí)鐘的關(guān)系時(shí)鐘上升沿或下降沿是敏感信號(hào)每個(gè)上升沿或下降沿啟動(dòng)一次進(jìn)程 執(zhí)行進(jìn)程中所有語句 而不是執(zhí)行一條語句 2 時(shí)鐘沿的vhdl描述法 上升沿clock eventandclock 1 rising edge clock 下降沿clock eventandclock 0 falling edge clock 其中clock是定義的時(shí)鐘信號(hào) 也可以用其他符號(hào)定義如 clk 實(shí)例 2分頻 5 進(jìn)程要點(diǎn) 1 進(jìn)程語句本身是并行語句 內(nèi)部是順序語句 從語法上 2 進(jìn)程在敏感信號(hào)發(fā)生變化時(shí)被激活 從語法上 3 在同一進(jìn)程中對(duì)同一信號(hào)多次賦值 只有最后一次有效 重要 例4 在不同進(jìn)程中 不可對(duì)同一信號(hào)進(jìn)行賦值5 一個(gè)進(jìn)程不可對(duì)時(shí)鐘上升沿和下降沿同時(shí)敏感 沒有這種器件 例6 進(jìn)程中信號(hào)賦值是在進(jìn)程掛起是生效的 變量賦值是即時(shí)生效的 2 6順序語句 特點(diǎn) 每一條順序語句的執(zhí)行順序與其書寫順序?qū)?yīng) 改變順暢語句的書寫順序有可能改變 不是必然 綜合結(jié)果 順序語句只能出現(xiàn)在進(jìn)程和子程序中 注意 順序執(zhí)行是指仿真意義上的順序性 并不指對(duì)應(yīng)的硬件結(jié)構(gòu)有順序性 硬件是并行執(zhí)行的 2 6 1賦值語句 信號(hào)賦值和變量賦值注意 信號(hào)賦值的延時(shí)性和變量賦值立即性例 2 6 2流程控制語句 1 if語句if條件式then順序語句 elsif條件式then順序語句 else順序語句 endif 順序語句是指所有的順序語句 if語句 1 if語句可以嵌套 但不易太多2 不能有比clk信號(hào) 上升沿或下降沿 優(yōu)先級(jí)更低的else或elsif語句 case語句 case表達(dá)式iswhen選擇值 選擇值 順序語句 when選擇值 選擇值 順序語句 whenothers 順序語句 endcase 1 無優(yōu)先級(jí)2 選擇值不可重復(fù)3 others必有 3 loop語句 for循環(huán)變量in變量范圍loop順序語句 endloop 1 循環(huán)變量僅在loop語句中有效 不需事先定義 但不能與process聲明中的變量同名2 變量范圍 to 或 downto 3 標(biāo)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)正規(guī)合同范本
- 別墅購銷合同范本
- 信用擔(dān)保貸款合同范本
- 制作人合同范本
- 單位房屋租用合同范本
- 中介用代管合同范本
- 農(nóng)藥國際銷售合同范本
- 關(guān)于工地買賣合同范例
- 制作安裝勞務(wù)合同范本
- 北京車輛 合同范例
- 新風(fēng)施工合同
- 2025-2030年園藝修剪機(jī)器人行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)第四單元測(cè)試卷(含答案)
- 2025年湖北省技能高考(建筑技術(shù)類)《建筑工程測(cè)量》模擬練習(xí)試題庫(含答案)
- 2024-2027年中國網(wǎng)絡(luò)安全評(píng)估行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略研究報(bào)告
- 北師大版二年級(jí)數(shù)學(xué)下冊(cè)各單元測(cè)試卷
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- GB/T 12996-2024電動(dòng)輪椅車
- 成人氧氣吸入療法-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊(cè)
- 西師版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件【完整版】
評(píng)論
0/150
提交評(píng)論