wowangru 发表于 2018-11-26 20:31:06

fpga数组 m[a], a可否用变量?能否综合?

fpga数组 m,a可否用变量?能否综合?
可否写成
reg mem;
reg a;

mem<=4'd3;

wye11083 发表于 2018-11-26 20:46:06

这样写可以,会按情况被综合成ram或dff。

wowangru 发表于 2018-11-26 20:49:55

wye11083 发表于 2018-11-26 20:46
这样写可以,会按情况被综合成ram或dff。

我不管他综合成什么,   ram也有寄存器组成的, 不全是专用内存,   也就是可以了

aammoo 发表于 2018-11-27 00:27:06

你这里的a不就是地址嘛

jarodzz 发表于 2018-11-27 00:41:59

wowangru 发表于 2018-11-26 20:49
我不管他综合成什么,   ram也有寄存器组成的, 不全是专用内存,   也就是可以了 ...

你的想法錯了,FPGA 是implement數位電路,要腦中先有電路架構才下去coding。
所以對你要知道要怎麼寫讓synthesizer可以達到你要的結果或是到這樣寫synthesizer會有怎樣的output netlist。

Eworm001 发表于 2018-11-27 00:47:34

modelsim会报错,改成了后面这样reg mem; reg a; //mem <= 4'd3; always @(posedge clk) case(a) 4'd0: mem <= 4'd0; 4'd0: mem <= 4'd1; 4'd0: mem <= 4'd2; 4'd0: mem <= 4'd3; 4'd0: mem <= 4'd4; 4'd0: mem <= 4'd5; 4'd0: mem <= 4'd6; 4'd0: mem <= 4'd7; endcase

ziruo2002ab 发表于 2018-11-27 01:25:50

看来没那么智能,还得手动寻址

bj232 发表于 2018-11-27 01:53:21

FPGA 是硬件描述,所以不支持动态修改长度,不过你可以定义一个大的,-只用其中一个部分

yangff 发表于 2018-11-27 07:02:21

当然可以,另外你a太长了

wowangru 发表于 2018-11-27 09:20:20

bj232 发表于 2018-11-27 01:53
FPGA 是硬件描述,所以不支持动态修改长度,不过你可以定义一个大的,-只用其中一个部分 ...

有的说可以有的说不可以!我需要可以综合的   我看verilog1995 和verilog2001 差异很大 ,,,,

wowangru 发表于 2018-11-27 16:25:34

综合器是否能综合为ram呢?这也是寻址
页: [1]
查看完整版本: fpga数组 m[a], a可否用变量?能否综合?