|
2007年底,我加入一間美商 start-up ," D( z3 e" \- o9 e* S; G
他們用 vera 來驗證他們的邏輯設計。
" X" Q5 Z( Q$ j6 p1 M' f8 u5 Q我的任務是 video engine 的 design change, ! O1 U: I1 W; K$ C: }. E
由於沒有人和我交接(前一位負責的工程師在我加入前便離開了),* @: c4 K4 ?) p1 c$ B$ Y
我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,
; N0 B3 i8 J$ e這時前人留下的 vera pattern 發揮了驚人的把關能力,6 w5 V, }6 m5 c- E- x/ j' h
讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。- l+ K) L9 ]1 W9 ^5 M
% Q/ A3 V) Y# u$ v# ?雖然不久之後我也離開了,) V( C {4 @" [; ]
新東家用的是 cadence ncsim,
?& `3 k$ G7 a" I* nverification 的方法是用 verilog implement monitor, checker, bfm, ... etc.! {) J5 } i) k7 z( F( X$ D! c
但畢竟這和以前用過的 vera 不可同日而語,& D: w0 J, r) G. h) `. w0 O
於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境' c4 X5 A! l3 I
2 |& J- B2 i2 s% J$ S我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,
5 B0 Y7 @5 s$ Q6 J$ x, P2 u! z透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,9 L5 \' s/ U m
以驗證使用 Verilog 製作的設計;) h( p' K( j8 E' o
並且它是開放源碼的自由軟體, e- Q I4 D& o
每個人都可以免費取得並使用它。8 k5 G8 Z: L- O4 _! Y4 p1 G
; h: b! s+ \* i$ ?/ {, e& j* G
我計劃將我的使用心得記錄在 Blog 上,9 T8 w; j" X- U; B
歡迎討論指教。
v( I' C; W* O4 L5 s# |6 x' t0 {& [$ q
Yi-shin Li |
|