簡單講,一旦擁有了開放的接口,那你擁有的就不僅僅是一款調(diào)試工具,而是一個開放的、支持DIY的客制化調(diào)試平臺,因為它將可以兼容不同家公司EDA工具、透過接口調(diào)用底層數(shù)據(jù)庫,實現(xiàn)想看哪就看哪的自定義功能,簡直不能更治愈!
眾人皆知,驗證離不開調(diào)試工具。在整個設(shè)計驗證流程中,驗證占了70%的工作量,調(diào)試debug就占了其中的40%。
幾乎所有驗證工具,無論是邏輯仿真、硬件仿真還是形式化驗證、原型驗證等等,本質(zhì)上都是通過不同的方式去對設(shè)計進(jìn)行各種重新編譯、解析,這之后產(chǎn)生的各種類型的數(shù)據(jù),都離不開后面調(diào)試工具去分析、去解讀。
調(diào)試工具的本質(zhì)是生產(chǎn)力工具,它像一個“數(shù)據(jù)處理中心”,也像一個“指揮中樞”,通過讀取、解析以及分析設(shè)計驗證的結(jié)果,讓你可以很快地看見問題、解決問題。
但是,這里說的問題映射到日常項目當(dāng)中,可能是多種多樣,仿佛無窮無盡的。
本篇重點和大家分享:
一、開放接口解決什么問題
二、統(tǒng)一、可兼容的接口和標(biāo)準(zhǔn)
01 開放接口解決什么問題
第一個是個性化的需求
調(diào)試工具幾乎吃下了設(shè)計和驗證所有的信息。但,其實每家芯片設(shè)計的信號組合不一樣,我們通過Debug調(diào)試系統(tǒng)要檢查的內(nèi)容就不一樣。
如果我們不能夠?qū)τ谶@樣的需求進(jìn)行處理的話,比如說當(dāng)設(shè)計的波形有兩三百個,是不是我要把兩三百個每一個批量的全部內(nèi)容,都肉眼看一遍呢?因此能夠直接訪問底層數(shù)據(jù)這方面的需求,其實非常的廣。
尤其是,針對不同類型的項目,往往有自己獨有的、個性化的調(diào)試需求。
在實際應(yīng)用中,各個芯片的產(chǎn)品調(diào)試特征不同,對調(diào)試就會產(chǎn)生非常多樣化的細(xì)分需求。用戶因此特別希望能夠在國產(chǎn)EDA工具里面看到一些開放的接口,便于自己進(jìn)行二次開發(fā)。
舉個例子,比如當(dāng)我們想快速對某個特定范圍下的信號變化做一些統(tǒng)計 (比如變化次數(shù),X/Z的個數(shù),均值統(tǒng)計等等),這些需求太多太零碎了,可能Debug產(chǎn)品使用界面沒有直接提供。
但這些數(shù)據(jù)信息在工具的底層數(shù)據(jù)庫里其實都有,只要提供接口讓用戶可以自己訪問底層數(shù)據(jù)庫,就可以通過寫一些小程序來實現(xiàn)希望的功能。真正的“想看哪里就看哪里”。
第二個是兼容性的問題
比如說,在數(shù)字驗證階段,EDA工具往往需要解析UPF/CPF文件內(nèi)容,轉(zhuǎn)換為內(nèi)部模型并存儲到低功耗數(shù)據(jù)庫。然而,因為各家EDA單位底層UPF/CPF的Parser的接口差異性,導(dǎo)致EDA工具需要針對不同的Parser做定制化。而且,不同Parser對UPF/CPF的理解可能是不同的,這會導(dǎo)致EDA工具一旦換了底層UPF/CPF Parser后,可能低功耗的行為就發(fā)生了變化。
開放的接口和行為級模型,能夠為行業(yè)產(chǎn)品的合作提供更好的兼容性和擴(kuò)展性,提高數(shù)據(jù)的使用效率,也就能提高我們的生產(chǎn)力。
02 統(tǒng)一、可兼容的新一代接口和標(biāo)準(zhǔn)
從這一具備龐大群眾基礎(chǔ)的需求出發(fā),芯華章Fusion Debug提供開放的XPI接口讓用戶可以直接訪問、定制自己的小程序,調(diào)用存儲了包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)的底層數(shù)據(jù)庫,讓設(shè)計和驗證更加有效,進(jìn)行更有針對性的調(diào)試。
世上本沒有路,走的人多了,也便成了路。
- XPI集成了HDL、Netlist、Waveform和Coverage 4種數(shù)據(jù)模型,并提供了簡單統(tǒng)一的API來訪問它們
- 基于芯華章統(tǒng)一的技術(shù)底座智V驗證平臺,HDL設(shè)計通過前端編譯生成代碼數(shù)據(jù)庫XCDB和網(wǎng)表數(shù)據(jù)庫XNDB
- 各種驗證工具如仿真器(Simulation)、硬件仿真器(Emulation), 原型系統(tǒng)(Prototyping)和形式化驗證(Formal Verification),則生成波形數(shù)據(jù)庫XEDB和覆蓋率數(shù)據(jù)庫XCovDB
- XPI提供三種類型的接口來訪問底層數(shù)據(jù)庫模型,包括:TCL命令接口、Python接口、C/C++接口,用戶可以將這些接口集成到自己的應(yīng)用程序中
這就好像以前的圖書館可能擁有數(shù)億級別的藏書,但是你找不到自己需要的書。芯華章Fusion Debug則像一個用戶體驗導(dǎo)向的電子圖書館,不僅對龐大數(shù)據(jù)做了多種分類,并且提供清晰的檢索目錄、導(dǎo)覽、查閱,你甚至可以自己添加標(biāo)簽和偏好,定義你想要的界面,讓你直呼“好用”的同時,大大節(jié)約你的時間。
這種統(tǒng)一的接口和標(biāo)準(zhǔn),甚至不局限于芯華章自家產(chǎn)品之間,還可以兼容其他家EDA公司產(chǎn)品。以芯華章低功耗模型以及讀寫接口標(biāo)準(zhǔn)為例,它具有以下特點:
1 支持IEEE 所有UPF版本標(biāo)準(zhǔn),并屏蔽底層UPF Parser的差異
2 支持低功耗模型創(chuàng)建
3 支持低功耗模型讀寫
4 支持豐富的上層應(yīng)用,如低功耗靜態(tài)分析能力、Root Cause追蹤能力
Fusion Debug的通用低功耗模型,集成了對象化的低功耗網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu),給行業(yè)低功耗產(chǎn)品提供了統(tǒng)一、高效的追蹤行為和接口,屏蔽了各個EDA廠商HDL設(shè)計數(shù)據(jù)模型的差異性。
這也是國產(chǎn)EDA生態(tài)建設(shè)非常重要的一環(huán),只有讓不同的國產(chǎn)EDA工具之間能夠?qū)崿F(xiàn)低功耗數(shù)據(jù)的共享,提高數(shù)據(jù)的使用效率,才能形成完善的國產(chǎn)EDA生態(tài),讓用戶擁有更高效、更省心的選擇。
實在地說一句,芯華章的Debug開發(fā)團(tuán)隊有非常熱切、希望將產(chǎn)業(yè)現(xiàn)在及未來需求落實到位的工作態(tài)度和技術(shù)能力,自發(fā)布以來,F(xiàn)usion Debug也已經(jīng)在數(shù)十個客戶項目中得到部署和打磨。