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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5460|回复: 6

请看看为什么verilog仿真通过,综合通不过。

[复制链接]
发表于 2004-5-27 10:47:10 | 显示全部楼层 |阅读模式

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

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

x

always @(posedge clk)
begin
    if(!reset)
    begin
counter <= 0;
end
    else
counter <= counter + 1;
end

always @(posedge counter[18] or negedge txbusy)
begin
if(!reset)
begin
daout   <= 8'h00;
end
else if(!txbusy)
begin
wr      <= 0;
end
else
begin
    wr          <= 0;
    daout   <= daout + 1;
end
end

错误为:
@E: test.v(33): The logic for daout[7:0] does not match a standard flip-flop @E:"e:\xilinx\bin\mylearning\test1\uart\test.v":33:0:33:6
1 verilog Compiler error
发表于 2004-5-27 11:05:46 | 显示全部楼层

请看看为什么verilog仿真通过,综合通不过。

negedge txbusy 不能写到 always @(posedge counter[18] or negedge txbusy) 里面
看了你的设计,感觉到你的设计思想不对,需要加强,请多看一些好的设计。
发表于 2004-5-28 17:21:08 | 显示全部楼层

请看看为什么verilog仿真通过,综合通不过。

把你完整的程序贴出来吧
发表于 2004-5-28 18:13:44 | 显示全部楼层

请看看为什么verilog仿真通过,综合通不过。

posedge counter[18]的毛病,可以这样
wire cont_plus;
assign cont_plus=counter[18];
然后用posedge cont_plus代替posedge counter[18]就可以了。
counter[18]等价于counter[18:18],在综合器中它被看作是总线信号,没有沿。
发表于 2004-5-28 19:18:27 | 显示全部楼层

请看看为什么verilog仿真通过,综合通不过。

工具显示的是找不到这种FF,因为你是同步复位(reset),所以要把always里的negedge txbusy去掉就可以了。
另外时钟象羽翔那样处理一下。
发表于 2010-5-15 21:23:07 | 显示全部楼层
学习啊,,,
发表于 2010-5-16 14:48:39 | 显示全部楼层
好好看一下规范,不要用写软件的方式去写硬件,当初师傅这么教我的,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-19 06:51 , Processed in 0.044013 second(s), 12 queries , Gzip On, Redis On.

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