JasperGold在RTL級(jí)功能驗(yàn)證中的屬性檢查與反例生成
在集成電路設(shè)計(jì)流程中,RTL(Register Transfer Level)級(jí)功能驗(yàn)證是確保設(shè)計(jì)符合規(guī)格的關(guān)鍵環(huán)節(jié)。Cadence JasperGold作為業(yè)界領(lǐng)先的形式化驗(yàn)證工具,通過(guò)數(shù)學(xué)化方法窮盡分析RTL代碼行為,在屬性檢查與反例生成方面展現(xiàn)出顯著優(yōu)勢(shì),尤其在處理復(fù)雜協(xié)議和邊界條件時(shí)效率遠(yuǎn)超傳統(tǒng)仿真。
屬性檢查:從斷言到數(shù)學(xué)證明
JasperGold的核心能力在于將設(shè)計(jì)規(guī)范轉(zhuǎn)化為形式化屬性(Properties),并通過(guò)自動(dòng)推理引擎驗(yàn)證這些屬性是否成立。以RISC-V核心的流水線控制驗(yàn)證為例,設(shè)計(jì)人員可定義如下屬性:
systemverilog
property no_data_hazard;
@(posedge clk)
(pc_write && (pc_next != pc_current)) |->
(!regfile_read1_en || (regfile_read1_addr != regfile_write_addr));
endproperty
該屬性斷言:當(dāng)程序計(jì)數(shù)器(PC)更新時(shí),若讀取寄存器文件,其地址不應(yīng)與寫入地址沖突(避免數(shù)據(jù)冒險(xiǎn))。JasperGold通過(guò)符號(hào)執(zhí)行技術(shù),在無(wú)需具體輸入激勵(lì)的情況下,窮舉所有可能的信號(hào)組合,數(shù)學(xué)化證明該屬性是否成立。
對(duì)于跨時(shí)鐘域(CDC)驗(yàn)證,JasperGold的CDC應(yīng)用可自動(dòng)生成亞穩(wěn)態(tài)插入流程,檢查異步信號(hào)同步是否符合雙寄存器打拍規(guī)范。例如,驗(yàn)證AXI總線的手動(dòng)同步器時(shí),工具會(huì)檢查:
systemverilog
property sync_register_chain;
@(posedge clk_async)
$stable(async_signal) [*2] ##1 (async_signal_synced == async_signal);
endproperty
該屬性要求異步信號(hào)需經(jīng)過(guò)兩級(jí)同步寄存器后才能被采樣,避免亞穩(wěn)態(tài)傳播。
反例生成:精準(zhǔn)定位設(shè)計(jì)缺陷
當(dāng)屬性驗(yàn)證失敗時(shí),JasperGold的智能調(diào)試環(huán)境會(huì)生成最小化反例(Counterexample),直觀展示違例路徑。以基于SRT算法的除法模塊驗(yàn)證為例,若定義屬性:
systemverilog
property division_latency;
@(posedge clk)
(ivalid && iready) |-> (##[4:20] (ovalid && oready));
endproperty
該屬性要求除法操作需在4至20個(gè)周期內(nèi)完成。若實(shí)際RTL實(shí)現(xiàn)因位寬擴(kuò)展導(dǎo)致延遲超出上限,JasperGold會(huì)生成反例波形,標(biāo)注:
輸入組合:a=0xFFFFFFFFFFFFFFFF, b=1(最大位寬除法)
違例周期:第21個(gè)周期輸出仍無(wú)效
信號(hào)軌跡:展示除法器內(nèi)部狀態(tài)機(jī)如何因迭代次數(shù)超限而延遲
這種精準(zhǔn)定位能力顯著縮短調(diào)試時(shí)間。STMicroelectronics的實(shí)踐表明,采用JasperGold CDC應(yīng)用后,每個(gè)IP的設(shè)計(jì)驗(yàn)證周期可縮短2-4周,后期RTL變更減少80%。
技術(shù)融合:與仿真工具的協(xié)同
JasperGold支持與Xcelium仿真器無(wú)縫集成,形成“形式驗(yàn)證+動(dòng)態(tài)仿真”的混合驗(yàn)證流程。例如,在驗(yàn)證AXI總線協(xié)議時(shí):
形式驗(yàn)證階段:用JasperGold證明所有傳輸滿足地址對(duì)齊、突發(fā)長(zhǎng)度等靜態(tài)約束;
仿真階段:用Xcelium運(yùn)行隨機(jī)測(cè)試激勵(lì),覆蓋動(dòng)態(tài)場(chǎng)景(如亂序訪問(wèn)、錯(cuò)誤注入);
結(jié)果對(duì)比:通過(guò)計(jì)分板自動(dòng)比對(duì)形式驗(yàn)證與仿真結(jié)果,確保一致性。
ARM的案例顯示,這種協(xié)同驗(yàn)證方法可提前數(shù)周發(fā)現(xiàn)錯(cuò)誤,功能驗(yàn)證階段節(jié)省大量時(shí)間。
結(jié)語(yǔ)
JasperGold通過(guò)形式化屬性檢查與反例生成技術(shù),為RTL級(jí)功能驗(yàn)證提供了數(shù)學(xué)化、窮盡化的解決方案。其智能調(diào)試環(huán)境和與仿真工具的協(xié)同能力,進(jìn)一步提升了驗(yàn)證效率。隨著SoC設(shè)計(jì)復(fù)雜度持續(xù)提升,JasperGold已成為縮短上市時(shí)間、提高設(shè)計(jì)質(zhì)量的關(guān)鍵工具。





