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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2805|回复: 5

[求助] 仿真出错为什么呢??

[复制链接]
发表于 2017-8-24 11:00:46 | 显示全部楼层 |阅读模式

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

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

x




  1.         always@(posedge clk or negedge rst_n) begin
  2. if(!rst_n) begin
  3. count_data <= 'd0;
  4. En_MSG <= 'd0;
  5. En_PTY <= 'd0;
  6. end
  7. else begin
  8. if(En_MSG) begin
  9. count_data <= count_data + 1;
  10. if(count_data==data_Frame) begin
  11. En_PTY <= 'd1;
  12. end
  13. end
  14. if(En_PTY) begin
  15. count_Pty <= count_Pty + 1;
  16. if(count_Pty==Pty_Num) begin
  17. En_MSG <= 'd1;
  18. end
  19. end
  20. end       
  21. end


复制代码


综合之后提示说:
Register count_Pty_reg has both Set and Reset with same priority. 然后仿真出错。
别处没有相关寄存器的赋值操作了,请问这是怎么回事呢?
哪位给解释一下,不胜感激!!!
发表于 2017-8-24 19:31:02 | 显示全部楼层
begin与end不匹配导致的吧

数了一下,你的count_Pty那个if语句已经在always外面了
发表于 2017-8-25 08:28:15 | 显示全部楼层
你的代码太乱了,不同的变量最好写在不同的进程里面。
 楼主| 发表于 2017-8-25 17:50:52 | 显示全部楼层
回复 2# 江山无限辉


    代码有点乱,begin end 是匹配的,不然工具会报错。我主要是想问的是Register count_Pty_reg has both Set and Reset with same priority. 通常是由于睡眠原因导致的??谢谢!
 楼主| 发表于 2017-8-25 17:52:43 | 显示全部楼层
回复 3# huster


    是的,最好一个信号只出现在一个always块中,是没想好代码怎么写
发表于 2017-8-27 17:20:02 | 显示全部楼层
可能的原因之一是你这个count_Pty_reg没有在!rst_n条件下做初始化赋值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 16:01 , Processed in 0.018571 second(s), 6 queries , Gzip On, Redis On.

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