深圳市航顺芯片技术研发有限公司
直播中

李丽

7年用户 1444经验值
私信 关注
[问答]

怎样去设计一个使用时序逻辑对单bit信号进行毛刺滤除操作的电路

什么是边沿检测计数法?

怎样去设计一个使用时序逻辑对单bit信号进行毛刺滤除操作的电路?怎样用verilog写出其代码?

回帖(1)

肖风迎

2021-8-19 10:01:44
题目描述:设计一个电路,使用时序逻辑对一个单bit信号进行毛刺滤除操作。高电平或者低电平宽度小于4个时钟周期的为毛刺。用verilog写出代码
一、 解题思路:
:计数器法
分别定义一个高电平计数器和低电平计数器,高电平计数器在输入为高的时候计数,计数到3或者检测到低电平清零;
低电平计数器在输入为低的时候计数,计数到3或者检测到高电平清零。
当计数器计数到3且输入为对应电平(高电平计数器计数到3且输入电平为高、低电平计数器计数到3且输入电平为低),则表示不是毛刺,可以输出。
边沿检测计数法
只要有电平就会有边沿,因此进行边沿检测然后计数,检测到边沿后开始计数,如果在下个边沿到来之前计数器可以计数到3,表明不是毛刺,可以输出;否则是毛刺。
二、代码
way1:计数器法


way2:边沿检测法


testbench文件:



modelsim启动脚本:

仿真波形:
举报

更多回帖

发帖
×
20
完善资料,
赚取积分