1
我正在为我的逻辑设计实验室在VHDL中的Altera DE2电路板上实现4位约翰逊计数器。代码按照它的编写进行编译,但是当我将其编程到主板上时,什么也没有发生。我的实验室合作伙伴和我无法弄清楚,TA也没有任何人能够帮助VHDL知识比我更了解的人将不胜感激!继承人的代码...VHDL中的4位Johnson计数器
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity lab7 is
port (
LEDG : out bit_vector(3 downto 0);
SW: in bit_vector(3 downto 0)
);
end lab7;
architecture LogicFunc of lab7 is
signal Q0 : bit;
signal Q1 : bit;
signal Q2 : bit;
signal Q3 : bit;
signal K : bit;
component flipflop
port(D,Clock : in bit;
Q: out bit);
end component;
begin
K <= SW(3);
flipflop1: flipflop port map(Q3, K, Q0);
flipflop2: flipflop port map(Q0, K, Q1);
flipflop3: flipflop port map(Q1, K, Q2);
flipflop4: flipflop port map(Q2, K, Q3);
end;
-- D flipflop
entity flipflop is
port(D : in bit;
Clock : in bit;
Q : out bit);
end flipflop;
architecture behavior of flipflop is
begin
process(Clock)
begin
if Clock'event and Clock = '1' then
Q <= D;
end if;
end process;
end behavior;
--port map: D, Clock, Q
LEDG没有在驱动体系结构LogicFunc 7.是否SW(3)发生抖动?如果你检查你的综合报告,你会发现你的设计已被吃掉。添加一个并发赋值语句'LEDG <=(Q3,Q2,Q1,Q0);'你还需要在计数器中有一个'1',否则你只会移动'0'。 – user1155120
它模拟正确吗? –