|
2007年底,我加入一間美商 start-up ,4 {8 r: T/ {9 d1 C, p
他們用 vera 來驗證他們的邏輯設計。
3 Q' q5 J, D3 h: V( b我的任務是 video engine 的 design change,
1 [, z5 D9 a6 | [由於沒有人和我交接(前一位負責的工程師在我加入前便離開了),
- J- }+ V: m1 g$ s" V: D* S- K; a我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,6 \6 ]9 P1 k" H4 G& a" l' Z
這時前人留下的 vera pattern 發揮了驚人的把關能力,
9 r- G% E. T a, b讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。
: f6 {# ~* U' _5 ^/ n* j9 @6 Q
5 e2 M9 w; K' j; V Q, W! j雖然不久之後我也離開了,
! H% s& k5 I3 m新東家用的是 cadence ncsim,. I! B7 @: _4 M2 i% |% A% N( l
verification 的方法是用 verilog implement monitor, checker, bfm, ... etc." R: R. |! K" G; w, A9 Q
但畢竟這和以前用過的 vera 不可同日而語,& S4 K2 G% E9 k+ s, t
於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境6 ?0 l. J/ t( V N9 M
, L7 r3 w3 v+ b# G3 p- T我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,& |. }0 N6 C3 C4 k# c Z% @
透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,
. I |' \0 ~& n0 U以驗證使用 Verilog 製作的設計;$ E: Y, R ]5 Y+ G, r5 @3 f
並且它是開放源碼的自由軟體,& j) w2 W+ w5 I7 t2 v5 C. z
每個人都可以免費取得並使用它。% a& I+ d, B0 q5 q/ g2 S8 Z0 b/ z
9 g( n* Y3 P1 W- q4 Q$ E我計劃將我的使用心得記錄在 Blog 上,
& i$ x9 P) a0 t/ l% z歡迎討論指教。
' l# Y, |( s$ Q; P- t$ Z( H& u; c: L: m- y: F S5 o
Yi-shin Li |
|