Centro de Competências das Ciências Exatas e da Engenharia
Licenciatura em Engenharia Informática (LEI)
Sistemas Digitais
Sistemas Digitais - Projeto 2 -13/14
Nome: Vitor Manuel Gavina Faria
Ano letivo 2013/2014
2
Índice
I - Introdução ............................................................................................................................... 3
II - Implementação do circuito .................................................................................................... 4
III - Conclusão ............................................................................................................................. 6
IV - Anexos.................................................................................................................................. 7
3
I - Introdução
Neste projecto foi-nos proposto que implementássemos um circuito com estas
características:
 Receba como entrada os sinais de saída gerados pelo projeto 1, um sinal de relógio, e o
sinal de habilitação partilhado com o módulo do 1º projeto;
 Aquando da deteção do sinal de habilitação ativo, gere uma saída em série que
contenha, por esta ordem, um start bit, a informação dos alunos (saídas B e C do 1º projeto), um
bit de paridade e um stop bit;
 Com as saídas B e C a aparecem na saída por ordem crescente, ou seja, se o B for maior
que o C, primeiro deve ser serializado o C e depois o B.
 Com um start bit constituído por um sinal com um valor lógico 1 durante um ciclo de
relógio;
 Um stop bit constituído por um sinal a 0 durante dois ciclos de relógio se o sinal tiver
sido enviado de forma codificada, ou por um sinal a 1 durante dois ciclos de relógio se não existir
codificação;
 Se o sinal de habilitação estiver inativo a saída deve ser o valor lógico 0.
O objetivo do trabalho é o de implementar um circuito com estas especificações com a
finalidade de se obter os resultados pretendidos.
Assim, definimos os seguintes objectivos:
 Primeiro definir um start bit que terá o valor “1” que e definirá o início da transmissão.
 Colocar por ordem crescente a informação dos alunos, a paridade desse valor e por
ultimo um stop bit que no caso da Codificação ter valor lógico 1, terá o valor de “00”. Por outro
lado se a da Codificação ter valor “0” o stop bit será “11”.
 Caso a Habilitação esteja a “0” a saída vai ter valor lógico “0”.
4
II - Implementação do circuito
Para implementarmos o respetivo projeto que cumprisse com os objetivos delineados
inicialmente, utilizámos o software Xilinx da ISE para colocar o módulo que continha todo o
nosso trabalho do primeiro projecto e, a seguir criámos outro módulo que associasse os valores
vindo deste de forma crescente e outro para definir a paridade. De seguida criou-se um outro
modulo a unir de forma sequencial o pretendido e por ultimo um módulo que percorresse o valor
anterior e fosse emitindo o sinal de bit a bit. Durante este trabalho existiu a necessidade de se
criar um módulo que fosse gerando o sinal do Clock.
Assim, no módulo Junta recebemos dois sinais de 4 bits e definimos a saída como sendo a
união dos dois de forma crescente. Assim, como no primeiro projeto A = X + B e A = Y + C e os
valores dos excessos são fixos, X = 1 e Y = 2 determinamos que o número binário vindo da saída
B é menor que o outro porque qualquer número adicionado a uma quantidade maior será sempre
maior que o mesmo adicionado a uma quantidade menor. Então a saída será de 8 Bits e sempre
J = {B,C}.
Para calcular a paridade acrescentamos um módulo onde recorrendo à função XOR e
sabendo que a paridade será par quando o número de bits de valor '1' for ímpar e, neste caso, é
adicionado um bit de valor '1' ou então o número de bits '1' for par é adicionado um bit de valor
'0'.
Depois de já termos um sinal com o start bit, os valores do primeiro projeto, a paridade
desse mesmo, passamos a criar um módulo onde consistisse todas as condições pré-estabelecidas
para o circuito tais como:
 Para calcular o Stop Bit – se a codificação estiver a “1” este será de 2 bits de valor
“00”.Por outro lado, se a codificação estiver a “0” este será de 2 bits de valor “11”.
 Quando a Habilitação for igual a 1 a saída será tal como projetamos {“Start
Bit”,”inf.do aluno”, ”Paridade”, ”Stop Bit”} ou se tiver valor “0” a saída será
”0”.
Por fim, para obtermos um sinal em serie, criamos um módulo onde implementamos um
ciclo que percorre o valor binário existente, partindo do número mais significativo desse valor
para o menos significativo e vai emitindo um a um.
5
Supondo estes valores:
A = 0100
X = 0001
Y = 0010
Obtivemos:
B = A + X = 0100 + 0001 = 0101
C = A + Y = 0100 + 0010 = 0110
(paridade) Jprd = 0
StartBit = 1
StpBit = (se Cod = 1) = 2b’00
(se Cod = 0) = 2b’11
Saida = com Cod = 1 = {101010110000}
Saida = com Cod = 0 = {101010110011}
6
III - Conclusão
Neste trabalho optamos por criar o circuito por completo com o software Xilinx da ISE
com a codificação dos módulos criados em Verilog e concluímos, que os resultados obtidos vão
de encontro aos objetivos. Prova disso são os testes, dos quais enviamos printscreens como
anexos, que nos mostram na saída final do circuito o sinal sai exatamente como nos propusemos
efetuar respeitando todas as condições.
De realçar que com este projeto foi possível aprofundar um pouco mais o
software e o código Verilog, tal como os nossos conhecimentos na matéria.
7
IV - Anexos
 Diagrama Temporal
 Esquemático

Sistemas digitais

  • 1.
    Centro de Competênciasdas Ciências Exatas e da Engenharia Licenciatura em Engenharia Informática (LEI) Sistemas Digitais Sistemas Digitais - Projeto 2 -13/14 Nome: Vitor Manuel Gavina Faria Ano letivo 2013/2014
  • 2.
    2 Índice I - Introdução............................................................................................................................... 3 II - Implementação do circuito .................................................................................................... 4 III - Conclusão ............................................................................................................................. 6 IV - Anexos.................................................................................................................................. 7
  • 3.
    3 I - Introdução Nesteprojecto foi-nos proposto que implementássemos um circuito com estas características:  Receba como entrada os sinais de saída gerados pelo projeto 1, um sinal de relógio, e o sinal de habilitação partilhado com o módulo do 1º projeto;  Aquando da deteção do sinal de habilitação ativo, gere uma saída em série que contenha, por esta ordem, um start bit, a informação dos alunos (saídas B e C do 1º projeto), um bit de paridade e um stop bit;  Com as saídas B e C a aparecem na saída por ordem crescente, ou seja, se o B for maior que o C, primeiro deve ser serializado o C e depois o B.  Com um start bit constituído por um sinal com um valor lógico 1 durante um ciclo de relógio;  Um stop bit constituído por um sinal a 0 durante dois ciclos de relógio se o sinal tiver sido enviado de forma codificada, ou por um sinal a 1 durante dois ciclos de relógio se não existir codificação;  Se o sinal de habilitação estiver inativo a saída deve ser o valor lógico 0. O objetivo do trabalho é o de implementar um circuito com estas especificações com a finalidade de se obter os resultados pretendidos. Assim, definimos os seguintes objectivos:  Primeiro definir um start bit que terá o valor “1” que e definirá o início da transmissão.  Colocar por ordem crescente a informação dos alunos, a paridade desse valor e por ultimo um stop bit que no caso da Codificação ter valor lógico 1, terá o valor de “00”. Por outro lado se a da Codificação ter valor “0” o stop bit será “11”.  Caso a Habilitação esteja a “0” a saída vai ter valor lógico “0”.
  • 4.
    4 II - Implementaçãodo circuito Para implementarmos o respetivo projeto que cumprisse com os objetivos delineados inicialmente, utilizámos o software Xilinx da ISE para colocar o módulo que continha todo o nosso trabalho do primeiro projecto e, a seguir criámos outro módulo que associasse os valores vindo deste de forma crescente e outro para definir a paridade. De seguida criou-se um outro modulo a unir de forma sequencial o pretendido e por ultimo um módulo que percorresse o valor anterior e fosse emitindo o sinal de bit a bit. Durante este trabalho existiu a necessidade de se criar um módulo que fosse gerando o sinal do Clock. Assim, no módulo Junta recebemos dois sinais de 4 bits e definimos a saída como sendo a união dos dois de forma crescente. Assim, como no primeiro projeto A = X + B e A = Y + C e os valores dos excessos são fixos, X = 1 e Y = 2 determinamos que o número binário vindo da saída B é menor que o outro porque qualquer número adicionado a uma quantidade maior será sempre maior que o mesmo adicionado a uma quantidade menor. Então a saída será de 8 Bits e sempre J = {B,C}. Para calcular a paridade acrescentamos um módulo onde recorrendo à função XOR e sabendo que a paridade será par quando o número de bits de valor '1' for ímpar e, neste caso, é adicionado um bit de valor '1' ou então o número de bits '1' for par é adicionado um bit de valor '0'. Depois de já termos um sinal com o start bit, os valores do primeiro projeto, a paridade desse mesmo, passamos a criar um módulo onde consistisse todas as condições pré-estabelecidas para o circuito tais como:  Para calcular o Stop Bit – se a codificação estiver a “1” este será de 2 bits de valor “00”.Por outro lado, se a codificação estiver a “0” este será de 2 bits de valor “11”.  Quando a Habilitação for igual a 1 a saída será tal como projetamos {“Start Bit”,”inf.do aluno”, ”Paridade”, ”Stop Bit”} ou se tiver valor “0” a saída será ”0”. Por fim, para obtermos um sinal em serie, criamos um módulo onde implementamos um ciclo que percorre o valor binário existente, partindo do número mais significativo desse valor para o menos significativo e vai emitindo um a um.
  • 5.
    5 Supondo estes valores: A= 0100 X = 0001 Y = 0010 Obtivemos: B = A + X = 0100 + 0001 = 0101 C = A + Y = 0100 + 0010 = 0110 (paridade) Jprd = 0 StartBit = 1 StpBit = (se Cod = 1) = 2b’00 (se Cod = 0) = 2b’11 Saida = com Cod = 1 = {101010110000} Saida = com Cod = 0 = {101010110011}
  • 6.
    6 III - Conclusão Nestetrabalho optamos por criar o circuito por completo com o software Xilinx da ISE com a codificação dos módulos criados em Verilog e concluímos, que os resultados obtidos vão de encontro aos objetivos. Prova disso são os testes, dos quais enviamos printscreens como anexos, que nos mostram na saída final do circuito o sinal sai exatamente como nos propusemos efetuar respeitando todas as condições. De realçar que com este projeto foi possível aprofundar um pouco mais o software e o código Verilog, tal como os nossos conhecimentos na matéria.
  • 7.
    7 IV - Anexos Diagrama Temporal  Esquemático