本帖最后由 yuzhexian 于 2016-10-17 20:03 编辑
上面是周期信号/tg,下面是输入信号va,一个周期内,
输入信号有1到4个脉冲不等,怎样鉴相最后一个或者取出最后一个脉冲,求大神帮忙。
现在用d触发器鉴相,只能得到第一个脉冲的鉴相信号,求解决方法需要的信号是这样的:
已找到方法,编了一段程序
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;
可惜不够灵活,va信号只能要求4个,不能1-4任意几个,实用价值不高,
在此谢谢大家的回复关注,先结贴了,以后慢慢讨论。
1、好像没看到复位逻辑,
2、相等的比较,是=而不是==,确定吗?
3、信号不变化,说明没有对应的条件,或者有条件但执行错。
还是建议学校modelsim仿真,初学者必备,
所有信号、变量的值都显示,找问题就方便。
一周热门 更多>