VHDL-PWM的可变时钟延迟

时间:2019-04-25 13:50:53

标签: vhdl

我有一个PWM输入信号,我将其分为两部分:一个分支进入与门的输入,而另一个分支则需要延迟一个可变的4位数字(例如,“ 1001” = 9个时钟周期) ),然后转到创建我最终输出的“与”门的另一个输入。

但是,我不确定使用哪种方法或如何简洁地创建此延迟过程。

当前,我在启用输入PWM信号(几乎是门控D锁存器)之前,根据预设的整数值对时钟周期进行计数。

timebase : process(clk) --clock counter
if (clk'event and clk = '1') then
   counter_enable <= '0';
   if ( counter < counts-1) then --counts preset integer
      count <= counter + 1;
   else
      counter_enable <= '1';
      counter <= '0'
   end if;
end if;
end process timebase;
y <= counter_enable; --enable flag

aout_en : process(counter_enable) --enabling input
begin
   if (counter_enable'Event and counter_enable = '1') then
      hold_out <= a; --internal signal to hold values
   end if;
end process aout_en;

x <= hold_out and a; --final output

我想要的是该变量存储寄存器,以在延迟后通过PWM输入信号提供时钟;我应该根据输入的内容创建15个不同长度的不同移位寄存器吗?然后简单地通过时钟?

0 个答案:

没有答案