半導體設計與驗證軟件方案供貨商美商昕博科技(Synplicity),發表該公司名下TotalRecall Full Visibility技術的相關細節。藉由賦予設計者快速發現錯誤及對已確實修正的部份進行驗證的能力,Synplicity相信此項做為ASIC驗證工具的新技術將能大幅地改善FPGA原型(prototype)的可用性。
在以十倍到百倍的執行速度時,TotalRecall技術可提供設計工程師與仿真器(emulator)相同甚至更佳的除錯可視性(debug visibility)。除此之外,此一創新技術也能獲取在一件事件發生前后的完整訊號信息。
TotalRecall技術能夠獲取一個設計案的所有訊號(不論是模塊或整顆芯片),包括內存狀態,或是在錯誤發生的時間點之前、由使用者自定的周期數字。在自動產生測試工作平臺的同時,完整的設計狀態可以被送出給HDL仿真器(simulator),其序列可依需要重復執行,直到發現問題所在且修正的部分通過驗證。此外該專利技術可讓修正的部分在仿真器環境下進行測試,且此環境中采用的訊號值與先前造成錯誤的配置完全相同。
藉由合成到硬件中的聲明(assertion)運用,TotalRecall技術也支持強大的硬件驗證能力。許多芯片設計者在設計流程中應用聲明,但因仿真速度不夠快,所以無法好好地將它們應用在驗證的工作上。由于聲明可在高速情況下進行測試,將聲明與FPGA硬件合成,它就能更有效地被用來驗證。
舉例來說,單獨使用軟件仿真器來執行手機的開機序列(boot up sequence)需要超過三十天的時間,然而,在一個以20MHz速度運作的FPGA原型中,只需三秒鐘就能完成相同的開機序列,并讓聲明能被充分運用,進而快速地偵測出錯誤及驗證修正程序。結合以FPGA為基礎的原型,聲明合成與TotalRecall技術能讓錯誤快速地被偵測出來;相較之下,其它方法在驗證過程中可能會找不到錯誤,或無法進行修正。
不同于其它解決方案,TotalRecall技術可處理非決定性(non-deterministic)的錯誤,而這些錯誤得在實際運作中的硬件上才能發現。對于此種程度的錯誤以及其它很少發生的錯誤來說,想要驗證對RTL程序代碼所做的改變是否確實修正了錯誤,幾乎是不可能的。在此情況下,利用整合TotalRecall技術與FPGA原型的速度優勢,就能在錯誤被觸發之前或之后獲取完整的設計可視性,并為使用者提供驗證修正所需的完整環境。
Synplicity相信,未來有機會透過協力伙伴來為TotalRecall技術整合、加入更強大的功能,對于其原型伙伴計劃(Partners in Prototyping program)的會員來說,更是如此。Synplicity將會開發出參考設計流程,并與所有主要的模擬環境進行整合。用戶可在2007年中取得應用TotalRecall技術的更多產品細節。
來源:電子工程專輯