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