CHANG 发表于 2010-6-26 01:14:26

verilog语法错误,请大侠指点

本帖最后由 fpgaw 于 2010-7-18 09:55 编辑

reg memA ;
initial
begin
$readmemh ("irom.txt",memA);   
end
integer i;
initial
begin
    for(i=0;i<64;i=i+1)
    begin
      force A.B.C.D.memB=memA;
    end
   
end
memB也是 和 memA一样的REG。
但是编译出现错误:illegal use of a bit-select or part-select
不知道怎么写?我是给MEM初始化。

CCIE 发表于 2010-6-26 02:43:04

我学的是HDL语言

ngtim 发表于 2010-6-26 03:01:37

reg memA ;是存储器,不支持位选择

longtime 发表于 2010-6-26 03:38:59

好像是楼上说的那样!

usb 发表于 2010-6-26 05:25:59

initial<br>
试试:<br>
begin<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;for(i=0;i&lt;64;i=i+1)<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;begin<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;A.B.C.D.memB=memA;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;end<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
end<br>
<br>
注意一下B的定义:<br>
应该也是:<br>
reg memB ;

usd 发表于 2010-6-26 06:15:58

reg memA 这个写法是没问题的,这种写法也绝对支持位选择,这在testbench中是经常用到的。至于force的用法,呵呵,还没接触过,等着楼下讲解:)

CTT 发表于 2010-6-26 06:39:25

force语句不能综合吧。

CCIE 发表于 2010-6-26 08:07:19

直接<br>
force MemB = MemA;<br>
就可以了&nbsp;&nbsp;不能按位也不用安位赋值

interi 发表于 2010-6-26 09:59:28

学习中,zhang'jian'shi

ATA 发表于 2010-6-26 11:11:53

A.B.C.D.memB=memA;<br>
请问这是什么意思啊?
页: [1] 2
查看完整版本: verilog语法错误,请大侠指点