![FPGA道理及應(yīng)用-VHDL設(shè)計(jì)初步[精華].ppt_第1頁](http://file.renrendoc.com/FileRoot1/2019-1/28/936943fa-dd13-4adc-9cc0-889b71bfe053/936943fa-dd13-4adc-9cc0-889b71bfe0531.gif)
![FPGA道理及應(yīng)用-VHDL設(shè)計(jì)初步[精華].ppt_第2頁](http://file.renrendoc.com/FileRoot1/2019-1/28/936943fa-dd13-4adc-9cc0-889b71bfe053/936943fa-dd13-4adc-9cc0-889b71bfe0532.gif)
![FPGA道理及應(yīng)用-VHDL設(shè)計(jì)初步[精華].ppt_第3頁](http://file.renrendoc.com/FileRoot1/2019-1/28/936943fa-dd13-4adc-9cc0-889b71bfe053/936943fa-dd13-4adc-9cc0-889b71bfe0533.gif)
![FPGA道理及應(yīng)用-VHDL設(shè)計(jì)初步[精華].ppt_第4頁](http://file.renrendoc.com/FileRoot1/2019-1/28/936943fa-dd13-4adc-9cc0-889b71bfe053/936943fa-dd13-4adc-9cc0-889b71bfe0534.gif)
![FPGA道理及應(yīng)用-VHDL設(shè)計(jì)初步[精華].ppt_第5頁](http://file.renrendoc.com/FileRoot1/2019-1/28/936943fa-dd13-4adc-9cc0-889b71bfe053/936943fa-dd13-4adc-9cc0-889b71bfe0535.gif)
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
FPGA 原理及應(yīng)用,第 4 章 VHDL設(shè)計(jì)初步,牡蛇狠盂膩癢燈摟蓬汁挾鉻京綏汞餅舵也欣叔陀耐鎂過酉仿瓶贍版急之棵FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,原理圖輸入與 VHDL文本輸入設(shè)計(jì)的區(qū)別 Graphic is what you draw is what you get “ tell me what hardware you want and I will give it to you” VHDL is what you write is what functional you get “ tell me how your circuit should behave and the VHDL compiler will give you the hardware that does the job” but the designer can not control how the circuit implement,吼小俐敷漠恰摹違曹竅擻悄懶垃磺級(jí)炸撰叉拒祝壺膘號(hào)并肋繹辨菏千鉛全FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,是什么是VHDL?,Very high speed integrated Hardware Description Language (VHDL) 是IEEE、工業(yè)標(biāo)準(zhǔn)硬件描述語言 用語言的方式而非圖形等方式描述硬件電路 容易修改 容易保存 特別適合于設(shè)計(jì)的電路有: 復(fù)雜組合邏輯電路,如: 譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器. 狀態(tài)機(jī) 等等,衙采稗拙胡眠賄沮常補(bǔ)宗驚憊役督冰廉催惋科皚厲僥淪滁滓拙幢包胯廈氟FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,VHDL的功能和標(biāo)準(zhǔn),VHDL 描述 輸入端口 輸出端口 電路的行為和功能 VHDL有過兩個(gè)標(biāo)準(zhǔn): IEEE Std 1076-1987 (called VHDL 1987) IEEE Std 1076-1993 (called VHDL 1993),哉弓漆臃舌滾故蕪瞎瘧枷詐擯疏鱗寢蘊(yùn)伴悼逼崇躍炒照稿鐘選汕犬竄鮑校FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,VHDL Synthesis vs. other HDLs Synthesis,VHDL: “tell me how your circuit should behave and I will give you hardware that does the job” ABEL, PALASM, AHDL: “tell me what hardware you want and I will give it to you”,池瓣窿磐腑持禽組專沏師絮匈二鈣君陣剮赴蕩肺箋乍腰導(dǎo)豎篇?jiǎng)畔T延侯FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,Why using VHDL instead of Graphic,Easy to Modify It is more powerful than Graphic VHDL is a portable language because is device independent the same code can be applied to Device manufactured by Company A or Company B,為肉老阮致牟酮晝尾癢頹溜牡酮附巨趕診鐮妻孫撞遣亨蕩廁肆陳贖凡渦容FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.1 常用硬件描述語言簡介,常用硬件描述語言有VHDL、Verilog和ABEL語言。VHDL起源于美國國防部的VHSIC,Verilog起源于集成電路的設(shè)計(jì),ABEL則來源于可編程邏輯器件的設(shè)計(jì)。下面從使用方面將三者進(jìn)行對(duì)比。 (1) 邏輯描述層次:一般的硬件描述語言可以在三個(gè)層次上進(jìn)行電路描述,其層次由高到低依次可分為行為級(jí)、RTL級(jí)和門電路級(jí)。VHDL語言是一種高級(jí)描述語言,適用于行為級(jí)和RTL級(jí)的描述,最適于描述電路的行為;Verilog語言和ABEL語言是一種較低級(jí)的描述語言,適用于RTL級(jí)和門電路級(jí)的描述,最適于描述門級(jí)電路。,空癱公登推屜瞄逛盒謅洼妖頸峙處挨儉妨徘退吼巨綱壯削署杜噴體笑電穢FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.1 常用硬件描述語言簡介,(2) 設(shè)計(jì)要求:VHDL進(jìn)行電子系統(tǒng)設(shè)計(jì)時(shí)可以不了解電路的結(jié)構(gòu)細(xì)節(jié),設(shè)計(jì)者所做的工作較少;Verilog和ABEL語言進(jìn)行電子系統(tǒng)設(shè)計(jì)時(shí)需了解電路的結(jié)構(gòu)細(xì)節(jié),設(shè)計(jì)者需做大量的工作。 (3) 綜合過程:任何一種語言源程序,最終都要轉(zhuǎn)換成門電路級(jí)才能被布線器或適配器所接受。因此,VHDL語言源程序的綜合通常要經(jīng)過行為級(jí)RTL級(jí)門電路級(jí)的轉(zhuǎn)化,VHDL幾乎不能直接控制門電路的生成。而Verilog語言和ABEL語言源程序的綜合過程要稍簡單,即經(jīng)過RTL級(jí)門電路級(jí)的轉(zhuǎn)化,易于控制電路資源。,窟蜜酋惡我曠懷詳烽淺刊吟繳深冗佳培閡綽甚晚齒宗亂眨頤訂環(huán)現(xiàn)劃毫躬FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.1 常用硬件描述語言簡介,(4) 對(duì)綜合器的要求:VHDL描述語言層次較高,不易控制底層電路,因而對(duì)綜合器的性能要求較高,Verilog和ABEL對(duì)綜合器的性能要求較低。 (5) 支持的EDA工具:支持VHDL和Verilog的EDA工具很多,但支持ABEL的綜合器僅僅Dataio一家。 (6) 國際化程度:VHDL和Verilog已成為IEEE標(biāo)準(zhǔn),而ABEL正朝國際化標(biāo)準(zhǔn)努力。,閣沮嶄曙碘倫車臟知幼續(xù)舅浚馱參繞泣蓮獲輕荊固攝蹲哨釩邏薊孽輥墨無FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.2 VHDL的優(yōu)點(diǎn),VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底, IEEE公布了VHDL的標(biāo)準(zhǔn)版本(IEEE-1076) 。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL與Verilog語言將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。,播矮享揩牟戈挑嗅爺蘊(yùn)妓睜石瞧赦陡褐控衰項(xiàng)恭駛烈擒秤泵婦沮椽?jiǎng)C庚廟FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.2 VHDL的優(yōu)點(diǎn),(1) VHDL具有更強(qiáng)的行為描述能力。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。就目前流行的EDA工具和VHDL綜合器而言,將基于抽象的行為描述風(fēng)格的VHDL程序綜合成為具體的FPGA和CPLD等目標(biāo)器件的網(wǎng)表文件已不成問題,只是在綜合與優(yōu)化效率上略有差異。 (2) VHDL具有豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期,就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)系統(tǒng)進(jìn)行仿真模擬,使設(shè)計(jì)者對(duì)整個(gè)工程的結(jié)構(gòu)和功能可行性做出判斷。,包沫畝鉆鯨狗修廬軀績熟冰戈侖犬確秋和笆雕拼艾倡刑山補(bǔ)是兜兆鑿紋傅FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.1 概述,4.1.2 VHDL的優(yōu)點(diǎn),(3) VHDL語句的行為描述能力和程序結(jié)構(gòu),決定了它具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速的完成必須有多人甚至多個(gè)開發(fā)組共同并行工作才能實(shí)現(xiàn),VHDL中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫的概念為設(shè)計(jì)的分解和并行工作提供了有利的支持。,漫墅傀淡煙盤削耀幀戰(zhàn)沉票摔派徘鈔祖掃琉廁而鏈裔痢天午瞞淡料幻零熱FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,【例4-1】 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,實(shí)體,結(jié)構(gòu)體,圖4-1 mux21a實(shí)體,圖4-2 mux21a結(jié)構(gòu)體,嘴址董惠炔滾藍(lán)估榨筑轟燭雷哆漳穎噶告福摹鄖斃窗丈篷逛跑抗?fàn)I兇周譚FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,【例4-2】 ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END ENTITY e_name; 【例4-2】 ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END e_name;,損紋嘔勾斗炕懾坤意益粥令澄定蓖鎢懂屋棚臨狐肪彰突膠脊狠竣礫雞瘡封FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,【例4-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS; END ARCHITECTURE one ;,蘑則齊趾洋才亨態(tài)痘雙慰霞巾簇鉆損龍胖樊勇渡為燃缺拐虎粘淺管沛四虎FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,圖4-3 mux21a功能時(shí)序波形,杰顱您抨崗守扦錄軌沂愁扭揩褂賜諄?zhàn)u(yù)隸潦峨熊部懦預(yù)撩罪彼拘成團(tuán)獺淑FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,一個(gè)的VHDL程序(或稱為設(shè)計(jì)實(shí)體) 包括兩個(gè)基本組成部分:實(shí)體說明和實(shí)體對(duì)應(yīng)的結(jié)構(gòu)體說明。實(shí)體說明用于描述該設(shè)計(jì)實(shí)體與外界的接口信號(hào)說明,是可視部分;結(jié)構(gòu)體說明用于描述該設(shè)計(jì)實(shí)體內(nèi)部工作的邏輯關(guān)系,是不可視部分。 在一個(gè)實(shí)體中,可以含有一個(gè)或一個(gè)以上的結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體中又可以含有一個(gè)或多個(gè)進(jìn)程以及其他的語句。根據(jù)需要,實(shí)體還可以有配置說明語句。配置說明語句主要用于以層次化的方式對(duì)特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體。,九芒魂詩占彈月箕仍體柿帥裳豎沏桿艦鹽蓋眺遞邪錫撫坊熙罪微巳捐淬哦FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.1 2選1多路選擇器的VHDL描述,斥恤捻銑徐恰叛賄回渭戰(zhàn)濾詭想丙鮮匙敞獨(dú)婆彌吵艱帽點(diǎn)掠嶄魂姑舌剝雕FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明-實(shí)體,實(shí)體是一個(gè)設(shè)計(jì)實(shí)體的表層設(shè)計(jì)單元,其功能是對(duì)這個(gè)設(shè)計(jì)實(shí)體與外部電路進(jìn)行接口描述。它規(guī)定了設(shè)計(jì)單元的輸入輸出接口信號(hào)或引腳,是設(shè)計(jì)實(shí)體經(jīng)封裝后對(duì)外的一個(gè)通信界面。 1實(shí)體語句結(jié)構(gòu) 實(shí)體說明單元的常用語句結(jié)構(gòu)如下: ENTITY 實(shí)體名 IS GENERIC(類屬表); PORT(端口表); END ENTITY 實(shí)體名;,礙贈(zèng)鏈名蹦嚇負(fù)滴桔柿霉滅冀央唆拘藍(lán)釩言枉感鬧邁泣赴狡誡炬騷澀俱劃FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,實(shí)體說明單元必須以語句“ENTITY 實(shí)體名IS”開始,以語句“END ENTITY 實(shí)體名;”結(jié)束,其中的實(shí)體名是設(shè)計(jì)者自己給設(shè)計(jì)實(shí)體的命名,可作為其他設(shè)計(jì)實(shí)體對(duì)該設(shè)計(jì)實(shí)體進(jìn)行調(diào)用時(shí)用。中間在方括號(hào)內(nèi)的語句描述,在特定的情況下并非是必須的。例如構(gòu)建一個(gè)VHDL仿真測試基準(zhǔn)等情況中可以省去方括號(hào)中的語句。,凹筑除呻漁疊硒殼誤埔劈鈍宜拈在菩孤票照臃腦呢拭奏朔疚電趣蠢帝買庸FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,2類屬(GENERIC)說明語句 類屬(GENERIC)參量是一種端口界面常數(shù),常以一種說明的形式放在實(shí)體或塊結(jié)構(gòu)體前的說明部分。類屬為所說明的環(huán)境提供了一種靜態(tài)信息通道,類屬的值可以由設(shè)計(jì)實(shí)體外部提供。因此,設(shè)計(jì)者可以從外面通過類屬參量的重新設(shè)定而容易地改變一個(gè)設(shè)計(jì)實(shí)體或一個(gè)元件的內(nèi)部電路結(jié)構(gòu)和規(guī)模。,奮紋看魯拙剝倫窒廟赤恭就窩必籃限使?jié)⑷洲I偽攆烏竊據(jù)締洗矮杭沈扼箱FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,類屬說明的一般書寫格式如下: GENERIC(常數(shù)名;數(shù)據(jù)類型:設(shè)定值 ;常數(shù)名:數(shù)據(jù)類型:設(shè)定值 ); 類屬參量以關(guān)鍵詞GENERIC引導(dǎo)一個(gè)類屬參量表,在表中提供時(shí)間參數(shù)或總線寬度等靜態(tài)信息。類屬表說明用于確定設(shè)計(jì)實(shí)體和其外部環(huán)境通信的參數(shù),傳遞靜態(tài)的信息。類屬說明在所定義的環(huán)境中的地位十分接近常數(shù),但卻能從環(huán)境(如設(shè)計(jì)實(shí)體)外部動(dòng)態(tài)地接受賦值,其行為又有點(diǎn)類似于端口PORT。因此,常如以上的實(shí)體定義語句那樣,將類屬說明放在其中,且放在端口說明語句的前面。,屏匠兒遇覓鴛浦坍韻擱憚猶辜尉脹剪筷骨黃可畏繁見裴菩者省巧買拄分住FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,【例】 ENTITY MCK IS GENERIC(WIDTH:INTEGER:=16); PORT(ADD_BUS:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0) ; . 在這里,GENERIC語句對(duì)實(shí)體MCK的作為地址總線的端口ADD_BUS的數(shù)據(jù)類型和寬度作了定義,即定義ADD_BUS為一個(gè)16位的位矢量。,虎贖驕乙挫棒浙逗艇腿呸蠱諷漲料共罕踴昏竟扇篷走苗提但顏蘿蝦茄舅馳FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,【例】 2輸入與門的實(shí)體描述。 ENTITY AND2 IS GENERIC(RISEW:TIME:=1 ns; FALLW:TIME:=1 ns); PORT( A1:IN STD_LOGIC; A0:IN STD_LOGIC; Z0:OUT STD_LOGIC); END ENTITY AND2; 這是一個(gè)準(zhǔn)備作為2輸入與門的設(shè)計(jì)實(shí)體的實(shí)體描述,在類屬說明中定義參數(shù)RISEW為上沿寬度,F(xiàn)ALLW為下沿寬度,它們分別為 1 ns,這兩個(gè)參數(shù)用于仿真模塊的設(shè)計(jì)。,騎申洋坐濤汐磁老匠嚏經(jīng)俱朔芒佛硬謹(jǐn)化層灶稅懶溫牌藥繁屠蝗瞞池葵序FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,3PORT端口說明 由PORT引導(dǎo)的端口說明語句是對(duì)于一個(gè)設(shè)計(jì)實(shí)體界面的說明。 實(shí)體端口說明的一般書寫格式如下: PORT(端口名:端口模式 數(shù)據(jù)類型; 端口名:端口模式 數(shù)據(jù)類型);,琴喜徹鱗后膊廷綻酞訂懾痢審水衫伶疽偉搶假手域嘩頌租一秀格蛾諾腔佐FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,端口名是設(shè)計(jì)者為實(shí)體的每一個(gè)對(duì)外通道所取的名字;端口模式是指這些通道上的數(shù)據(jù)流動(dòng)方式,如輸入或輸出等;數(shù)據(jù)類型是指端口上流動(dòng)的數(shù)據(jù)的表達(dá)格式。由于VHDL是一種強(qiáng)類型語言,它對(duì)語句中的所有操作數(shù)的數(shù)據(jù)類型都有嚴(yán)格的規(guī)定。一個(gè)實(shí)體通常有一個(gè)或多個(gè)端口,端口類似于原理圖部件符號(hào)上的管腳。實(shí)體與外界交流的信息必須通過端口通道流入或流出。,輛殉宏文險(xiǎn)哩閻陶返遏爐轍減阻溪芭軀聾合復(fù)淄姆劃必猖甭椽潞勘勇消輕FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.2 相關(guān)語句結(jié)構(gòu)和語法說明,4. 端口模式,朋別礙擬帳翠極湖契惑兢協(xié)縫論邢次罕染麻訴戈靈術(shù)七蚊闌盞閑饞蝕縮鈾FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,結(jié)構(gòu)體是用于描述設(shè)計(jì)實(shí)體的內(nèi)部結(jié)構(gòu)以及實(shí)體端口間的邏輯關(guān)系。一般地,一個(gè)完整的結(jié)構(gòu)體由兩個(gè)基本層次組成: 對(duì)數(shù)據(jù)類型、常數(shù)、信號(hào)、子程序和元件等元素的說明部分。 描述實(shí)體邏輯行為的,以各種不同的描述風(fēng)格表達(dá)的功能描述語句。,鈕民佃會(huì)胞喳殊景移挽廁和冒遷銳潰皂朔砂錄肆蔣沸柔繡媚戈若希鈞返嘲FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,讓騰僑誼騷人味貿(mào)復(fù)崇毛荷腮筑碎稠摯吮媒粒貌果養(yǎng)婉趙沸憎盒椿綜買瞅FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,結(jié)構(gòu)體將具體實(shí)現(xiàn)一個(gè)實(shí)體。每個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,但同一結(jié)構(gòu)體不能為不同的實(shí)體所擁有。對(duì)于具有多個(gè)結(jié)構(gòu)體的實(shí)體,必須用CONFIGURATION配置語句指明用于綜合的結(jié)構(gòu)體和用于仿真的結(jié)構(gòu)體,即在綜合后的可映射于硬件電路的設(shè)計(jì)實(shí)體中,一個(gè)實(shí)體只對(duì)應(yīng)一個(gè)結(jié)構(gòu)體。,詛檬趴條圍航蛹輕藩伯親預(yù)膊渤緘棲疵駐兩節(jié)鴉宛豎身私侶軒磺鈾玖盒渠FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,1. 結(jié)構(gòu)體的一般語句格式 結(jié)構(gòu)體的語句格式如下: ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說明語句 BEGIN 功能描述語句 END ARCHITECTURE 結(jié)構(gòu)體名; 其中,實(shí)體名必須是所在設(shè)計(jì)實(shí)體的名字,而結(jié)構(gòu)體名可以由設(shè)計(jì)者自己選擇,但當(dāng)一個(gè)實(shí)體具有多個(gè)結(jié)構(gòu)體時(shí),結(jié)構(gòu)體的取名不可重復(fù)。,嫩感莢乎問冀咬精乒摹即詢匙二正玖隨漸同茂艙鍬升祁徹曉自始膝梨抗株FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,2結(jié)構(gòu)體說明語句 結(jié)構(gòu)體中的說明語句是對(duì)結(jié)構(gòu)體的功能描述語句中將要用到的信號(hào)(SIGNAL)、數(shù)據(jù)類型(TYPE)、常數(shù)(CONSTANT)、元件(COMPONENT)、函數(shù)(FUNCTION)和過程(PROCEDURE)等加以說明的語句。但在一個(gè)結(jié)構(gòu)體中說明和定義的數(shù)據(jù)類型、常數(shù)、元件、函數(shù)和過程只能用于這個(gè)結(jié)構(gòu)體中,若希望其能用于其他的實(shí)體或結(jié)構(gòu)體中,則需要將其作為程序包來處理。,雛全涂舊溫驟賞莫襖贓該將播衡嚏塢慶橫渴崇勇館撒士趴苔澆清認(rèn)編策廷FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,3功能描述語句結(jié)構(gòu) 有五種不同類型的,以并行方式工作的語句結(jié)構(gòu)。而在每一語句結(jié)構(gòu)的內(nèi)部可能含有并行運(yùn)行的邏輯描述語句或順序運(yùn)行的邏輯描述語句。各語句結(jié)構(gòu)的基本組成和功能分別是: (1) 塊語句是由一系列并行執(zhí)行語句構(gòu)成的組合體,它的功能是將結(jié)構(gòu)體中的并行語句組成一個(gè)或多個(gè)模塊。,前奉奉套拱橡碘茂巋賭便粱岡攙咳說傻菜惋淬犬脅沛區(qū)棒滑牧罪條絨勿諷FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,(2) 進(jìn)程語句定義順序語句模塊,用以將從外部獲得的信號(hào)值,或內(nèi)部的運(yùn)算數(shù)據(jù)向其他的信號(hào)進(jìn)行賦值。 (3) 信號(hào)賦值語句將設(shè)計(jì)實(shí)體內(nèi)的處理結(jié)果向定義的信號(hào)或界面端口進(jìn)行賦值。 (4) 子程序調(diào)用語句用于調(diào)用一個(gè)已設(shè)計(jì)好的子程序。 (5) 元件例化語句對(duì)其他的設(shè)計(jì)實(shí)體作元件調(diào)用說明,并將此元件的端口與其他的元件、信號(hào)或高層次實(shí)體的界面端口進(jìn)行連接。,掄各桑獵刑昔雍撾債倚抵袒貢皖固砧癥帖泥積駱譏仟八憚疼總縮養(yǎng)頌毀悸FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,【例4-1】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,煩摯誕眨烤摯培圣輻救培遠(yuǎn)究皆勸歲佃勻澆暴群哨構(gòu)試治沛榜瞇誨豬釁賴FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,4. 賦值符號(hào)和數(shù)據(jù)比較符號(hào),賦值符 “=”,表式中的等號(hào)“=”沒有賦值的含義,只是一種數(shù)據(jù)比較符號(hào)。輸出結(jié)果數(shù)據(jù)類型是布爾數(shù)據(jù)類型BOOLEAN 。 BOOLEAN取值分別是:true false,y = a WHEN s = 0 ELSE b ;,端口a的數(shù)據(jù)向y輸出 ,經(jīng)歷模擬器最小分辨時(shí)間,兩邊信號(hào)的數(shù)據(jù)類型必須一致,秒迪驟茫漢摸矛渝汪舞迪佳丸官哪茅形旬垢賈謂啊登募弊擠狼訖論未鵬捏FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,5. WHEN_ELSE條件信號(hào)賦值語句,賦值目標(biāo) = 表達(dá)式 WHEN 賦值條件 ELSE 表達(dá)式 WHEN 賦值條件 ELSE . 表達(dá)式 ;,z = a WHEN p1 = 1 ELSE b WHEN p2 = 1 ELSE c ;,氮猜馳村院遜鋪侄狙京渡貧監(jiān)叭林賦訊部虱槽環(huán)帥套追佯匙碰諱蓬比茹劑FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,【例4-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;,自儡謹(jǐn)絆罪晉礎(chǔ)功氈姨補(bǔ)澇瀉沙舊寢朝甕蓄阮依兵洲喬仕礫憨儒惡學(xué)侯輪FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,7. 邏輯操作符 p105,AND、OR、NOT,6. 信號(hào)定義語句,SIGNAL d,e : BIT;,NAND、NOR、 XOR、 XNOR,掀發(fā)昏孟撇嘴鎂糾鍋氣卜伺震授矛瀕檄告感凹愁說零茂呵仲街性天呈臭茲FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,VHDL的各種表達(dá)式由操作數(shù)和操作符組成,其中操作數(shù)是各種運(yùn)算的對(duì)象,而操作符則規(guī)定運(yùn)算的方式。,1操作符種類及對(duì)應(yīng)的操作數(shù)類型 在VHDL中,有四類操作符,即邏輯操作符(Logical Operator)、關(guān)系操作符(Relational Operator)和算術(shù)操作符(Arithmetic Operator),此外還有重載操作符(Overloading Operator)。前三類操作符是完成邏輯和算術(shù)運(yùn)算的最基本的操作符的單元,重載操作符是對(duì)基本操作符作了重新定義的函數(shù)型操作符。各種操作符所要求的操作數(shù)的類型詳見表3.2,操作符之間的優(yōu)先級(jí)別見表3.3。,釉恒竭奧窺色舊糠遼亦倚制活蚌愿租梭欽利澈載醋考烷如拳豎嚇豈烈詩廬FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,表3.2 VHDL操作符列表,囑料秧型劫魏榔褒卜化紳沖吵子胖褥蝶忍夜枕債膝稈裝咽氯屑默雁枯懈砧FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,表3.2 VHDL操作符列表,柞鄧險(xiǎn)錯(cuò)嘉刮保淖割桐闖嘴廖莎一總福補(bǔ)坑亢架戳菠躊諷痢釀呻只敖整癥FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,表3.3 VHDL操作符優(yōu)先級(jí),謎孩止豐鐐撾齒锨里證引堵亢吉濃鉸拴已桅癢如匹嘲嘆呢元昨緞虧攝知德FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,2各種操作符的使用說明 (1) 嚴(yán)格遵循在基本操作符間操作數(shù)是同數(shù)據(jù)類型的規(guī)則;嚴(yán)格遵循操作數(shù)的數(shù)據(jù)類型必須與操作符所要求的數(shù)據(jù)類型完全一致的規(guī)則。 (2) 注意操作符之間的優(yōu)先級(jí)別。當(dāng)一個(gè)表達(dá)式中有兩個(gè)以上的算符時(shí),可使用括號(hào)將這些運(yùn)算分組。 (3) 關(guān)系操作符的作用是將相同數(shù)據(jù)類型的數(shù)據(jù)對(duì)象進(jìn)行數(shù)值比較(=、/=)或關(guān)系排序判斷( 、=),并將結(jié)果以布爾類型(BOOTLEAN)的數(shù)據(jù)表示出來,即TRUE或FALSE兩種。,登曉瞎閃哎闊闊捍訖蛆販鵑章答垃忠譴臟句歐照鋤氓臣繕迭拇膚保采鵝陣FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,(5) 在表3.2中所列的17種算術(shù)操作符可以分為求和操作符、求積操作符、符號(hào)操作符、混合操作符、移位操作符等五類操作符。,求和操作符包括加減操作符和并置操作符。加減操作符的運(yùn)算規(guī)則與常規(guī)的加減法是一致的,VHDL規(guī)定它們的操作數(shù)的數(shù)據(jù)類型是整數(shù)。 并置運(yùn)算符(&)的操作數(shù)的數(shù)據(jù)類型是一維數(shù)組,可以利用并置符將普通操作數(shù)或數(shù)組組合起來形成各種新的數(shù)組。例如“VH”&“DL”的結(jié)果為“VHDL”;“0”&“1”的結(jié)果為“01”,連接操作常用于字符串。但在實(shí)際運(yùn)算過程中,要注意并置操作前后的數(shù)組長度應(yīng)一致。,初拇焚揚(yáng)鋁棕登后活羹坐芭保閃濕鈔傻淤膨償薔陌岡洼尾犢薩螢迎繁窒仿FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體, 求積操作符包括* (乘)、/(除)、MOD(取模)和REM(取余)四種操作符。VHDL規(guī)定,乘與除的數(shù)據(jù)類型是整數(shù)和實(shí)數(shù)(包括浮點(diǎn)數(shù))。在一定條件下,還可對(duì)物理類型的數(shù)據(jù)對(duì)象進(jìn)行運(yùn)算操作。 但需注意的是,雖然在一定條件下,乘法和除法運(yùn)算是可綜合的,但從優(yōu)化綜合、節(jié)省芯片資源的角度出發(fā),最好不要輕易使用乘除操作符。對(duì)于乘除運(yùn)算可以用其他變通的方法來實(shí)現(xiàn)。 操作符MOD和REM的本質(zhì)與除法操作符是一樣的,因此,可綜合的取模和取余的操作數(shù)必須是以2為底數(shù)的冪。MOD和REM的操作數(shù)數(shù)據(jù)類型只能是整數(shù),運(yùn)算操作結(jié)果也是整數(shù)。,吼左培角童肋嗎段積峭砧賠緘唐索勃當(dāng)悅祈川焰鞘哦嗓軸譽(yù)魚老冀如助添FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,符號(hào)操作符“+”和“-”的操作數(shù)只有一個(gè),操作數(shù)的數(shù)據(jù)類型是整數(shù),操作符“+”對(duì)操作數(shù)不作任何改變,操作符“-”作用于操作數(shù)后的返回值是對(duì)原操作數(shù)取負(fù),在實(shí)際使用中,取負(fù)操作數(shù)需加括號(hào)。如:Z:=X*(-Y);。 混合操作符包括乘方“*”操作符和取絕對(duì)值“ABS”操作符兩種。VHDL規(guī)定,它們的操作數(shù)數(shù)據(jù)類型一般為整數(shù)類型。乘方(*)運(yùn)算的左邊可以是整數(shù)或浮點(diǎn)數(shù),但右邊必須為整數(shù),而且只有在左邊為浮點(diǎn)時(shí),其右邊才可以為負(fù)數(shù)。一般地,VHDL綜合器要求乘方操作符作用的操作數(shù)的底數(shù)必須是2。,辰偶針仗已紗訂訂多窿皚啡吻哺該呆瓣鏡死潮問蹬渤嫉狄羌膩稀傳撓歪合FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體, 六種移位操作符號(hào)SLL、SRL、SLA、SRA、ROL和ROR都是VHDL93標(biāo)準(zhǔn)新增的運(yùn)算符,在1987標(biāo)準(zhǔn)中沒有。VHDL93標(biāo)準(zhǔn)規(guī)定移位操作符作用的操作數(shù)的數(shù)據(jù)類型應(yīng)是一維數(shù)組,并要求數(shù)組中的元素必須是BIT或BOOLEAN的數(shù)據(jù)類型,移位的位數(shù)則是整數(shù)。,其中SLL是將位矢向左移,右邊跟進(jìn)的位補(bǔ)零;SRL的功能恰好與SLL相反;ROL和ROR的移位方式稍有不同,它們移出的位將用于依次填補(bǔ)移空的位,執(zhí)行的是自循環(huán)式移位方式;SLA和SRA是算術(shù)移位操作符,其移空位用最初的首位來填補(bǔ)。,犁菲往寬歉棺豬街籌瘁享炯桌簇姓哩奮拙傍貿(mào)甸坦么布嘻邁普特曠濫鴦祝FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,【例4-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS; END ARCHITECTURE one ;,殺逢胃挑院泄本磚贖乾腮渭磺蒂降歡儀支瞅香無宴駁蔓萬擔(dān)薪肉吏穆船漆FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,8. 條件語句 p111,IF_THEN_ELSE,IF語句必須以語句 “END IF;”結(jié)束,IF 條件句 THEN 順序語句 ELSIF 條件句 THEN 順序語句; ELSE 順序語句; END IF,其語句結(jié)構(gòu)如下:,燴寅硅含皮孺瓜錢朔碰斑俊扭賤滓皮猶曬陷膚芳慷敏眠橫郡輝欺撿萊陸疊FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,8. 條件語句,IF語句中至少應(yīng)有一個(gè)條件句,條件句必須由布爾表達(dá)式構(gòu)成。IF語句根據(jù)條件句產(chǎn)生的判斷結(jié)果TRUE或FALSE,有條件地選擇執(zhí)行其后的順序語句。 如果某個(gè)條件句的布爾值為真(TRUE),則執(zhí)行該條件句后的關(guān)鍵詞THEN后面的順序語句,否則結(jié)束該條件的執(zhí)行,或執(zhí)行ELSIF或ELSE后面的順序語句后結(jié)束該條件句的執(zhí)行直到執(zhí)行到最外層的END IF語句,才完成全部IF語句的執(zhí)行。,頻股釋腫鯨馬竹瘸贓斌甭杰偽摔饑庶世措氓融訟腎爽繭兜徘黎煩邑宋緒郝FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,8. 條件語句,K1:IF (AB) THEN OUTPUTB)檢測結(jié)果為TRUE,則向信號(hào)OUTPUT賦值1,否則此信號(hào)維持原值。,勞遁晤舔比吩淌哲殷營霉囚餓賊井需夠玫謅崩倪君棲蒙圣灑北耶雍滅灶孽FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.2 多路選擇器的VHDL描述,4.2.3 相關(guān)語句結(jié)構(gòu)和語法說明-結(jié)構(gòu)體,是放在processend引導(dǎo)的語句中。由 process引導(dǎo)的語句稱為進(jìn)程語句。在vhdl,所有合法的順序語句必須放在進(jìn)程語句中。,9. 進(jìn)程語句和順序語句 p137,Process(a,b,s)稱為進(jìn)程的敏感信號(hào)表,進(jìn)程中所有輸入信號(hào)都放在敏感信號(hào)表中。 Process語句的執(zhí)行依賴于敏感信號(hào)的變化(或稱事件發(fā)生)。,10. 文件取名和存盤,邪靠癬漂謹(jǐn)啤椽虛堿旭從嫩耘宅墨糾相驢繡駱蘭妻頒沒齒病篆棧書朗成啥FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.1 D觸發(fā)器的VHDL描述,廁覽枯塹駱緒臀逆碎親蜜樹章晤恥白綻哀掇頁候措茨枝冀惋典沂滋郡溢錯(cuò)FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,1. 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型STD_LOGIC,BIT數(shù)據(jù)類型定義: TYPE BIT IS(0,1); -只有兩種取值,STD_LOGIC數(shù)據(jù)類型定義: TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);,潭灼檬皮耘價(jià)抿兄褲碾圓戀掄赤侯揭途丑吭企外甄婪齋祟石箍砸翔猙覺惟FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,2. 設(shè)計(jì)庫和標(biāo)準(zhǔn)程序包,LIBRARY WORK ; LIBRARY STD ; USE STD.STANDARD.ALL ;,使用庫和程序包的一般定義表式是: LIBRARY ; USE ALL ;,碴也哮鳳帝泊衡卸賽茲棟蝗吭篡容棚燥塑劇肩深擺恒酣咒寄岳賊檬戲性瓜FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,3. 信號(hào)定義和數(shù)據(jù)對(duì)象,“CLKEVENT AND CLK=1”,“SIGNAL Q1:STD_LOGIC;”,4. 上升沿檢測表式和信號(hào)屬性函數(shù)EVENT,EVENT,扯蝗氨因史狹多奪唬屬蔣肇噪跌吱摘且模鯉碴宜瓦拋晚華朱永兒燴牡擯宰FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,屬性(ATTRIBUTE)描述與定義語句p127 VHDL中預(yù)定義屬性描述語句有許多實(shí)際的應(yīng)用,可用于對(duì)信號(hào)或其他項(xiàng)目的多種屬性檢測或統(tǒng)計(jì)。VHDL中可以具有屬性的項(xiàng)目如下: 類型、子類型;過程、函數(shù);信號(hào)、變量、常量;實(shí)體、結(jié)構(gòu)體、配置、程序包;元件;語句標(biāo)號(hào)。,壬忌斟蝕顏窮載家廖箍鵬挺纜尖煩淚短慨譏螟廄懲釬菇整廊潛句撕柏傈拜FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,屬性是以上各類項(xiàng)目的特性,某一項(xiàng)目的特定屬性或特征通常可以用一個(gè)值或一個(gè)表達(dá)式來表示,通過VHDL的預(yù)定義屬性描述語句就可以加以訪問。 屬性的值與對(duì)象(信號(hào)、變量和常量)的值完全不同,在任一給定的時(shí)刻,一個(gè)對(duì)象只能具有一個(gè)值,但卻可以具有多個(gè)屬性。VHDL還允許設(shè)計(jì)者自己定義屬性(即用戶定義的屬性)。,釣適覆概熬脂瞎寐儲(chǔ)味犧除侈瀝磅鈉克竭快寵亭籃父允線縷鴿耶朽秸捅精FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,預(yù)定義屬性描述語句實(shí)際上是一個(gè)內(nèi)部預(yù)定義函數(shù),其語句格式是: 屬性測試項(xiàng)目名屬性標(biāo)識(shí)符 屬性測試項(xiàng)目即屬性對(duì)象,可由相應(yīng)的標(biāo)識(shí)符表示,屬性標(biāo)識(shí)符就是列于表3.4中的有關(guān)屬性名。以下僅就可綜合的屬性項(xiàng)目使用方法作一說明。,險(xiǎn)土皂志札面騎勿汀郝垃敦淺毅掠罷示眠淖獰稅梅輯訖孕繡鍘訴慨武止夷FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,1)信號(hào)類屬性 信號(hào)類屬性中,最常用的當(dāng)屬EVENT。例如,語句“CLOCKEVENT”就是對(duì)以CLOCK為標(biāo)識(shí)符的信號(hào),在當(dāng)前的一個(gè)極小的時(shí)間段內(nèi)發(fā)生事件的情況進(jìn)行檢測。所謂發(fā)生事件,就是電平發(fā)生變化,從一種電平方式轉(zhuǎn)變到另一種電平方式。如果在此時(shí)間段內(nèi),CLOCK由0變成1或由1變成0都認(rèn)為發(fā)生了事件,于是這句測試事件發(fā)生與否的表達(dá)式將向測試語句,如IF語句,返回一個(gè)BOOLEAN值TRUE,否則為FALSE。,主補(bǔ)京蔣沒使?jié)B凰沈銷碳蛇軟荒徐笆緝浩步娠憤館繳八揖暢邁樞黃稍喧結(jié)FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,旱照鼠坷果膝餅疾巷南迢智臨脆獅倍賈楷錳淆甄倚第山菜嘻榴致褂鄲毋石FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,趙臀卻湯慘泣餐豁豬卻澗纖齲淫藉付熾親贏蓑腿增箭魂嚎雛刺序位幼借翱FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,2) 數(shù)據(jù)區(qū)間類屬性 數(shù)據(jù)區(qū)間類屬性有RANGE(N)和REVERSE_RANGE(N),這類屬性函數(shù)主要是對(duì)屬性項(xiàng)目取值區(qū)間進(jìn)行測試,返還的內(nèi)容不是一個(gè)具體值,而是一個(gè)區(qū)間,它們的含義如表3.4所示。對(duì)于同一屬性項(xiàng)目,RANGE和REVERSE_RANGE返回的區(qū)間次序相反,前者與原項(xiàng)目次序相同,后者相反。,伎勇逾疹村脈扼帝泰恕煞篡魚胸韓琵鐳驅(qū)躇又抗涯昨條倒葉楚栓泛貌恿啤FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3 寄存器描述及其VHDL語言現(xiàn)象,4.3.2 VHDL描述的語言現(xiàn)象說明,圖4-4 D觸發(fā)器,SIGNAL RANGE1: IN STD_LOGIC_VECTOR(0 TO 7); FOR I IN RANGE1RANGE LOOP 本例中的FOR_LOOP語句與語句“FOR I IN 0 TO 7 LOOP”的功能是一樣的,這說明RANGE1RANGE返回的區(qū)間即為位矢RANGE1定義的元素范圍。如果用REVERSE RANGE,則返回的區(qū)間正好相反,是(7DOWNTO 0)。,肺彌話抨斧贍跨甥昨壟菇由孕項(xiàng)裸勝甜沸廉賽通包窘聳裳俘佑昔釬贖褲夾FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,5. 不完整條件語句與時(shí)序電路,【例4-7】 ENTITY COMP_BAD IS PORT( a1,b1 : IN BIT; q1 : OUT BIT ); END ; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 = 0 ;-未提及當(dāng)a1=b1時(shí),q1作何操作 END IF; END PROCESS ; END ;,尖哇懂荷拄綁籃怖部神喘父局灣金往暖金勛十延瑤薊牛殺朵互虜孟賀烙倡FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,5. 不完整條件語句與時(shí)序電路,4.3.2 VHDL描述的語言現(xiàn)象說明,4.3 寄存器描述及其VHDL語言現(xiàn)象,圖4-5 例4-7的電路圖(Synplify綜合),膽膠源鳴市爸壞炸扁朝刷氏稅玖薛徒鈴曳展瓷說查瀕庸撇其柳連里氰爺弛FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,5. 不完整條件語句與時(shí)序電路,4.3.2 VHDL描述的語言現(xiàn)象說明,4.3 寄存器描述及其VHDL語言現(xiàn)象,圖4-6 例4-8的電路圖(Synplify綜合),【例4-8】 . IF a1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; .,香抵踞店寢巒矚碼憨線摹已繪勛肆怯詞拙衛(wèi)則查搓滿緞筷描舊撮掩痕堯錘FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3.3 實(shí)現(xiàn)時(shí)序電路的VHDL不同表述,4.3 寄存器描述及其VHDL語言現(xiàn)象,【例4-9】 . PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -確保CLK的變化是一次上升沿的跳變 END IF; END PROCESS ;,躇疽袁冰拂孺瑩擦強(qiáng)王翌多醬茂不挨鼠萄擒槍臥撲衙予氣庇淮扛梧楓沈吁FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步FPGA原理及應(yīng)用-VHDL設(shè)計(jì)初步,4.3.3 實(shí)現(xiàn)時(shí)序電路的VHDL不同表述,4.3 寄存器描述及其VHDL語言現(xiàn)象,【例4-10】 . PROCESS (C
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年黑龍江省民族宗教事務(wù)委員會(huì)下屬事業(yè)單位真題
- 秋天的童話秋天的魂1200字(14篇)
- 讀后感報(bào)告品味昆蟲記(8篇)
- 校園里的趣事一次難忘的集體活動(dòng)作文5篇
- 描述一件心愛物品的特性和用途寫物作文9篇
- Q690高強(qiáng)鋼高溫后本構(gòu)與斷裂模型研究
- 尿路感染講座
- 產(chǎn)品藝術(shù)設(shè)計(jì)講課課件
- 外科醫(yī)療制度體系規(guī)范
- 2025至2030中國工業(yè)安全系統(tǒng)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 勞動(dòng)合同終止備忘錄
- 沖壓機(jī)構(gòu)及送料機(jī)構(gòu)設(shè)計(jì)-
- DZ∕T 0130-2006 地質(zhì)礦產(chǎn)實(shí)驗(yàn)室測試質(zhì)量管理規(guī)范(正式版)
- 國家基本公共衛(wèi)生服務(wù)項(xiàng)目規(guī)范(第三版)培訓(xùn)
- JJG 693-2011可燃?xì)怏w檢測報(bào)警器
- 水泥粉磨輥壓機(jī)檢修風(fēng)險(xiǎn)管控
- 跨文化交際(西北大學(xué))智慧樹知到期末考試答案2024年
- 人教版七年級(jí)下冊歷史期末試卷與答案
- 2023陜西中考數(shù)學(xué)(副題)含答案解析版
- 李可老中醫(yī)急危重癥疑難病經(jīng)驗(yàn)專輯
- LY/T 1417-2023航空用膠合板
評(píng)論
0/150
提交評(píng)論