小弟初学cpld请教大虾们一个关于获取信号上升沿和下降沿的问题
clk :in std_logic;cv_in :in std_logic;
signal cv_s :std_logic; --暂存
signal cvr:std_logic; --上升沿
signal cvp:std_logic; --下降沿
process(clk,cv_in)
begin
if(clk'event and clk='1')then
cv_s <= cv_in;
cvr <= ((cv_s xor cv_in) and cv_in); --cvr=1 代表cv_in 上升沿到来
cvp <= ((cv_s xor cv_in) and cv_s);--cvp=1 代表cv_in 下升沿到来
end if;
end process;
我想获取cv_in的上升沿和下降沿这段程序对吗? clk采到的信号序列中10是下降沿
01是上升沿 回复【楼主位】jssd龙
clk :in std_logic;
cv_in :in std_logic;
signal cv_s :std_logic; --暂存
signal cvr:std_logic; --上升沿
signal cvp:std_logic; --下降沿
process(clk,cv_in)
begin
if(clk'event and clk='1')then
cv_s <= cv_in;
cvr <= ((cv_s xor cv_in) and cv_in); --cvr=1 代表cv_in 上升沿到来
cvp <= ((cv_s xor cv_in) and cv_s);--cvp=1 代表cv_in 下升沿到来
end if;
end process;
我想获取cv_in的上升沿和下降沿这段......
-----------------------------------------------------------------------
可不可以仿真一下就知道了
页:
[1]