我在如何制作时钟分频器中找到了这段代码。我对如何使用计数器制作分隔线有一个大致的了解,但我不确定这段代码在做什么以及为什么这样做。
entity clkdiv is
Port ( mclk : in STD_LOGIC;
clr : in STD_LOGIC;
clk190 : out STD_LOGIC;
clk48 : out STD_LOGIC);
end clkdiv;
architecture clkdiv of clkdiv is
signal q: std_logic_vector(23 downto 0);
begin
--clock divider
process(mclk,clr)
begin
if clr ='1' then
q <= X"000000";
elsif mclk'event and mclk = '1' then
q <= q+1;
end if;
end process;
clk48 <= q(19);
clk190 <= q(17);
end clkdiv;
我知道这个例子是基于2板的,输入时钟是50MHz。此代码应该创建一个 48hz 时钟信号和 190hz 时钟信号。