本發(fā)明涉及仿真技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)回讀系統(tǒng)。
背景技術(shù):
隨著IC(Integrated Circuit,集成電路)設(shè)計(jì)規(guī)模和復(fù)雜度的不斷增加,由于軟硬件協(xié)同仿真具有加速仿真的效果,軟硬件協(xié)同仿真在IC設(shè)計(jì)驗(yàn)證中扮演越來(lái)越重要的角色。在軟硬件協(xié)同仿真平臺(tái)中,用戶只能通過(guò)觀察仿真數(shù)據(jù)波形才能對(duì)IC設(shè)計(jì)進(jìn)行仿真和調(diào)試,因此,仿真數(shù)據(jù)波形的回讀是IC設(shè)計(jì)驗(yàn)證中一個(gè)極其重要的組成部分。
目前,很多高校、研發(fā)機(jī)構(gòu)或者IC設(shè)計(jì)公司通常運(yùn)用邏輯分析儀、FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)廠商提供的在線調(diào)試軟件來(lái)回讀仿真數(shù)據(jù)波形。而邏輯分析儀價(jià)格昂貴,很少有用戶用得起,所以FPGA廠商提供的在線調(diào)試軟件的使用更為廣泛。
但是,在線調(diào)試軟件回讀仿真數(shù)據(jù)波形的原理是將仿真波形數(shù)據(jù)的值寫入FPGA中多余的塊RAM(Random-Access Memory,隨機(jī)存取存儲(chǔ)器)來(lái)實(shí)現(xiàn)抓取仿真信號(hào)。這樣,造成FPGA的邏輯資源嚴(yán)重浪費(fèi),在大規(guī)模的IC設(shè)計(jì)中更加嚴(yán)重。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)回讀系統(tǒng),以解決在線調(diào)試軟件回讀仿真數(shù)據(jù)波形時(shí)造成FPGA的邏輯資源嚴(yán)重浪費(fèi)的問(wèn)題。
為了解決上述問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)回讀系統(tǒng),包括數(shù)據(jù)回讀裝置、FPGA模塊、分別與所述數(shù)據(jù)回讀裝置和所述FPGA模塊相連的物理通道連接裝置,其中,所述數(shù)據(jù)回讀裝置用于產(chǎn)生波形回讀命令,并將所述波形回讀命令發(fā)送至所述物理通道連接裝置,以及從所述物理通道連接裝置獲取仿真波形數(shù)據(jù),并顯示所述仿真波形數(shù)據(jù)對(duì)應(yīng)的仿真波形;所述物理通道連接裝置用于傳輸所述波形回讀命令和所述仿真波形數(shù)據(jù);所述FPGA模塊包括待測(cè)試電路模塊和仿真波形數(shù)據(jù)捕獲模塊,所述FPGA模塊用于獲取所述波形回讀命令,根據(jù)所述波形回讀命令通過(guò)所述仿真波形數(shù)據(jù)捕獲模塊捕獲所述待測(cè)試電路模塊生成的仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至所述物理通道連接裝置。
可選地,所述數(shù)據(jù)回讀裝置包括ll(Logic Location,邏輯位置)文件生成模塊、ll文件解析模塊、命令生成模塊、寫波形文件模塊和波形查看模塊,其中,所述ll文件生成模塊與所述ll文件解析模塊相連,所述ll文件生成模塊用于調(diào)用綜合布局布線工具生成ll文件,并將所述ll文件發(fā)送至所述ll文件解析模塊;所述ll文件解析模塊與所述命令生成模塊相連,所述ll文件解析模塊用于解析所述ll文件獲得SLR(Super Logic Region,超級(jí)邏輯區(qū)域)參數(shù)、far(Frame Address Register,幀地址寄存器)地址和far地址內(nèi)部偏移量,并將所述SLR參數(shù)、所述far地址和所述far地址內(nèi)部偏移量發(fā)送至所述命令生成模塊;所述命令生成模塊與所述物理通道連接裝置相連,所述命令生成模塊用于根據(jù)所述SLR參數(shù)、所述far地址和所述far地址內(nèi)部偏移量生成波形回讀命令,并將所述波形回讀命令發(fā)送至所述物理通道連接裝置;所述寫波形文件模塊分別與所述物理通道連接裝置和所述波形查看模塊相連,所述寫波形文件模塊用于從所述物理通道連接裝置獲取所述仿真波形數(shù)據(jù),根據(jù)所述仿真波形數(shù)據(jù)生成預(yù)設(shè)文件格式的波形文件,并將所述波形文件發(fā)送至所述波形查看模塊;所述波形查看模塊用于調(diào)用仿真工具顯示所述波形文件對(duì)應(yīng)的仿真波形。
可選地,所述數(shù)據(jù)回讀裝置還包括:緩存模塊,所述緩存模塊分別與所述物理通道連接裝置和所述寫波形文件模塊相連,所述緩存模塊用于從所述物理通道連接裝置獲取所述仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至所述寫波形文件模塊。
可選地,所述波形文件的預(yù)設(shè)文件格式包括VCD(Value Change Dump,值變轉(zhuǎn)儲(chǔ)文件)文件格式或FSDB(Fast Signal Database,快速信號(hào)數(shù)據(jù)庫(kù)文件)文件格式。
可選地,所述仿真工具包括EDA(Electronic Design Automation,電子設(shè)計(jì)自動(dòng)化)仿真工具。
可選地,所述FPGA模塊為第一FPGA,所述仿真波形數(shù)據(jù)捕獲模塊為ICAP模塊(Internal Configuration Access Port,內(nèi)部配置訪問(wèn)端口),所述第一FPGA還包括第一捕獲序列生成模塊,其中,所述第一捕獲序列生成模塊分別與所述物理通道連接裝置和所述ICAP模塊相連,所述第一捕獲序列生成模塊用于從所述物理通道連接裝置獲取所述波形回讀命令,以及根據(jù)所述波形回讀命令生成捕獲命令序列,并將所述捕獲命令序列發(fā)送至所述ICAP模塊;所述ICAP模塊與所述物理通道連接裝置相連,所述ICAP模塊用于根據(jù)所述捕獲命令序列捕獲所述待測(cè)試電路模塊生成的仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至發(fā)送至所述物理通道連接裝置。
可選地,所述FPGA模塊還包括:第一內(nèi)存模塊,所述第一內(nèi)存模塊分別與所述ICAP模塊和所述物理通道連接裝置相連,所述第一內(nèi)存模塊用于從所述ICAP模塊接收所述仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至所述物理通道連接裝置。
可選地,所述FPGA模塊為內(nèi)嵌ICAP硬核的FPGA模塊。
可選地,所述FPGA模塊包括第二FPGA和第三FPGA,所述仿真波形數(shù)據(jù)捕獲模塊為SelectMap接口模塊,所述第二FPGA包括第二捕獲序列生成模塊和所述SelectMap接口模塊,所述第三FPGA包括所述待測(cè)試電路模塊,其中,所述第二捕獲序列生成模塊分別與所述物理通道連接裝置和所述SelectMap接口模塊相連,所述第二捕獲序列生成模塊用于從所述物理通道連接裝置獲取所述波形回讀命令,以及根據(jù)所述波形回讀命令生成捕獲命令序列,并將所述捕獲命令序列發(fā)送至所述SelectMap接口模塊;所述SelectMap接口模塊與所述物理通道連接裝置和所述第三FPGA相連,所述SelectMap接口模塊用于根據(jù)所述捕獲命令序列捕獲所述待測(cè)試電路模塊生成的仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至發(fā)送至所述物理通道連接裝置。
可選地,所述第二FPGA還包括:第二內(nèi)存模塊,所述第二內(nèi)存模塊分別與所述SelectMap(并行模式)接口模塊和所述物理通道連接裝置相連,所述第二內(nèi)存模塊用于從所述SelectMap接口模塊接收所述仿真波形數(shù)據(jù),并將所述仿真波形數(shù)據(jù)發(fā)送至所述物理通道連接裝置。
可選地,所述物理通道連接裝置包括以太網(wǎng)口、PCIE(Peripheral Component Interconnect Express,外圍器件快速互聯(lián))接口、JTAG(Joint Test Action Group,聯(lián)合測(cè)試工作組)接口或USB(Universal Serial Bus,通用串行總線)接口。
本發(fā)明實(shí)施例的數(shù)據(jù)回讀系統(tǒng)包括以下優(yōu)點(diǎn):
一、通過(guò)仿真波形數(shù)據(jù)捕獲模塊例如ICAP模塊中的ICAP硬核或SelectMap接口模塊中的SelectMap接口等從FPGA模塊中讀取仿真波形數(shù)據(jù),而仿真波形數(shù)據(jù)捕獲模塊設(shè)置在FPGA模塊內(nèi)部,例如ICAP硬核為內(nèi)嵌在FPGA模塊內(nèi)部的硬核,所以在獲取仿真波形數(shù)據(jù)時(shí)不需要占用FPGA模塊的邏輯資源,僅在獲取仿真波形數(shù)據(jù)以及傳遞獲取的仿真波形數(shù)據(jù)時(shí)占用少量的邏輯資源,而且邏輯資源的占用不會(huì)隨著IC設(shè)計(jì)規(guī)模的增大而增大;
二、不需要設(shè)計(jì)獲取仿真波形數(shù)據(jù)部分的邏輯,僅需要設(shè)計(jì)出FPGA模塊所需的仿真波形數(shù)據(jù)捕獲命令序列的生成邏輯以及仿真波形數(shù)據(jù)的傳送邏輯即可,所以設(shè)計(jì)簡(jiǎn)單,靜態(tài)時(shí)序分析簡(jiǎn)單;
三、當(dāng)FPGA模塊為內(nèi)嵌ICAP硬核的FPGA模塊時(shí),F(xiàn)PGA模塊訪問(wèn)ICAP硬核時(shí)只需實(shí)例化ICAP原語(yǔ)即可,F(xiàn)PGA模塊通過(guò)ICAP硬核進(jìn)行仿真波形數(shù)據(jù)回讀時(shí)極為方便。
附圖說(shuō)明
圖1是本發(fā)明的一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;
圖2是本發(fā)明的另一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;
圖3是本發(fā)明的再一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;
圖4是本發(fā)明的另一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例中ICAP硬核的輸入輸出結(jié)構(gòu)示意圖;
圖5是本發(fā)明的一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例中l(wèi)l文件中各參數(shù)的格式的示意圖表;
圖6是本發(fā)明的另一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例中將捕獲命令序列發(fā)送至ICAP硬核的過(guò)程示意圖;
圖7是本發(fā)明的另一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例中多個(gè)SLR的分布示意圖。
具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
參照?qǐng)D1,示出了本發(fā)明的一種數(shù)據(jù)回讀系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。該數(shù)據(jù)回讀系統(tǒng)具體可以包括如下模塊:數(shù)據(jù)回讀裝置1、FPGA模塊、分別與數(shù)據(jù)回讀裝置1和FPGA模塊相連的物理通道連接裝置2。
其中,數(shù)據(jù)回讀裝置1用于產(chǎn)生波形回讀命令,并將波形回讀命令發(fā)送至物理通道連接裝置2,以及從物理通道連接裝置2獲取仿真波形數(shù)據(jù),并顯示仿真波形數(shù)據(jù)對(duì)應(yīng)的仿真波形;物理通道連接裝置2用于傳輸波形回讀命令和仿真波形數(shù)據(jù);FPGA模塊3包括仿真波形數(shù)據(jù)捕獲模塊30和待測(cè)試電路模塊31,F(xiàn)PGA模塊3用于獲取波形回讀命令,根據(jù)波形回讀命令通過(guò)仿真波形數(shù)據(jù)捕獲模塊30捕獲待測(cè)試電路模塊31生成的仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2。待測(cè)試電路模塊31可以為用戶待測(cè)試設(shè)計(jì)在FPGA模塊3中映射的電路模塊。
可選地,參照?qǐng)D2和圖3,數(shù)據(jù)回讀裝置1可以包括ll文件生成模塊11、ll文件解析模塊12、命令生成模塊13、寫波形文件模塊14和波形查看模塊15。其中,ll文件生成模塊11與ll文件解析模塊12相連,ll文件生成模塊11用于調(diào)用綜合布局布線工具生成ll文件,并將ll文件發(fā)送至ll文件解析模塊12;ll文件解析模塊12與命令生成模塊13相連,ll文件解析模塊12用于解析ll文件獲得SLR參數(shù)、far地址和far地址內(nèi)部偏移量,并將SLR參數(shù)、far地址和far地址內(nèi)部偏移量發(fā)送至命令生成模塊13;命令生成模塊13與物理通道連接裝置2相連,命令生成模塊13用于根據(jù)SLR參數(shù)、far地址和far地址內(nèi)部偏移量生成波形回讀命令,并將波形回讀命令發(fā)送至物理通道連接裝置2;寫波形文件模塊14分別與物理通道連接裝置2和波形查看模塊15相連,寫波形文件模塊14用于從物理通道連接裝置2獲取仿真波形數(shù)據(jù),根據(jù)仿真波形數(shù)據(jù)生成預(yù)設(shè)文件格式的波形文件,并將波形文件發(fā)送至波形查看模塊15;波形查看模塊15用于調(diào)用仿真工具顯示波形文件對(duì)應(yīng)的仿真波形。
可選地,參照?qǐng)D2和圖3,數(shù)據(jù)回讀裝置1還可以包括緩存模塊16,緩存模塊16分別與物理通道連接裝置2和寫波形文件模塊14相連,緩存模塊16用于從物理通道連接裝置2獲取仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至寫波形文件模塊14。其中,緩存模塊16可以確保物理通道連接裝置2中的仿真波形數(shù)據(jù)正確發(fā)送至寫波形文件模塊14。
可選地,波形文件的預(yù)設(shè)文件格式可以包括VCD文件格式或FSDB文件格式等。可選地,仿真工具可以包括EDA仿真工具等??蛇x地,物理通道連接裝置2可以包括以太網(wǎng)口、PCIE接口、JTAG接口或USB接口等。
可選地,參照?qǐng)D2,在本發(fā)明的另一個(gè)實(shí)施例中,F(xiàn)PGA模塊3可以為第一FPGA(以下稱FPGA1),仿真波形數(shù)據(jù)捕獲模塊30可以為ICAP模塊33,F(xiàn)PGA1還可以包括第一捕獲序列生成模塊32。其中,第一捕獲序列生成模塊32分別與物理通道連接裝置2和ICAP模塊33相連,第一捕獲序列生成模塊32用于從物理通道連接裝置2獲取波形回讀命令,以及根據(jù)波形回讀命令生成捕獲命令序列,并將捕獲命令序列發(fā)送至ICAP模塊33;ICAP模塊33與物理通道連接裝置2相連,ICAP模塊33用于根據(jù)捕獲命令序列捕獲待測(cè)試電路模塊31生成的仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至發(fā)送至物理通道連接裝置2。
具體地,ICAP模塊33可以包括ICAP硬核、SLR選取邏輯、有效仿真數(shù)據(jù)選取邏輯,有效仿真數(shù)據(jù)選取邏輯用于根據(jù)捕獲命令序列中的far地址內(nèi)部偏移量選取有效的仿真波形數(shù)據(jù)。需要說(shuō)明的是,F(xiàn)PGA1可以包括多個(gè)SLR,每個(gè)SLR可以包括兩個(gè)ICAP硬核。
可選地,參照?qǐng)D2,在本發(fā)明的另一個(gè)實(shí)施例中,F(xiàn)PGA模塊3還可以包括第一內(nèi)存模塊34,第一內(nèi)存模塊34分別與ICAP模塊33和物理通道連接裝置2相連,第一內(nèi)存模塊34用于從ICAP模塊33接收仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2。其中,第一內(nèi)存模塊34可以確保仿真波形數(shù)據(jù)可以正確發(fā)送至物理通道連接裝置2。
可選地,F(xiàn)PGA模塊3可以為內(nèi)嵌ICAP硬核的FPGA模塊。當(dāng)FPGA模塊3內(nèi)部訪問(wèn)ICAP硬核時(shí),只需要實(shí)例化ICAP原語(yǔ)即可。圖4為ICAP硬核的輸入輸出結(jié)構(gòu)示意圖。其中CLK為ICAP硬核的輸入時(shí)鐘信號(hào)腳、CSIB為ICAP硬核的片選信號(hào)腳、I[31:0]為ICAP硬核的命令序列輸入總線、RDWRB為ICAP硬核的讀寫控制信號(hào)腳、O[31:0]為ICAP硬核的寄存器或者配置存儲(chǔ)器讀取數(shù)據(jù)輸出總線。其中,I[31:0]可以與第一捕獲序列生成模塊32相連,O[31:0]可以與配置存儲(chǔ)器等相連。
可選地,參照?qǐng)D3,在本發(fā)明的再一個(gè)實(shí)施例中,F(xiàn)PGA模塊3可以包括第二FPGA(以下稱FPGA2)和第三FPGA(以下稱FPGA3),仿真波形數(shù)據(jù)捕獲模塊30可以為SelectMap接口模塊36,F(xiàn)PGA2可以包括第二捕獲序列生成模塊35和SelectMap接口模塊36,F(xiàn)PGA3可以包括待測(cè)試電路模塊31,其中,第二捕獲序列生成模塊35分別與物理通道連接裝置2和SelectMap接口模塊36相連,第二捕獲序列生成模塊35用于從物理通道連接裝置2獲取波形回讀命令,以及根據(jù)波形回讀命令生成捕獲命令序列,并將捕獲命令序列發(fā)送至SelectMap接口模塊36;SelectMap接口模塊36與物理通道連接2和FPGA3相連,SelectMap接口模塊36用于根據(jù)捕獲命令序列通過(guò)FPGA2和FPGA3之間的互聯(lián)通道捕獲待測(cè)試電路模塊31生成的仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2。
可選地,參照?qǐng)D3,在本發(fā)明的再一個(gè)實(shí)施例中,F(xiàn)PGA2還可以包括第二內(nèi)存模塊37,第二內(nèi)存模塊37分別與SelectMap接口模塊36和物理通道連接裝置2相連,第二內(nèi)存模塊37用于從SelectMap接口模塊36接收仿真波形數(shù)據(jù),并將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2。其中,第二內(nèi)存模塊37可以確保仿真波形數(shù)據(jù)可以正確發(fā)送至物理通道連接裝置2。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)需要回讀仿真波形數(shù)據(jù)時(shí),通過(guò)ll文件生成模塊11調(diào)用綜合布局布線工具生成ll文件。ll文件中各參數(shù)的格式如圖5所示,各參數(shù)分別為存儲(chǔ)單元對(duì)應(yīng)的信號(hào)名、鎖存器類型、信號(hào)所在存儲(chǔ)單元、far地址、總偏移量、far地址內(nèi)部偏移量,其中,存儲(chǔ)單元對(duì)應(yīng)的信號(hào)名為U_TRANSFER/U_SENDER/delay_cnt_reg[28],鎖存器類型為AQ,信號(hào)所在存儲(chǔ)單元為SLICE_X405Y157,far地址為0x00406e9f,總偏移量為90816420,far地址內(nèi)部偏移量為452。進(jìn)而ll文件解析模塊12解析ll文件獲得SLR參數(shù)、far地址和far地址內(nèi)部偏移量。命令生成模塊13根據(jù)SLR參數(shù)、far地址和far地址內(nèi)部偏移量生成波形回讀命令。當(dāng)FPGA模塊3為FPGA1時(shí),物理通道連接裝置2傳輸該波形回讀命令至第一捕獲序列生成模塊32,第一捕獲序列生成模塊32根據(jù)波形回讀命令生成捕獲命令序列,并將捕獲命令序列發(fā)送至ICAP硬核的I[31:0],ICAP硬核將FPGA1的配置存儲(chǔ)器捕獲的仿真波形數(shù)據(jù)發(fā)送至第一內(nèi)存模塊34,第一內(nèi)存模塊34將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2;當(dāng)FPGA模塊3包括FPGA2和FPGA3時(shí),物理通道連接裝置2傳輸該波形回讀命令至第二捕獲序列生成模塊35,第二捕獲序列生成模塊35根據(jù)波形回讀命令生成捕獲命令序列,并將捕獲命令序列發(fā)送至SelectMap接口模塊36,SelectMap接口模塊36將將FPGA3的配置存儲(chǔ)器捕獲的仿真波形數(shù)據(jù)發(fā)送至第二內(nèi)存模塊37,第二內(nèi)存模塊37將仿真波形數(shù)據(jù)發(fā)送至物理通道連接裝置2。物理通道連接裝置2將仿真波形數(shù)據(jù)發(fā)送至緩存模塊16,緩存模塊16將仿真波形數(shù)據(jù)發(fā)送至寫波形文件模塊14,寫波形文件模塊14根據(jù)仿真波形數(shù)據(jù)生成預(yù)設(shè)文件格式的波形文件,波形查看模塊15調(diào)用仿真工具顯示波形文件對(duì)應(yīng)的仿真波形,完成仿真波形數(shù)據(jù)的回讀。
具體地,參照?qǐng)D6,當(dāng)FPGA模塊3為FPGA1時(shí),將捕獲命令序列發(fā)送至ICAP硬核的I[31:0]可以包括以下過(guò)程:
首先,第一捕獲序列生成模塊32根據(jù)SLR參數(shù)計(jì)算出待選取信號(hào)所在的SLR;第二步,捕獲命令序列寫FPGA1中待選取的SLR中的CTL0寄存器,目的是為了使FPGA1發(fā)送使能ICAP硬核的相關(guān)命令,以使能ICAP硬核;第二步,捕獲命令序列寫FPGA1中待選取的SLR中的CMD寄存器,目的是使FPGA1發(fā)送仿真波形數(shù)據(jù)抓取命令,F(xiàn)PGA1將仿真波形數(shù)據(jù)存入配置存儲(chǔ)器;第三步,捕獲命令序列再次寫FPGA1中待選取的SLR中的CMD寄存器,F(xiàn)PGA1發(fā)送讀配置存儲(chǔ)器前導(dǎo)命令;第四步:捕獲命令序列寫FPGA1中待選取的SLR中中的FDRO寄存器,目的是使FPGA1發(fā)送讀配置存儲(chǔ)器命令,以使ICAP硬核的O[31:0]將配置存儲(chǔ)器中抓取的仿真波形數(shù)據(jù)讀取出來(lái)。
其中,ICAP硬核的O[31:0]將配置存儲(chǔ)器中抓取的仿真波形數(shù)據(jù)讀取出來(lái)的過(guò)程如下:首先ICAP硬核根據(jù)該存儲(chǔ)單元對(duì)應(yīng)的far地址從FPGA1相應(yīng)SLR中的配置存儲(chǔ)器中將far地址對(duì)應(yīng)的仿真波形數(shù)據(jù)幀讀出,然后根據(jù)far地址內(nèi)部偏移量找到待選取信號(hào)所對(duì)應(yīng)的仿真波形數(shù)據(jù)。
具體地,在本發(fā)明的一個(gè)實(shí)施例中,F(xiàn)PGA1為運(yùn)用堆疊硅片互聯(lián)技術(shù)的FPGA,F(xiàn)PGA1包括多個(gè)SLR。多個(gè)SLR為4個(gè)SLR時(shí)的分布如圖7所示。參照?qǐng)D7,每個(gè)SLR由150個(gè)縱坐標(biāo)構(gòu)成,縱坐標(biāo)在0到149之間為SLR0,縱坐標(biāo)在150到299之間為SLR1,縱坐標(biāo)在300到449之間為SLR2,縱坐標(biāo)在450到599之間為SLR3,圖5中待選取信號(hào)所在存儲(chǔ)單元為SLICE_X405Y157,即SLR的縱坐標(biāo)為Y=157,上述FPGA1中相應(yīng)SLR位于SLR1。
本發(fā)明實(shí)施例的數(shù)據(jù)回讀系統(tǒng)包括以下優(yōu)點(diǎn):
一、通過(guò)仿真波形數(shù)據(jù)捕獲模塊例如ICAP模塊中的ICAP硬核或SelectMap接口模塊中的SelectMap接口等從FPGA模塊中讀取仿真波形數(shù)據(jù),而仿真波形數(shù)據(jù)捕獲模塊設(shè)置在FPGA模塊內(nèi)部,例如ICAP硬核為內(nèi)嵌在FPGA模塊內(nèi)部的硬核,所以在獲取仿真波形數(shù)據(jù)時(shí)不需要占用FPGA模塊的邏輯資源,僅在獲取仿真波形數(shù)據(jù)以及傳遞獲取的仿真波形數(shù)據(jù)時(shí)占用少量的邏輯資源,而且邏輯資源的占用不會(huì)隨著IC設(shè)計(jì)規(guī)模的增大而增大;
二、不需要設(shè)計(jì)獲取仿真波形數(shù)據(jù)部分的邏輯,僅需要設(shè)計(jì)出FPGA模塊所需的仿真波形數(shù)據(jù)捕獲命令序列的生成邏輯以及仿真波形數(shù)據(jù)的傳送邏輯即可,所以設(shè)計(jì)簡(jiǎn)單,靜態(tài)時(shí)序分析簡(jiǎn)單;
三、當(dāng)FPGA模塊為內(nèi)嵌ICAP硬核的FPGA模塊時(shí),F(xiàn)PGA模塊訪問(wèn)ICAP硬核時(shí)只需實(shí)例化ICAP原語(yǔ)即可,F(xiàn)PGA模塊通過(guò)ICAP硬核進(jìn)行仿真波形數(shù)據(jù)回讀時(shí)極為方便。
本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種數(shù)據(jù)回讀系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。