|
2007年底,我加入一間美商 start-up , `! E. ?) k, t* [
他們用 vera 來驗證他們的邏輯設計。
4 A8 i5 D2 S5 g- m我的任務是 video engine 的 design change,
# ]7 @) c# J# b由於沒有人和我交接(前一位負責的工程師在我加入前便離開了), Q6 D+ u9 P% A6 M, J0 \
我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,
( p8 e5 R6 T5 Q0 Y$ l這時前人留下的 vera pattern 發揮了驚人的把關能力,1 ^' ~' F1 o6 |2 ^8 p- }
讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。4 W# ^; q( n& k7 i( O' p8 |( K3 y
3 W: Z$ g) C0 v& I9 N$ E雖然不久之後我也離開了,
. U/ [4 N N$ b新東家用的是 cadence ncsim,
' {. r% b! U' e# T9 P% lverification 的方法是用 verilog implement monitor, checker, bfm, ... etc.
. \$ ^( G4 G! }4 t! ]( z但畢竟這和以前用過的 vera 不可同日而語,
- o7 |4 h/ G( {於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境: l/ k( z/ q8 L7 H4 o
* q( M2 G5 U5 P
我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,: Y K1 y) q8 h# ~0 K" N
透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,
1 v4 s$ s, P1 `. q, N以驗證使用 Verilog 製作的設計;
" q) ~# ?( k0 w& l6 l並且它是開放源碼的自由軟體,
# E) ^& m. A( y; a( Z# ~每個人都可以免費取得並使用它。
/ }: ?6 H; _& b D. Q
1 u; [& C& ?/ `0 a6 ]/ q, n我計劃將我的使用心得記錄在 Blog 上,
% c4 u0 v0 I2 c! B. K0 d歡迎討論指教。
9 z, k' ] `! H3 U
* V# }8 x0 b$ GYi-shin Li |
|