sistemas digitais laboratório 3...

8
SISTEMAS DIGITAIS Laboratório 3 RELATÓRIO Identificação dos Alunos: Nome:Gonçalo Santos Número:84070 Nome:Bernardo Bastos Número: 84012 Turno de Laboratório: SD4517L05 Grupo: 73 Sala do Laboratório: LSD1 Hora: 12:30-14:00 Nome do Docente: Aleksandar Ilic

Upload: phamdang

Post on 13-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

SISTEMAS DIGITAIS Laboratório 3

RELATÓRIO

Identificação dos Alunos:

Nome:Gonçalo Santos

Número:84070

Nome:Bernardo Bastos

Número: 84012

Turno de Laboratório: SD4517L05

Grupo: 73

Sala do Laboratório: LSD1

Hora: 12:30-14:00

Nome do Docente: Aleksandar Ilic

Page 2: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

2

1.INTRODUÇÃO O objetivo deste trabalho laboratorial foi entrarmos em contacto com ferramentas de simulação e

prototipagem de circuitos digitais. Para tal utilizámos uma ferramenta ISE da Xilinx para simular um circuito

constituído por elementos básicos de memória (flip-flops) agregados e circuitos aritméticos.

2.RESPOSTA ÀS QUESTÕES DO ENUNCIADO

1. Apresente a tabela de verdade deste circuito

Através da observação do circuito NAND LOGIC elaborámos a seguinte

tabela de verdade

2. Apresente a expressão mínima disjuntiva da função

Y(X1,X2,X3).

A partir da tabela de verdade construímos o mapa de karnaugh e daí retirámos a expressão mínima.

3. Qual a operação realizada por este circuito? É possível substituir este circuito por um

único componente?

Operação realizada: Através de dois bits de seleção (X1,X2)

a função Y toma um de quatro valores diferentes.

É possível substituir o circuito por um MUX 4:1 como o da

figura.

FIGURA 2- CIRCUITO NAND LOGIC

FIGURA 1-TABELA DE VERDADE

FIGURA 3-MAPA DE KARNAGH MINTERMOS

FIGURA 4-IMPLEMENTAÇÃO DA FUNÇÃO

COM UM MUX

Page 3: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

3

4. Observe e registe os valores das entradas e saída (s) e compare-os com os valores

esperados na tabela da verdade.

Os valores registados da entrada e saída (S) são iguais aos valores esperados na tabela de verdade.

Como podemos verificar, os valores da tabela de verdade acima representada correspondem com os valores

obtidos no diagrama.

5. Analise teoricamente o circuito e construa a tabela de verdade do mesmo, indicando,

para cada combinação da entrada E e do estado atual (i.e., bits Q1 eQ0 à saída dos

FFs antes do flanco de relógio), o estado seguinte (i.e., o valor à saída dos flip-flops

após o flanco de relógio) e o valor da saída S. Justifique.

O circuito representado na figura 4 do enunciado do laboratório é formado pela função Nand Logic,

anteriormente especificada, por dois Flip Flops e por uma porta XOR. Os valores das entradas dos Flips Flops

(D0 e D1) são definidos pela função NAND LOGIC. Posteriormente, as saídas dos Flip Flops (Q0 e Q1) vão

juntar-se numa porta XOR e assim obtém-se o valor da função S.

6. Indique qual a função (i.e., para que serve) da entrada E e qual o estado dos flip-flops

(FFs) quando E=1 ou E=0. Justifique.

Através da análise da tabela de verdade obtida, verificamos que quando a entrada E tem valor 0, o valor

da saída dos Flip Flops é igual ao estado anterior de Q0 (por exemplo, quando E=0 e o valor anterior das

entradas Q0 e Q1 é 0, 1, respetivamente, verificamos que, após o período de relógio, o valor das entradas

Q0 e Q1 é 1, 1, ou seja, igual a Q0 anterior.). Quando o valor de E é 1, verificamos que o valor da entrada

Q1 após o tempo de relógio é igual ao valor do estado anterior de Q0 negado (por exemplo, quando E=1 e

Q0 e Q1 anteriores são iguais a 00, o valor de Q0 e Q1 posteriores é 0, 1, respetivamente.).

FIGURA 5-DIAGRAMA TEMPORAL NAND-LOGIC

FIGURA 6-TABELA DE TRANSIÇÃO DE ESTADOS

Page 4: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

4

7. Complete o seguinte diagrama temporal, de acordo com a análise que realizou nas

perguntas anteriores (considere que os tempos de propagação dos FFs e das portas

lógicas são desprezáveis face ao período de relógio). Justifique.

Observámos o circuito NAND LOGIC e a tabela de verdade e preenchemos o seguinte circuito temporal:

8. De acordo com o diagrama temporal e com a tabela de verdade previamente

preenchidos, complete o diagrama de estados indicando o estado dos flip-flops

(Q1,Q0) - dentro de cada círculo - e o valor da entrada/saída (E/S) que identificam a

transição para o estado seguinte dos flip-flops (i.e., após o flanco de relógio) - nas

setas.

9. Simule o circuito e indique qual o funcionamento do mesmo nos flancos de relógio

quando o sinal E se encontra nos estados lógicos 0 e 1. Observe os valores das

entradas e saída (s) e compare-os com os valores esperados na tabela da verdade.

Após a simulação do circuito sequencial (test_sequential.tbw) verificámos que este estava de

acordo com a tabela de verdade obtida.

FIGURA 7-DIAGRAMA TEMPORAL

FIGURA 8-DIAGRAM DE ESTADOS

FIGURA 9-DIAGRAMA TEMPORAL SEQUENCIAL

Page 5: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

5

10. Resolva todos erros reportados e apresente no relatório uma breve descrição da

causa de cada um deles.

Erro “ponto e vírgula”- na linha 107 faltava um ponto e virgula para terminar a ordem da frase.

Erro “componente num comentário”- na linha 93. o componente XOR estava escrito em

comentário.

Erro “somador 4 bits”- na linha 81 o operando B do somador apenas possuía 3 bits.

Erro “falta do is”- na linha 30 faltava um “is” para definir a unidade aritmética como componente.

11. Analise o conteúdo do ficheiro unidade_aritmetica.vhd e preencha os comentários

de acordo com o que é pedido nas respetivas secções identificadas por "----".

A resposta a esta pergunta encontra-se no final do relatório.

12. Apresente o logigrama da unidade aritmética indicando todas as entradas e saídas

dos componentes, todos os sinais internos e largura de cada bus. Qual é a operação

aritmética realizada?

Através da criação do logigrama da unidade aritmética e da sua análise determinou-se que a

operação que este realizava era A/2+5-B.

13. Apresente os cálculos relativos às constantes c0 e c1 e a respetiva função aritmética

associada.

Para descobrirmos os valores de K1 e K0 dividimos, de entre membros do grupo, o maior número de

aluno por 2 e o menor número de aluno por 4, respetivamente.

Para

obter o c0 realizamos a operação c0= 𝐾0𝑚𝑜𝑑3 +1=1

Para obter oc1 realizámos a operação (−1) ^𝐾1=1

Assim a operação aritmética associada é Z=A+B.

Divisão

por 2

Resto Divisão

por 4

Resto

84070 42035 0 K1 84012 21003 0 K0

FIGURA 10-LOGIGRAMA UNIDADE ARITMÉTICA

Page 6: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

6

14. Desenhe o logigrama do circuito modificado.

De forma a implementar a função Z=A+B foi necessário alterar o circuito original. Assim,

removemos o shift right (divisão por 2) do operando A e alterámos uma das entradas da porta XOR para

“000” de forma que o valor B se mantivesse. Alterámos o barramento do sinal B para fazendo uma

concatenação com o sinal “00000” passando assim o sinal B a ter 8bits. Por último alterámos o Cin do Low

Adder para “0” fazendo com que a função final seja Z.

15. Efetue as modificações necessárias ao circuito descrito no ficheiro

unidade_aritmetica.vhd de forma a implementar a nova função aritmética e atualize a

secção dos comentários.

Depois de construído o logigrama modificado efetuámos as modificações necessárias no

ficheiro VHDL da unidade aritmética e conseguinte atualização dos comentários. Este ficheiro

(unidade_aritmetica_alteradovhd) encontra-se em anexo no final do relatório.

FIGURA 11-LOGIRAMA UNIDADE ARITMÉTICA ALTERADO

FIGURA 12-DIAGRAMA TEMPORAL UNIDADE ARITMÉTICA ALTERADO

Page 7: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

7

3.IMPLEMENTAÇÃO DO CIRCUITO

Implementámos o circuito na placa de prototipagem e mostrámos ao docente de laboratório que

verificou se o circuito estava a funcionar corretamente. Para tal, utilizámos o software Adept da Digilent.

Na janela FPGA introduzimos o ficheiro .bit previamente adquirido através da plataforma Xilinx e

verificámos que o funcionamento do circuito correspondia à simulação do ficheiro lab3_circuito.

Ao recebermos a placa de prototipagem começámos por conectá-la ao computador, implementar o

programa e definir o valor do operando A com o valor 4 em binário (“100”), visto que este é constante ao

longo do tempo. O operando B toma os valores “0”, “3”, “6” e “5” em decimal e são estes valores que são

observados nos LEDs da placa, em binário. O display apresenta o resultado da operação A+B em

hexadecimal com 8 bits obtendo-se assim os valores “04”, “01”, “A” 09”.

4.CONCLUSÃO Este trabalho laboratorial deu-nos a conhecer a plataforma de trabalho do ISE da Xilinx e as placas

de prototipagem Basys2. Para descrever o circuito utilizámos a linguagem de descrição de hardware VHDL,

linguagem esta que é utilizada para facilitar o design de circuitos digitais.

O objetivo final era a criação de um circuito sequencial que realizasse uma operação aritmética sobre

2 números, A e B. O operando A era constante enquanto o operando B variava de acordo com o CLK. No

final obtivemos a expressão da operação realizada pelo circuito, A+B.

Posteriormente implementámos o circuito na placa de prototipagem e verificámos que os valores

obtidos no display correspondiam aos valores da função S que representava a operação A+B. Comparámos

estes valores com os valores obtidos no diagrama temporal e verificámos que os valores eram iguais.

Este trabalho requisitou uma grande dedicação da nossa parte pois o Xilinx é uma ferramenta

complexa exige grande concentração para evitar a ocorrência de erros.

Page 8: SISTEMAS DIGITAIS Laboratório 3 RELATÓRIOweb.tecnico.ulisboa.pt/~ist425370/wordpress/wp-content/uploads/... · O circuito representado na figura 4 do enunciado do laboratório é

8

Códigos: