打印

关于verilog的锁存器边沿触发和翻转的疑问

[复制链接]
3065|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
XLDZZ|  楼主 | 2011-3-9 11:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
小弟很菜 学习的数字电路知识基本多还给老师了
所以问的问题多很菜鸟级别
问题如附件照片
我用verilog写了个加法器 其中scl是时钟 point是加法器输出。每个scl加1
照我的理解 每当scl上升沿到达,point就会加1并翻转输出
但是仿真下来的结果却是下降沿翻转。

在数字电路中 有些锁存器是这样的 上升沿所存数据 下降沿翻转(主从结构的)
难道quartus的reg采用这种结构 这样也太浪费LE了吧

还是我的理解有错误

quartus仿真.JPG (63.46 KB )

quartus仿真.JPG

相关帖子

沙发
wanli315| | 2011-3-9 14:11 | 只看该作者
你再仔细看看波形,这个是下降沿触发吗??

使用特权

评论回复
板凳
sxhhhjicbb| | 2011-3-13 21:33 | 只看该作者
图中所示是上升沿转的....源于point[3:0] <= point[3:0] + 'b1;不能马上生效,reg有延时生效的特性。

使用特权

评论回复
地板
xiaoyuan_ly| | 2011-3-17 10:36 | 只看该作者
这说明point[3:0] + 'b1没有足够的计算时间(这个计算时间包括了布线上的延时等情况)。相应的做法应该是,在前一个scl周期应计算出point[3:0] + 'b1的值,然后在SCL的上沿打入,这样应该比较的符合物理硬件的执行情况。 你的那种是比较理想的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

182

帖子

0

粉丝