已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
vhdl語(yǔ)言 第一章vhdl初探 1 1vhdl簡(jiǎn)介 hdl語(yǔ)言是一種支持用形式化方法來(lái)描述數(shù)字邏輯電路和系統(tǒng)的語(yǔ)言 vhdl語(yǔ)言源于美國(guó)國(guó)防部發(fā)起的vhsic veryhighspeedintegratedcircuits 計(jì)劃 1987年12月ieee批準(zhǔn)vhdl為標(biāo)準(zhǔn)hdl語(yǔ)言 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語(yǔ)言支持自頂向下的系統(tǒng)劃分 直至劃分后的最底層單元能用圖元 primitiveelement 來(lái)實(shí)現(xiàn)為止 圖元就是基本邏輯單元 宏模型或ip core 2 系統(tǒng)硬件描述能力強(qiáng)3 系統(tǒng)仿真能力強(qiáng)最初是作為仿真標(biāo)準(zhǔn)推出4 工藝無(wú)關(guān)性與使用的芯片無(wú)關(guān)5 其他并行性 1 1 2設(shè)計(jì)流程 1 畫出系統(tǒng)框圖2編碼 寫程序3 編譯語(yǔ)法檢查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 語(yǔ)法貴精 不在多 靠練不靠背4 注意可綜合性 第二章vhdl入門 2 1vhdl程序結(jié)構(gòu)1 庫(kù)存放已經(jīng)編譯的包集合 實(shí)體 結(jié)構(gòu)體和配置 像c語(yǔ)言里的庫(kù) 2 包 聲明在實(shí)體中用的信號(hào)定義 常數(shù)定義 數(shù)據(jù)類型 元件語(yǔ)句 函數(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í)體 格式說(shuō)明 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ǔ)充說(shuō)明 1 可將幾個(gè)方向 類型相同的信號(hào)放在一個(gè)語(yǔ)句中a b instd logic 2 最后一條端口說(shuō)明語(yǔ)句后不可加分號(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)體起作用 可以通過(guò)配置語(yǔ)句決定哪一個(gè)結(jié)構(gòu)體起作用注意 我們只用一個(gè)結(jié)構(gòu)體 2 1 2結(jié)構(gòu)體 語(yǔ)法格式 architecture結(jié)構(gòu)體名of實(shí)體名is 聲明語(yǔ)句區(qū) begin語(yǔ)功能描述句end 結(jié)構(gòu)體名 實(shí)體名必須與實(shí)體聲明部分所取的名字相同 2 1 2結(jié)構(gòu)體 注意 聲明語(yǔ)句用于說(shuō)明和定義內(nèi)部信號(hào) 常量 數(shù)據(jù)類型 子過(guò)程 元件等 內(nèi)部說(shuō)明信號(hào)不必規(guī)定信號(hào)方向 功能描述語(yǔ)句允許信號(hào)賦值 塊 進(jìn)程 子程序調(diào)用 生成 元件例示等語(yǔ)句 功能描述語(yǔ)句主要用到1 進(jìn)程語(yǔ)句2 信號(hào)賦值語(yǔ)句3 元件例化語(yǔ)句例 2 1 3庫(kù)和包的調(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ù)類型語(yǔ)言 只有相同數(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ù)類型語(yǔ)法格式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í)語(yǔ)言中的相似信號(hào)具有硬件特性 特有的數(shù)據(jù)對(duì)象 2 3 1信號(hào) 信號(hào)是用來(lái)描述實(shí)體內(nèi)部節(jié)點(diǎn)的數(shù)據(jù)類型語(yǔ)法格式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)賦值語(yǔ)句格式目標(biāo)信號(hào)名 表達(dá)式例 見書34頁(yè) 4 賦值語(yǔ)句等式兩邊的位數(shù)要相等例 書35頁(yè)5 信號(hào)的賦值具有 非立即性 會(huì)有延時(shí) 2 3 2變量 1 只能在進(jìn)程和子程序中使用 用于描述算法和方面程序中的數(shù)值運(yùn)算 2 語(yǔ)法格式variable變量名 數(shù)據(jù)類型 3 賦值語(yǔ)句的格式目標(biāo)變量名 表達(dá)式 4 變量和信號(hào)區(qū)別信號(hào)對(duì)應(yīng)具體的硬件 變量無(wú)硬件對(duì)應(yīng)信號(hào)賦值有延時(shí)性 變量賦值無(wú)延時(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 可以綜合 但不推薦用 如果用乘法 選用庫(kù)函數(shù) 只有除數(shù)是2的n次冪才能綜合 不用如果用的話 選用庫(kù)函數(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í)無(wú)從左到右的結(jié)合順序用括號(hào)例 2 5并行語(yǔ)句 1 區(qū)別于軟件語(yǔ)言 2 所有語(yǔ)句同時(shí)執(zhí)行 與書寫順序無(wú)關(guān) 3 并行語(yǔ)句的內(nèi)部可以是并行的 也可以是順序的 進(jìn)程語(yǔ)句 主要有 進(jìn)程語(yǔ)句 并行信號(hào)賦值語(yǔ)句 元件例化語(yǔ)句 生成語(yǔ)句 2 5 1并行信號(hào)賦值語(yǔ)句 1 簡(jiǎn)單信號(hào)賦值語(yǔ)句目標(biāo)信號(hào)名 表達(dá)式 2 選擇信號(hào)賦值語(yǔ)句 語(yǔ)法格式 with選擇表達(dá)式select賦值信號(hào)名 表達(dá)式1when選擇值1 表達(dá)式2when選擇值2 表達(dá)式nwhenothers 表達(dá)式是指某一值 某一個(gè)信號(hào)或運(yùn)算式 同c語(yǔ)言 用 符號(hào)表示或 2 選擇信號(hào)賦值語(yǔ)句 注意 1 選擇值必須互斥2 選擇值必須覆蓋所有可能情況 若不能一一指定 要用others3 由于用std logic 所以必須用others4 無(wú)優(yōu)先級(jí) 例 8路4選一復(fù)用器 3 條件信號(hào)賦值語(yǔ)句 語(yǔ)法格式賦值目標(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)程語(yǔ)句 特點(diǎn)1 本身是并行語(yǔ)句 內(nèi)部是順序語(yǔ)句2 進(jìn)程只有在特定的時(shí)刻 敏感信號(hào)發(fā)生變化時(shí) 才會(huì)被激活 3 主要用于時(shí)序電路注意 1 2主要從語(yǔ)法上說(shuō)的 1 進(jìn)程語(yǔ)句的語(yǔ)法格式 進(jìn)程標(biāo)號(hào) process 敏感信號(hào)表 is 聲明區(qū) begin順序語(yǔ)句 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 順序語(yǔ)句 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)程中所有語(yǔ)句 而不是執(zhí)行一條語(yǔ)句 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)程語(yǔ)句本身是并行語(yǔ)句 內(nèi)部是順序語(yǔ)句 從語(yǔ)法上 2 進(jìn)程在敏感信號(hào)發(fā)生變化時(shí)被激活 從語(yǔ)法上 3 在同一進(jìn)程中對(duì)同一信號(hào)多次賦值 只有最后一次有效 重要 例4 在不同進(jìn)程中 不可對(duì)同一信號(hào)進(jìn)行賦值5 一個(gè)進(jìn)程不可對(duì)時(shí)鐘上升沿和下降沿同時(shí)敏感 沒(méi)有這種器件 例6 進(jìn)程中信號(hào)賦值是在進(jìn)程掛起是生效的 變量賦值是即時(shí)生效的 2 6順序語(yǔ)句 特點(diǎn) 每一條順序語(yǔ)句的執(zhí)行順序與其書寫順序?qū)?yīng) 改變順暢語(yǔ)句的書寫順序有可能改變 不是必然 綜合結(jié)果 順序語(yǔ)句只能出現(xiàn)在進(jìn)程和子程序中 注意 順序執(zhí)行是指仿真意義上的順序性 并不指對(duì)應(yīng)的硬件結(jié)構(gòu)有順序性 硬件是并行執(zhí)行的 2 6 1賦值語(yǔ)句 信號(hào)賦值和變量賦值注意 信號(hào)賦值的延時(shí)性和變量賦值立即性例 2 6 2流程控制語(yǔ)句 1 if語(yǔ)句if條件式then順序語(yǔ)句 elsif條件式then順序語(yǔ)句 else順序語(yǔ)句 endif 順序語(yǔ)句是指所有的順序語(yǔ)句 if語(yǔ)句 1 if語(yǔ)句可以嵌套 但不易太多2 不能有比clk信號(hào) 上升沿或下降沿 優(yōu)先級(jí)更低的else或elsif語(yǔ)句 case語(yǔ)句 case表達(dá)式iswhen選擇值 選擇值 順序語(yǔ)句 when選擇值 選擇值 順序語(yǔ)句 whenothers 順序語(yǔ)句 endcase 1 無(wú)優(yōu)先級(jí)2 選擇值不可重復(fù)3 others必有 3 loop語(yǔ)句 for循環(huán)變量in變量范圍loop順序語(yǔ)句 endloop 1 循環(huán)變量?jī)H在loop語(yǔ)句中有效 不需事先定義 但不能與process聲明中的變量同名2 變量范圍 to 或 downto 3 標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ùn)輸安全協(xié)議書3篇
- 服務(wù)行業(yè)安全管理工作總結(jié)
- 二零二五年度個(gè)人停車位使用權(quán)投資分紅協(xié)議4篇
- 二零二五年度離婚協(xié)議流程指導(dǎo)與婚姻登記服務(wù)合同2篇
- 二零二五年度智慧家居個(gè)人工程承包合同范本2篇
- 【培訓(xùn)教材】醫(yī)院消毒供應(yīng)中心(CSSD)技術(shù)操作規(guī)范解讀
- 通訊行業(yè)銷售總監(jiān)工作總結(jié)
- 二零二五年個(gè)人合伙清算協(xié)議書(清算后續(xù)合作)3篇
- 二零二五年度內(nèi)陸淡水水庫(kù)漁業(yè)開發(fā)承包合同3篇
- 二零二五年度家政服務(wù)銷售返利合同范本
- 婚介公司紅娘管理制度
- 煤礦電氣試驗(yàn)規(guī)程
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 物業(yè)客服培訓(xùn)課件PPT模板
- 員工工資條模板
- 執(zhí)行依據(jù)主文范文(通用4篇)
- 浙教版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件
- 華為攜手深圳國(guó)際會(huì)展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過(guò)程工程咨詢服務(wù)技術(shù)方案
評(píng)論
0/150
提交評(píng)論