lógica programável - ufscguntzel/ine5348/logp_aula4.pdf · r s qt+1 comentário tabela de...

61
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 4 Revisão de latches, flip-flops e registradores. Descrição de latches, flip-flops e registradores com VHDL. Síntese e simulação. Prof. José Luís Güntzel [email protected] www.inf.ufsc.br/~guntzel/ine5348/ine5348.html L L ó ó gica Program gica Program á á vel vel INE 5348 INE 5348

Upload: others

Post on 24-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

Universidade Federal de Santa CatarinaCentro Tecnológico

Departamento de Informática e EstatísticaCurso de Graduação em Ciências da Computação

Aula 4Revisão de latches, flip-flops e registradores. Descrição

de latches, flip-flops e registradores com VHDL. Síntese esimulação.

Prof. José Luís Gü[email protected]

www.inf.ufsc.br/~guntzel/ine5348/ine5348.html

LLóógica Programgica ProgramáávelvelINE 5348INE 5348

Page 2: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.2 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

A teoria sobre o funcionamento de latches, flip-flops eregistradores está detalhada nos capítulos 4 e 5 daapostila “Introdução aos Sistemas Digitais”, de JoséLuís Güntzel e Francisco Assis do Nascimento, a qualecontra-se disponível gratuitamente em formato PDF noendereço www.ufpel.edu.br/~guntzel/isd/isd.html

Observação Importante

Page 3: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.3 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

R

S

Q

Q

O Latch RSsímbolo circuito com portas nor

n2

n1R

S

Q

Q

proibido-11

estado reset001

estado set110

mantém estado anteriorQt00

comentárioQt+1SR

tabela de transiçãode estados

Page 4: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.4 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch RS: análise dinâmica (1)

Supondo que:1. em t=t0 se faça R=1 e S=02. e em t=t1 se faça R=0 e S=0

n2

n1R

S

Q

Q

R

S

Q

Q

nada mudanas saídas

após t1

t0 t1

td(n1) td(n2)

valor indeterminado(=desconhecido)

Page 5: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.5 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

R

S

Q

Q

nada mudanas saídas

após t1

t0 t1

td(n1)td(n2)

valor indeterminado(=desconhecido)

O Latch RS: análise dinâmica (2)

Supondo que:1. em t=t0 se faça R=0 e S=12. e em t=t1 se faça R=0 e S=0

n2

n1R

S

Q

Q

Page 6: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.6 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch RS: resumo do funcionamento

tabela de transiçãode estados

estado proibido0011

mantém o estado set (= mantém estado anterior)0100

vai para o estado set0110

mantém o estado reset (= mantém estado anterior)1000

vai para o estado reset1001

açãoQ’QSR

proibido-11

estado reset001

estado set110

mantém estado anteriorQt00

comentárioQt+1SR

Page 7: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.7 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

reset set

R=0 ∧ S=1

R=1 ∧ S=0

(R=0 ∧ S=0) ∨(R=0 ∧ S=1)

(R=0 ∧ S=0) ∨(R=1 ∧ S=0)

O Latch RS: resumo do funcionamento

Diagrama de estados

tabela de transiçãode estados

-11

001

110

Qt00

Qt+1SR

Page 8: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.8 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch RS:

-11

001

110

Qt00

Qt+1SR

tabela de transiçãode estados

Exemplo 4.2 da apostila

Q

R

S

Q

t1 t2

R

S

Q

Q

Page 9: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.9 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch RS Controladosímbolo circuito com portas nor e and

mantém estado anteriorQtXX0

1

1

1

1

C

proibido-11

estado reset001

estado set110

mantém estado anteriorQt00

comentárioQt+1SR

tabela de transiçãode estados

R

S

Q

C

Q

R1

S1

Q

Q

R

S

C

Page 10: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.10 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch RS Controlado: resumo do funcionamento

Diagrama de estados

tabela de transiçãode estados

reset set

C=1 ∧ R=0 ∧ S=1

C=1 ∧ R=1 ∧ S=0

C=0 ∨(C=1 ∧ R=0 ∧ S=0) ∨(C=1 ∧ R=0 ∧ S=1)

C=0 ∨(C=1 ∧ R=0 ∧ S=0) ∨(C=1 ∧ R=1 ∧ S=0)

QtXX0

1

1

1

1

C

-11

001

110

Qt00

Qt+1SR

Page 11: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.11 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

tabela de transiçãode estados

O Latch RS Controlado

QtXX0

1

1

1

1

C

-11

001

110

Qt00

Qt+1SR

Q

C

R

S

Q

t1 t2 t3 t4

R

S

Q

C

Q

Exemplo 4.3 da apostila

Page 12: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.12 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Latch D

símbolo circuito a partir do latch RS controlado

estado set111

estado reset001

mantém estado anteriorQtX0

comentárioQt+1DC

R

S

Q

C

Q

D

C

D Q

C Q

tabela de transiçãode estados

Page 13: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.13 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

tabela de transiçãode estados

O Latch D

111

001

QtX0

Qt+1DC

D Q

C Q

Q

C

D

Q

t1 t2 t3 t4

Exemplo 4.4 da apostila

Page 14: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.14 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Latch D

D Q

C Q

R

S

Q

C

Q

Latch RS

tabela de transiçãode estados

QtXX1

0

0

0

0

C

-11

001

110

Qt00

Qt+1SR

símbolo

110

000

QtX1

Qt+1DC

tabela de transiçãode estados

símbolo

Latches com ativação em lógica complementar

Page 15: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.15 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

D

C

QmQ

mestre escravo

D Q

C Q

D Q

C Q Q

tdE

C

D

Q

tdM = atraso do latchmestre

tdE = atraso do latchescravo

QmtdE

tdMtdM

O Flip-flop D mestre-escravo

circuito

análise dinâmica(exemplo de funcionamento)

Considerando umaimplementação comportas CMOS, necessita38 transistores:2 x 18 + 2 = 38

Page 16: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.16 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

D Q

C Q

D Q

C Q

D Q

C Q

D Q

C Q

dado

controle

Q3 Q2 Q1 Q0

controle

dado

Q3

Q2

Q1

Q0

O Flip-flop D mestre-escravo

111

001

QtX0

Qt+1DC

Exemplo 4.7 da apostila

Page 17: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.17 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

D Q

C Q

O Flip-flop D disparado pela borda ascendente(ou Flip-flop D sensível à borda ascendente)

símbolo circuito com portas nand

11↑

00↑

QtX≠↑

Qt+1DC

tabela de transição de estados

necessita 24 transistores

D

C

1

Q

Q

2

4

3

5

6

Page 18: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.18 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

O Flip-flop D disparado pela borda ascendente

D Q

C Q

Q

C

D

Q

11↑

00↑

QtX≠↑

Qt+1DC

tabela de transiçãode estados

Exemplo 4.8 da apostila

Page 19: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.19 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

J Q

C

QK

O Flip-flop JK (disparado pela borda ascendente)

símbolotabela de transição de estados

QtXX≠↑

C

Qt11

101

010

Qt00

Qt+1KJ

Page 20: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.20 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

J Q

C

QK

Q

C

J

Q

K

QtXX≠↑

C

Qt11

101

010

Qt00

Qt+1KJ

O Flip-flop JK (disparado pela borda ascendente)

tabela de transiçãode estados

Exemplo 4.9 da apostila

Page 21: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.21 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Flip-flops disparados pela borda descendente(ou Flip-flops sensíveis à borda descendente)

Flip-flop D

11↓

00↓

QtX≠↓

Qt+1DC

tabela de transiçãode estados

símbolo

D Q

C Q

J Q

C

QK

Flip-flop JK

tabela de transiçãode estados

QtXX≠↓

C

Qt11

101

010

Qt00

Qt+1KJ

símbolo

Page 22: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.22 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

D Q

C Qclear

limpa

dado

CK

Q

CK

Q

limpa

dado

Flip-flops com set e reset assíncronos

11↑

00↑

QtX≠↑

Qt+1DC

tabela de transiçãode estados

Exemplo 4.11 da apostila

Page 23: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.23 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

J Q

C

QK

ajusta

preset

CK

Q

CK

J

Q

K

ajusta

tabela de transiçãode estados

QtXX≠↓

C

Qt11

101

010

Qt00

Qt+1KJ

Exemplo 4.12 da apostila

Flip-flops com set e reset assíncronos

Page 24: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.24 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Tempo de Preparação - tsu (setup time)Tempo de Manutenção - th (hold time)Atraso de Propagação - td ou tp (propagation delay)

Latch D

Flip-flop Ddisparado pela

borda de descida

Q

CK

D

tsu

th

tdtd

Q

tsu

th

td

valor da entrada Dnão é amostrado

Page 25: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.25 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY latchD ISPORT ( D, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END latchD;ARCHITECTURE comportamento OF latchD ISBEGIN PROCESS (D, clk) BEGIN IF clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Latch D (ativado por nível lógico alto)

D Q

C Q

111

001

QtX0

Qt+1DC

clk

Page 26: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.26 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffD ISPORT ( D, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END ffD;

ARCHITECTURE comportamento OF ffD ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Flip-flop D (disparado pela borda ascendente)

D Q

C Q

Atributo: refere-se atroca de nível de clk

11↑

00↑

QtX≠↑

Qt+1DC

clk

Page 27: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.27 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffD ISPORT ( D, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END ffD;

ARCHITECTURE comportamento OF ffD ISBEGIN PROCESS BEGIN WAIT UNTIL clk’EVENT AND clk = ‘1’; Q <= D; END PROCESS;END comportamento;

Flip-flop D (disparado pela borda ascendente) - Versão 2

A lista de sensibilização éomitida

O Uso de WAIT UNTILespecifica implicitamente quesomente o relógio faz parte dalista de sensibilização

D Q

C Qclk

Page 28: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.28 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

• Para efeitos de síntese de circuitos, WAIT UNTIL somente podeser usado se ele for a primeira atribuição do processo

• Na verdade, ‘EVENT é redundante no comando WAIT UNTILe portanto poderíamos simplificar para

WAIT UNTIL clk=‘1’;

o que se refere ao sinal clk se tornar igual a “1”

• Entretanto, algumas ferramentas de síntese de circuitos a partirde VHDL exigem a inclusão do atributo “EVENT”

WAIT UNTIL

Page 29: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.29 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffD ISPORT ( D, Resetn, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END ffD;

ARCHITECTURE comportamento OF ffD ISBEGIN PROCESS (Resetn, clk) BEGIN IF Resetn = ‘0’ THEN Q <= ‘0’ ;

ELSIF clk’EVENT AND clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Flip-flop D (com reset assíncrono ativado com lógica negada)

D Q

C QClear

Resetn

Primeiro testa se o resetassíncrono está ativado (pois éum sinal de mais alta hierarquia)

clk

Page 30: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.30 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffD ISPORT ( D, clear, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END ffD;

ARCHITECTURE comportamento OF ffD ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN IF clear = ‘0’ THEN Q <= ‘0’ ; ELSIF Q <= D; END IF; END PROCESS;END comportamento;

Flip-flop D (com reset síncrono ativado com lógica negada)

A ativação do reset está condicionadaao sinal clk estar passando pela bordaascendente (ou seja, este sinal ésíncrono)

D Q

C Q

clear

D

clk

Page 31: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.31 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

D Q

C Q

D3

Q3

D Q

C Q

D0

Q0

D Q

C Q

D2

Q2

D Q

C Q

D1

Q1

0123

RegistradoresRegistradoresRegistrador com carga paralela (versão 1)

entradas individuais

saídas individuaissinal de carga(relógio)

Page 32: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.32 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Usando explicitamente flip-flops do tipo DRegistradores

clk

D Q

C Q

D3

Q3

D Q

C Q

D0

Q0

D Q

C Q

D2

Q2

D Q

C Q

D1

Q1

0123

Uma abordagem possível para se descrever um registrador de váriosbits é criar uma entidade que instancia flip-flops na quantidadedesejada. Vejamos…

Page 33: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.33 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffD ISPORT ( D, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END ffD;

ARCHITECTURE comportamento OF ffD ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Registradores (Usando explicitamente flip-flops do tipo D)

D Q

C Qclk

Page 34: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.34 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY reg4b ISPORT ( clk : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (3 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END reg4b;ARCHITECTURE estrutura OF reg4b IS

COMPONENT ffD PORT ( D, clk : IN STD_LOGIC; Q : OUT STD_LOGIC);END COMPONENT;

BEGIN ffD0: ffD PORT MAP (D(0), clk, Q(0)); ffD1: ffD PORT MAP (D(1), clk, Q(1)); ffD2: ffD PORT MAP (D(2), clk, Q(2)); ffD3: ffD PORT MAP (D(3), clk, Q(3));END estrutura;

Registrador de 4 bits (com flip-flops do tipo D)

clk

D Q

CQ

D3

Q3

D Q

CQ

D0

Q0

D Q

CQ

D2

Q2

D Q

CQ

D1

Q1

0123

Page 35: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.35 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY reg4b ISPORT ( clk : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (3 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END reg4b;

ARCHITECTURE comportamento OF reg4b ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Registrador de 4 bits (versão não hierárquica)

clk

D Q

CQ

D3

Q3

D Q

CQ

D0

Q0

D Q

CQ

D2

Q2

D Q

CQ

D1

Q1

0123

Page 36: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.36 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY reg4b ISPORT ( Resetn, clk : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (3 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END reg4b;

ARCHITECTURE comportamento OF reg4b ISBEGIN PROCESS (clk) BEGIN IF Resetn = ‘0’ THEN Q <= “0000”; ELSIF clk’EVENT AND clk = ‘1’ THEN Q <= D; END IF; END PROCESS;END comportamento;

Registrador de 4 bits (versão com reset assíncrono)

Page 37: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.37 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

D Q

C Q

D3

Q3

0

1D Q

C Q

D2

Q2

01

D Q

C Q

D1

Q1

01

D Q

C Q

D0

Q0

0

10123

carga

carga Reg

4

4

sinal de cargaseparado do relógio símbolo

Registrador com carga paralela (versão 2)

Page 38: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.38 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Q

0

1

CK

carga

limpa

D Q

C Qclear

dado

Q

CK

limpa

dado

carga

Registrador com carga paralela (versão 2)

Exemplo 5.1 da apostila

Page 39: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.39 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY reg4b ISPORT ( clk, carga : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (3 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));END reg4b;

ARCHITECTURE comportamento OF reg4b ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN IF carga=‘1’ THEN Q <= D; END IF; END IF; END PROCESS;END comportamento;

Registrador de 4 bits (versão não hierárquica com carga)

Q

0

1

clk

carga

D Q

C Q

D

Page 40: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.40 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY reg32b ISPORT ( clk, carga : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (31 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (31 DOWNTO 0));END reg32b;

ARCHITECTURE comportamento OF reg32b ISBEGIN PROCESS (clk) BEGIN IF clk’EVENT AND clk = ‘1’ THEN IF carga=‘1’ THEN Q <= D; END IF; END IF; END PROCESS;END comportamento;

Registrador de 32 bits (versão não hierárquica, c/ carga)

Page 41: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.41 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Generalizando para N bitsLIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY regn ISGENERIC (N : INTEGER := 16 );PORT ( Resetn, clk, carga : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR (N-1 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (N-1 DOWNTO 0));END regn;

ARCHITECTURE comportamento OF regn ISBEGIN PROCESS (clk, Resetn) BEGIN IF Resetn = ‘0’ THEN Q <= (OTHERS => ‘0’ ); ELSIF clk’EVENT AND clk = ‘1’ THEN IF carga=‘1’ THEN Q <= D; END IF; END IF; END PROCESS;END comportamento;

Page 42: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.42 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Experimento 1

Descrever em VHDL, sintetizar e simular para FPGAs Stratix oseguinte registrador:

Aproveitar a descrição VHDL da transparência anterior.Levantar as seguintes informações:• Número de LEs• Características temporais

Page 43: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.43 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

dado(entrada serial)

limpa

Q3

D

C Q3

clear

Q

Q2

D

C Q2

clear

Q

Q0

D

C Q0

clear

Q

Q1

D

C Q1

clear

Q

CK

limpa

dado

Q3

Q2

Q1

Q0

Registrador de deslocamento (à direita) Exemplo 5.2 da apostila

Page 44: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.44 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

limpa

dado

Q3

Q2

Q1

Q0

CK

dado(entradaserial)

limpa

Q3

D

C Q3

clear

Q

Q2

D

C Q2

clear

Q

Q0

D

C Q0

clear

Q

Q1

D

C Q1

clear

Q

Registrador de deslocamento (à esquerda)

Exemplo 5.3 da apostila

Page 45: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.45 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

clear

C1

D Q

Q

DCReset

C

00011011

D Q

Q

DCReset

C

00011011

D Q

Q

DCReset

C

00011011

D Q

Q

DCReset

C

000110113 2 1 0

entrada serialp/ desl. à dir.

entrada serialp/ desl. à esq.

I3 0

I1I2I

0Q

1Q

2QQ

3

C0

Registrador de deslocamento com carga paralela

carga paralela11↑01

0000

clear

zera conteúdoXXX

desloca à direita01↑

desloca à esquerda10↑

mantém conteúdo00↑

mantém conteúdoXX≠↑

operaçãoC0C1CK

Page 46: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.46 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Registrador-Deslocador

• Uma alternativa para se descrever um registrador-deslocador éutilizar a hierarquia

• Suponha que se deseje usar o circuito abaixo como componentebásico

0

1

clk

sel

D Q

C Q

D0

D1

Então, descrevendo-o em VHDL…

Page 47: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.47 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Registrador-Deslocador (componente básico)

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY muxffd ISPORT ( D0, D1, sel, clk: IN STD_LOGIC; Q : OUT STD_LOGIC );END muxffd;

ARCHITECTURE comportamento OF muxffd ISBEGIN PROCESS BEGIN WAIT UNTIL clk’EVENT AND clk = ‘1’ ; IF sel = ‘0’ THEN Q <= D0; ELSE Q <= D1; END IF; END PROCESS;END comportamento;

0

1

clk

sel

D Q

C Q

D0

D1

muxffd

Page 48: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.48 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Registrador-Deslocador (de 4 bits, hierárquico)LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY shift4 IS PORT ( R : IN STD_LOGIC_VECTOR(3 DOWNTO 0); carga, serial, clk : IN STD_LOGIC; Q : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) );END shift4;

ARCHITECTURE estrutura OF shift4 IS COMPONENT muxffd PORT ( D0, D1, sel, clk : IN STD_LOGIC; Q : OUT STD_LOGIC ); END COMPONENT;BEGIN estagio3: muxffd PORT MAP ( serial, R(3), carga, clk, Q(3) ); estagio2: muxffd PORT MAP ( Q(3), R(2), carga, clk, Q(2) ); estagio1: muxffd PORT MAP ( Q(2), R(1), carga, clk, Q(1) ); estagio0: muxffd PORT MAP ( Q(1), R(0), carga, clk, Q(0) );END estrutura;

0

1

clk

sel

D Q

C Q

D0

D1

muxffd

Por que“BUFFER”?

Page 49: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.49 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Modos Possíveis para os Sinais que sãoPortas de Entidade

Para sinal que é saída de entidade. O valor do sinal podeser usado dentro da entidade (i.e., o sinal pode aparecertanto à esquerda quanto à direita de uma atribuição)

BUFFER

Para sinal que é tanto entrada quanto saída de entidadeINOUT

Para sinal que é saída de entidade. O valor do sinal nãopode ser usado dentro da entidade (i.e., o sinal só podeaparecer à esquerda de uma atribuição)

OUT

Para sinal que é entrada de entidadeIN

UsoModo

Page 50: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.50 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Registrador-Deslocador (de 4 bits, nao hierárquico)

0

1

clk

sel

D Q

C Q

D0

D1

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY shift4 IS PORT ( R : IN STD_LOGIC_VECTOR(3 DOWNTO 0); carga, serial, clk : IN STD_LOGIC; Q : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) );END shift4;

ARCHITECTURE comportamento OF shift4 ISBEGIN PROCESS BEGIN WAIT UNTIL clk’EVENT AND clk = ‘1’ ; IF carga = ‘1’ THEN Q <= R; ELSE Q(0) <= Q(1); Q(1) <= Q(2); Q(2) <= Q(3); Q(3) <= serial; END IF; END PROCESS;END comportamento;

O que acontece se invertermosa ordem destas atribuições?

Page 51: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.51 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Registrador-Deslocador (com n bits, não hierárquico)LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY shiftn IS GENERIC ( N : INTEGER := 8 ); PORT ( R : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0); carga, serial, clk : IN STD_LOGIC; Q : BUFFER STD_LOGIC_VECTOR(N-1 DOWNTO 0) );END shiftn;

ARCHITECTURE comportamento OF shiftn ISBEGIN PROCESS BEGIN WAIT UNTIL clk’EVENT AND clk = ‘1’ ; IF carga = ‘1’ THEN Q <= R; ELSE Genbits: FOR i IN 0 TO N-2 LOOP Q(i) <= Q(i+1); END LOOP; Q(N-1) <= w; END IF; END PROCESS;END comportamento;

0

1

clk

sel

D Q

C Q

D0

D1

Page 52: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.52 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

FOR LOOP x FOR GENERATE

FOR LOOP: usado para gerar um conjunto de atribuiçõesseqüenciais (logo, usado dentro de processos)

FOR GENERATE: usado para gerar um conjunto de atribuiçõesconcorrentes (logo, usado dentro de bloco, mas fora deprocessos)

Page 53: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.53 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Experimento 2Descrever em VHDL, sintetizar e simular para FPGAs Stratix o umregistrador de deslocamento para a direita da transparência anterior.

Acrescentar um reset assíncrono ativado com lógica direta.

Levantar as seguintes informações:• Número de LEs• Características temporais

Page 54: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.54 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Q

CK

Q

limpa

D Q

C Qclear

limpa

CK

Registrador contador (1 bit)

Exemplo 5.4 da apostila

Page 55: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.55 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

CK

limpa

Q0

Q0

Q1

Q1

Q2

Registrador contador (3 bits)

limpa

CK

Q0

D

C Q

0

clear

Q

Q1

D

C Q

1

clear

Q

Q2

D

C Q

2

clear

Q

Exemplo 5.5 da apostila

Page 56: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.56 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Usando flip-flops D – versão 2

limpa

CK

Q0

D

C Q

0

clear

Q

Q1

D

C Q

1

clear

Q

Q2

D

C Q

2

clear

Q

Contador Assíncrono (ripple) de 3 bits

• Para descrever este tipo de contador em VHDL usandohierarquia, iremos instanciar o flip-flop D

• Porém, a descrição do flip-flop D em VHDL deve conter ambassaídas, Q e NQ

Page 57: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.57 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Flip-flop D (versão 2)

D Q

C Qclear

Com saídas Q e NQLIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY ffDv2 ISPORT ( D, clk, limpa : IN STD_LOGIC; Q, NQ : OUT STD_LOGIC);END ffDv2;ARCHITECTURE comportamento OF ffDv2 ISBEGIN PROCESS (clk, limpa) BEGIN IF limpa=‘1’ THEN Q <= ‘0’; NQ <= ‘1’; ELSIF clk’EVENT AND clk = ‘1’ THEN Q <= D; NQ <= not D; END IF; END PROCESS;END comportamento;

Page 58: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.58 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY cont3b ISPORT ( clk, limpa : IN STD_LOGIC; Aout : OUT STD_LOGIC_VECTOR (2 DOWNTO 0));END cont3b;ARCHITECTURE estrutura OF cont3b IS

SIGNAL NQ0, NQ1, NQ2 : STD_LOGIC;

COMPONENT ffDv2 PORT ( D, clk, limpa: IN STD_LOGIC; Q, NQ : OUT STD_LOGIC);END COMPONENT;

BEGIN ffD0: ffDv2 PORT MAP (NQ0, clk, limpa, Aout(0), NQ0); ffD1: ffDv2 PORT MAP (NQ1, NQ0, limpa, Aout(1), NQ1); ffD2: ffDv2 PORT MAP (NQ2, NQ1, limpa, Aout(2), NQ2);END estrutura;

limpa

CK

Q0

D

C Q0

clear

Q

Q1

D

C Q1

clear

Q

Q2

D

C Q2

clear

Q

(Usando o flip-flop versão 2)

Contador Assíncrono (ripple) de 3 bits

Page 59: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.59 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Contador Assíncrono (ripple) de 4 bitsLIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY contador ISPORT ( clk, limpa , carga : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR( 3 DOWNTO 0) );END contador ;ARCHITECTURE comportamento OF contador IS SIGNAL conta : STD_LOGIC_VECTOR (3 DOWNTO 0) ;BEGIN PROCESS (clk, limpa) BEGIN IF limpa = ‘0’ THEN conta <= “0000”; ELSIF ( clk’EVENT AND clk = ‘1’ ) THEN IF carga = ‘1’ THEN conta <= conta + 1; ELSE conta <= conta; END IF; END IF; END PROCESS; Q <= conta;END comportamento;

Não é necessário(apenas por clareza…)

Page 60: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.60 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

(Com carga paralela e usando sinais do tipo “integer”)Contador Assíncrono (ripple) de n bits

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY contnb ISPORT ( R : IN INTEGER RANGE 0 TO 15; clk, limpa , carga : IN STD_LOGIC; Q : BUFFER INTEGER RANGE 0 TO 15 );END contnb ;ARCHITECTURE comportamento OF contnb ISBEGIN PROCESS (clk, limpa) BEGIN IF limpa = ‘0’ THEN Q <= 0; ELSIF ( clk’EVENT AND clk = ‘1’ ) THEN IF carga = ‘1’ THEN Q <= R; ELSE Q <= Q + 1; END IF;

END IF; END PROCESS;END comportamento;

Page 61: Lógica Programável - UFSCguntzel/ine5348/LogP_aula4.pdf · R S Qt+1 comentário tabela de transição de estados R S Q C Q R1 S1 Q Q R S C. slide 4.10 Prof. José Luís Güntzel

slide 4.61 Prof. José Luís Güntzel

Latches, Flip-flops e Registradores

INE/CTC/UFSCLógica Programável - semestre 2007/2

Experimento 3

Descrever em VHDL, sintetizar e simular para FPGAs Stratix o umregistrador contador da transparência anterior.

Levantar as seguintes informações:• Número de LEs• Características temporais