打印

怪事

[复制链接]
1553|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vfdff|  楼主 | 2007-6-4 01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
entity delay14 is
    port(
        d    : in std_logic;
        clk : in std_logic;
        q   : out std_logic
    );
end delay14;

architecture vr2 of delay14 is
    signal cn : std_logic_vector(10 downto 0) := (others=>'0');
    signal flag : std_logic;
begin
    p1:process(clk) -- process(clk,d)
    begin
        if (clk'event and clk='1')then
            if(d='1' and cn="00000000000" and flag='0') then
                flag <= '1'; -- 结束时,d='1'一直成立,故增加个标志
                cn <= "10000000000";
            elsif(cn>"00000000000")then
                cn <= cn-'1';
            else
                cn <="00000000000"; flag <= '0';
            end if;
        end if;
    end process p1;
    q <='0' when cn="00000000000" else '1'; 
    
end vr2;
这个程序怎么 不能实现连续 1024 个高电平后再变低电平??

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

48

帖子

1

粉丝