两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

自動生成硬件構(gòu)件仿真工程的方法和裝置的制作方法

文檔序號:6337116閱讀:221來源:國知局
專利名稱:自動生成硬件構(gòu)件仿真工程的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)硬件開發(fā)領(lǐng)域,特別涉及一種自動生成硬件構(gòu)件仿真工程的 方法和裝置。
背景技術(shù)
在傳統(tǒng)的網(wǎng)絡(luò)技術(shù)體系框架下,依靠拓展鏈路傳輸帶寬、提高節(jié)點處理速度、 增大復(fù)雜控制算法和協(xié)議等系列技術(shù),很難滿足特性差異日益擴(kuò)大的用戶業(yè)務(wù)承載需 求,面對大量差異化用戶業(yè)務(wù)的規(guī)?;瘧?yīng)用,網(wǎng)絡(luò)無法適應(yīng)的問題日趨凸現(xiàn)。針對這一 問題,面向服務(wù)提供的新型網(wǎng)絡(luò)技術(shù)體系被提出,該技術(shù)體系的基本思想是根據(jù)用戶 的業(yè)務(wù)需求對網(wǎng)絡(luò)路由結(jié)點進(jìn)行重構(gòu),從而構(gòu)建出滿足用戶需求的業(yè)務(wù)承載網(wǎng)。實現(xiàn)上述面向服務(wù)提供的新型網(wǎng)絡(luò)技術(shù)體系的關(guān)鍵技術(shù)是開放式可重構(gòu)路由 交換節(jié)點技術(shù)。該技術(shù)的基礎(chǔ)是平臺化支撐下構(gòu)件化處理技術(shù),其定義處理的三個等 級一平臺、組件和構(gòu)件,其中,平臺是可重構(gòu)完成多種任務(wù)的系統(tǒng),組件是可重構(gòu)實現(xiàn) 特定功能的單元,構(gòu)件是可重構(gòu)實施給定處理的模塊。該平臺化支撐下構(gòu)件化處理技術(shù) 的特征體現(xiàn)在以下三個方面1、平臺為各種組件提供可重構(gòu)的運行支撐環(huán)境,而組件為 各種構(gòu)件提供可重構(gòu)的運行支撐環(huán)境,構(gòu)件是基本處理模塊;2、平臺、組件和構(gòu)件均服 從統(tǒng)一的系列標(biāo)準(zhǔn)化規(guī)范,即任意第三方提供的標(biāo)準(zhǔn)化組件可以在同一平臺上參與完 成給定任務(wù),任意第三方提供的標(biāo)準(zhǔn)化構(gòu)件可以在同一組件上參與完成特定功能;3、平 臺級和組件級均能實現(xiàn)功能升級重組、性能編程分配和管理分層配置,構(gòu)件級具有較強(qiáng) 的可維護(hù)性(如加載、卸載、升級和更新)。開放性可重構(gòu)路由交換節(jié)點的構(gòu)件包括硬件構(gòu)件和軟件構(gòu)件兩部分,其中軟件 構(gòu)件在計算機(jī)領(lǐng)域已經(jīng)被很早提出和應(yīng)用,而硬件構(gòu)件只在近幾年才得到關(guān)注和應(yīng)用。 與軟件構(gòu)件不同,硬件構(gòu)件是一種可下載到FPGA上的硬件編程程序,具有某種單一的 處理功能,其在部署到FPGA之前需要進(jìn)行仿真工作。所謂硬件構(gòu)件仿真,是指對特定 的硬件構(gòu)件進(jìn)行功能仿真(Function simulation),目的是驗證其邏輯功能是否正確和完 備。硬件構(gòu)件仿真不考慮時延等實際物理特性,而只針對理想情況下的構(gòu)件進(jìn)行邏輯功 能的驗證,即觀察在不同的仿真數(shù)據(jù)輸入下該硬件構(gòu)件的輸出結(jié)果是否符合預(yù)想的邏輯 要求。目前為止,針對硬件構(gòu)件的仿真方法并未有任何的針對性,即都是使用傳統(tǒng)的 硬件仿真方法對硬件構(gòu)件進(jìn)行仿真,比如編寫test bench腳本或者直接修改仿真的輸入波 形等。這些方法都不可避免的需要大量的手工操作,并且當(dāng)面對大規(guī)模仿真數(shù)據(jù)(數(shù)據(jù) 寬度大,條數(shù)多)時都無法快捷地建立起仿真工程。實際上,開放性可重構(gòu)路由交換節(jié)點的硬件構(gòu)件是有其特殊性的,它們主要處 理的是報文數(shù)據(jù),所以需要對大規(guī)模數(shù)據(jù)進(jìn)行仿真;同時其處理邏輯相對簡單、輸入端 口標(biāo)準(zhǔn)化,所以仿真工程的建立是可以流程化和自動化的。因此,一種能夠自動生成對 大規(guī)模數(shù)據(jù)進(jìn)行仿真的硬件構(gòu)件仿真工程的方法是必要的。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種自動生成硬件構(gòu)件仿真工程的方法和裝置,實現(xiàn)硬 件構(gòu)件仿真工程的自動創(chuàng)建,從而極大方便了對FPGA硬件構(gòu)件的仿真過程,并加快了 硬件構(gòu)件的開發(fā)與部署。本發(fā)明的技術(shù)方案是一種自動生成硬件構(gòu)件仿真工程的方法,所述方法包括
a.數(shù)據(jù)源生成步驟
1)分析硬件構(gòu)件端口信息,得到輸入端口的數(shù)據(jù)長度;
2)利用得到的輸入端口數(shù)據(jù)長度,生成硬件構(gòu)件仿真數(shù)據(jù)表格,供用戶輸入;
3)根據(jù)用戶輸入的仿真數(shù)據(jù),生成硬件構(gòu)件ROM文件;
4)根據(jù)用戶輸入的仿真數(shù)據(jù),生成硬件構(gòu)件ROM訪問接口;
5)根據(jù)用戶輸入的仿真數(shù)據(jù)條數(shù),構(gòu)造數(shù)據(jù)地址迭代器;
6)將ROM文件、ROM訪問接口以及ROM地址迭代器進(jìn)行組裝,得到仿真數(shù)據(jù)
源;
b.仿真工程生成步驟
1)將待仿真的硬件構(gòu)件與仿真數(shù)據(jù)源進(jìn)行組裝,得到硬件構(gòu)件仿真應(yīng)用;
2)在硬件構(gòu)件仿真應(yīng)用的輸入端接入激勵發(fā)生器,提供時鐘激勵和復(fù)位信號,從而 構(gòu)成硬件構(gòu)件仿真工程。本發(fā)明另一技術(shù)方案是一種自動生成硬件構(gòu)件仿真工程的裝置,包括硬件構(gòu)件 端口分析模塊和仿真數(shù)據(jù)分析模塊,其特征在于還包括ROM文件生成模塊,ROM訪問接 口生成模塊,地址迭代器生成模塊,數(shù)據(jù)源組裝模塊,激勵發(fā)生器模塊,仿真應(yīng)用組裝 模塊,仿真工程組裝模塊,其中
1)硬件構(gòu)件端口分析模塊,用于分析硬件構(gòu)件輸入端口的個數(shù)以及各自的寬度,并 得到總的數(shù)據(jù)寬度;
2)仿真數(shù)據(jù)分析模塊,用于分析仿真數(shù)據(jù)的條數(shù)以及數(shù)據(jù)的有效性;
3)ROM文件生成模塊,用于將用戶輸入的仿真數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)格式的ROM文件;
4)ROM訪問接口生成模塊,用于生成ROM文件的訪問接口,該文件將ROM數(shù)據(jù) 封裝成為一個可調(diào)用的硬件實體,該實體根據(jù)輸入的ROM地址空間的一個地址,輸出該 地址對應(yīng)的仿真數(shù)據(jù);
5)地址迭代器生成模塊,用于生成地址迭代器,該迭代器是一個硬件實體,并且根 據(jù)時鐘變化依次循環(huán)輸出所有仿真數(shù)據(jù)的地址;
6)數(shù)據(jù)源組裝模塊,用于將ROM訪問接口和地址迭代器進(jìn)行組裝,構(gòu)成仿真數(shù)據(jù) 源,該數(shù)據(jù)源是一個硬件實體,并且根據(jù)時鐘變化依次循環(huán)輸出所有的仿真數(shù)據(jù);
7)激勵發(fā)生器模塊,用于產(chǎn)生固定周期的時鐘激勵以及固定變化的復(fù)位信號;
8)仿真應(yīng)用組裝模塊,用于將仿真數(shù)據(jù)源和待仿真的硬件構(gòu)件進(jìn)行組裝,構(gòu)成硬件 構(gòu)件仿真應(yīng)用;
9)仿真工程組裝模塊,用于對硬件構(gòu)件仿真應(yīng)用添加周期性的激勵,即在硬件構(gòu)件 仿真應(yīng)用的輸入端接入激勵發(fā)生器,從而構(gòu)成硬件構(gòu)件仿真工程。由上述技術(shù)方案可知,本發(fā)明在建立硬件構(gòu)件仿真工程的過程中,能夠根據(jù)用戶輸入的仿真數(shù)據(jù)自動生成數(shù)據(jù)源,并分析得到硬件構(gòu)件的接口信息,從而將數(shù)據(jù)源與 硬件構(gòu)件準(zhǔn)確地組裝成硬件構(gòu)件仿真應(yīng)用,最后給予仿真應(yīng)用固定周期的時鐘激勵。整 個硬件構(gòu)件仿真工程的生成過程只需要用戶在最開始時輸入仿真數(shù)據(jù),其后的工作能夠 自動完成,從而極大地方便了硬件構(gòu)件仿真工作的進(jìn)行。本發(fā)明具有以下優(yōu)點
仿真數(shù)據(jù)批量化由于硬件構(gòu)件仿真數(shù)據(jù)源的存在,生成的硬件構(gòu)件仿真工程可以 滿足用戶的批量仿真要求,即允許用戶將大規(guī)模的仿真數(shù)據(jù)在一次仿真中全部完成,這 是現(xiàn)有硬件仿真方法無法做到的;
仿真工程自動創(chuàng)建即使現(xiàn)有硬件仿真手段使用數(shù)據(jù)源進(jìn)行批量仿真,仿真工程的 建立也需要繁瑣的過程,本發(fā)明可以使這一過程自動完成;
屏蔽硬件構(gòu)件差異性硬件構(gòu)件仿真工程在創(chuàng)建時會自動提取硬件構(gòu)件的端口信 息,從而動態(tài)生成相應(yīng)的仿真數(shù)據(jù)源,所以用戶無需關(guān)心硬件構(gòu)件的功能和端口,硬件 構(gòu)件的差異性將得到屏蔽。


圖1是硬件構(gòu)件仿真數(shù)據(jù)源的生成過程; 圖2是硬件構(gòu)件仿真工程的生成過程;
圖3是硬件構(gòu)件仿真工程自動生成裝置的模塊結(jié)構(gòu); 圖4是硬件構(gòu)件仿真工程的內(nèi)部組成結(jié)構(gòu); 圖5是硬件構(gòu)件仿真數(shù)據(jù)源的內(nèi)部組成結(jié)構(gòu)。
具體實施例方式為使本發(fā)明的上述步驟、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā) 明的具體實施方式
做詳細(xì)的說明。實施例一一種自動生成硬件構(gòu)件仿真工程的方法,其流程由數(shù)據(jù)源生成過程 和仿真工程生成過程組成。其中,數(shù)據(jù)源生成過程如圖1所示,包括以下步驟 1)分析硬件構(gòu)件端口信息
為了能夠生成適合不同硬件構(gòu)件端口的仿真數(shù)據(jù)源,需要對硬件構(gòu)件的端口進(jìn)行 分析。硬件構(gòu)件在下載運行之前是一段硬件編程程序,根據(jù)開發(fā)語言的不同,可能是 VHDL或者Verilog程序等。語言的識別可以簡單地通過硬件構(gòu)件描述文件(XML文件) 中的相應(yīng)屬性得到,或者直接通過分析程序中的特殊關(guān)鍵字。針對不同的語言實現(xiàn),可 以使用不同的分析方法來得到硬件構(gòu)件端口信息,比如對于VHDL程序可以分析其entity 模塊的內(nèi)容,又如Verilog程序可以分析其module模塊的內(nèi)容。所以,硬件構(gòu)件的端口 分析過程分為兩部
a)分析硬件構(gòu)件的實現(xiàn)語言可以通過讀取硬件構(gòu)件描述文件,或者直接分析實現(xiàn) 程序中的特殊關(guān)鍵字;
b)針對不同的實現(xiàn)語言,分析硬件構(gòu)件的端口信息提取出不同輸入端口的數(shù)據(jù)長 度,并計算出硬件構(gòu)件總的輸入數(shù)據(jù)長度。
這里需要說明的是硬件構(gòu)件描述文件,該文件是在硬件構(gòu)件開發(fā)過程中生成 的,記錄了該構(gòu)件的基本信息、接口信息以及資源信息,并以XML文件的形式成為硬件 構(gòu)件的附屬產(chǎn)品。硬件構(gòu)件描述文件的基本信息中包含了開發(fā)該構(gòu)件所使用的語言和開 發(fā)工具,而接口信息中包含了該構(gòu)件的端口信息。但由于硬件構(gòu)件描述文件是用戶人為 填寫的,所以可能存在信息不全或者錯誤的情況,為了使硬件構(gòu)件仿真工程能夠順利生 成,優(yōu)選方法是對硬件構(gòu)件的實現(xiàn)程序進(jìn)行直接分析。2)用戶輸入指定寬度的仿真數(shù)據(jù)
用戶輸入的仿真數(shù)據(jù)最終將作為硬件構(gòu)件的輸入數(shù)據(jù),所以其長度受硬件構(gòu)件的輸 入數(shù)據(jù)長度限制,比如IPv4協(xié)議識別構(gòu)件的輸入端口數(shù)據(jù)長度為141位,超過此長度的 數(shù)據(jù)將無法作為該構(gòu)件的輸入。在1)步驟中,硬件構(gòu)件的輸入數(shù)據(jù)總長度已經(jīng)得到,所 以用戶的輸入過程將得到限制,對于長度不足的數(shù)據(jù)進(jìn)行補零操作。用戶的輸入流程可 以采用填寫仿真數(shù)據(jù)表格的形式或者讀取仿真數(shù)據(jù)文件的形式。此外,在用戶輸入仿真 數(shù)據(jù)的過程,還需要對仿真數(shù)據(jù)的有效性進(jìn)行檢驗,主要包括是否為16進(jìn)制字符,數(shù) 據(jù)長度是否超過限制等。3)根據(jù)仿真數(shù)據(jù),生成ROM文件
ROM文件是FPGA硬件設(shè)計中的重要組成部分,主要用來存儲位圖、指令或者數(shù)據(jù) 等,與真實硬件環(huán)境中的ROM芯片相對應(yīng)。根據(jù)開發(fā)環(huán)境的不同,ROM文件的格式也 有所不同,比如QuartusII中的ROM文件有mif格式和hex格式,而Xilinx ISE中的ROM 文件為coe格式。其中hex格式和coe格式是字符串文本形式,并且格式標(biāo)準(zhǔn)比較通用, 所以優(yōu)選這兩種格式。如果硬件環(huán)境是Xilinx開發(fā)板,則可以采用coe格式。該格式是將仿真數(shù)據(jù)直 接作為ROM文件的內(nèi)容,所以ROM文件的生成過程就是復(fù)制數(shù)據(jù)的過程。如果硬件環(huán)境是Altera開發(fā)板,則可以采用hex格式。該格式的具體要求如下 :llaaaatt[dd..]cc
每條數(shù)據(jù)都被構(gòu)造成上述形式,其中U表示數(shù)據(jù)長度,單位為字節(jié),aaaa表示該條數(shù) 據(jù)的下標(biāo),tt表示為“00”,[dd..]表示該條仿真數(shù)據(jù),CC表示數(shù)據(jù)校驗位,有關(guān)該格式 的詳細(xì)信息可參考Hexadecimal (Intel-Format)的國際標(biāo)準(zhǔn)。所以,此時的ROM文件生成 過程就是按照hex格式標(biāo)準(zhǔn)封裝仿真數(shù)據(jù)。4)根據(jù)仿真數(shù)據(jù),生成ROM訪問接口
ROM訪問接口是一個對ROM文件進(jìn)行訪問的硬件編程程序,其輸入為仿真數(shù)據(jù)的 地址下標(biāo),輸出為該地址對應(yīng)的仿真數(shù)據(jù)。對于不同開發(fā)語言,ROM訪問接口的實現(xiàn)是不同的,但是對于同一種語言下的 不同硬件構(gòu)件,ROM訪問接口是可以模板化的,即只需要替換模板的指定屬性,比如地 址長度、仿真數(shù)據(jù)長度、ROM文件名稱以及硬件構(gòu)件名稱等,就可以生成針對不同硬件 構(gòu)件的ROM訪問接口。以Altera硬件環(huán)境下的ROM訪問接口生成過程為例
a)模板準(zhǔn)備ROM訪問接口模板是預(yù)先生成的,并且只需要生成一次。模板的生 成方式有兩種一種是直接編寫模板,需要開發(fā)人員對ROM文件的訪問方式十分了解; 另一種是修改已有的一種相同語言下的硬件構(gòu)件ROM訪問接口文件,將其中需要變動的 部分參數(shù)化。在Quartus II下,可以通過mega-function工具來生成指定ROM文件的訪問接口,從而對該接口進(jìn)行參數(shù)化修改,生成同種語言下的硬件構(gòu)件ROM訪問接口文件。b) ROM訪問接口生成根據(jù)已獲得的仿真數(shù)據(jù)長度和地址長度,以及已知的 ROM文件名稱和硬件構(gòu)件名稱,來替換ROM訪問接口模板中的指定參數(shù),生成的新的 硬件編程程序即為該硬件構(gòu)件對ROM文件的訪問接口。5)根據(jù)仿真數(shù)據(jù)條數(shù),構(gòu)造仿真數(shù)據(jù)地址迭代器
為了能夠?qū)Ψ抡鏀?shù)據(jù)進(jìn)行逐個仿真,需要對所有仿真數(shù)據(jù)進(jìn)行循環(huán)遍歷,這樣就 需要對仿真數(shù)據(jù)的地址進(jìn)行迭代。仿真數(shù)據(jù)地址迭代器的工作原理是在每個時鐘上 升沿將地址加1,達(dá)到數(shù)據(jù)條數(shù)時歸零,即如果數(shù)據(jù)條數(shù)為L,則地址迭代過程為 0,1,2, ......,L-2, L-1,0,1,2, ......L-1,0,1,......。仿真數(shù)據(jù)地址迭代器也是一個硬件編程程序,其本質(zhì)是一個計數(shù)器,輸入為時 鐘和復(fù)位信號,輸出為仿真數(shù)據(jù)地址,并且隨著時鐘在不斷循環(huán)計數(shù)。6)將ROM文件、ROM訪問接口、地址迭代器組裝成仿真數(shù)據(jù)源
ROM訪問接口和地址迭代器都是硬件編程程序,并且地址迭代器的輸出地址長度與 ROM訪問接口的輸入地址長度一致,所以二者可以順利進(jìn)行組裝,從而將ROM文件、 ROM訪問接口、地址迭代器結(jié)合成為仿真數(shù)據(jù)源。需要說明的是,所謂硬件構(gòu)件的組裝,實際上是編寫新的硬件程序,該程序調(diào) 用各個組裝對象,并將其端口進(jìn)行互連映射。由于數(shù)據(jù)源的各個組成部分的端口信息以 及連接方式是已知的,所以數(shù)據(jù)源的組裝是可以自動完成的。仿真數(shù)據(jù)源的連接方式和 內(nèi)部結(jié)構(gòu)如圖5所示,其輸入為時鐘和復(fù)位信號,輸出為一條仿真數(shù)據(jù),并且仿真數(shù)據(jù) 隨時鐘的到來而循環(huán)變化。仿真工程生成過程如圖2所示,包括以下步驟
1)仿真數(shù)據(jù)源與硬件構(gòu)件進(jìn)行組裝,得到硬件構(gòu)件仿真應(yīng)用 由于仿真數(shù)據(jù)源的輸出數(shù)據(jù)長度是根據(jù)硬件構(gòu)件的輸入數(shù)據(jù)長度來設(shè)定的,所以二 者是可以順利組裝的。組裝之后將得到硬件構(gòu)件仿真應(yīng)用,該應(yīng)用可以看成新的硬件構(gòu) 件,并且可以下載運行,其完成的邏輯是對所有仿真數(shù)據(jù)進(jìn)行不斷仿真,并輸出相應(yīng)的 仿真結(jié)果。硬件構(gòu)件仿真應(yīng)用的內(nèi)部結(jié)構(gòu)如圖4所示,虛線框中的部分即為硬件構(gòu)件仿 真應(yīng)用。不過,硬件構(gòu)件仿真應(yīng)用的運行需要時鐘激勵,而硬件構(gòu)件仿真是在軟件環(huán)境 下進(jìn)行的,所以最終的硬件構(gòu)件仿真工程還需要對硬件構(gòu)件仿真應(yīng)用添加人為的時鐘激 勵。2)為硬件構(gòu)件仿真應(yīng)用添加激勵發(fā)生器,得到硬件構(gòu)件仿真工程
鑒于1)中所述的硬件構(gòu)件仿真應(yīng)用的不足,為硬件構(gòu)件仿真應(yīng)用添加人為的激勵發(fā) 生器,從而組成最終的硬件構(gòu)件仿真工程。硬件構(gòu)件仿真工程的內(nèi)部結(jié)構(gòu)如圖4所示, 在硬件構(gòu)件仿真應(yīng)用的輸入端接入激勵發(fā)生器。激勵發(fā)生器的功能是對外發(fā)出固定周期的時鐘信號,比如以IOns為周期的時 鐘;以及固定變化的復(fù)位信息,比如前100ns復(fù)位信號為1,其后的時間復(fù)位信號為0。 由于硬件構(gòu)件仿真的目的是驗證其處理數(shù)據(jù)的正確性,所以時鐘周期和復(fù)位信號的設(shè)定 可以固定化,這樣激勵發(fā)生器就可以預(yù)先自動生成。實施例二 一種自動生成硬件構(gòu)件仿真工程的裝置,其結(jié)構(gòu)如圖3所示。
該裝置包括仿真數(shù)據(jù)分析模塊,硬件構(gòu)件端口分析模塊,地址迭代器生成模 塊,ROM文件生成模塊,ROM訪問接口生成模塊,數(shù)據(jù)源組裝模塊,仿真應(yīng)用組裝模 塊,激勵發(fā)生器模塊,仿真工程組裝模塊。其中
1)仿真數(shù)據(jù)分析模塊用于對用戶輸入的仿真數(shù)據(jù)進(jìn)行分析,得到數(shù)據(jù)條數(shù),并且 對數(shù)據(jù)的有效性進(jìn)行檢驗,規(guī)范數(shù)據(jù)長度和格式;
2)硬件構(gòu)件端口分析模塊用于對硬件構(gòu)件的程序代碼進(jìn)行分析,得到不同輸入端 口的數(shù)據(jù)長度和硬件構(gòu)件總的輸入數(shù)據(jù)長度;
3)地址迭代器生成模塊用于生成對仿真數(shù)據(jù)條數(shù)的循環(huán)計數(shù)器,從而作為對仿真 數(shù)據(jù)的地址下標(biāo)的循環(huán)遍歷;
4)ROM文件生成模塊根據(jù)開發(fā)環(huán)境的不同(Altera或Xilinx),選擇 不同的ROM文件格式對仿真數(shù)據(jù)進(jìn)行封裝。本裝置以Altera環(huán)境為例,根據(jù) Hexadecimal (Intel-Format)標(biāo)準(zhǔn),將仿真數(shù)據(jù)封裝成hex格式;
5)ROM訪問接口生成模塊用于將ROM文件封裝成可訪問的硬件編程程序,即 ROM訪問接口。本裝置在運行之前已經(jīng)生成了針對不同語言的ROM訪問接口模板,所 以ROM訪問接口生成模塊的工作僅僅是替換模板中的地址長度、仿真數(shù)據(jù)長度、ROM 文件名稱以及硬件構(gòu)件名稱等參數(shù)。此外,ROM訪問接口模板的生成不作為本裝置運行中的某一模塊,而僅僅是本 裝置初始化的一個前提條件,其生成方法為將已有的ROM訪問接口程序參數(shù)化。6)數(shù)據(jù)源組裝模塊將ROM訪問接口和仿真數(shù)據(jù)地址迭代器以圖5所示的方 式進(jìn)行組裝,得到新的硬件編程程序,即仿真數(shù)據(jù)源。本裝置以VHDL程序為例,自動 將ROM訪問接口程序和仿真數(shù)據(jù)地址迭代器程序進(jìn)行組裝,生成仿真數(shù)據(jù)源的VHDL代 碼程序;
7)仿真應(yīng)用組裝模塊將仿真數(shù)據(jù)源與硬件構(gòu)件以圖4虛線框中所示的方式進(jìn)行組 裝,得到硬件構(gòu)件仿真應(yīng)用。本裝置同樣以VHDL程序為例,自動完成這一過程;
8)激勵發(fā)生器模塊用于生成進(jìn)行軟件仿真的激勵信號。本裝置的激勵發(fā)生器模塊 是預(yù)先生成的,其產(chǎn)生固定周期(IOns)的時鐘信號和固定變化的復(fù)位信號;
9)仿真工程組裝模塊用于生成最終的硬件構(gòu)件仿真工程,其內(nèi)部是由硬件構(gòu)件仿 真應(yīng)用和激勵發(fā)生器所組成,結(jié)構(gòu)如圖4所示。本裝置同樣以VHDL程序為例,自動完 成組裝過程,最后得到針對該硬件構(gòu)件的仿真工程程序。上述所示的具體實施方式
僅僅是提供了本發(fā)明的幾種實現(xiàn)思路,通過對裝置模 塊的闡述給出了一種實現(xiàn)方案。但本發(fā)明將不限于本文所示的這些實施例和優(yōu)選方案, 而是包含與本文所公開的方法和出發(fā)點相一致的最廣的范圍。
權(quán)利要求
1.一種自動生成硬件構(gòu)件仿真工程的方法,其特征在于包括數(shù)據(jù)源生成和仿真工程 生成,其中a.數(shù)據(jù)源生成包括以下步驟分析硬件構(gòu)件端口信息,得到輸入端口的數(shù)據(jù)長度;利用得到的輸入端口數(shù)據(jù)長度,生成硬件構(gòu)件仿真數(shù)據(jù)表格,供用戶輸入;根據(jù)用戶輸入的仿真數(shù)據(jù),生成硬件構(gòu)件ROM文件;根據(jù)用戶輸入的仿真數(shù)據(jù),生成硬件構(gòu)件ROM訪問接口 ;根據(jù)用戶輸入的仿真數(shù)據(jù)條數(shù),構(gòu)造數(shù)據(jù)地址迭代器;將ROM文件、ROM訪問接口以及ROM地址迭代器進(jìn)行組裝,得到仿真數(shù)據(jù)源;b.仿真工程生成包括以下步驟將待仿真的硬件構(gòu)件與仿真數(shù)據(jù)源進(jìn)行組裝,得到硬件構(gòu)件仿真應(yīng)用; 在硬件構(gòu)件仿真應(yīng)用的輸入端接入激勵發(fā)生器,提供時鐘激勵和復(fù)位信號,從而構(gòu) 成硬件構(gòu)件仿真工程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,數(shù)據(jù)源生成的步驟1)中硬件構(gòu)件的端 口分析過程分為兩部a.分析硬件構(gòu)件的實現(xiàn)語言通過讀取硬件構(gòu)件描述文件,或者直接分析實現(xiàn)程序 中的特殊關(guān)鍵字;b.針對不同的實現(xiàn)語言,分析硬件構(gòu)件的端口信息提取出不同輸入端口的數(shù)據(jù)長 度,并計算出硬件構(gòu)件總的輸入數(shù)據(jù)長度。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,仿真數(shù)據(jù)源的輸入為時鐘和復(fù)位信號, 輸出為一條仿真數(shù)據(jù),并且仿真數(shù)據(jù)隨時鐘的到來而循環(huán)變化。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,仿真工程生成的步驟1)硬件構(gòu)件仿真 應(yīng)用中,還包括為硬件構(gòu)件仿真應(yīng)用添加人為的激勵發(fā)生器。
5.一種自動生成硬件構(gòu)件仿真工程的裝置,包括硬件構(gòu)件端口分析模塊和仿真數(shù)據(jù) 分析模塊,其特征在于還包括ROM文件生成模塊,ROM訪問接口生成模塊,地址迭代 器生成模塊,數(shù)據(jù)源組裝模塊,激勵發(fā)生器模塊,仿真應(yīng)用組裝模塊,仿真工程組裝模 塊,其中硬件構(gòu)件端口分析模塊分析硬件構(gòu)件輸入端口的個數(shù)以及各自的寬度,并得到總的 數(shù)據(jù)寬度;仿真數(shù)據(jù)分析模塊分析仿真數(shù)據(jù)的條數(shù)以及數(shù)據(jù)的有效性; ROM文件生成模塊將用戶輸入的仿真數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)格式的ROM文件; ROM訪問接口生成模塊生成ROM文件的訪問接口,該文件將ROM數(shù)據(jù)封裝成為一 個可調(diào)用的硬件實體,該實體根據(jù)輸入的ROM地址空間的一個地址,輸出該地址對應(yīng)的 仿真數(shù)據(jù);地址迭代器生成模塊生成地址迭代器,該迭代器是一個硬件實體,并且根據(jù)時鐘變 化依次循環(huán)輸出所有仿真數(shù)據(jù)的地址;數(shù)據(jù)源組裝模塊將ROM訪問接口和地址迭代器進(jìn)行組裝,構(gòu)成仿真數(shù)據(jù)源,該數(shù)據(jù) 源是一個硬件實體,并且根據(jù)時鐘變化依次循環(huán)輸出所有的仿真數(shù)據(jù); 激勵發(fā)生器模塊產(chǎn)生固定周期的時鐘激勵以及固定變化的復(fù)位信號;仿真應(yīng)用組裝模塊將仿真數(shù)據(jù)源和待仿真的硬件構(gòu)件進(jìn)行組裝,構(gòu)成硬件構(gòu)件仿真 應(yīng)用;仿真工程組裝模塊對硬件構(gòu)件仿真應(yīng)用添加周期性的激勵,即在硬件構(gòu)件仿真應(yīng)用 的輸入端接入激勵發(fā)生器,從而構(gòu)成硬件構(gòu)件仿真工程。
全文摘要
本發(fā)明公開了一種自動生成硬件構(gòu)件仿真工程的方法和裝置。方法包括數(shù)據(jù)源的生成與硬件構(gòu)件仿真工程的生成兩部分。其中,數(shù)據(jù)源的生成過程包括ROM文件及其接口的生成,地址迭代器的生成,以及數(shù)據(jù)源的組裝;硬件構(gòu)件仿真工程的生成過程包括數(shù)據(jù)源與硬件構(gòu)件之間的組裝,以及為硬件構(gòu)件仿真應(yīng)用添加激勵發(fā)生器。本發(fā)明中用于實現(xiàn)上述方法的裝置,能夠?qū)崿F(xiàn)對大規(guī)模仿真數(shù)據(jù)進(jìn)行同時仿真,并且屏蔽了不同硬件構(gòu)件接口以及功能的差異性,整個生成過程自動完成,從而使硬件構(gòu)件仿真工作方便快捷和有效。
文檔編號G06F11/26GK102012856SQ201010566110
公開日2011年4月13日 申請日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者張博, 李鵬, 汪斌強(qiáng), 王保進(jìn), 王志明, 袁博, 趙靚, 韓曉亞, 黃萬偉, 齊寧 申請人:中國人民解放軍信息工程大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
扬州市| 赤峰市| 濮阳市| 筠连县| 札达县| 大足县| 六枝特区| 奉贤区| 嘉祥县| 武义县| 渭源县| 黄陵县| 湖口县| 汉阴县| 文水县| 广安市| 师宗县| 彰化县| 曲麻莱县| 和顺县| 汝阳县| 綦江县| 老河口市| 芦山县| 临汾市| 桓仁| 土默特左旗| 商洛市| 桓台县| 偏关县| 哈尔滨市| 瑞昌市| 安多县| 长治市| 阳泉市| 柳州市| 汉寿县| 金湖县| 马尔康县| 德昌县| 饶阳县|