作者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