西華師范大學電子信息工程學院 彭子洳
?
VHDL中元件例化語句的使用
西華師范大學電子信息工程學院彭子洳
元件例化是用含有完整程序結(jié)構(gòu)的VHDL表述來構(gòu)成自頂而下層次化設(shè)計的一種重要手段,本論文首先論述元件例化的概念,特點,組成及其表達形式等,說明對元件例化語句的認識。
VHDL;元件例化;層次化設(shè)計
在使用VHDL進行電路設(shè)計過程中,為了達到連接底層元件實現(xiàn)更高層次的電路設(shè)計結(jié)構(gòu),常常在文件中使用元件例化語句來實現(xiàn)。將預(yù)先設(shè)計好的設(shè)計實體定義為一個元件,然后利用映射語句將此元件與另一個設(shè)計實體中指定的端口相連,從而實現(xiàn)層次化設(shè)計,這種設(shè)計方法可以大大地簡化硬件電路的結(jié)構(gòu),具有可靠性高、靈活性強等特點。
元件例化本質(zhì)上就是一種元件與指定端口相連接,即將層次化設(shè)計中底層設(shè)計好的設(shè)計實體定義為一個元件也成為底層元件,然后利用特定的連接表述方法,這里一般指端口映射法或者位置關(guān)聯(lián)法或者這兩種方法相結(jié)合使用,來將此元件與當前的設(shè)計實體中的指定端口相連接,從而為當前設(shè)計實體引進一個新的低一級的設(shè)計層次。元件例化是使VHDL的設(shè)計實體構(gòu)成自頂向下層次化設(shè)計的一種重要手段。
(1)元件例化是可以多層次的。一個調(diào)用了較低層次元件的頂層設(shè)計實體,也可以被更高層次的設(shè)計實體所調(diào)用,成為當前設(shè)計實體中的一個元件。
(2)任何一個被例化語句聲明并調(diào)用的設(shè)計實體就是一個元件,但該元件可以通過不同的形式出現(xiàn)。它可以是已設(shè)計好的一個VHDL 設(shè)計實體,可以是來自FPGA元件庫中的元件或是FPGA器件中的嵌入式宏元件功能塊,或是以別的硬件描述語言,如Verilog HDL 設(shè)計的元件。當然還可以是軟的IP 核,或者是FPGA中的嵌入式硬IP核。
3.1元件例化的組成部分
元件例化語句由兩部分組成,第一部分是將一個底層設(shè)計好的設(shè)計實體定義為一個元件,語句的功能是用COMPONENT語句對準備調(diào)用的這個元件做出聲明,這一部分稱為元件調(diào)用聲明語句或元件定義語句。元件例化語句的第二個組成部分則是底層元件與頂層文件中元件間及端口的連接說明。
3.2元件例化的表達形式
(1)元件定義語句
元件調(diào)用聲明語句必須放在ARCHITECTURE和BEGIN之前。其中“端口名表”需要例出該元件對外通信的各端口名。命名方式與PORT()語句一致。即對于需要調(diào)用的元件,只需將該元件對應(yīng)的VHDL程序的實體描述直接復制過來,然后把ENTITY改寫為COMPONENT。
(2)元件例化語句
元件例化語句,其中的例化名必須是已經(jīng)存在的,它類似于標在當前電路設(shè)計系統(tǒng)中的一個插座名,而元件名則是準備在此插座上插入的底層設(shè)計中的元件名PORT MAP 是端口映射,或端口連接的意思,其中的“端口名”是在元件定義語句中的端口名表中已定義好的元件端口的名字,或者說是頂層文件中待連接的各個元件本身的端口名?!斑B接端口名”則是頂層系統(tǒng)中準備與接入的元件的端口相連的通信線名,相當于插座上各插針的引腳名。元件例化就是講元件的引腳與調(diào)用該元件的端口的引腳相關(guān)聯(lián),該關(guān)聯(lián)有三種表達方式,一是端口名關(guān)聯(lián)法也稱端口名映射法。形式:例化名 :元件名 PORT MAP(信號關(guān)聯(lián)式1,信號關(guān)聯(lián)式2,...) ;信號關(guān)聯(lián)式形如:b=>b1,意思是將元件的引腳b與調(diào)用該元件的端口b1相關(guān)聯(lián),符號“=>”為連接符號。這時,端口名與連接端口名的對應(yīng)形式在PORT MAP句中的位置可以是任意的。二是位置關(guān)聯(lián)法。所謂位置關(guān)聯(lián),就是以位置的對應(yīng)關(guān)系連接相應(yīng)的端口。形式:例化名:元件名PORT MAP(信號1,信號2,...) ;使用這種方式,端口名和關(guān)聯(lián)連接符號都可省去,在PORT MAP子句中要求連接端口的信號排列方式與所需例化的元件端口定義的端口名相對應(yīng)。三是混合關(guān)聯(lián)法,即端口名映射法與位置關(guān)聯(lián)法相結(jié)合使用的方法。
VHDL中元件例化語句可以將底層元件連接起來,形成更高層次的電路設(shè)計機構(gòu),也很好的體現(xiàn)了VHDL中自頂而下的層次化設(shè)計。在如今電子自動化技術(shù)不斷發(fā)展的時代,電路設(shè)計系統(tǒng)越來越復雜化,若能夠很好的將元件例化語句使用到電路設(shè)計當中,將進一步提高電路設(shè)計的高效性和穩(wěn)定性。
[1]黃繼業(yè).EDA技術(shù)使用教程-VHDL版[M].科學出版社,2013.
[2]王廣君.EDA技術(shù)及應(yīng)用[M].華中科技大學出版社,2008.
[3]侯伯亨,顧新.硬件描述語言與數(shù)字邏輯電路設(shè)計[M].西安電子科技大學出版社,1999.