作者zxvc (众生都是未来佛)
看板Electronics
标题Re: [问题] 请问systemverilog的优缺点和合成
时间Sat Nov 27 08:39:03 2010
※ 引述《Holysml (Ah)》之铭言:
: ※ 引述《zxvc (众生都是未来佛)》之铭言:
: : 我有在用,不过我只是学生,我不清楚业界的状况。
: : 目前我试过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也不是竞争的角色,一切都看你的老板要用甚麽实做。
其实不同语言、工具为了避免被淘汰都会扩展它们自己的深度与广度。
例如:Verilog为了要能作系统的快速验证而有了SystemVerilog。
MATLAB、SystemC为了要能合成,也都有在作合成的研究。
我不清楚未来究竟谁会成为主流。
但我是认识的一个同学,他们实验室有在研究ESL,
他们非常看好SystemC在ESL这块领域的发展,
甚至大胆的说觉得SystemVerilog不会成功。
另外说也奇怪,SystemC与SystemVerilog都是2005年推出标准的,
但不知为何好像SystemC的验证IP较常听到。
另外一个八卦是之前我看到Synopsys退出SystemC的发展的新闻,
但不知为何Synopsys今年把CoWare买下来了。
讲这些我只是想强调,这些语言、工具的战争似乎还没有结束。
--
信佛的人要知道:佛绝不会说谎。但请把握时光。
法灭尽经:
http://www.cbeta.org/result/normal/T12/0396_001.htm
共勉之。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.221.79
1F:推 kingofgar:最近参加Mentor graphic的workshop,根据他们的统计目前 11/27 09:22
2F:→ kingofgar:Verification的language目前是SV, C++, SystemC. others 11/27 09:23
3F:→ kingofgar:未来怎麽样还不清楚,之後有碰到Sales再问详细一点 11/27 09:24
4F:→ Holysml:ESL = Model, 本来就是SC的专长, 只是看你要不要拿来验证 11/27 14:18
5F:→ Holysml:有心验证,C/C++也可以拿来验证,看的scope不一样(BHV/Time) 11/27 14:19