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