|
2007年底,我加入一間美商 start-up ,
9 V; m- m6 I. i7 w他們用 vera 來驗證他們的邏輯設計。' m! P( ~$ T y1 k; d! g
我的任務是 video engine 的 design change,
! I0 U* w( n0 O# G由於沒有人和我交接(前一位負責的工程師在我加入前便離開了),3 W* \1 K2 U+ N6 q
我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,! n, ?; _" ]0 l( @
這時前人留下的 vera pattern 發揮了驚人的把關能力,5 B& }3 U! \" _) s* S% R
讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。
7 u3 D+ K4 u( ], Q( f* n, m5 J5 }& a: N
雖然不久之後我也離開了,1 L( N3 b* Q, M: Y
新東家用的是 cadence ncsim,
4 x8 Y- g! M8 ~6 G$ a& Sverification 的方法是用 verilog implement monitor, checker, bfm, ... etc.2 }3 }+ K e; z& |: `" y: E
但畢竟這和以前用過的 vera 不可同日而語,
9 T J+ y& C" x# P於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境! Z/ S1 `4 ]" a4 i' [- H2 ?7 S% W
1 P6 h$ k% x h, d我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,
0 y, x; M6 ~( [# T) U透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,
% u/ Y o; ]1 e- m) [1 H以驗證使用 Verilog 製作的設計;2 C' _+ s* j/ y
並且它是開放源碼的自由軟體,: v( N' f- A: |. b8 W
每個人都可以免費取得並使用它。
8 M" V( t- Y9 o) w2 Q( ]6 ^; l- r1 d8 D1 j
我計劃將我的使用心得記錄在 Blog 上,
$ t- T& J' O# m5 ?& q1 p歡迎討論指教。5 v6 p2 {! f& |( ?
9 M/ a9 x R/ N8 T L
Yi-shin Li |
|