搜索
bottom↓
回复: 9

时序逻辑中,像下面这样写 没问题吧 ?

[复制链接]

出0入0汤圆

发表于 2014-11-5 07:38:36 | 显示全部楼层 |阅读模式
时序逻辑中,像下面这样写 没问题吧 ?只见过 有一个按键输入的 key1的情况 ,
加上key2 编译能通过,两个按键 都加上可以吧 ?
reg  flg;
always @(posedge ram_clk or negedge key1  or negedge key2 )
                if(!key1 )
                         flg <= 1'b1;
                else if(!key2 )
                         flg <= 1'b0;

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入54汤圆

发表于 2014-11-5 08:25:46 | 显示全部楼层
楼主,还少了个else,一般建议补全。

出0入0汤圆

发表于 2014-11-5 09:00:37 | 显示全部楼层
放到开发工具里试一下嘛。看综合出来的电路有没有问题。

出0入0汤圆

发表于 2014-11-5 09:21:34 | 显示全部楼层
这样的逻辑,只要key1或key2上有个小的毛刺都有可能误触发;综合成电路就是key1为寄存器的置位端,key2为清零端;如果key1和key2同时有效,key1优先级高。不知楼主想要的是不是这样的功能。

出0入0汤圆

发表于 2014-11-5 09:26:38 | 显示全部楼层
2楼说的有理,逻辑要完整好些。

出0入0汤圆

发表于 2014-11-5 10:16:44 | 显示全部楼层
对于外部的按键输入,最好搞成同步触发,同步释放,同时还要考虑1ms左右的防抖延时。

出0入0汤圆

发表于 2014-11-5 10:29:26 | 显示全部楼层
我感觉有问题

出0入90汤圆

发表于 2014-11-5 13:05:25 | 显示全部楼层
没问题,不过用三个沿来触发要小心,不一定都能综合。一个沿的是同步复位的触发器,两个沿的是异步复位的触发器,三个沿的是异步复位和置位的触发器。楼主的逻辑刚好符合这个条件。

出0入0汤圆

发表于 2014-11-5 16:23:42 | 显示全部楼层
不行
always@(posedge clk or negedge rst_n)
if(!rst_n)
    xxxx
  else if(key1)
xxxx
   else if(key2)
   xxxxx

出0入0汤圆

发表于 2014-11-9 13:43:07 | 显示全部楼层
7802848 发表于 2014-11-5 16:23
不行
always@(posedge clk or negedge rst_n)
if(!rst_n)

应该使用这种同步的写法
楼主的写法叫做“敏感边缘信号满天飞”
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表