前言
伴隨著工藝技術(shù)水平的提高,當(dāng)前ASIC設(shè)計規(guī)模和設(shè)計復(fù)雜度也不斷的提高,。合理的選擇驗證工具在ASIC設(shè)計過程中起了關(guān)鍵作用,。下面就結(jié)合實際的項目開發(fā),對比驗證工具的特點,,幫助大家更好的認(rèn)識驗證工具,。
SystemC 介紹
SystemC是一個開發(fā)硬件的面向?qū)ο蟮男滦徒7椒ǎ⒃贑++基礎(chǔ)上,,是為了方便系統(tǒng)級設(shè)計和IP交換,。System C是一個開放的標(biāo)準(zhǔn),由13家EDA和電子行業(yè)的公司共同控制,。
包括
ARM Ltd.,;Cadence Design Systems, Inc.;CoWare,;Fujitsu,;Mentor Graphics;Motorola,;NECSynopsys
System C的源碼可以從http://www.systemc.org/網(wǎng)站上免費(fèi)下載,。SystemC是由一些C++的類庫
組成。用System C開發(fā)的硬件模型可以用標(biāo)準(zhǔn)的C++編譯器來編譯:
Unix/Solaris: bcc,gcc
Windows: MSVC
經(jīng)編譯后形成一個可執(zhí)行的應(yīng)用程序,設(shè)計人員可以通過console來觀察系統(tǒng)的行為,驗證系統(tǒng)功能和結(jié)構(gòu).
Specman E介紹
Specman Elite是Cadence公司的驗證技術(shù)工具,,它能提供可配置,、可再使用和可擴(kuò)展的驗證組件。能夠產(chǎn)生足夠多的測試激勵訊號,并能對設(shè)計行為與預(yù)期結(jié)果進(jìn)行檢查確認(rèn),。
1. EOS 系統(tǒng)的驗證
測試EOS 系統(tǒng)采用SystemC,,比較以往的以verilog,specman E,,vera語言要有以下特點,, 不用付高額的eda tool 費(fèi)用;可以充分的利用個人電腦系統(tǒng)資源,;實際的開發(fā)周期大大縮短,。
下面是EOS驗證系統(tǒng)的設(shè)計框圖。
mii: Mii Interface
MPI: Microprocessor Interface
TCM: TCMBUS Interface
RM設(shè)計和測試用例設(shè)計基于pc的c++環(huán)境開發(fā),,所有的測試用例產(chǎn)生的輸入輸出結(jié)果存為文件,。Verilog代碼根據(jù)輸入文件產(chǎn)生激勵,根據(jù)端口的輸出產(chǎn)生輸出文件(*.dump),。結(jié)果的檢查是通過比較所有的RM輸出的文件(*.REF)和verilog輸出的文件(*.DUMP),。
RM設(shè)計思路,基于數(shù)據(jù)流設(shè)計,,大大減少了具體硬件實現(xiàn)上的細(xì)節(jié),,提高了RM設(shè)計效率。
這個基于RM(reference model)設(shè)計的方法,,在項目前期驗證設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計是否合理,;后面驗證可以繼承項目前期系統(tǒng)結(jié)構(gòu)設(shè)計階段的成果。同時基于硬件資源環(huán)境4 workstations 和13 PC,。由于PC資源充足,,把測試用例的設(shè)計和RM測試在PC上進(jìn)行設(shè)計。由于verilog的開發(fā)在workstation環(huán)境下,,并且資源緊張,,是項目開發(fā)進(jìn)度的瓶頸,所以選擇verilog速度最優(yōu)的驗證途經(jīng),。
基于specmanE實現(xiàn)測試SDH系統(tǒng)軟件
CPXXX支持的SDH業(yè)務(wù)基本復(fù)用結(jié)構(gòu)如下:
根據(jù)數(shù)據(jù)結(jié)構(gòu)特點和E語言特點,,創(chuàng)建了STM4、STM1,、AUG1,、AU4、AU3,、VC4、TUG3,、TUG2,、TU3、TU2、TU12,、TU11,、VC3、VC2,、VC12,、VC11、C4,、C3,、C2、C12和C11基本數(shù)據(jù)結(jié)構(gòu),。實際的測試數(shù)據(jù)是通過擴(kuò)展基本數(shù)據(jù)結(jié)構(gòu)的方法配置SDH數(shù)據(jù)生成幀,。可以配置數(shù)據(jù)結(jié)構(gòu)包括STM4,、STM1,、AUG1、AU4,、AU3,、VC4、TUG3,、TUG2,、TU3、TU2,、TU12,、TU11、VC3,、VC2,、VC12、VC11,、C4,、C3、C2,、C12,、C11。配置方法的實質(zhì)是對各種數(shù)據(jù)結(jié)構(gòu)生成的初始化函數(shù)進(jìn)行個性化擴(kuò)展,。
這種基于E語言的驗證設(shè)計環(huán)境,,可以和verilog聯(lián)合仿真。但是仿真速度比較慢,,單一的verilog仿真速度的1/4~1/3,,在驗證工作量比較大的項目中,,這是個瓶頸。所以在實際的驗證中,,我們的策略是盡可能的把復(fù)雜的模塊進(jìn)行詳細(xì)的模塊級驗證,。因為每個模塊功能特性不一樣,這樣就需要維護(hù)的驗證環(huán)境比較多,。
結(jié)論
1. 對于驗證工具的選擇,,要結(jié)合資源(包括機(jī)器,人力和費(fèi)用)和實際項目的特點,,選擇合理的有效的驗證工具搭建驗證環(huán)境,。
2. 對于驗證設(shè)計工具,不要有排斥或者崇拜的情緒,,要結(jié)合實際的應(yīng)用,,搭建能發(fā)揮各自特點的環(huán)境是一個項目管理的要求。
參考:
1.《Writing Testbench:Functional Verification of HDL models》,,Janick Bergeron, Qualis design corporation.
2.《E Reference》 Verisity Design, Inc.
作者簡介: 陳思軍,,project manager , Chiphomer Technology Limited.