我不知道如何用结构化编程来做到这一点......
“由 4 个 D 触发器组成的 4 位二进制计数器(带有复位信号)。”
如何连接输入/输出?
这是实体声明。问题的核心在最后几行。
--FFD
entity FFD is
port( CLK, D, reset : in STD_LOGIC;
Q : out STD_LOGIC
);
end FFD;
architecture behaviour of FFD is
begin
process(CLK, reset)
begin
if reset='1' then Q<='0';
elsif (clk'event and clk='1') then Q<=D;
else null;
end if;
end process;
end behaviour;
----------------------------------------------------------
--counter
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity counter is
port(clk : in std_logic;
reset : in std_logic;
count : out std_logic_vector(3 downto 0));
end entity counter;
architecture rtl of counter is
--
component FFD
port (CLK, D, reset : in STD_LOGIC;
Q : out STD_LOGIC);
end component;
signal q0,q1,q2: std_logic:='0';
signal q3: std_logic:='1';
begin
--
---
inst1: FFD port map (CLK=>clk, D=>q3, reset=>reset, Q=>q0);
inst2: FFD port map (CLK=>clk, D=>q0, reset=>reset, Q=>q1);
inst3: FFD port map (CLK=>clk, D=>q1, reset=>reset, Q=>q2);
inst4: FFD port map (CLK=>clk, D=>q2, reset=>reset, Q=>q3);
inst5: count<=q3&q2&q1&q0;
end architecture rtl;
我的问题出在最后几行。