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