Sistemas Digitais
Por: kamys17 • 17/12/2017 • 1.313 Palavras (6 Páginas) • 431 Visualizações
...
[pic 10]Com as entradas SET e RESET desativadas, valor lógico 1, o circuito opera normalmente de forma síncrona e a saída depende exclusivamente da entrada DADOS e do clock. Na borda de subida do clock o valor da saída Q assume o valor da entrada DADOS, nas demais posições do clock o valor de Q é mantido. O Q’ (ou que barrado) é somente a inversão de Q.[pic 11]
A figura 1 é uma representação do flip flop D sensível à borda de subida e com entradas adicionais para força determinado estado na saída.
SET
RESET
DADOS
CLOCK
Q
Q’
0
0
X
X
INDEFINIDO
0
0
X
X
INDEFINDO
0
1
X
X
1
0
0
1
X
X
1
0
1
0
X
X
0
1
1
0
X
X
0
1
1
1
0
↑
0
1
1
1
1
↑
1
0
Tabela 2: Tabela Verdade
[pic 12]Por meio da tabela verdade apresentada na tabela 2 se demostra as possibilidades implementadas no código VHDL.
[pic 13]
A figura 5 apresenta a descrição VHDL do circuito flip-flop D onde é possível perceber que valor de entrada DADOS é alocado na saída Q quando o pulso de clock transita de 0 para 1.
[pic 14]Diagrama de Tempo mostrando as oscilações entre os valores lógicos 0 e 1 conforme as definições implementadas na descrição VHDL. Também é possível perceber por meio deste diagrama os momentos em que os valores de SET e RESET estão ativos simultaneamente causando um erro lógico.[pic 15]
2.3 Circuito de Controle
O circuito controle contém uma máquina de estados do tipo Moore para controlar os três estados do projeto (SA, SB e SC). O estado SA disponibiliza os dados de entrada ao circuito combinacional. O estado SB efetua o processamento do circuito combinacional, ou seja, a execução da expressão booleana simplificada. O estado SC é responsável por armazenar os dados de saída no circuito sequencial.
Por meio da tabela verdade apresentada na tabela 1 se demostra as possibilidades implementadas no código VHDL.
entity FSM is
Port ( clock : IN STD_LOGIC;
reset : IN STD_LOGIC;
A : IN STD_LOGIC;
B : IN STD_LOGIC;
C : IN STD_LOGIC;
D : IN STD_LOGIC;
S : OUT STD_LOGIC
);
end FSM;
architecture Behavioral of FSM is
type tipos_estados is (SA, SB, SC);
signal estado_atual, prox_estado : tipos_estados;
signal sig_A : std_logic;
signal sig_B : std_logic;
signal sig_C : std_logic;
signal sig_D : std_logic;
signal sig_S : std_logic;
signal sig_T : std_logic;
begin
Sincronizar: process (clock)
begin
if (clock'event and clock = '1') then
if (reset = '1') then
estado_atual
--Porta de saida com o sinal resetado
S
else
estado_atual
--Porta de Saida recebe o sinal temporário com o resultado da expressão lógica
S
end if;
end if;
end process;
Decod_Saida: process (estado_atual)
begin
if estado_atual = SA then
--Entradas dos sistema--
...