请教Verilog一个错误处理方法
本人FPGA未入门级,最近在弄一个小东西时输入信号异常处理时遇到了问题,请教大佬们,这种情况一般怎么处理的,先谢了。输入信号正常的情况下没问题,但是输入信号异常时,我需要延时后把输出清零,一旦输入信号正常立即输出。大概的功能就像 下面图示,
Din1 Din2 是前面已经处理好的信号,Fin是Din1 Din2的更新标志,要实现的功能是
正常情况下Dou1 = Din1 Dou2 = Din2 Fou = 1
当前端没有输入信号时 开始计时,超过 设定时间Dou1 = 0, Dou2 = 0。Fou = 0。
我用计数器做,但是 计数器 溢出后会 重新从头 开始,周期性的 输出一个错误信号。大家有没有好的方法。。谢谢 搞定了,用case 转换一下状态。 恭喜楼主贺喜楼主? 一个触发器记录时间溢出标志,估计不是MCU转过来的 xuekcd 发表于 2023-4-18 13:52
恭喜楼主贺喜楼主?
(引用自3楼)
{:lol:} 大佬 见笑了。。 mcu5i51 发表于 2023-4-19 08:12
一个触发器记录时间溢出标志,估计不是MCU转过来的
(引用自4楼)
{:lol:} 被你猜对了,这个以前就是用单片机做的,现在才改的FPGA 。{:titter:} 单片机过来的不会用定时器,你的应用反映到硬件就是一个RS触发器 加个门限比较,
输入正常时timer清零,输入异常时timer开始计时,计至N时保持,停止累加,
倒是lz的用case转换没懂,简单的enable而已,是什么状态??? laciel666 发表于 2023-11-14 14:54
加个门限比较,
输入正常时timer清零,输入异常时timer开始计时,计至N时保持,停止累加,
(引用自8楼)
就像状态机一样,两个状态。 你说的方法应该也可以。 已经过去半年多了,用着也没什么问题。也没去折腾了。
页:
[1]