在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2747|回复: 2

[求助] verilog 中怎样对一个reg变量边写边读

[复制链接]
发表于 2013-11-5 09:48:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 nb533 于 2013-11-5 09:50 编辑

a_d_csout,writein,fpgadata输入信号,data[]是一组255个寄存器变量,在writein作用下,将输入口信号fpga状态写入data中,写完255个就结束了,然后在a_d_csout信号作用下读data寄存器,并将其输出到输出口dspdata中,但是老是出错,假如把第二个always中的data换成常量,就没有问题,请高手指点一下到底应该怎么操作。

ERROR:MapLib:93 - Illegal LOC on IPAD symbol "a_d_csout" or BUFGP symbol
ERROR:MapLib:93 - Illegal LOC on IPAD symbol "writein" or BUFGP symbol


always@(negedge writein)
begin
if(!a_d_csin && stopflag==0)
begin
data[cnt]<=fpgadata;
cnt<=cnt+1;
if(cnt==255) stopflag<=1;
end
else
cnt<=0;
end
always@(negedge a_d_csout)
begin
if(stopflag==1)
begin
dspdata<=data[cnt_dsp];//8'b00000000;//
cnt_dsp<=cnt_dsp+1;
if(cnt_dsp==255) cnt_dsp<=0;
end
end
发表于 2013-11-5 10:44:54 | 显示全部楼层
我觉得和data的类型无关呀。 你的错误指示你的约束文件有问题。

另外,你说“data换成常量”,是不是说 wire data[255];你是这个意思吗?
发表于 2013-11-5 10:53:38 | 显示全部楼层
本帖最后由 504472832 于 2013-11-5 10:58 编辑

回复 1# nb533


    用的是xilinx的FPGA吧,难道你要把writein和a_d_csout作为时钟信号,这样writein和a_d_csout信号的管脚需要分配到时钟管脚

你把dsp_data赋值为0,ISE会自动优化里面大部分的逻辑,包括data[0:255]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-20 07:46 , Processed in 0.023434 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表