|
2007年底,我加入一間美商 start-up ,
2 C+ J. |- I* N. J1 y# J他們用 vera 來驗證他們的邏輯設計。, n# Z9 I4 C+ o: p- g# t8 B
我的任務是 video engine 的 design change,
" U' ^( v4 Y& t+ @" n由於沒有人和我交接(前一位負責的工程師在我加入前便離開了),4 r- O z8 [% u/ |
我只能祈禱我所做的修改不要把原來 OK 的功能改壞了,
# [- o2 Y2 P" @% E/ N這時前人留下的 vera pattern 發揮了驚人的把關能力,
' j! d' `, o0 p' L讓我以前錯誤的觀念 (design 重於 verification) 徹底改變。
6 j! b' W7 ^- t7 N& F5 s8 m
+ l8 ~% X/ V/ c/ ]! h2 Q L' R雖然不久之後我也離開了,. I! @0 [ H& L6 [1 x/ E
新東家用的是 cadence ncsim,
# _% E; S _9 v$ overification 的方法是用 verilog implement monitor, checker, bfm, ... etc.
6 R$ \( }7 B; k( K9 k) |但畢竟這和以前用過的 vera 不可同日而語,
" ?5 I3 l- c/ |; g/ ^! }於是興起了一個念頭:尋找可用於 cadence ncsim 的驗證環境) h. @- l9 E! T {( e: c, s5 |& i
* p- y$ @+ k3 Q* m6 @; o1 s
我找到了 TRUSS ,[size=100%]它定義了一套完整的邏輯驗證架構,8 w. }8 ?- }' S, d) g
透過 PLI/VPI ,它可以使用 C/C++ 建構驗證程序,
3 k) Y' }* M- d q' b以驗證使用 Verilog 製作的設計;2 Q' f" ^9 {- {
並且它是開放源碼的自由軟體,
9 N Z& ?- X$ J& d. a* [! v3 V每個人都可以免費取得並使用它。
; C" k; j5 n) y* U# t
* t- @$ O, b! O9 y: Y7 n% U我計劃將我的使用心得記錄在 Blog 上,
9 z' o. f$ ?7 i$ C歡迎討論指教。0 J* q S( _( r5 y! p
+ p3 B3 {( \: q' }/ w' hYi-shin Li |
|