Fpga設備訪問驗證裝置及方法
【技術領域】
[0001] 本發(fā)明涉及到現(xiàn)場可編程門陣列(簡稱,F(xiàn)PGA)驗證技術,特別涉及到FPGA設備訪 問驗證裝置及方法。
【背景技術】
[0002] 片上系統(tǒng)(簡稱,SoC)通常會包括處理器以及各種設備(如,存儲器、硬件加速器 等),處理器和各設備之間通過系統(tǒng)總線連接,處理器可以通過系統(tǒng)總線發(fā)送命令、地址以 及數(shù)據(jù)以實現(xiàn)對各個功能模塊的訪問。
[0003] 在S0C設計過程中,通常會通過FPGA搭建S0C原型,并在FPGA原型上對S0C設備 訪問進行驗證,隨著S0C規(guī)模越來越大,對S0C設備訪問的驗證也提出了更高的要求,目前 FPGA驗證在S0C設備訪問驗證中的重要作用越發(fā)顯得重要。
[0004] 現(xiàn)有技術的FPGA設備訪問驗證通常是采用測試例直接驗證的方式,將編寫的測 試例和待測試模塊一起綜合在FPGA中,在FPGA上運行測試例來實現(xiàn)對設備訪問的驗證。
[0005] 現(xiàn)有技術的這種驗證方法存在的問題是:
[0006] 由于現(xiàn)有技術是通過構建測試例的方式來對S0C設備訪問進行驗證,出于研發(fā)周 期和開發(fā)成本的考慮,驗證用的測試例數(shù)量通常不會太多,因此,驗證過程所能覆蓋的場景 (如,存儲地址、訪問命令、數(shù)據(jù)以及三者的結合方式等)較少,通常,只能對一些典型的簡單 的場景進行驗證。驗證覆蓋度較低。不能很好的滿足FPGA設備訪問驗證的要求。
【發(fā)明內容】
[0007] 有鑒于此,本發(fā)明提出了一種FPGA設備訪問驗證裝置及方法,以解決現(xiàn)有技術中 存在的上述問題。
[0008] 本發(fā)明的FPGA設備訪問驗證裝置包括:
[0009] 隨機數(shù)生成模塊,產生隨機的寫有效信號和隨機的讀有效信號發(fā)送到總線;產生 隨機的寫操作參數(shù);
[0010] 寫操作模塊,用于發(fā)送所述寫操作參數(shù)到總線;獲取寫命令接收標識,保存所述寫 操作參數(shù)和對應的寫命令接收標識到存儲模塊;
[0011] 讀操作模塊,用于根據(jù)所述寫操作參數(shù)生成讀操作參數(shù)發(fā)送到總線;接收讀取的 數(shù)據(jù)并存儲所述讀操作參數(shù)和所述讀取的數(shù)據(jù)到存儲模塊;
[0012] 存儲模塊,用于保存所述寫操作參數(shù)和寫命令接收標識;保存所述讀操作參數(shù)以 及所述讀取的數(shù)據(jù);
[0013] 判斷模塊,用于將寫操作參數(shù)中的寫數(shù)據(jù)與對應的讀命令所讀取的數(shù)據(jù)進行比 較,判斷設備訪問的正確性;
[0014] 其中,所述寫操作參數(shù)包括,寫命令、寫地址、寫數(shù)據(jù);所述讀操作參數(shù)包括,與所 述寫命令對應的讀命令、與所述寫地址對應的讀地址。
[0015] 進一步,所述裝置還包括:
[0016] 寫周期控制模塊,用于控制寫操作參數(shù)的發(fā)送周期;和/或,
[0017] 讀周期控制模塊,用于控制讀操作參數(shù)的發(fā)送周期。
[0018] 優(yōu)選的,所述寫周期控制模塊包括:
[0019] 寫周期生成單元,用于生成隨機的寫操作參數(shù)發(fā)送周期;
[0020] 寫周期計數(shù)單元,用于對寫操作參數(shù)發(fā)送時間進行計數(shù),當計數(shù)值到達所述寫操 作參數(shù)發(fā)送周期時,觸發(fā)隨機數(shù)生成模塊生成寫操作參數(shù);
[0021] 優(yōu)選的,所述讀周期控制模塊包括:
[0022] 讀周期生成單元,用于生成隨機的讀操作參數(shù)發(fā)送周期;
[0023] 讀周期計數(shù)單元,用于對讀操作參數(shù)發(fā)送時間進行計數(shù),當計數(shù)值到達所述讀操 作參數(shù)發(fā)送周期時,觸發(fā)讀操作模塊發(fā)送讀操作參數(shù)。
[0024] 進一步,所述裝置還包括:
[0025] 數(shù)據(jù)過濾模塊,從總線上接收并緩存寫數(shù)據(jù),在所述寫命令接收標識為"有效"時, 從總線上接收寫命令和寫地址;發(fā)送接收到的寫命令及該寫命令對應的寫數(shù)據(jù)給對應的設 備。
[0026] 優(yōu)選的,所述數(shù)據(jù)過濾模塊包括:
[0027] 寫命令接收單元,在所述寫命令接收標識為"有效"時,從總線上接收寫命令和寫 地址;
[0028] 寫數(shù)據(jù)緩存單元,從總線上接收并緩存寫數(shù)據(jù);
[0029] 數(shù)據(jù)過濾單元,判斷緩存的寫數(shù)據(jù)中是否有接收到的寫命令對應的寫數(shù)據(jù),發(fā)送 接收到的寫命令以及該寫命令對應的寫數(shù)據(jù)給對應的設備。
[0030] 優(yōu)選的,所述隨機數(shù)生成模塊包括至少一個線性移位反饋寄存器。
[0031] 本發(fā)明的FPGA設備訪問驗證方法包括:
[0032] 連續(xù)生成隨機的寫有效信號并發(fā)送;
[0033] 生成隨機的寫操作參數(shù),根據(jù)所述寫操作參數(shù)生成對應的讀操作參數(shù);
[0034] 發(fā)送所述寫操作參數(shù);
[0035] 連續(xù)生成隨機的讀有效信號并發(fā)送;
[0036] 發(fā)送所述讀操作參數(shù);
[0037] 接收讀操作所讀取的數(shù)據(jù);
[0038] 將所述寫操作參數(shù)中的寫數(shù)據(jù)與該寫操作對應的讀操作所讀取的數(shù)據(jù)進行比較, 判斷所述訪問的正確性;
[0039] 其中,所述寫操作參數(shù)包括,寫命令、寫地址、寫數(shù)據(jù);所述讀操作參數(shù)包括,與所 述寫命令對應的讀命令、與所述寫地址對應的讀地址。
[0040] 進一步,所述發(fā)送所述寫操作參數(shù)包括:
[0041] 獲取寫命令接收標識;
[0042] 在所述寫有效信號為"有效"時,發(fā)送所述寫命令、所述寫地址到總線;
[0043] 如果所述寫命令接收標識為"有效",發(fā)送所述寫數(shù)據(jù)到總線。
[0044] 進一步,所述發(fā)送所述寫操作參數(shù)包括:
[0045] 獲取寫命令接收標識;
[0046] 發(fā)送所述寫數(shù)據(jù)到總線,在所述寫有效信號為"有效"時,發(fā)送所述寫命令、所述寫 地址到總線;
[0047] 從所述總線上接收并緩存所述寫數(shù)據(jù);
[0048] 如果所述寫命令接收標識為"有效",從所述總線接收所述寫命令和寫地址;
[0049] 發(fā)送接收到的寫命令以及該寫命令對應的寫數(shù)據(jù)給對應的設備。
[0050] 進一步,所述方法包括:
[0051] 所述寫命令和對應的寫地址在每次所述寫有效信號為"有效"時發(fā)送;或,所述寫 命令和對應的寫地址每間隔一個特定的寫周期且所述寫有效信號為"有效"時發(fā)送。和/ 或,
[0052] 所述讀操作參數(shù)在每次所述讀有效信號為"有效"時且所述讀命令接收標識為有 效時發(fā)送;或,所述讀操作參數(shù)每間隔一個特定的讀周期且所述讀有效信號為"有效"時且 所述讀命令接收標識為"有效"時發(fā)送。
[0053] 本發(fā)明實施例所提供的FPGA設備訪問驗證裝置和方法通過隨機生成讀/寫訪問 命令、數(shù)據(jù)、地址以及隨機的讀/寫訪問時刻的方式,能夠在較低的驗證工作量下有效的提 高驗證場景的覆蓋率,提高了 S0C系統(tǒng)開發(fā)過程中FPGA驗證的完備性。
【附圖說明】
[0054] 圖1是本發(fā)明實施例1FPGA設備訪問驗證裝置結構示意圖;
[0055] 圖2是本發(fā)明實施例1采用LFSR生成寫命令的示意圖;
[0056] 圖3是本發(fā)明實施例2寫周期控制模塊結構示意圖;
[0057]