|
2007年底,我加入一間美商 start-up ,6 H+ G( p, e7 e: d) x k
他們用 vera 來驗證他們的邏輯設計。
( D- K" J' a V8 y+ _我的任務是 video engine 的 design change, , I- d# e" M+ o) ?/ X1 n
由於沒有人和我交接(前一位負責的工程師在我加入前便離開了),
% F* P8 E( w2 R% a7 q我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,
4 ^* w& [) W! Z( Q% X+ e這時前人留下的 vera pattern 發揮了驚人的把關能力,
Y Y0 e( {* w: ^5 l讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。9 t$ b4 ~/ y0 @
7 D7 h0 z0 i& f& j( _, V雖然不久之後我也離開了,
@' @8 B9 F! z7 T新東家用的是 cadence ncsim,
: W9 y8 H" C6 R d) m! w Kverification 的方法是用 verilog implement monitor, checker, bfm, ... etc.) `$ j" {, z$ f1 h8 @
但畢竟這和以前用過的 vera 不可同日而語,
8 b$ @4 |5 E( w: S/ i於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境% j' H( c- @9 Y. t# O& I& ]
4 N/ v h/ } }我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,
! ]& P7 D# ^9 u透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,
+ K* ^7 j' R3 l5 p q" I以驗證使用 Verilog 製作的設計;: V8 ~% M' w( \ ~
並且它是開放源碼的自由軟體,
% K; |* E. H. [3 o4 d" \" X6 q每個人都可以免費取得並使用它。* _/ a) i' |( h2 i' T
/ _7 w j, a+ K1 E( a K( F我計劃將我的使用心得記錄在 Blog 上,' h" b+ Q1 b8 b( Y: e$ G
歡迎討論指教。
3 E# f+ Z2 x4 F( b7 d# L: @7 c0 s9 T/ s, K
Yi-shin Li |
|