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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
楼主: melburg

[求助] 搞不懂为什么无法综合。。请教之,关于无法综合成FF的问题

[复制链接]
 楼主| 发表于 2011-9-7 17:18:27 | 显示全部楼层
回复 6# immonster


   按照你的改了,是可以综合的。。我觉得是不是不可综合的地方在于,temp=!rst | ! strat0. 也就是这个temp是一个沿触发和一个电平触发的位或,但触发的条件却是rst的下降沿。。这个综合器不能理解。。
回复 支持 反对

使用道具 举报

发表于 2011-9-7 18:30:15 | 显示全部楼层
回复 11# melburg
其实按照你的想法是可以综合成一个DFFSR就是带有复位和置位的寄存器的。
出问题的地方是你将rst与start0线或在一起,temp这根线既是跳变的边沿又是电平,综合器不知道这个线到底是reset还是set,所以就报出来找不到这样的器件。
按照你代码的理解是这样的有reset,counter_m就回零,start0为低的时候counter_m也是回零。按照我前面给你的代码,就能综合成DFFSR。

个人的理解是这样的,有不对的地方还请高手出来指点。
这位兄弟设计虽然简单但是也引出来不简单的问题。大家多讨论,都提高。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-7 22:53:24 | 显示全部楼层
回复 12# immonster


    嗯,多向大家学习。。谢谢指教!哈哈~
回复 支持 反对

使用道具 举报

发表于 2011-9-8 09:08:12 | 显示全部楼层
module counter_fiv(clk,rst,start0,counter_out);

input clk,rst;
input start0;
wire reset = !rst | !start0;
output [5:0] counter_out;
reg [5:0] counter_out;
always @ (posedge clk or posedge reset) begin
   if (reset)
        counter_out <= 6'd0;
   else if (start0 == 1'b1)
      counter_out <=counter_out +1'b1;
endmodule
按你的想法可以这样写,但是一般都会按照6楼的写法来写的。
回复 支持 反对

使用道具 举报

发表于 2011-9-10 21:21:13 | 显示全部楼层
RST往往都是最优先的啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-15 04:35 , Processed in 0.015801 second(s), 4 queries , Gzip On, Redis On.

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