基于IP庫(kù)的可編程器件輔助設(shè)計(jì)軟件
存放HDL程序的源文件的數(shù)據(jù)庫(kù)比較簡(jiǎn)單,對(duì)它的操作僅限于對(duì)文件內(nèi)容的復(fù)制,因此這里不作進(jìn)一步的討論。
存放端口信號(hào)列表的數(shù)據(jù)庫(kù)結(jié)構(gòu),如表1所示。
表1中,最上面的一行是數(shù)據(jù)庫(kù)的表頭,字段名代表了每一個(gè)字段下面內(nèi)容的具體含義。其中,module為電路單元模塊名;detail為存放模塊端口詳細(xì)信息的數(shù)據(jù)庫(kù)名;PortN代表了模塊中某個(gè)端口的名字, N是自然數(shù)。
從表1中第二行開(kāi)始的記錄是不同的模塊。例如,第二行記錄所描述的模塊是帶有一個(gè)異步清零端的D觸發(fā)器,模塊名是DFF,模塊端口的詳細(xì)信息存放在DFF_D的數(shù)據(jù)庫(kù)文件中,總共有4個(gè)端口,分別是CLK、CLR、D和Q。數(shù)據(jù)庫(kù)文件 DFF_D中存放的是每個(gè)端口的方向和寬度。
以DFF模塊為例,其對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件DFF_D 的內(nèi)容如表2所示:
數(shù)據(jù)庫(kù)文件DFF_D的字段有兩類,前一半的字段都是以Pn_io的形式出現(xiàn),代表了這個(gè)端口的流向,是輸入、輸出還是雙向。后一半的字段都是以Pn_bit的形式出現(xiàn),代表了這個(gè)端口信號(hào)的寬度。
通過(guò)上面兩類數(shù)據(jù)庫(kù),就可以完整地掌握一個(gè)模塊的所有接口信息。
在圖1所示的流程圖中,最重要的一步就是 進(jìn)行例化、組合。根據(jù)上述幾個(gè)數(shù)據(jù)庫(kù)的定義和描述,例化和組合的流程如圖3所示。圖中兩個(gè)預(yù)備處理(六邊形框)的工作是例化組合前的準(zhǔn)備工作。根據(jù)系統(tǒng)設(shè)計(jì)規(guī)范的要求,確定所需功能模塊的種類和數(shù)量,然后由設(shè)計(jì)者來(lái)確定所有模塊及其輸入輸出信號(hào)的名字。這些操作都可以通過(guò)鍵盤(pán)輸入的方式來(lái)完成,從而將例化和組合過(guò)程中所需的信息傳遞給HAD軟件。
確定好所需的模塊之后,就可以逐一地對(duì)每個(gè)模塊進(jìn)行例化。首先打開(kāi)端口信號(hào)列表數(shù)據(jù)庫(kù),從中找到所選定的模塊。接著,打開(kāi)存放有模塊端口詳細(xì)信息的數(shù)據(jù)庫(kù),讀取端口的類型和數(shù)量,按照指定的連接信號(hào)名對(duì)模塊進(jìn)行例化。最后將例化后的HDL程序組合成一個(gè)文件。
4 管理電路單元庫(kù)程序的設(shè)計(jì)思路
管理電路單元庫(kù)的軟件所具備的功能是對(duì)電路單元進(jìn)行增加、刪除和修改等操作,流程如圖4所示。
圖4中,管理流程主要由3個(gè)處理分支組成,分別是增加、刪除和修改電路單元分支。
評(píng)論