求思路
输入:clk,ina,输出:outb。要求:ina为脉冲信号,当ina脉宽大于五个时钟周期时,outb与ina相同,当等于5个时钟时outb输出为5个时钟周期的脉冲。 自己顶一下 仅供参考:1,可以考虑利用状态机思想编写代码,2,需要定义脉冲宽度计数器,一个存储脉冲宽度的6位移位寄存器,和标志寄存器(用于标志计数所计脉冲宽度是否等于五或大于五)3,在开始的状态用判断脉冲是上升沿还是下降沿,若是上升沿跳到计数1的状态,若是下降沿跳到计数0的状态,计数器进行计数4,当跳到1或0状态后,计数器进行计数脉冲个数,判断条件是if(ina==0&&count==“计数值”)或if(ina==1&&count==“计数值”),当计数等于五时,进行一个标记,利用标记来输出outb,如果在if语句的条件不成立,跳回初始状态,说明是脉冲小于5,不进行标记输出outb。5,单独用一个always块来写outb的输出
说了那么多我的思想就是,截取ina正确脉冲暂时存在移位寄存器里,然后再输出,仅供参考,希望没误导你 回复 3# 至芯兴洪
谢谢啊 ,我试试吧。
页:
[1]