Você está na página 1de 8

SISTEMAS EMBARCADOS E VHDL (SEVHDL)

LISTA 1

Para os exercícios 1 a 2 extraia as funções lógicas e implemente as mesmas


utilizando portas lógicas.

1. O caixa forte de um banco funciona com um sistema de chaves. Três pessoas


têm as chaves: o gerente, seu auxiliar e o tesoureiro. A porta abre com, pelo
menos, duas das três chaves, sendo que uma delas tem que ser a do tesoureiro

2. Um laboratorista químico possui 4 produtos químicos A, B, C e D, que devem


ser guardados em um depósito. Por conveniência, é necessário mover um ou
mais produtos de um depósito para outro de tempos em tempos. A natureza dos
produtos é tal, que é perigoso guardar B e C juntos, a não ser que A esteja no
mesmo depósito. Também é perigoso guardar C e D juntos se B não estiver no
depósito. Escreva uma expressão lógica S, de tal forma que, S=1 sempre que
existir uma combinação perigosa no depósito.

3. Diga duas características de VHDL, não existentes nas linguagens de


programação, que a capacita para descrever hardware. Descreva e exemplifique
estas características

4. Considere o projeto de um circuito digital que implementa a função f com três


variáveis de entrada (x, y, z) e satisfazendo as seguintes propriedades:
1, 𝑥 = 𝑦
𝑓(𝑥, 𝑦, 𝑧) = {
0, 𝑥 ≠ 𝑦
Qual das expressões abaixo representa corretamente a função f?
[ ] 𝑥 + 𝑦̅. 𝑧
[ ] ̅̅̅̅̅̅̅
𝑥. 𝑦. 𝑧 + 𝑥. 𝑦̅. 𝑧
[ ] 𝑥̅ . 𝑦 + 𝑥. 𝑦̅
[ ] 𝑥. 𝑦 + 𝑦̅. 𝑧 + 𝑧̅
[ ] 𝑥̅ . 𝑦̅ + 𝑥. 𝑦

5. Dado o decodificador binário 2x4 e as portas lógicas da figura - ambos


ilustrados abaixo, obtenha as funções f1, f2 e f3 em função das entradas a e b.
6. Qual/quais das linhas abaixo é/são incorreta/s?
– variable A, B, C, D : std_logic_vector (3 downto 0);
– variable E,F,G : std_logic_vector (1 downto 0);
– variable H,I,J,K : std_logic;
– signal byte : std_logic_vector (0 to 7);
– signal z_bus: std_logic_vector (3 downto 0);
– signal c_bus: std_logic_vector (0 to 3);

[ ] A := B xor C and D;
[ ] H := I and J or K;
[ ] A := B and E;
[ ] H := I or F;
[ ] byte <= (others => ‘1’);
[ ] z_bus <= c_bus;

7. O código VHDL abaixo contém exatamente 8 falhas, que você deve identificar,
deixando claro qual o erro. Os erros são de diversas naturezas, sintaxe, contexto,
semântica.
8. Faça a codificação do display de elevador ilustrado abaixo

Este tem como entrada um vetor de 2 bits que recebe a seguinte codificação

9. Uma fábrica produz porcas e parafusos. O presidente da fábrica necessita de


um sistema automático para separar as peças em lotes. Sempre que na esteira
houver somente porcas, as mesmas devem ser enviadas para um caixa A. Se
na esteira houver somente parafusos, os mesmos devem ser enviados para uma
caixa B. Caso existam na esteira porcas e parafusos, os mesmos devem ser
enviados para uma outra caixa C. Projete este sistema utilizando um circuito
adequado (codificador, decodificador, multiplexador ou demultiplexador)

10. A figura abaixo mostra as formas de ondas um mux 4x1 (E: entrada, C:
controle, s: saída). Desenhe as formas de onda de s.

11. A figura abaixo mostra as formas de ondas um demux 1x4 (E: entrada,
C:controle, S: saídas). Desenhe as formas de onda de s.

12. Implemente um multiplexador 4x1, utilizando apenas multiplexadores 2x1


13. Dados o esquemático, obtenha a descrição VHDL compatíveis

14. Dado o VHDL parcial obtenha o equivalente em esquemático, associando a


cada nodo a função booleana equivalente
C(0) <= A(0) nand A(1) or (not b);
C(1) <= A(0) or A(1) or A(2);
C(2) <= (C(1) xor C(1)) and b;
s <= (A(2) nor not(A(1))) xor b;
D <= C;

15. Dado o código VHDL

Diga qual circuito é implementado e faça sua representação simbólica.


16. Dado o código VHDL

Considerando A=101 e B=111, diga se A>B, A<B ou A=B. Justifique sua


resposta.

17. Dado o código VHDL

Considerando A=101 e B=111, diga se A>B, A<B ou A=B. Justifique sua


resposta.

18. Considerando o comando GENERATE, diga quais são seus dois principais
empregos.

19. Em relação a estruturação dos códigos em VHDL o que difere o comando


PROCESS da execução do código em VHDL.
20. Dado o MUX 16x1

No qual a seleção das portas é dado pelos bits SEL[0], SEL[1], SEL[2] e SEL[3],
sabendo que esses bits são atribuídos fisicamente a leitura de switches no fpga.
Determine qual mux e canal de entrada é selecionado para o código nos
switches:
Sw0 Sw1 Sw2 Sw3
1 0 0 1
0 1 1 1
1 0 1 1

21. Considerando o decodificador bcd 7 segmentos, determine qual número será


exibido para o código de entrada 1 0 1 0 considerando a atribuição do PORT:
a)
COD: STD_LOGIC_VECTOR(3 DOWNTO 0)
b)
COD: STD_LOGIC_VECTOR(0 TO 3)

22. Qual a diferença entre um meio somador e um somador completo. Esboce


o digrama de um meio somador e um somador completo de 4 bits.

Você também pode gostar