Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

ENGC40 - Eletroˆnica Digital
2a Lista - VHDL
Prof. Paulo Farias
6 de junho de 2012
1. A Figura 1 mostra a representac¸a˜o esquema´tica de um multiplexador,
junto com a sua tabela verdade. Escreva o co´digo VHDL para este cir-
cuito, considerando que o valor ”Z”significa alta impedaˆncia. Verifique o
resultado por simulac¸a˜o.
Figura 1: Multiplexador.
2. Construa um multiplexador gene´rico, conforme a Figura 2. Use o comando
generic para definir m e n.
Figura 2: Multiplexador gene´rico.
3. Esboce o co´digo VHDL para implementar um flip-flop JK, sens´ıvel a`
transic¸a˜o negativa do clock e com entradas ass´ıncronas preset e clear (ati-
vas em n´ıvel baixo).
1
4. Projete um conversor de co´digo bina´rio para co´digo Gray, com 4 bits.
Figura 3: Co´digo Bina´rio X Co´digo Gray.
5. Esboce o co´digo VHDL de um codificador com prioridade simples, que
funciona conforme o exemplo da figura 4. O circuito possui 7 n´ıveis de
prioridade, e a sa´ıda ”000”indica que na˜o ha´ entrada ativa. Para a mesma
entidade, projete duas arquiteturas:
(a) Usando WHEN/ELSE.
(b) Usando IF.
Figura 4: Codificador com prioridade simples.
6. O bit de paridade e´ um d´ıgito de teste que e´ adicionado a uma palavra
bina´ria para possibilitar a detecc¸a˜o de um erro na informac¸a˜o transmitida.
Diz-se que o co´digo gerado e´ do tipo paridade par, quando a quantidade
de bits com valor lo´gico 1 na palavra bina´ria, incluindo o bit de teste,
e´ par. Considerando que a informac¸a˜o a ser transmitida esta´ codificada
em palavras bina´rias de 4 bits, projete um circuito gerador de bits de
paridade.
7. Projete um contador que tenha a seguinte sequeˆncia: 0, 6, 7, 2, 5 e repete.
Os estados espu´rios devem ser direcionados para 7. Escreva duas verso˜es
2
para o co´digo VHDL: comportamental e estrutural. Verifique o resultado
por simulac¸a˜o.
8. Usando somente co´digo concorrente, projete um circuito que receba de
entrada dois nu´meros na˜o-negativos de 8 bits a e b e gere as sa´ıdas x = a∗b
e y = a/2.
9. A Figura 5 mostra o diagrama de um circuito barrel shifter simples. O
circuito deve deslocar o vetor de entrada, de 8 bits, 0 ou 1 posic¸a˜o a`
esquerda, de acordo com o valor da entrada de controle shift.
Portanto, se shift = 0, enta˜o outp = inp. Caso contra´rio, outp(0) = 0 e
outp(i) = inp(i − 1), para 1 ≤ i ≤ 7. Escreva o co´digo concorrente para
este circuito.
Figura 5: Barrel shifter.
10. Escreva o co´digo VHDL para um circuito conversor de co´digo BCD para
7-segmentos.
11. Projete um circuito gerador da Se´rie de Fibonacci (0, 1, 1, 2, 3, 5, 8, ...).
12. Projete um circuito para medir uma frequeˆncia desconhecida.
13. Escreva o co´digo VHDL de um circuito capaz de dividir a frequeˆncia do
clock de entrada por um inteiro n.
14. Projete um temporizador capaz de contar de 0min:00seg a 9min:59seg,
conforme a Figura 6. O circuito possui boto˜es de start, stop e reset, e as
sa´ıdas esta˜o ligadas a um display de 7-segmentos. Considere que um sinal
de clock de 1 Hz esta´ dispon´ıvel.
3
Figura 6: Temporizador.
15. Projete um circuito para contar a quantidade de bits com valor ’1’ em
uma palavra bina´ria, conforme a tabela na Figura 7.
Figura 7: Contador de ’1’s.
16. Projete um circuito que recebe como entrada o vetor de 7 bits din, e gera
o vetor de sa´ıda dout, cujos bits sa˜o todos iguais a ’0’, exceto o bit cujo
ı´ndice de posic¸a˜o corresponde ao nu´mero de ’1’s em din. A tabela na
Figura 8 mostra as situac¸o˜es poss´ıveis.
Figura 8: Contador de ’1’s - Versa˜o 2.
17. Usando a abordagem de ma´quina de estados finitos, escreva o co´digo
VHDL para um contador BCD (Ma´quina de Moore), conforme a Figura
9.
4
Figura 9: Contador BCD - Ma´quina de Moore.
18. A Figura 10 mostra a representac¸a˜o esquema´tica e o diagrama de estados
de uma ma´quina de estados finitos. O sistema tem 2 estados (stateA e
stateB), e deve mudar de um para o outro sempre que a entrada d = 1
e´ recebida. A sa´ıda e´ x = a quando o sistema esta´ em stateA ou x = b
quando o estado e´ stateB. O estado inicial e´ stateA. Escreva o co´digo
VHDL para este circuito.
Figura 10: Ma´quina de Mealy.
19. A Figura 11 mostra o diagrama de uma ma´quina de estados que detecta
o padra˜o ”111”em uma sequeˆncia de bits de entrada. O circuito gera a
sa´ıda q = 1 sempre que a entrada d receber uma sequeˆncia de 3 bits iguais
a ’1’. Escreva o co´digo VHDL para este circuito.
5
Figura 11: Detector de sequeˆncia.
20. Projete um circuito que, a partir do sinal de entrada clk, gere o sinal de
sa´ıda outp, conforme a Figura 12. Observe que o circuito funciona nas
duas transic¸o˜es do sinal clk.
Figura 12: Gerador de sinais.
21. Projete um circuito que examina serialmente caracteres ASCII na sua
entrada, produzindo ’1’ na sa´ıda sempre que ocorrer a sequeˆncia ”.mp3”.
22. Usando a abordagem de ma´quina de estados finitos, projete o circuito de
um alarme de carro. O circuito deve ter 4 entradas: remoto (comando do
controle remoto), sensores (comando vindo dos sensores para disparo do
alarme), clk e rst. A sua sa´ıda, denominada sirene, ativa o alarme.
O diagrama de transic¸a˜o de estados deve possuir 3 estados, desarmado,
armado e alarme. Se ocorrer remoto=’1’, o sistema deve mudar de de-
sarmado para armado, ou vice-versa, dependendo do seu estado atual.
Quando armado, deve mudar para alarme se ocorrer sensores=’1’, ati-
vando a sirene (sirene=’1’). Para desarma´-la e´ necessa´rio outro comando
remoto=’1’.
6

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?