一種可編程電路系統(tǒng)的驗證方法
【技術領域】
[0001]本發(fā)明涉及可編程集成電路設計技術領域,尤其涉及一種可編程電路系統(tǒng)的驗證方法。
【背景技術】
[0002]隨著信息科技的發(fā)展需求,可編程芯片,尤其是FPGA (Field — Programmable GateArray,現(xiàn)場可編程門陣列),憑借其編程靈活、系統(tǒng)穩(wěn)定、資源豐富、集成度高等優(yōu)點,其應用領域已經(jīng)從原來通信領域擴展到航天、消費電子、工業(yè)控制、測試測量等更廣泛的領域。另外,隨著工藝節(jié)點的不斷攀升,使得對于可編程電路的系統(tǒng)集成度、可編程資源以及器件規(guī)模提出了更高的要求。FPGA系統(tǒng)需要將軟件產(chǎn)生的配置信息位流加載到電路系統(tǒng)中相應電路模塊的配置存儲單元SRAM (Static Random Access Memory,靜態(tài)隨機存取存儲器)中,來完成功能的配置。而目前市場上主流的可編程芯片,以FPGA為例,早已從上世紀90年代的百萬門級規(guī)模擴展到千萬門級規(guī)摸,并且集成的IP更加豐富,使得系統(tǒng)的電路規(guī)模已經(jīng)提升了幾十倍。
[0003]目前,對于FPGA電路系統(tǒng)的功能驗證,主要根據(jù)用戶的正常配置流程,按照幀數(shù)據(jù)結構逐幀進行數(shù)據(jù)位流的正常配置,在內(nèi)部的位流數(shù)據(jù)處理位寬為32位?;谶@種驗證方式,在百萬門級規(guī)模的FPGA系統(tǒng)進行仿真,其配置加載的時間在100萬門級電路中預計需要I小時左右,在300萬門級電路中預計需要3小時左右,在600萬門級電路中預計需要至少8小時以上。然而用戶的設計驗證時間僅需要幾分鐘的時間,因此,針對FPGA系統(tǒng)的驗證工作,絕大部分時間將花費在配置加載過程上。
[0004]與此同時,隨著下一代FPGA規(guī)模的不斷擴大,器件規(guī)模將達到千萬門級,如果按照傳統(tǒng)的正常逐幀內(nèi)部32位數(shù)據(jù)處理的加載位流的方式來進行驗證,其仿真時間預計至少需要24小時乃至48小時以上。并且器件規(guī)模不斷擴大,其電路網(wǎng)表也會隨之翻倍,在系統(tǒng)驗證運行時所占用的系統(tǒng)內(nèi)存與CPU資源負荷也隨之成倍增加,這樣形成的電路級網(wǎng)表更達到800M以上乃至超過1G。
[0005]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下技術問題:
[0006]基于現(xiàn)有的驗證方法來進行逐漸增大的千萬門級可編程電路的驗證,驗證所花費的時間很多,驗證環(huán)境的資源占用率很高,驗證效率很低。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種可編程電路系統(tǒng)的驗證方法,能夠節(jié)省可編程電路系統(tǒng)驗證所花費的時間,同時減少驗證環(huán)境的資源占用率,進而提高驗證效率。
[0008]為達到上述目的,本發(fā)明的實施例采用如下技術方案:
[0009]—種可編程電路系統(tǒng)的驗證方法,包括:
[0010]建立電路功能模塊與位流配置信息的對照表;
[0011 ] 根據(jù)所述電路功能模塊與位流配置信息的對照表,對各電路功能模塊進行參數(shù)化的功能描述,同時進行各電路功能模塊的電路網(wǎng)表與功能描述的形式驗證;
[0012]通過配置控制模塊在電路網(wǎng)表中進行數(shù)據(jù)位寬大小設置;
[0013]將每個電路模塊中對應的數(shù)據(jù)位流根據(jù)生成的先后順序,按照所設置的位寬大小重新設置數(shù)據(jù)順序和相應的地址順序。
[0014]進一步地,所述根據(jù)所述電路功能模塊與位流配置信息的對照表,對各電路功能模塊進行參數(shù)化的功能描述,同時進行各電路功能模塊的電路網(wǎng)表與功能描述的形式驗證包括:
[0015]在底層晶體管級進行弱驅(qū)動強度的非數(shù)字邏輯的晶體管的功能描述;
[0016]在門級電路層、基本邏輯單元和時序單元進行門級電路的功能描述;
[0017]根據(jù)門級電路的功能描述,在子電路模塊提取電路網(wǎng)表,同時對子電路模塊進行功能描述,將提取的電路網(wǎng)表與子電路模塊的功能描述進行形式驗證;
[0018]根據(jù)子電路模塊的功能描述,在子電路模塊的上層電路模塊提取電路網(wǎng)表,同時對所述上層電路模塊進行功能描述,將提取的電路網(wǎng)表與該上層電路模塊的功能描述進行形式驗證,直到電路功能模塊級電路;
[0019]在電路功能模塊級,根據(jù)所述電路功能模塊與位流配置信息的對照表,對配置位流接口進彳丁參數(shù)化,并對電路功能t吳塊級電路進彳丁功能描述,同時在電路功能t吳塊提取電路網(wǎng)表,與電路功能模塊的功能描述進行形式驗證。
[0020]進一步地,所述方法還包括:
[0021]根據(jù)電路系統(tǒng)的配置接口寬度,通過串并轉(zhuǎn)換模塊將普通配置寬度轉(zhuǎn)換到預定位寬。
[0022]可選地,所述通過配置控制模塊在電路網(wǎng)表中進行數(shù)據(jù)位寬大小設置包括:
[0023]將數(shù)據(jù)位寬設置為一幀數(shù)據(jù)位寬的N倍,其中,N為大于等于I的整數(shù)。
[0024]進一步地,所述將每個電路模塊中對應的數(shù)據(jù)位流根據(jù)生成的先后順序,按照所設置的位寬大小重新設置數(shù)據(jù)順序和相應的地址順序包括:
[0025]根據(jù)N*M*32bits位寬的內(nèi)部配置數(shù)據(jù),根據(jù)總的配置位流總量不變,寬度深度進行相應的選擇的原則,設置對應的地址順序和地址深度,同時在電路功能模塊級中的參數(shù)化中生成對應順序的地址,其中,M為大于I的整數(shù)。
[0026]進一步地,所述根據(jù)電路系統(tǒng)的配置接口寬度,通過串并轉(zhuǎn)換模塊將普通配置寬度轉(zhuǎn)換到預定位寬包括:
[0027]通過串并轉(zhuǎn)換模塊將普通配置寬度轉(zhuǎn)換到內(nèi)部N*M*32bits位寬。
[0028]可選地,所述電路功能模塊包括可編程邏輯單元、可編程塊存儲器、可編程時鐘管理模塊和可編程DSP模塊。
[0029]可選地,所述弱驅(qū)動強度的非數(shù)字邏輯的晶體管包括弱上拉晶體管、弱下拉晶體管和電平恢復器。
[0030]可選地,所述門級電路包括反相器、緩沖器、與非門、或非門、觸發(fā)器、保持器和鎖存器。
[0031]本發(fā)明提供的可編程電路系統(tǒng)的驗證方法,通過在電路功能模塊級按照位流配置信息進行上層電路的參數(shù)化的功能描述,這樣在系統(tǒng)級網(wǎng)表抽取的時候,將直接提取上層電路的功能網(wǎng)表,而不是底層電路門級或者晶體管級的網(wǎng)表,使得在驗證過程的編譯和仿真階段,提取的網(wǎng)表將占用系統(tǒng)服務器環(huán)境很少的資源,節(jié)約了系統(tǒng)運行的成本和效率;同時通過在內(nèi)部使用N*M倍于現(xiàn)有技術中32bits的內(nèi)部配置數(shù)據(jù)寬度進行位流配置,這兩者相結合,將可編程芯片的系統(tǒng)驗證過程的配置時間大大縮短,使得驗證者不用花費大量的時間來等待配置完成,大大縮短驗證時間周期,最終提升整體驗證效率。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0033]圖1為本發(fā)明實施例提供的可編程電路系統(tǒng)的驗證方法的流程圖;
[0034]圖2為圖1中步驟S12的流程圖;
[0035]圖3為現(xiàn)有技術中可編程電路系統(tǒng)的驗證結構框圖;
[0036]圖4為本發(fā)明實施例提供的可編程電路系統(tǒng)的驗證結構框圖。
【具體實施方式】
[0037]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0038]本發(fā)明實施例提供一種可編程電路系統(tǒng)的驗證方法,如圖1所示,所述可編程電路系統(tǒng)的驗證方法包括:
[0039]SI 1、建立電路功能模塊與位流配置信息的對照表。
[0040]具體地,在電路功能模塊設計完成之后,將設計的全定制電路