在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2134|回复: 1

我现在已经实现了一个计时单元,但是我想把输入信号延时“计时单元所计的时间”

[复制链接]
发表于 2004-7-21 09:46:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
该怎么办呢??
我的计时单元程序为:
--The IEEE standard 1164 package, declares std_logic, rising_edge(), etc.
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity delay300 is
generic(size : integer := 13);
    port (
        clk: in STD_LOGIC;
        reset : buffer STD_LOGIC;
        set : in STD_LOGIC;
        enable : in STD_LOGIC;
        q: buffer STD_LOGIC_VECTOR((size - 1) DOWNTO 0);
        delay300: out STD_LOGIC
        
        );
end delay300;
architecture delay300_arch of delay300 is

begin
counter : process(clk,reset)
begin

if (reset = '1') then
q <= (others => '0');
elsif (clk'event and clk = '1') then
if (set = '1') then
q <= "0000000000000";
elsif (enable = '1') then
q <= q +'1';
else
q <= q;

end if;
end if;
end process counter;
delay300 <= '1' when q >= "1011101110000"  else '0';
end architecture delay300_arch;
发表于 2004-7-21 10:34:24 | 显示全部楼层

我现在已经实现了一个计时单元,但是我想把输入信号延时“计时单元所计的时间”

可以检测上升沿开始计数,计到你的delay值后开始输出,再检测下降沿,测到后把计数值往下减,减为0时停止输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-4-20 10:32 , Processed in 0.020940 second(s), 11 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表