0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

VHDL語(yǔ)言

放人 ? 來(lái)源:電氣工程及其自動(dòng)化學(xué)習(xí) ? 作者:電氣工程及其自動(dòng) ? 2022-11-09 13:32 ? 次閱讀

一個(gè)完整的VHDL程序包括實(shí)體(Entity),結(jié)構(gòu)體(Architecture),配置(Configuration),包集合(Package),庫(kù)(Library)5個(gè)部分。在VHDL程序中,實(shí)體和結(jié)構(gòu)體這兩個(gè)基本結(jié)構(gòu)是必須的,他們可以構(gòu)成最簡(jiǎn)單的VHDL程序。實(shí)體用于描述電路器件的外部特性;結(jié)構(gòu)體用于描述電路器件的內(nèi)部邏輯功能或電路結(jié)構(gòu);包集合存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類(lèi)型、常數(shù)和子程序等;配置用于從庫(kù)中選取所需單元來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本;庫(kù)用于存放已經(jīng)編譯的實(shí)體、結(jié)構(gòu)體、包集合和配置。

e3a6088e-5fef-11ed-b468-dac502259ad0.jpg


一,實(shí)體

??實(shí)體是VHDL程序設(shè)計(jì)的基礎(chǔ)單元。實(shí)體聲明對(duì)設(shè)計(jì)實(shí)體與外部電路的端口描述,以及定義所有輸入和輸出端口的基本性質(zhì),是實(shí)體對(duì)外的一個(gè)通信界面。實(shí)體聲明以entity開(kāi)始,由end entity 或 end 結(jié)束,關(guān)鍵詞不區(qū)分大小寫(xiě)。實(shí)體聲明語(yǔ)句結(jié)構(gòu)如下:

??entity 實(shí)體名 is
????[generic (類(lèi)屬參量) ;]
????[port (端口說(shuō)明);]
??end entity 實(shí)體名;

1,實(shí)體名:一般由用戶定義,最好能體現(xiàn)功能;

2,類(lèi)屬參量:是一個(gè)可選項(xiàng);它是一種端口界面常數(shù),常用來(lái)規(guī)定端口的大小、實(shí)體中元件的數(shù)目及實(shí)體的定時(shí)特性等。類(lèi)屬參量的值可由實(shí)體的外部提供,用戶可以從外面通過(guò)重新設(shè)定類(lèi)屬參量來(lái)改變一個(gè)實(shí)體或一個(gè)元件內(nèi)部電路結(jié)構(gòu)和規(guī)模。

3,端口說(shuō)明:端口為實(shí)體和其外部環(huán)境提供動(dòng)態(tài)通信的通道,利用port語(yǔ)句可以描述設(shè)計(jì)電路的端口和端口模式。格式如下
??port(端口名:端口模式 數(shù)據(jù)類(lèi)型;…)

(1)端口名:是用戶為實(shí)體的每個(gè)對(duì)外通道所取得名字,通常為英文字母加數(shù)字得形式。
(2)端口模式:可綜合得端口模式有四種,分別是:IN,OUT,INOUT,BUFFER.用于定義端口上數(shù)據(jù)得流動(dòng)方向和方式。

e3cd1fdc-5fef-11ed-b468-dac502259ad0.jpg


二,結(jié)構(gòu)體

??結(jié)構(gòu)體描述了實(shí)體的結(jié)構(gòu)、行為、元件及內(nèi)部連接關(guān)系,即定義了設(shè)計(jì)實(shí)體的功能,規(guī)定了實(shí)體的數(shù)據(jù)流程,指定了實(shí)體內(nèi)部的數(shù)據(jù)連接關(guān)系。結(jié)構(gòu)體是對(duì)實(shí)體功能的具體描述,一定跟在實(shí)體的后面。
??結(jié)構(gòu)體一般分為兩個(gè)部分,第一部分是對(duì)數(shù)據(jù)類(lèi)型,常量,信號(hào),子程序和元件等因素進(jìn)行說(shuō)明;第二部分是描述實(shí)體的邏輯行為、以及各種不同的描述風(fēng)格的功能描述語(yǔ)句,包括各種順序語(yǔ)句和并行語(yǔ)句。結(jié)構(gòu)體聲明語(yǔ)句結(jié)構(gòu)如下:
??architecture 結(jié)構(gòu)體名 of 實(shí)體名 is
????[定義語(yǔ)句]
??begin
????[功能描述語(yǔ)句]
??end 結(jié)構(gòu)體名;

1,結(jié)構(gòu)體名:用戶自行定義,通常用dataflow(數(shù)據(jù)流),behavior(行為),structural(結(jié)構(gòu))
命名。體現(xiàn)了三種不同結(jié)構(gòu)體的描述方式。

2,結(jié)構(gòu)體信號(hào)定義語(yǔ)句
??結(jié)構(gòu)體信號(hào)定義語(yǔ)句必須放在關(guān)鍵詞architecture和 begin之間,用于對(duì)結(jié)構(gòu)體內(nèi)部將要使用的信號(hào)、常數(shù)、數(shù)據(jù)類(lèi)型、元件函數(shù)和過(guò)程進(jìn)行說(shuō)明。結(jié)構(gòu)體定義的信號(hào)為該結(jié)構(gòu)體的內(nèi)部信號(hào),只能用于這個(gè)結(jié)構(gòu)體中。結(jié)構(gòu)體中的信號(hào)定義和端口說(shuō)明一樣,應(yīng)有信號(hào)名稱和數(shù)據(jù)類(lèi)型定義。用于結(jié)構(gòu)體中的信號(hào)是內(nèi)部連接用的信號(hào),因此不需要方向說(shuō)明。

3,結(jié)構(gòu)體功能描述語(yǔ)句
??結(jié)構(gòu)體功能描述語(yǔ)句位于begin和end之間,具體的描述了結(jié)構(gòu)體的行為及其連接關(guān)系。結(jié)構(gòu)體功能描述語(yǔ)句可以含有5中不同類(lèi)型的并行語(yǔ)句。語(yǔ)句結(jié)構(gòu)內(nèi)部可以使用并行語(yǔ)句,也可以使用順序語(yǔ)句。

e3fa536c-5fef-11ed-b468-dac502259ad0.jpg


三,庫(kù)

??庫(kù)用來(lái)存儲(chǔ)已經(jīng)完成的程序包等VHDL設(shè)計(jì)和數(shù)據(jù),包含各類(lèi)包定義、實(shí)體、機(jī)構(gòu)體等。在VHDL庫(kù)中,庫(kù)的說(shuō)明總是放在設(shè)計(jì)單元的最前面。這樣,設(shè)計(jì)單元內(nèi)的語(yǔ)句就可以使用庫(kù)中的數(shù)據(jù),便于用戶共享已經(jīng)編譯的設(shè)計(jì)結(jié)果。

1,庫(kù)的說(shuō)明
庫(kù)的說(shuō)明使用use語(yǔ)句,通常有以下兩種格式:
??use 庫(kù)名. 程序包名. 工程名;
??use 庫(kù)名. 程序包名.all;
??第一種格式的作用是向本設(shè)計(jì)實(shí)體開(kāi)放指定庫(kù)中的特定程序包內(nèi)的選定工程。第二種格式的作用是向本設(shè)計(jì)實(shí)體開(kāi)放指定庫(kù)中特定程序包內(nèi)的所有內(nèi)容。

2,常見(jiàn)庫(kù)
(1)IEEE庫(kù)
IEEE庫(kù)中包含以下四個(gè)包集合

STD_LOGIC_1164:標(biāo)準(zhǔn)邏輯類(lèi)型和相應(yīng)函數(shù);
STD_LOGIC_ARITH:數(shù)學(xué)函數(shù);
STD_LOGIC_SIGNED:符號(hào)數(shù)學(xué)函數(shù);
STD_LOGIC_UNSIGNED:無(wú)符號(hào)數(shù)學(xué)函數(shù);

(2)STD庫(kù)
STD庫(kù)是符合VHDL標(biāo)準(zhǔn)的庫(kù),使用時(shí)不需要顯示聲明;

(3)ASIC矢量庫(kù)
各個(gè)公司提供的ASIC邏輯門(mén)庫(kù);

(4)WORK庫(kù)
WORK庫(kù)為現(xiàn)行行業(yè)庫(kù),用于存放用戶的VHDL程序,使用戶自己的庫(kù)。

??VHDL語(yǔ)法比較規(guī)范,對(duì)任何一種數(shù)據(jù)對(duì)象(信號(hào),變量,常數(shù)),必須嚴(yán)格限定其取值范圍,即明確界定對(duì)其傳輸或存儲(chǔ)的數(shù)據(jù)類(lèi)型。在VHDL中,有多種預(yù)先定義好的數(shù)據(jù)類(lèi)型,如,整數(shù)數(shù)據(jù)類(lèi)型INTEGER,布爾數(shù)據(jù)類(lèi)型BOOLEAN,標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類(lèi)型STD_LOGIC和為數(shù)據(jù)類(lèi)型BIT等。
??VHDL要求賦值運(yùn)算符“<=”兩邊的信號(hào)數(shù)據(jù)類(lèi)型必須一致。VHDL共7中基本邏輯運(yùn)算符,AND(與),OR(或),NAND(與非),NOR(或非),XOR(異或),XNOR(同或),NOT(取反)。邏輯運(yùn)算符所要求的操作對(duì)象的數(shù)據(jù)類(lèi)型有三種,即BIT,BOOLEAN,STD_LOGIC。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • VHDL語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    17959
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Verilog到VHDL轉(zhuǎn)換的經(jīng)驗(yàn)與技巧總結(jié)

    Verilog與VHDL語(yǔ)法是互通且相互對(duì)應(yīng)的,如何查看二者對(duì)同一硬件結(jié)構(gòu)的描述,可以借助EDA工具,如Vivado,打開(kāi)Vivado后它里面的語(yǔ)言模板后,也可以對(duì)比查看Verilog和VHDL之間的差異。
    的頭像 發(fā)表于 04-28 17:47 ?1947次閱讀
    Verilog到<b class='flag-5'>VHDL</b>轉(zhuǎn)換的經(jīng)驗(yàn)與技巧總結(jié)

    fpga語(yǔ)言是什么?fpga語(yǔ)言與c語(yǔ)言的區(qū)別

    功能,從而實(shí)現(xiàn)對(duì)數(shù)字電路的高效定制。FPGA語(yǔ)言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,這些語(yǔ)言具有強(qiáng)大的描述能力,能夠精確地定義硬件的每一個(gè)細(xì)節(jié),從而實(shí)現(xiàn)復(fù)
    的頭像 發(fā)表于 03-15 14:50 ?844次閱讀

    fpga通用語(yǔ)言是什么

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)的通用語(yǔ)言主要是指用于描述FPGA內(nèi)部邏輯結(jié)構(gòu)和行為的硬件描述語(yǔ)言。目前,Verilog HDL和VHDL是兩種最為廣泛使用的FPGA編程語(yǔ)言。
    的頭像 發(fā)表于 03-15 14:36 ?449次閱讀

    fpga用什么語(yǔ)言編程

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)的編程主要使用硬件描述語(yǔ)言(HDL),其中最常用的是Verilog HDL和VHDL。
    的頭像 發(fā)表于 03-14 18:17 ?2433次閱讀

    fpga用的是什么編程語(yǔ)言 fpga用什么語(yǔ)言開(kāi)發(fā)

    fpga用的是什么編程語(yǔ)言 FPGA(現(xiàn)場(chǎng)可編程邏輯門(mén)陣列)主要使用的編程語(yǔ)言是硬件描述語(yǔ)言(HDL)。在眾多的HDL中,Verilog HDL和VHDL是最常用的兩種。 Verilo
    的頭像 發(fā)表于 03-14 17:09 ?3149次閱讀

    fpga芯片用什么編程語(yǔ)言

    FPGA芯片主要使用的編程語(yǔ)言包括Verilog HDL和VHDL。這兩種語(yǔ)言都是硬件描述語(yǔ)言,用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)和行為。
    的頭像 發(fā)表于 03-14 16:07 ?1381次閱讀

    基于VHDL的組合邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的組合邏輯設(shè)計(jì).ppt》資料免費(fèi)下載
    發(fā)表于 03-11 09:23 ?2次下載

    VHDL語(yǔ)言快速入門(mén)指南

    HDL(VHSIC Hardware Description Language)是一種硬件描述語(yǔ)言,主要用于描述數(shù)字電路和系統(tǒng)的結(jié)構(gòu)、行為和功能。它是一種用于硬件設(shè)計(jì)的標(biāo)準(zhǔn)化語(yǔ)言,能夠幫助工程師們更好地描述和設(shè)計(jì)數(shù)字電路,并且廣泛應(yīng)用于FPGA和ASIC設(shè)計(jì)中。
    發(fā)表于 03-04 11:41 ?2499次閱讀
    <b class='flag-5'>VHDL</b><b class='flag-5'>語(yǔ)言</b>快速入門(mén)指南

    初識(shí)FPGA需要關(guān)注的注意事項(xiàng)!

    Verilog語(yǔ)言VHDL語(yǔ)言語(yǔ)法規(guī)范嚴(yán)格,調(diào)試起來(lái)很慢,Verilog語(yǔ)言容易上手,而且,一般大型企業(yè)都是用Verilog語(yǔ)言。 2.
    發(fā)表于 02-22 10:57

    用CPLD接收AD7986數(shù)據(jù),轉(zhuǎn)換結(jié)果總是讀取不對(duì)怎么解決?

    小弟目前在調(diào)試使用CPLD接收AD7986數(shù)據(jù),轉(zhuǎn)換結(jié)果總是讀取不對(duì)。使用的VHDL語(yǔ)言,速率已經(jīng)降得很低了,還是讀不對(duì)。請(qǐng)大俠指點(diǎn)。
    發(fā)表于 12-22 08:09

    例說(shuō)Verilog HDL和VHDL區(qū)別

    Verilog和VHDL之間的區(qū)別將在本文中通過(guò)示例進(jìn)行詳細(xì)說(shuō)明。對(duì)優(yōu)點(diǎn)和缺點(diǎn)的Verilog和VHDL進(jìn)行了討論。
    的頭像 發(fā)表于 12-20 09:03 ?2786次閱讀
    例說(shuō)Verilog HDL和<b class='flag-5'>VHDL</b>區(qū)別

    如何在Saber中使用C語(yǔ)言進(jìn)行建模呢?

    Saber不僅支持MAST語(yǔ)言VHDL‐AMS語(yǔ)言建立模型,也支持C語(yǔ)言建立器件模型,這對(duì)熟悉C語(yǔ)言編程的用戶帶來(lái)了很大的方便和實(shí)用。采用
    的頭像 發(fā)表于 12-05 11:30 ?1026次閱讀
    如何在Saber中使用C<b class='flag-5'>語(yǔ)言</b>進(jìn)行建模呢?

    FPGA-PC1500的數(shù)碼創(chuàng)新作品-數(shù)碼音樂(lè)和語(yǔ)音識(shí)別

    數(shù)據(jù)處理,并生成識(shí)別結(jié)果。 8. 將識(shí)別結(jié)果輸出到FPGA的外部接口(如顯示器或串口)或存儲(chǔ)在內(nèi)部存儲(chǔ)器中供后續(xù)處理使用。 在FPGA開(kāi)發(fā)語(yǔ)音識(shí)別系統(tǒng)時(shí),使用的語(yǔ)言是硬件描述語(yǔ)言,有VHDL(VHSIC
    發(fā)表于 12-01 14:15

    基于VHDL語(yǔ)言實(shí)現(xiàn)遠(yuǎn)程防盜報(bào)警設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VHDL語(yǔ)言實(shí)現(xiàn)遠(yuǎn)程防盜報(bào)警設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 14:33 ?0次下載
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>語(yǔ)言</b>實(shí)現(xiàn)遠(yuǎn)程防盜報(bào)警設(shè)計(jì)

    基于CPLD的VHDL語(yǔ)言數(shù)字鐘(含秒表)設(shè)計(jì)

    發(fā)表于 11-03 08:31 ?0次下載
    基于CPLD的<b class='flag-5'>VHDL</b><b class='flag-5'>語(yǔ)言</b>數(shù)字鐘(含秒表)設(shè)計(jì)