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