我正在尝试为 VHDL 中的 D 触发器实现 1hz 时钟。
下面是我的代码:
entity d_flip_flop is
Port ( clk : in STD_LOGIC;
D : in STD_LOGIC;
Q : out STD_LOGIC);
end d_flip_flop;
architecture Behavioral of d_flip_flop is
signal clk_div: std_logic; --divided clock
begin
--process to divide clock
clk_divider: process(clk) --clk is the clock port
variable clk_count: std_logic_vector(25 downto 0) := (others => '0');
begin
if clk'event and clk = '1' then
clk_count <= clk_count+1;
clk_div <= clk_count(25);
end if;
end process;
--main process
main:process(clk_div)
begin
if clk'event and clk = '1' then
Q <= D;
end if;
end process;
end Behavioral;
但是当我尝试编译时,却报如下错误:
错误:HDLParsers:808 - "F:/EE4218/XQ/d_flip_flop.vhd" 第 47 行。+ 在这种情况下不能有这样的操作数。
我已经检查了几个参考的语法,并没有发现任何问题。谁能指出错误的原因?
提前致谢!