怎样检测最后一个脉冲

2020-02-03 10:33发布

本帖最后由 yuzhexian 于 2016-10-17 20:03 编辑

QQ截图20161015071050.png

上面是周期信号/tg,下面是输入信号va,一个周期内,
输入信号有1到4个脉冲不等,怎样鉴相最后一个或者取出最后一个脉冲,求大神帮忙。 QQ截图20161015081621.png QQ截图20161015080837.png

现在用d触发器鉴相,只能得到第一个脉冲的鉴相信号,求解决方法需要的信号是这样的:

QQ截图20161015090217.png

已找到方法,编了一段程序
library IEEE;
use IEEE.std_logic_1164.all;
entity va4 is
  port (     
        va: IN std_logic;
        tg: IN std_logic;
        q: OUT std_logic
        );
end va4;
Architecture COUNT_3 of va4 is
signal q1: std_logic;
Begin
process(tg,va)
VARIABLE C: INTEGER RANGE 0 TO 4;
  begin
  if(tg='0') then
        q1<='1';
  elsif(va'event and va='1') then
       C:=C+1;
      if(C=4) then q1<='0'; C:=0;
     ELSE q1<='1';
    end if;
  end if;
end process;
q<=q1;
END COUNT_3;

QQ截图20161017195358.png
可惜不够灵活,va信号只能要求4个,不能1-4任意几个,实用价值不高,
在此谢谢大家的回复关注,先结贴了,以后慢慢讨论。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。