检测波形是否将频率VHDL计数器加倍

问题描述

下面的波形控制一个递增/递减计数器。
Counter Waveform


计数器的运行方式如下:
  1. CEA达到正常速度时加计数
  2. 当CEA的速度达到2倍时,向下计数的速度快两倍
  3. 计数器达到0时输出逻辑1
  4. 重复

TCU1是计数器的输出
Countera显示其操作。
CEA是行车时钟。

我设法正确地编写了计数逻辑,但是我想不出一种方法来检测CEA的运行速度是否快一倍。我已经知道,如果将倒计时机制与CEA的速度联系起来,它将自动倒数两倍。但是,我的问题是检测何时应该进行向上/向下。这样做最简单的方法是什么?

process (CLK)
        
        variable count : integer := 0;
        begin
        if(rising_edge(CLK)) then
                if(countUp='1') then
                    count := count+1;
                    TCU1 <= '0';
                else if (countUp='0') then
                    if(count=0) then
                        TCU1 <= '1';
                    else if(count>0) then
                        count := count-1;
                    end if;
                end if;
            end if;
        end if;
    end if;
    end process;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)