鬼佬大哥大
  • / 10
  • 下載費用:30 金幣  

一種基于文本樹形結構模型的FPGA拓撲信息的獲取方法.pdf

摘要
申請專利號:

CN201510442273.6

申請日:

2015.07.24

公開號:

CN105069204A

公開日:

2015.11.18

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/50申請日:20150724|||公開
IPC分類號: G06F17/50 主分類號: G06F17/50
申請人: 西安空間無線電技術研究所
發明人: 龔科; 郭寶龍; 賈亮; 閆允一; 張國霞
地址: 710100陜西省西安市長安區西街150號
優先權:
專利代理機構: 中國航天科技專利中心11009 代理人: 陳鵬
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510442273.6

授權公告號:

||||||

法律狀態公告日:

2017.12.15|||2015.12.16|||2015.11.18

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明一種基于文本樹形結構模型的FPGA拓撲信息的獲取方法,首先設定功能模塊的格式,然后以功能模塊為最小單位對FPGA工程進行分割,建立描述例化模塊間拓撲關系的文本樹形結構模型;之后基于文本樹形結構模型從頂層模塊開始逐層地確定例化模塊間的父子關系,得到了FPGA工程的頂層模塊和所有例化模塊間的層級關系,并完成文本信息的抽象。最終以文本文件的形式存儲并輸出拓撲信息。本方法實現對FPGA工程模塊拓撲關系圖的文本信息抽象,完成由圖論信息到可讀寫的文本信息轉化,實現了復雜多層次的FPGA工程模塊拓撲關系劃分和文本信息提取,提高了模塊拓撲關系劃分效率。

權利要求書

1.一種基于文本樹形結構模型的FPGA拓撲信息的獲取方法,其特征在
于步驟如下:
一:劃分FPGA工程的功能模塊
步驟1:建立功能模塊,所述功能模塊的代碼段格式包括三個部分,即第
一部分為以關鍵字library為標志的庫引用部分,第二部分為以關鍵字entity為
標志的實體部分,第三部分為以關鍵字architecture為標志的結構體部分;
步驟2:以建立的功能模塊為最小單位依次對FPGA工程進行劃分;依次
將劃分后的功能模塊代碼保存于對應的子FPGA工程中,子FPGA工程以功能
模塊代碼段中實體部分的名稱命名;
二:建立文本樹形結構模型
步驟3:建立描述FPGA工程模塊間拓撲關系的模型,命名為“文本樹形
結構模型”;
步驟3-1:劃分文本樹形結構的頂點,分別為top頂點和common頂點;
步驟3-2:設定top頂點代表FPGA工程的頂層模塊,設定common頂點
代表例化模塊;設定top頂點為第一層頂點,common頂點為第m層頂點,
m>1;
步驟3-3:設定一個例化模塊A在對應的功能模塊代碼中例化另一個例化
模塊B,則上述兩個例化模塊之間的關系為父子例化模塊關系,其中例化模塊
A為父例化模塊,例化模塊B為子例化模塊;則第n層頂點為上一層某頂點的
子例化模塊,n>2;
步驟3-4:設定文本樹形結構格式,其中top頂點存儲的信息為頂層模塊名
稱,第二層common頂點存儲的信息為該頂點對應的例化模塊名稱、該頂點對
應的功能模塊名稱、該層模塊名稱;第n層common頂點存儲的信息為該頂點
對應的例化模塊名稱、該頂點對應的功能模塊名稱、該例化模塊的父例化模塊
名稱、該父例化模塊對應的功能模塊名稱;
三:基于文本樹形結構模型查找指定模塊的可變層拓撲信息
步驟4:基于步驟2生成的子FPGA工程,查找所有功能模塊內的例化信
息;
步驟4-1:查找并記錄子FPGA工程中某一個功能模塊內的例化信息;
步驟4-1-1:查找例化語句,具體如下;
讀功能模塊代碼,在結構體下的關鍵字“begin”和關鍵字“end”之間查
找以“:”為標志的語句,將“:”后的詞和步驟2建立的功能模塊名稱一一比
對,如果有相同名稱則停止比對,該條語句為關于其他功能模塊的例化語句;
“:”前為例化模塊名稱,“:”后為對應的功能模塊名稱;存儲例化模塊名稱、
對應的功能模塊名稱;如果沒有相同名稱則執行步驟4-1-2;其中所述的詞為一
串連續的不包括空格和“:”的字符;
步驟4-1-2:按步驟4-1-1的方法查找下一個例化語句,直到分析過該功能
模塊的所有例化語句后執行步驟4-1-3;
步驟4-1-3:為該功能模塊創建與它同名的文本文件,用于保存功能模塊內
的例化信息;
步驟4-2:使用步驟4-1的方法,查找并存儲所有功能模塊內的例化信息;
步驟5:查找并存儲功能模塊的可變層拓撲信息;
基于文本樹形結構模型以步驟4生成的文本文件為資源,獲取一個功能模
塊的任意層拓撲信息;
步驟5-1:指定待查找的功能模塊的名稱和層數;假設功能模塊名稱為T,
層數為k;
步驟5-2:基于步驟3建立的文本樹形結構模型查找功能模塊T的k層拓
撲信息;
步驟5-2-1:確定并記錄文本樹形結構的第一層頂點;
設功能模塊T為頂層模塊,則T對應文本樹形結構中的top頂點,按步驟
3建立的文本樹形結構獲取top頂點的相關信息;
步驟5-2-2:查找并記錄文本樹形結構的第二層頂點;
基于步驟4生成的與top頂點同名的文本文件確定第二層頂點;該文本文
件內記錄的全部例化模塊為第二層的全部頂點;根據該文本文件內存儲的例化
模塊名稱、對應的功能模塊名稱、top頂點名稱,確定第二層全部頂點的相關
信息;
步驟5-2-3:查找并記錄文本樹形結構的第p層頂點,2<p≤k;
依次讀取上一層頂點相關信息中“父例化模塊對應的功能模塊”信息對應
的同名文本文件;文本文件內記錄的全部例化模塊為第p層的頂點;根據文本
文件內存儲的例化模塊名、對應的功能模塊名稱、被讀取的文本文件名稱、被
讀取文本文件對應的上一層頂點名稱,確定第p層頂點的相關信息;
步驟5-2-4:重復步驟5-2-3,直到p=k或全部第p層頂點相關信息中“p
層頂點對應的功能模塊名稱”信息的同名文本文件都為空;
步驟5-3:若最終p=k,則表明功能模塊T的實際拓撲信息層數大于等于k,
最終輸出文件內的拓撲信息有k層;若最終p<k,則表明功能模塊T的實際拓
撲信息層數小于k,最終輸出文本文件內的拓撲信息為指定功能模塊的可變層
拓撲信息。

說明書

一種基于文本樹形結構模型的FPGA拓撲信息的獲取方法

技術領域

本發明屬于系統防護領域,涉及FPGA工程防護代價的計算,可用于劃分
FPGA模塊和查找任意模塊內的可變層拓撲關系。

背景技術

航天領域中的電子器件常常會受到空間高能粒子的沖擊而發生電路邏輯狀
態的改變,這種現象被稱為單粒子效應。單粒子效應會對航天器的安全造成極
大的威脅,因此人們對此十分關注。為了減輕單粒子效應對系統造成的影響,
需要對目標系統進行適當的防護,這其中涉及到FPGA工程防護代價的計算。

為了計算FPGA模塊的防護代價,往往需要先對FPGA工程進行分割,再
分析模塊間的拓撲關系。現有的方法通常是用ISE軟件來分析FPGA工程模塊
間的拓撲信息,但是這種方法存在下述兩點不足:1.ISE軟件只能以圖像的形
式描述模塊間的拓撲信息,不能以文件的形式輸出拓撲信息,且ISE軟件內信
息量太大,存在不相關信息,不夠便捷;2.ISE軟件的模塊拓撲關系圖描述的
是從頂層模塊開始到底層模塊結束的模塊間的拓撲信息。當用戶需要查看非頂
層模塊內部的拓撲信息時就要先找到待分析模塊在拓撲圖中的位置,在這個過
程中用戶容易受到不相關功能模塊信息的干擾。當用戶想要查看功能模塊指定
層數的拓撲信息時就要判斷每一條拓撲信息所屬的層數,在這個過程中用戶容
易受到不相關層數信息的干擾。

發明內容

本發明解決的技術問題是:克服現有技術的不足,提供了一種基于文本樹
形結構模型的FPGA拓撲信息的獲取方法,通過建立描述例化模塊間拓撲關系
的文本樹形結構模型,并基于文本樹形結構模型查找一個FPGA工程的頂層模
塊和所有例化模塊間的層級關系,實現了FPGA工程模塊關系圖的文本信息抽
象。

本發明的技術方案是:一種基于文本樹形結構模型的FPGA拓撲信息的獲
取方法,步驟如下:

一:劃分FPGA工程的功能模塊

步驟1:建立功能模塊,所述功能模塊的代碼段格式包括三個部分,即第
一部分為以關鍵字library為標志的庫引用部分,第二部分為以關鍵字entity為
標志的實體部分,第三部分為以關鍵字architecture為標志的結構體部分;

步驟2:以建立的功能模塊為最小單位依次對FPGA工程進行劃分;依次
將劃分后的功能模塊代碼保存于對應的子FPGA工程中,子FPGA工程以功能
模塊代碼段中實體部分的名稱命名;

二:建立文本樹形結構模型

步驟3:建立描述FPGA工程模塊間拓撲關系的模型,命名為“文本樹形
結構模型”;

步驟3-1:劃分文本樹形結構的頂點,分別為top頂點和common頂點;

步驟3-2:設定top頂點代表FPGA工程的頂層模塊,設定common頂點
代表例化模塊;設定top頂點為第一層頂點,common頂點為第m層頂點,
m>1;

步驟3-3:設定一個例化模塊A在對應的功能模塊代碼中例化另一個例化
模塊B,則上述兩個例化模塊之間的關系為父子例化模塊關系,其中例化模塊
A為父例化模塊,例化模塊B為子例化模塊;則第n層頂點為上一層某頂點的
子例化模塊,n>2;

步驟3-4:設定文本樹形結構格式,其中top頂點存儲的信息為頂層模塊名
稱,第二層common頂點存儲的信息為該頂點對應的例化模塊名稱、該頂點對
應的功能模塊名稱、該層模塊名稱;第n層common頂點存儲的信息為該頂點
對應的例化模塊名稱、該頂點對應的功能模塊名稱、該例化模塊的父例化模塊
名稱、該父例化模塊對應的功能模塊名稱;

三:基于文本樹形結構模型查找指定模塊的可變層拓撲信息

步驟4:基于步驟2生成的子FPGA工程,查找所有功能模塊內的例化信
息;

步驟4-1:查找并記錄子FPGA工程中某一個功能模塊內的例化信息;

步驟4-1-1:查找例化語句,具體如下;

讀功能模塊代碼,在結構體下的關鍵字“begin”和關鍵字“end”之間查
找以“:”為標志的語句,將“:”后的詞和步驟2建立的功能模塊名稱一一比
對,如果有相同名稱則停止比對,該條語句為關于其他功能模塊的例化語句;
“:”前為例化模塊名稱,“:”后為對應的功能模塊名稱;存儲例化模塊名稱、
對應的功能模塊名稱;如果沒有相同名稱則執行步驟4-1-2;其中所述的詞為一
串連續的不包括空格和“:”的字符;

步驟4-1-2:按步驟4-1-1的方法查找下一個例化語句,直到分析過該功能
模塊的所有例化語句后執行步驟4-1-3;

步驟4-1-3:為該功能模塊創建與它同名的文本文件,用于保存功能模塊內
的例化信息;

步驟4-2:使用步驟4-1的方法,查找并存儲所有功能模塊內的例化信息;

步驟5:查找并存儲功能模塊的可變層拓撲信息;

基于文本樹形結構模型以步驟4生成的文本文件為資源,獲取一個功能模
塊的任意層拓撲信息;

步驟5-1:指定待查找的功能模塊的名稱和層數;假設功能模塊名稱為T,
層數為k;

步驟5-2:基于步驟3建立的文本樹形結構模型查找功能模塊T的k層拓
撲信息;

步驟5-2-1:確定并記錄文本樹形結構的第一層頂點;

設功能模塊T為頂層模塊,則T對應文本樹形結構中的top頂點,按步驟
3建立的文本樹形結構獲取top頂點的相關信息;

步驟5-2-2:查找并記錄文本樹形結構的第二層頂點;

基于步驟4生成的與top頂點同名的文本文件確定第二層頂點;該文本文
件內記錄的全部例化模塊為第二層的全部頂點;根據該文本文件內存儲的例化
模塊名稱、對應的功能模塊名稱、top頂點名稱,確定第二層全部頂點的相關
信息;

步驟5-2-3:查找并記錄文本樹形結構的第p層頂點,2<p≤k;

依次讀取上一層頂點相關信息中“父例化模塊對應的功能模塊”信息對應
的同名文本文件;文本文件內記錄的全部例化模塊為第p層的頂點;根據文本
文件內存儲的例化模塊名、對應的功能模塊名稱、被讀取的文本文件名稱、被
讀取文本文件對應的上一層頂點名稱,確定第p層頂點的相關信息;

步驟5-2-4:重復步驟5-2-3,直到p=k或全部第p層頂點相關信息中“p
層頂點對應的功能模塊名稱”信息的同名文本文件都為空;

步驟5-3:若最終p=k,則表明功能模塊T的實際拓撲信息層數大于等于k,
最終輸出文件內的拓撲信息有k層;若最終p<k,則表明功能模塊T的實際拓
撲信息層數小于k,最終輸出文本文件內的拓撲信息為指定功能模塊的可變層
拓撲信息。

本發明與現有技術相比的優點在于:

1.本方法通過構建的文本樹形結構模型,實現了復雜多層次的FPGA工程
模塊拓撲關系劃分和文本信息抽象,提高了模塊拓撲關系劃分效率。

2.本方法利用構建的文本樹形結構模型,實現對FPGA制定工程模塊可變
層拓撲圖的文本信息提取,從而有效指導系統單粒子軟錯誤防護設計。

附圖說明

圖1為本發明方法流程圖。

具體實施方式

本發明的核心思想是對FPGA工程進行模塊劃分,并建立描述模塊間拓撲
關系的文本樹形結構模型,隨后基于文本樹形結構模型完成對拓撲關系信息的
文本信息抽象,最終以文本文件存儲并輸出模塊拓撲關系信息。

參考圖1,本發明一種基于文本樹形結構模型的FPGA拓撲關系劃分方法,
其實現步驟如下

第一部分:劃分FPGA工程的功能模塊

步驟1:建立功能模塊,所述功能模塊的代碼段格式包括三個部分,即第
一部分為以關鍵字library為標志的庫引用部分,第二部分為以關鍵字entity為
標志的實體部分,第三部分為以關鍵字architecture為標志的結構體部分,功
能模塊代碼段的格式如表1所示;

以關鍵字library為標志的庫引用部分
以關鍵字entity為標志的實體部分
以關鍵字architecture為標志的結構體部分

表1.功能模塊的代碼段格式

步驟2:以建立的功能模塊為最小單位依次對FPGA工程進行劃分;依次
將劃分后的功能模塊代碼保存于對應的子FPGA工程中,子FPGA工程以功能
模塊代碼段中實體部分的名稱命名;

第二部分:建立文本樹形結構模型

步驟3:建立描述FPGA工程模塊間拓撲關系的模型,命名為“文本樹形
結構模型”;

步驟3-1:劃分文本樹形結構的頂點,分別為top頂點和common頂點;

步驟3-2:設定top頂點代表FPGA工程的頂層模塊,設定common頂點
代表例化模塊;設定top頂點為第一層頂點,common頂點為第m層頂點,
m>1;

步驟3-3:設定一個例化模塊A在對應的功能模塊代碼中例化另一個例化
模塊B,則上述兩個例化模塊之間的關系為父子例化模塊關系,其中例化模塊
A為父例化模塊,例化模塊B為子例化模塊;則第n層頂點為上一層某頂點的
子例化模塊,n>2;

步驟3-4:設定文本樹形結構格式,其中top頂點存儲的信息為頂層模塊名
稱,第二層common頂點存儲的信息為該頂點對應的例化模塊名稱、該頂點對
應的功能模塊名稱、該層模塊名稱;第n層common頂點存儲的信息為該頂點
對應的例化模塊名稱、該頂點對應的功能模塊名稱、該例化模塊的父例化模塊
名稱、該父例化模塊對應的功能模塊名稱;構建的文本樹形結構格式排列如表
2所示,表中t、a1、a2、b1、b2、b3、c1、c2、c3、c4、c5為各層頂點。


表2.文本樹形結構

top頂點t存儲的相關信息,如表3所示。

頂層模塊名

表3.top頂點t的相關信息

第二層頂點a1、a2存儲的相關信息,如表4所示。


表4.第2層頂點的相關信息

b1、b2、b3、c1、c2、c3、c4、c5為第n(n>2)層頂點的相關信息,如
表5所示。


表5.第n(n>2)層頂點的相關信息

第三部分:基于文本樹形結構模型查找指定模塊的可變層拓撲信息

步驟4:基于步驟2生成的子FPGA工程,查找所有功能模塊內的例化信
息;

步驟4-1:查找并記錄子FPGA工程中某一個功能模塊內的例化信息;

步驟4-1-1:查找例化語句,具體如下;

讀功能模塊代碼,在結構體下的關鍵字“begin”和關鍵字“end”之間查
找以“:”為標志的語句,將“:”后的詞和步驟2建立的功能模塊名稱一一比
對,如果有相同名稱則停止比對,該條語句為關于其他功能模塊的例化語句;
“:”前為例化模塊名稱,“:”后為對應的功能模塊名稱;存儲例化模塊名稱、
對應的功能模塊名稱,得到如表6所示的功能模塊的例化信息;如果沒有相同
名稱則執行步驟4-1-2;其中所述的詞為一串連續的不包括空格和“:”的字符;

例化模塊名
對應的功能模塊名

表6.例化信息

步驟4-1-2:按步驟4-1-1的方法查找下一個例化語句,直到分析過該功能
模塊的所有例化語句后執行步驟4-1-3;

步驟4-1-3:為該功能模塊創建與它同名的文本文件,用于保存功能模塊內
的例化信息,表7為文本文件格式列表;

一條例化信息a
一條例化信息b
一條例化信息c
……

表7.存儲例化信息的文本文件

步驟4-2:使用步驟4-1的方法,查找并存儲所有功能模塊內的例化信息;

步驟5:查找并存儲功能模塊的可變層拓撲信息;

基于文本樹形結構模型以步驟4生成的文本文件為資源,獲取一個功能模
塊的任意層拓撲信息;

步驟5-1:指定待查找的功能模塊的名稱和層數;假設功能模塊名稱為T,
層數為k;

步驟5-2:基于步驟3建立的文本樹形結構模型查找功能模塊T的k層拓
撲信息;

步驟5-2-1:確定并記錄文本樹形結構的第一層頂點;

設功能模塊T為頂層模塊,則T對應文本樹形結構中的top頂點,按步驟
3建立的文本樹形結構獲取top頂點的相關信息;

步驟5-2-2:查找并記錄文本樹形結構的第二層頂點;

基于步驟4生成的與top頂點同名的文本文件確定第二層頂點;該文本文
件內記錄的全部例化模塊為第二層的全部頂點;根據該文本文件內存儲的例化
模塊名稱、對應的功能模塊名稱、top頂點名稱,確定第二層全部頂點的相關
信息;

步驟5-2-3:查找并記錄文本樹形結構的第p層頂點,2<p≤k;

依次讀取上一層頂點相關信息中“父例化模塊對應的功能模塊”信息對應
的同名文本文件;文本文件內記錄的全部例化模塊為第p層的頂點;根據文本
文件內存儲的例化模塊名、對應的功能模塊名稱、被讀取的文本文件名稱、被
讀取文本文件對應的上一層頂點名稱,確定第p層頂點的相關信息;

步驟5-2-4:重復步驟5-2-3,直到p=k或全部第p層頂點相關信息中“p
層頂點對應的功能模塊名稱”信息的同名文本文件都為空;

步驟5-3:若最終p=k,則表明功能模塊T的實際拓撲信息層數大于等于k,
最終輸出文件內的拓撲信息有k層;若最終p<k,則表明功能模塊T的實際拓
撲信息層數小于k,最終輸出文本文件內的拓撲信息為指定功能模塊的可變層
拓撲信息。

關 鍵 詞:
一種 基于 文本 樹形 結構 模型 FPGA 拓撲 信息 獲取 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種基于文本樹形結構模型的FPGA拓撲信息的獲取方法.pdf
鏈接地址:http://www.wwszu.club/p-6386037.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大