一種fpga布局布線后仿真中異常信號(hào)溯源方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種FPGA布局布線后仿真中異常信號(hào)溯源方法。通過(guò)對(duì)布局布線后網(wǎng)表文件進(jìn)行詞法分析和語(yǔ)法分析,得出相應(yīng)的邏輯器件與器件之間信號(hào)的連接關(guān)系并用有向圖存儲(chǔ),由用戶給出一個(gè)異常信號(hào),逆向搜索有向圖,得出能影響到此異常信號(hào)值的極大連通子圖,抽取有向圖中極大連通子圖對(duì)應(yīng)路徑上的全部信號(hào)加入仿真軟件進(jìn)行仿真,得到相應(yīng)的信號(hào)仿真VCD文件。從異常信號(hào)連接的節(jié)點(diǎn)開(kāi)始,根據(jù)VCD文件,依次判斷連接至此節(jié)點(diǎn)的信號(hào)是否是異常信號(hào)的來(lái)源,從任意一個(gè)異常信號(hào)的來(lái)源回溯,找到無(wú)異常信號(hào)來(lái)源的信號(hào)即異常信號(hào)的源。本發(fā)明使得FPGA測(cè)試驗(yàn)證人員可以簡(jiǎn)化后仿真測(cè)試驗(yàn)證過(guò)程的異常信號(hào)的定位流程,縮短信號(hào)溯源時(shí)間。
【專(zhuān)利說(shuō)明】—種FPGA布局布線后仿真中異常信號(hào)溯源方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及異常信號(hào)溯源方法,尤其是涉及一種FPGA布局布線后仿真中異常信號(hào)溯源方法。
【背景技術(shù)】
[0002]隨著FPGA (現(xiàn)場(chǎng)可編程邏輯陣列)設(shè)計(jì)變得日漸復(fù)雜,相應(yīng)的測(cè)試驗(yàn)證難度在迅速加大。在布局布線后仿真驗(yàn)證過(guò)程中,驗(yàn)證人員常常會(huì)遇到信號(hào)值為不定態(tài)或者毛刺等異常情況,目前對(duì)于異常信號(hào)的查找和溯源主要通過(guò)觀察波形和對(duì)信號(hào)值的分析,反復(fù)將可能是異常信號(hào)來(lái)源的信號(hào)加入仿真器進(jìn)行仿真分析,由于布局布線后仿真中內(nèi)部信號(hào)名發(fā)生了變化且自動(dòng)生成大量的寄存器、查找表及其他與非門(mén)等邏輯單元,查找過(guò)程非常繁瑣且難以準(zhǔn)確定位產(chǎn)生此異常信號(hào)的信號(hào)源頭。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種FPGA布局布線后仿真中異常信號(hào)溯源方法,通過(guò)對(duì)布局布線后仿真邏輯網(wǎng)表的分析,提取少量的信號(hào)值進(jìn)行仿真,并能快速定位異常信號(hào)的來(lái)源。
[0004]本發(fā)明所采用的技術(shù)方案的步驟如下:
(I)通過(guò)對(duì)布局布線后網(wǎng)表文件進(jìn)行詞法分析和語(yǔ)法分析,得出網(wǎng)表文件相應(yīng)的邏輯器件與邏輯器件之間的信號(hào)以及所述信號(hào)與邏輯器件的輸入輸出關(guān)系;
(2)使用有向圖存儲(chǔ)相應(yīng)的邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系;
(3)由用戶給出一個(gè)異常信號(hào);
(4)逆向搜索有向圖,得出能影響到異常信號(hào)值的極大連通子圖,抽取所述有向圖中極大連通子圖對(duì)應(yīng)的路徑的全部信號(hào)加入仿真軟件,進(jìn)行仿真,得到相應(yīng)的信號(hào)仿真VCD文件;
(5)從以異常信號(hào)作為輸出邊的節(jié)點(diǎn)開(kāi)始,根據(jù)VCD文件,依次判斷連接至此節(jié)點(diǎn)的信號(hào)是否是異常信號(hào)的來(lái)源,從任意一個(gè)異常信號(hào)的來(lái)源繼續(xù)回溯,找到無(wú)異常信號(hào)來(lái)源的信號(hào)即異常信號(hào)的源并顯示回溯的路徑。
[0005]所述的布局布線后網(wǎng)表文件構(gòu)造邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系時(shí)需提取并分析芯片庫(kù)文件中的模塊邏輯結(jié)構(gòu)。
[0006]在使用有向圖存儲(chǔ)邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系時(shí)將邏輯器件抽象為有向圖的節(jié)點(diǎn),使用邏輯器件的名稱(chēng)做為節(jié)點(diǎn)標(biāo)識(shí)符,邏輯器件之間信號(hào)抽象為有向圖的有向邊,以邏輯器件之間信號(hào)名稱(chēng)作為有向邊標(biāo)識(shí)符。
[0007]用戶給出異常信號(hào)需同時(shí)給出異常信號(hào)名稱(chēng)及出現(xiàn)異常時(shí)的仿真時(shí)刻。
[0008]所述的仿真軟件為VCS或者modelsim。
[0009]在回溯之前需對(duì)有向圖進(jìn)行處理,將有向圖中存在的環(huán)縮減為一個(gè)節(jié)點(diǎn)。
[0010]本發(fā)明具有的有益效果是: 本發(fā)明通過(guò)對(duì)布局布線后仿真邏輯網(wǎng)表的分析,提取少量的信號(hào)值進(jìn)行仿真,并能快速定位異常信號(hào)的來(lái)源,使得FPGA測(cè)試驗(yàn)證人員可以簡(jiǎn)化后仿真測(cè)試驗(yàn)證過(guò)程的異常信號(hào)的定位流程,縮短信號(hào)溯源時(shí)間。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0011]圖1是布局布線后仿真中異常信號(hào)溯源方法流程圖。
[0012]圖2是分析布局布線后網(wǎng)表文件流程圖。
[0013]圖3是信號(hào)仿真流程圖。
[0014]圖4是定位異常信號(hào)源流程圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0016]如圖1所示,本發(fā)明的步驟如下:
(1)通過(guò)對(duì)布局布線后網(wǎng)表文件進(jìn)行詞法分析和語(yǔ)法分析,得出網(wǎng)表文件相應(yīng)的邏輯器件與邏輯器件之間的信號(hào)以及所述信號(hào)與邏輯器件的輸入輸出關(guān)系;
(2)使用有向圖存儲(chǔ)相應(yīng)的邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系;
如圖2所示,上述2個(gè)步驟具體如下:
I)在提前設(shè)定的文件所在路徑或者在指定工程目錄下檢索獲得獲取后仿真網(wǎng)表文件及相應(yīng)庫(kù)文件。
[0017]2)利用flex和bison對(duì)網(wǎng)表文件進(jìn)行詞法分析和語(yǔ)法分析,提取邏輯器件名稱(chēng),及邏輯器件的各端口信號(hào)。
[0018]3)對(duì)應(yīng)網(wǎng)表文件中的每一個(gè)端口信號(hào),檢索庫(kù)文件模塊確定此端口信號(hào)為邏輯器件的輸入還是輸出端口,得到網(wǎng)表文件中邏輯器件與邏輯器件之間信號(hào)的輸入輸出關(guān)系。
[0019]4)將邏輯器件與輸入輸出信號(hào)之間的連接關(guān)系通過(guò)有向圖進(jìn)行抽象,有向圖以十字鏈表進(jìn)行存儲(chǔ),邏輯器件抽象為相應(yīng)的節(jié)點(diǎn),使用邏輯器件的名稱(chēng)作為節(jié)點(diǎn)標(biāo)識(shí)符,邏輯器件之間的信號(hào)抽象為有向圖的有向邊,以邏輯器件之間信號(hào)名稱(chēng)作為有向邊標(biāo)識(shí)符,信號(hào)值對(duì)應(yīng)相應(yīng)邊的權(quán)值,以輸入信號(hào)作為起始邊自輸入到輸出構(gòu)建有向圖,并加入相應(yīng)的起始節(jié)點(diǎn)和終結(jié)點(diǎn)。
[0020](3)由用戶給出一個(gè)異常信號(hào),獲取異常信號(hào)名稱(chēng)及異常時(shí)刻需提供一個(gè)輸入界面并定義輸入格式和要求。;
(4)信號(hào)仿真流程,如圖3所示,具體步驟如下:
O以異常信號(hào)為初始邊開(kāi)始逆向搜索有向圖,得到能影響此信號(hào)的極大連通子圖,提取有向圖中極大連通子圖對(duì)應(yīng)路徑上的全部信號(hào)。
[0021]2)將步驟I)中提取的全部信號(hào)加入仿真軟件開(kāi)始仿真,仿真軟件為VCS或者modelsim,將信號(hào)仿真信息轉(zhuǎn)儲(chǔ)為V⑶文件。
[0022](5)從以異常信號(hào)作為輸出邊的節(jié)點(diǎn)開(kāi)始,根據(jù)VCD文件,依次判斷連接至此節(jié)點(diǎn)的信號(hào)是否是異常信號(hào)的來(lái)源,從任意一個(gè)異常信號(hào)的來(lái)源繼續(xù)回溯,找到無(wú)異常信號(hào)來(lái)源的信號(hào)。如圖4所示,具體步驟如下:
I)對(duì)圖3中步驟I)得到的極大連通子圖進(jìn)行預(yù)處理、將有向圖中的環(huán)收縮為一個(gè)節(jié)點(diǎn)。
[0023]2)從異常信號(hào)值連接的節(jié)點(diǎn)開(kāi)始、結(jié)合圖3中步驟2)得到V⑶文件進(jìn)行回溯分析。用tu表示信號(hào)異常出現(xiàn)的時(shí)刻,t0表示時(shí)間零點(diǎn),根據(jù)具體情況定義為FPGA復(fù)位時(shí)亥Ij或者FPGA芯片上電時(shí)刻。分析的過(guò)程如下:
a)讀入當(dāng)前異常信號(hào)所連接的節(jié)點(diǎn);
b)讀入輸入邊,分析V⑶文件;
c)判斷tu至t0是否存在異常信號(hào),若不存在跳轉(zhuǎn)至e),否則;
d)更新tu為輸入邊出現(xiàn)異常的時(shí)刻,更新當(dāng)前異常信號(hào)為輸入邊,跳轉(zhuǎn)至a);
e)判斷是否還有其他輸入邊,若有跳轉(zhuǎn)至b),否則
f)結(jié)束模塊、記錄并此信號(hào)為異常信號(hào)源
3)判斷異常信號(hào)源點(diǎn)是否在環(huán)路中,如果是的話,需要繼續(xù)在環(huán)中尋找最早出現(xiàn)異常值的信號(hào)。
[0024](6)將異常信號(hào)源的名稱(chēng)及發(fā)生異常的時(shí)刻以簡(jiǎn)潔的方式呈現(xiàn),并顯示溯源過(guò)程經(jīng)過(guò)的全部路徑。
【權(quán)利要求】
1.一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于,該方法的步驟如下: (1)通過(guò)對(duì)布局布線后網(wǎng)表文件進(jìn)行詞法分析和語(yǔ)法分析,得出網(wǎng)表文件相應(yīng)的邏輯器件與邏輯器件之間的信號(hào)以及所述信號(hào)與邏輯器件的輸入輸出關(guān)系; (2)使用有向圖存儲(chǔ)相應(yīng)的邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系; (3)由用戶給出一個(gè)異常信號(hào); (4)逆向搜索有向圖,得出能影響到異常信號(hào)值的極大連通子圖,抽取所述有向圖中極大連通子圖對(duì)應(yīng)的路徑的全部信號(hào)加入仿真軟件,進(jìn)行仿真,得到相應(yīng)的信號(hào)仿真VCD文件; (5)從以異常信號(hào)作為輸出邊的節(jié)點(diǎn)開(kāi)始,根據(jù)VCD文件,依次判斷連接至此節(jié)點(diǎn)的信號(hào)是否是異常信號(hào)的來(lái)源,從任意一個(gè)異常信號(hào)的來(lái)源繼續(xù)回溯,找到無(wú)異常信號(hào)來(lái)源的信號(hào)即異常信號(hào)的源并顯示回溯的路徑。
2.根據(jù)權(quán)利要求1所述的一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于:所述的布局布線后網(wǎng)表文件構(gòu)造邏輯器件與邏輯器件之間信號(hào)連接關(guān)系時(shí)需提取并分析芯片庫(kù)文件中的模塊邏輯結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1所述的一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于:在使用有向圖存儲(chǔ)邏輯器件與邏輯器件之間信號(hào)的連接關(guān)系時(shí)將邏輯器件抽象為有向圖的節(jié)點(diǎn),使用邏輯器件的名稱(chēng)作為節(jié)點(diǎn)標(biāo)識(shí)符,邏輯器件之間信號(hào)抽象為有向圖的有向邊,以邏輯器件之間信號(hào)名稱(chēng)作為標(biāo)識(shí)符。
4.根據(jù)權(quán)利要求1所述的一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于:用戶給出異常信號(hào)需同時(shí)給出異常信號(hào)名稱(chēng)及出現(xiàn)異常時(shí)的仿真時(shí)刻。
5.根據(jù)權(quán)利要求1所述的一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于:所述的仿真軟件為VCS或者modelsim。
6.根據(jù)權(quán)利要求1所述的一種FPGA布局布線后仿真中異常信號(hào)溯源方法,其特征在于:在回溯之前需對(duì)有向圖進(jìn)行處理,將有向圖中存在的環(huán)縮減為一個(gè)節(jié)點(diǎn)。
【文檔編號(hào)】G06F17/50GK103440363SQ201310329500
【公開(kāi)日】2013年12月11日 申請(qǐng)日期:2013年7月31日 優(yōu)先權(quán)日:2013年7月31日
【發(fā)明者】吳仁科, 蔡銘 申請(qǐng)人:浙江大學(xué)