作者sasako (模糊地讓我看不清)
看板Electronics
標題Re: [問題] Verilog multi dimension arrays
時間Tue Sep 28 01:35:00 2010
※ 引述《hardman1110 (笨小孩)》之銘言:
: 在一本verilog實務設計的書上有看到它支援多維陣列
: 請問這是可以合成的嗎?
: 我是否可以做以下宣告:
: reg [1:0]c[0:1];
: reg [1:0]a[0:1];
: reg [1:0]b[0:1];//都是寬度、大小為2的陣列
: 然後用for回圈assign
: c[i]<=a[i]+b[i];
: 我在工作站用system verilog compiler是可以過
: 但是用verdi看波形圖時,居然找不到a、b和c
: 可否請問各位先進小弟這個用法是否有誤,謝謝
最簡單的方法..
addr只有0跟1,就不要用陣列宣告囉!
嫌麻煩要改code
那就
wire [1:0]a0 = a[0];//for debug
wire [1:0]b0 = b[0];//for debug
wire [1:0]c0 = c[0];//for debug
反正到時候synthesis會幫你optimize...
這樣在Nwave上就可以拉a0,b0,c0訊號線出來..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.74.19
1F:推 zxvc:可惜這作法治標不治本。如果維度不止這樣,就要展開很多。 09/28 06:11
2F:→ zxvc:目前我見過最簡單dump MDA的方法是用VCS VCD+。ModelSim WLF 09/28 06:13
3F:→ zxvc:也不難,但用它來debug似乎不太方便(我找不到reload waveform 09/28 06:14
4F:→ zxvc:的功能)。 09/28 06:14
5F:→ zxvc:至於用FSDB dump MDA難易度!?改天有空再試。 09/28 06:15
6F:→ sasako:無所謂 維度太多 用c幫忙就可以了 重點是也不可能會很多... 09/30 03:05
7F:→ sasako:太多乾脆用memory就行了.. 09/30 03:06
8F:推 zxvc:用程式產生Verilog code有時也有缺點,要改陣列size,要重跑 09/30 06:36
9F:→ zxvc:改程式/產生code/複製/貼上這個流程。Verilog/SystemVerilog 09/30 06:37
10F:→ zxvc:只要把size參數化,改參數就行了。 09/30 06:38
11F:→ zxvc:況且想要寫高度參數化的設計,MEM/MDA不可或缺,也許你不常用 09/30 06:40
12F:→ zxvc:,但我就很常在用。我有個design就一堆2, 3D陣列。 09/30 06:41
13F:推 zxvc:另外MEM/MDA不是只能用來寫memory,它還可以用來表示module 09/30 06:44
14F:→ zxvc:所形成訊號的陣列。例如有個module,用loop generate產生 09/30 06:46
15F:→ zxvc:產生module arrary,它的訊號用(MEM/MDA)arrarys表示就很適合 09/30 06:47
16F:→ zxvc:。又如systolic design,這具有規律的硬體結構,也適合用 09/30 06:49
17F:→ zxvc:陣列去表示。 09/30 06:50
18F:推 zxvc:還有一點,用程式產生陣列展開的方法,整個HDL design的code 09/30 06:58
19F:→ zxvc:會較多,較難維護。 09/30 06:59
20F:→ zxvc:用Verilog/SystemVerilog本身支援的array去寫,code可以寫得 09/30 07:00
21F:→ zxvc:很精簡,容易維護、要改容易改。 09/30 07:01
22F:→ sasako:c也可以define 可以參數化 對我個人而言 很習慣這樣寫.. 09/30 22:24
23F:→ sasako:在配合UltraEdit的編輯 很容易達成 ... 因為用你的方法 09/30 22:26
24F:→ sasako:我還要去參考一些文件 且要擔心dump出來的東西太大 09/30 22:27
25F:→ sasako:反正為了debug 讀進 寫出有沒有錯誤 覺得不需要太複雜 09/30 22:28
26F:→ sasako:複製貼上 應該不用5秒鐘..重點只在於我想直接快速拉訊號線 09/30 22:30
27F:→ sasako:作debug而已.. 09/30 22:30
28F:→ sasako:假如我今天要把他做成IP來使用 才會去把所東西參數化 09/30 22:31
29F:→ sasako:且公司會有很多design rule需要遵循 SystemVerilog就是不行 09/30 22:41
30F:→ sasako:作為design的使用的語言 不過可以運用在驗證model pattern 09/30 22:42
31F:→ sasako:或許你以後適合驗證 畢竟這種人比designer還少.. 09/30 22:45
32F:→ sasako:SystemVerilog的確是可以像C一樣 精簡code 但是公司很多 09/30 22:48
33F:→ sasako:tool不吃他的語法 這樣作最後只是自己搞自己而已 09/30 22:49
34F:→ sasako:作為designer要非常小心 寫你有把握的寫法 要確定他可以相 09/30 22:50
35F:→ sasako:容於每套tool 不要讓後面的人難做... 09/30 22:51