作者zxvc (修行)
看板Electronics
标题[讨论] SystemVerilog Synthesis
时间Wed Aug 19 07:52:43 2009
最近CIC releases Synopsys的tool文件,
这些文件有够新的,有2009年06月的文件。
今天无意间在翻Design Compiler的文件时,
突然发现SystemVerilog User Guide 2009.06,
上面还说Design Compiler可以合成它 T.T
说实在我真觉得Verilog 2005快不够我用了,
想要写出更一般化的module,Verilog 2005已有点捉襟见肘了
(例如Verilog 2005不支援取得一vector的大小,VHDL支援、SystemVerilog也支援)。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.73.148
1F:→ zxvc:我不太喜欢copy & paste的coding style,易错。比如说写了一 08/19 08:02
2F:→ zxvc:段code,然後复制十次。後来发现这段code有错,就十分copy都 08/19 08:03
3F:→ zxvc:要改,少改一个就是错。 08/19 08:03
4F:→ zxvc:用一般化module的写法,出错了通常只要改一个地方,就全部都 08/19 08:05
5F:→ zxvc:对。 08/19 08:05
6F:→ colinshih:与其在这写些有的没的, 不如思考如何改进你的程度 08/19 13:24
7F:→ zxvc:楼上,那你觉得我哪里需要改进的? 08/19 17:04
8F:→ zxvc:或许有人觉得我与其抱怨Verilog 2005,不如思考是不是自己不 08/19 17:19
9F:→ zxvc:会写。但我就是不会写一个function可以传入一个vector,跟一 08/19 17:21
10F:→ zxvc:个数字指定这个vector要sign extension几个bits。 08/19 17:22
11F:→ zxvc:这function如果不知道这个传入的vector的length,就很难把它 08/19 17:24
12F:→ zxvc:MSB作sign extension。 08/19 17:24
13F:→ zxvc:如果有这麽方便的function的话,code就更容易一般化了。 08/19 17:30
14F:→ zxvc:我最近所遇到的问题就是手上有个Verilog design,约可分为8级 08/19 17:31
15F:→ zxvc:每级做得事都大同小异。只不过因为每级定点数量化不规则, 08/19 17:33
16F:→ zxvc:就导致一分code就得复制8次,个别量化。一级就够复杂了,复制 08/19 17:37
17F:→ zxvc:8次,就让人看得眼花撩乱,code reuse比率很低。 08/19 17:38
18F:→ zxvc:那个sign extension不能写成一般化的问题,就是我不能轻易 08/19 17:40
19F:→ zxvc:code reuse的原因之一。 08/19 17:40
20F:→ zxvc:又如,有C了为什麽还要C++?有用过template就知道它的好处了 08/19 17:42
21F:→ zxvc:同一套演算法,C要为每个type写一分copy,C++只要写一分就够 08/19 17:44
22F:→ zxvc:有bug,C还要维护好几分copy,C++只要改一分就够了。 08/19 17:46
23F:→ zxvc:後来想想,我要的那个function也不是用Verilog 2005写不出来 08/19 21:48
24F:→ zxvc:刚才查了一下Verilog 2005,function是可以被parameterized。 08/19 21:49
25F:→ zxvc:所以说可以利用parameter告诉function某个vector的length。 08/19 21:50
26F:→ zxvc:其实要说一套语言不足够一般化某code,那就代表我们觉得某 08/19 21:52
27F:→ zxvc:code有规律的部分,但却无语法把它萃取出来。 08/19 21:54
28F:→ zxvc:例如我上面举的C与C++的例子,C++的template有C没有的能力, 08/19 21:55
29F:→ zxvc:把演算法独立於资料型别(data type)。 08/19 21:56
30F:→ zxvc:说实在的我SystemVerilog懂得也不多,只知道一些Verilog所不 08/19 21:57
31F:→ zxvc:支援的语法,但却没经验、不知道这些语法所带来的利益是否是 08/19 21:59
32F:→ zxvc:Verilog所没有的。 08/19 22:00
33F:→ zxvc:我上面举的SystemVerilog可以取得vector的length,似乎不是 08/19 22:00
34F:→ zxvc:SystemVerilog一项优势,因为用Verilog也可以解决我的问题。 08/19 22:02
35F:→ zxvc:另外说一个八卦,前一阵子我有在玩newsgroup的时候,我有去 08/19 22:04
36F:→ zxvc:逛Verilog的newsgroup,发现在那里老外都在讨论SystemVerilog 08/19 22:06
37F:→ zxvc:,反而讨论Verilog的文章不多。 08/19 22:07
38F:→ zxvc:我个人是很想学学,但手边太多manuals(SoC Encounter、Design 08/19 22:10
39F:→ zxvc:Compiler、IC Compiler、SystemC、...),实在没什麽空。 08/19 22:13