[爆卦]systemverilog語法是什麼?優點缺點精華區懶人包

為什麼這篇systemverilog語法鄉民發文收入到精華區:因為在systemverilog語法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Holysml (Ah)看板Electronics標題Re: [問題] 請問systemveri...


※ 引述《zxvc (眾生都是未來佛)》之銘言:
: ※ 引述《klorc (月餅)》之銘言:
: : 這東西推很久了
: : 不知道在用的人多不多
: 我有在用,不過我只是學生,我不清楚業界的狀況。
: : 優點多半在敘述驗證方面或是設計的時候code較精簡
: : 想請問的是在合成方面有改進嗎
: 目前我試過Design Compiler似乎是支援度最高的,
: 就連Synopsys VCS一些不支援的語法它都支援。
: 但Xilinx ISE目前還不支援SystemVerilog的synthesis,
: 不過我曾在他們網站上看到員工說ISE一定會支援。
: 若講simulator,我用過ModelSim似乎支援度最高。
: : 例如相同的功能使用新的語法 合成結果會不同
: : 還有就是很少文件在說明新語法能否合成和合成結果
: 其實tools的說明書都會寫哪些語法可合成。
: Design Compiler的SystemVerilog User Guide就有講哪些語法可合成。
: Precision RTL的說明書也有寫。
: 其實我也認同你前面說的,SystemVerilog所多的設計部分
: 主要在於code較精簡與彈性、更容易寫scalable IP。
: 至於SystemVerilog推不推的起來,不如從另一個角度來問它會不會被其它人打敗。
: 坦白來講我對SystemVerilog的"陣列"有點憂心,
: 它不像MATLAB的陣列這麼好用。
: 而我印像中MATLAB好像也有在搞合成的東西了。
: 又SystemVerilog的OOP與verification(如UVM),
: 真的打的敗發展那麼久的SystemC嗎?
: : 感謝

驗證其實就像軟體的Unit Test是一樣的觀念,在小系統用簡單的mcu+ASIC解決一些
客戶的需求,這樣scale的東西通常designer就是自己開發自己測試(RTL+asm+自己驗證)

但是現在的趨勢已經是ARM/MIPS CPU + IP化ASIC(ASIC scale大到一定的程度跟area)
然後House的SW RD要完整整合出BSP給客戶的時代,所以整個電路的規模已經不是可以
designer自己驗就可以保證faultness的可馬上接上MP(Mass Production)的狀況。

所以就跟軟體的驗證技巧一樣,電路的驗證也是求對Design 的Coverage能到一定
的程度,為了成本商業考量可能會不同版本接上不同等級的IP,要保證接的對又沒錯
就是目前重要的課題。

但是在系統廠/House工作的的軟體朋友都知道,SW就是萬能;
大至幫忙擦design Bug 的屁股,或是為了產品加值,為了讓系統廠的RD們開心
不會一邊coding一邊問候寫code的爸媽,所以在House內一定都會要對自己的BSP
跟IC的整合測過;但是以複雜的IP來說,現在都是會需要FW(韌體)介入控制的需求
所以在驗證電路時,某些程度上也會需要拿FW來跟電路一起模擬驗證整合的正確性。

但是simulation的痛苦在於時間的長短,要跑的詳細就花的久;但是TapeOut的
時間不會等你,所以為了效能取捨,不同的階段就會換上不同的語言來處理。

大型正規一點的電路會先從Architect開始做,這個階段建Model用SystemC是比較快的。
因為跟軟體一起co-sim的速度比較
FPGA >> SystemC(SC) > SystemVerilog(SV) > Verilog
所以在初期要切割軟硬體的介面跟各自的界圍,用SC是比較好用的。或者是當你的一些
IP都已經完整驗過,目標是要驗外面接的interface( Bus / 跟其他的IP連接 )
所以在速度上的考量就可以拿SC Model來加速驗證。

但是Model最後總是要轉實際電路,接後段,卡STA Layout etc.完整的Flow。
所以最後還是要驗證RTL出來的waveform是否正確,這個階段就會是用SV建環境、Model
跟Design一起跑驗證的階段,因為在卡timing phase(Cycle Accurate),SV是比較接近
Verilog 的用法,所以也比較能方便的一起驗證。

至於所謂用Tool幫助合成電路的想法,就跟軟體界一直希望把UML拉好就可以
把Code全部長好是一樣的有夢最美,但Tool永遠比不上人的準確;所以你我就可以
還可以當鄉民說的奴性重的工程師去賣命貢獻實力換取老闆施捨的薪水。

EDA的語言出現總會希望能取代前輩的完整功能(像前文提到的Synthesis),
但是就像Java出現沒有幹掉C/C++,有了駱駝還多了大蛇丸跟紅寶石;
在適合的場所用的好就是好語言;加上業界的變化多端,所以要所謂的全取代
是不太可能的。


至於SV的那堆Framework/語言的戰爭就又是另一段故事的開始了...
( VMM; OVM; UVM; / E; Vera; etc. )

現在賣IP也是要甚麼都要做給客人就是了(Model, SW, assertion ...)

所以SC不能取代RTL, SV跟SC也不是競爭的角色,一切都看你的老闆要用甚麼實做。


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.162.18
truesword:推,分析的不錯 11/27 09:39

你可能也想看看

搜尋相關網站