我目前正在尝试使用 VHDL 设计一个交通灯控制器,我正在使用定制扩展板来显示交通灯的 Altera EPM240T100C5 上对其进行编程。由于板上最慢的时钟设置仍然比我想要的快,我需要编写一个时钟分频器,我这样做了:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
entity clockdivider is
port
(
clkin : in std_logic;
dividedclk : out std_logic
);
end clockdivider;
architecture divider of clockdivider is
signal J : std_logic;
signal K : std_logic;
begin
J <= '1';
K <= '1';
process(clkin)
variable tempdividedclk : std_logic;
begin
if (rising_edge(clkin)) then
tempdividedclk := (NOT(tempdividedclk) AND J) OR (tempdividedclk AND (NOT(K)));
end if;
dividedclk <= '0';
dividedclk <= tempdividedclk;
end process;
END divider;
这在板上运行良好,但在模拟器(ModelSim)中,“dividedclk”输出无法初始化任何东西。我想知道是否有人知道为什么?