Projeto de circuito para um roteador

13
UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA ENGENHARIA DE COMPUTAÇÃO PROBLEMA I - PROJETO DE CIRCUITO PARA UM ROTEADOR INTRODUÇÃO AO HARDWARE MARCUS VINICIUS ARAUJO MARTINS

Transcript of Projeto de circuito para um roteador

Page 1: Projeto de circuito para um roteador

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA ENGENHARIA DE COMPUTAÇÃO

PROBLEMA I - PROJETO DE CIRCUITO PARA UM ROTEADOR

INTRODUÇÃO AO HARDWARE

MARCUS VINICIUS ARAUJO MARTINS

Page 2: Projeto de circuito para um roteador

- 2 -

PROBLEMA I – PROJETO DE CIRCUITO PARA UM

ROTEADOR

INTRODUÇÃO AO HARDWARE

SEMESTRE 2006.1 Novembro de 2006

Feira de Santana - Bahia

Relatório solicitado pela disciplina de Introdução ao Hardware, do curso de Engenharia de Computação, da Universidade Estadual de Feira de Santana. Tutor: Amâncio

Page 3: Projeto de circuito para um roteador

- 3 -

Sumário

A - Introdução............................................................................................... 4 1 - Eletrônica seqüencial................................................................................. 6 1.1 - Endereçamento: - Registradores de deslocamento............................................................ 7 1.2 - Operação: - Demultiplexador e Contadores........................................................ 8 1.3 - Loops: - Comparação entre números de pacotes.............................................. 10 2 - Circuito: - Roteador............................................................................................. 11 B – Conclusão.............................…………………………....………..…... 12 C – Referências.............................................................................................13

Page 4: Projeto de circuito para um roteador

- 4 -

Introdução

Empresas e indústrias operam suas mais vastas atividades com o recurso

computacional. As atividades podem ser separadas por setores onde cada computador pode

servir a uma operação especifica. Contudo, existe um momento em que uma performance

mais eficaz pode ser conseguida, não mais trabalhando com computadores isolados, mas

sim unidos, induzindo ao compartilhamento de recursos como impressoras e gravadores de

CDs.

Contudo, mais importante que compartilhar recursos físicos é compartilhar

informações. Em empresas, registros de cadastros precisam ser comunicados e, se essa

comunicação for possibilitada por uma rede, os processos se tornam mais ágeis e versáteis.

Não se trata apenas de comodidade. A função primordial é abastecer uma tecnologia cada

vez mais carente de velocidade e funcionalidade.

Assim como numa ligação telefônica precisa de um telefone, a comunicação de

computadores é satisfeita por recursos também físicos como: Hub, Switch ou Roteador. O

hub é um dispositivo que tem a função de interligar os computadores de uma rede local.

Sua forma de trabalho é a mais simples se comparado ao switch e ao roteador : o hub

recebe dados vindos de um computador e os transmite às outras máquinas. No momento em

que isso ocorre, nenhum outro computador consegue enviar sinal. Sua liberação acontece

após o sinal anterior ter sido completamente distribuído.

O switch é um aparelho muito semelhante ao hub, mas tem uma grande diferença: os

dados vindos do computador de origem somente são repassados ao computador de destino.

Isso porque os switchs criam uma espécie de canal de comunicação exclusiva entre a

origem e o destino. Dessa forma, a rede não fica "presa" a um único computador no envio

de informações.

O roteador (ou router) é um equipamento utilizado em redes de maior porte. Ele é

mais "inteligente" que o switch, pois além de poder fazer a mesma função deste, também

tem a capacidade de escolher a melhor rota que um determinado pacote de dados deve

seguir para chegar em seu destino.

Ao “recurso” que se deseja comunicar dar-se o nome de “pacote”. Um pacote para

ser transmitido necessita de informações prévias como o endereço do computador de

Page 5: Projeto de circuito para um roteador

- 5 -

destino e, ou mesmo, tamanho do pacote, a fim de corrigir prováveis erros durante a

comunicação.

Como, por exemplo, um endereço precisa ser “informado”, o uso de estruturas de

registradores e contadores se torna um recurso essencial na comunicação entre

computadores. A eletrônica seqüencial é então aplicada uma vez que, estruturas como flip-

flops garantem a memorização de dados, implementando a comunicação.

Esse relatório tem o objetivo prévio de planejamento e projeto de um roteador que

faça a transmissão de um fluxo de dados para 16 máquinas. O fluxo de dados inicia com as

informações do endereço da máquina destino e a quantidade de pacotes a serem

transmitidos.

Page 6: Projeto de circuito para um roteador

- 6 -

1-Eletrônica Seqüencial

Circuitos digitais são basicamente divididos em dois tipos: lógica combinacional e

lógica seqüencial. No campo combinacional, as saídas dependem única e exclusivamente

das variáveis de entrada. Já no seqüencial, as saídas dependem das variáveis de entrada e ou

de seus estados anteriores que permanecem armazenados, operando sob uma seqüência de

pulsos chamada clock.

O recurso responsável pelo armazenamento de dados, com o objetivo de recombiná-

los posteriormente, é chamado de flip-flop. Genericamente, um flip-flop é um bloco com

duas saídas (Q e ‘Q), duas entradas para as variáveis e uma entrada para o clock. Embora

existam duas saídas, a saída Q é dita principal, e, logo, a mais utilizada. A saída Q e ‘Q são

obtidas conforme a combinação das entradas com o pulso de clock.

O clock refere-se a uma seqüência de pulsos de bits, logo, zero ou um. Em uma faixa

de tempo pré-determinada (geralmente em nano segundos), o bit se alterna repetidamente.

A cada espaço da “onda” que se repete dar-se o nome de pulso. Com esse princípio, pode se

combinar o estado atual do clock com a forma das entradas, gerando uma saída

combinacional.

O comportamento das saídas variam em relação aos tipos de flip-flops. Flip-flops

tipo RS, por exemplo, assumem valor lógico 1 na saída quando a entrada S está em nível

lógico 1 e R em 0. Contudo, essa saída só acontecerá se o clock estiver em nível 1. Em 0, o

flip-flop mantém a saída anterior. Para outros tipos de flip-flop, essa mudança pode existir

quando o clock estiver e 0, ou ainda, na subida ou descida do clock, quando dizemos que o

flip-flop e sensível a subida ou descida de clock, respectivamente.

Page 7: Projeto de circuito para um roteador

- 7 -

1.1-Endereçamento: Registradores de deslocamento

No projeto do roteador, o pacote de dados não pode ser enviado deliberadamente.

Dentro do conjunto de informações que se deseja enviar para um outro computador, deve-

se, ao menos, endereçar para onde esse pacote deve ser enviado. A essa estrutura que

recebe um fluxo e, destina para varias saídas (no caso 16) dar-se o nome de

demultiplexador. Para isso, é necessário identificar cada computador de destino com um

código binário. Como são 16 computadores, a identificação pode ser feita nomeando-os de

0000 a 1111. Essa informação deve ser passada para o demultiplexador que por sua vez,

encaminhará o conteúdo do fluxo ao destino antevisto. As saídas Q3, Q2, Q1 e Q0 ,

mostradas abaixo, formam, nessa ordem, as saídas de endereçamento das máquinas de

destino.

Saidas Paralelas

Q3 Q2 Q1 Q0

Entrada Serie

Clock

D

CP Q_Q

U4D

CP Q_Q

U3D

CP Q_Q

U2D

CP Q_Q

U1

Flip-Flops do tipo D são iguais a JK, só que com entradas invertidas. Logo, não

existem entradas do tipo 01 ou 10 no flip-flop D.

A diferença do flip-flop JK para o JK Mestre-Escravo está em como a saída foi

combinada. No primeiro, a saída só é combinada quando o clock está em 1, tipo o RS. No

segundo, a saída Q é obtida com a subida ou descida do clock, exclusivamente. Para

alternar um flip-flop que combine a saída na descida de clock, basta colocar um inversor

interno à entrada de clock.

J K Q

0 0 Qa

0 1 0

1 0 1

1 1 ‘Qa

J K D Q

0 0 Não existe /

0 1 0 0

1 0 1 1

1 1 Não existe /

D Q

0 0

1 1

Page 8: Projeto de circuito para um roteador

- 8 -

PC 1OUTPUT

PC 2OUTPUT

16 BIT DEMUX

CBA

D

Q12Q13

Q11

Q9Q10

Q7Q8

Q4Q5Q6

Q2Q3

Q14Q15

Q0Q1

16dmux

inst69

PC 3OUTPUT

PC 4OUTPUT

PC 5OUTPUT

PC 6OUTPUT

PC 7OUTPUT

PC 8OUTPUT

PC 9OUTPUT

PC 10OUTPUT

PC 11OUTPUT

PC 12OUTPUT

PC 13OUTPUT

PC 14OUTPUT

PC 16OUTPUT

PC 15OUTPUT

1.2-Operação: Demultiplexador e Contadores

As quatro saídas que compõem o endereço são passadas para um demultiplexador,

que fará a leitura dos bits e abrirá caminho ao computador de destino desejado.

No circuito montado (exibido completo no

final desse relatório), antes das saídas para as

máquinas, foi colocada uma porta “e” que garante

que a passagem para a máquina informada só será

aberta quando o quinto bit chegar, afim de separar

endereço de tamanho. A quantidade de pacotes

também é conseguida por um registrador de

deslocamento semelhante ao utilizado nos bits de

1 a 4. Os bits 6 a 9 correspondem a quantidades de pacotes de 1 byte (tamanho pré-

estipulado) e serão encaminhados a um comparador que fará os loops necessários.

Após a porta “e”, encaminha a uma outra

que combina sua saída ao fluxo e ao 9º bit, pois,

após ele, os bits que virão já fazem parte do

pacote, composto por: 4 bits de endereçamento,

4 de tamanho, e pacotes de 8 bits (1 byte), que

podem repetir até 16 vezes, em virtude de a

quantidade operar sob 4 bits. A estrutura

montada ao lado se repete para todas as outras

saídas do demultiplexador.

Para fazer a contagem de cada pulso de clock, um contador assíncrono foi

utilizado. Formado por 4 flip-flops tipo D, o contador faz a contagem de pulsos e muda sua

saída a cada novo pulso. No caso específico, conta de 0000 a 1111 (16 vezes). Repetindo a

cada término. A idéia básica é uma entrada fixa em 1 no primeiro flip-flop e clocks

associados a saída do flip-flop anterior. As entradas desse contador correspondem a esse

valor fixo em um no 1º flip-flop, uma entrada clear e um clock. As quatro saídas

correspondem a contagem.

PC 1OUTPUT

16 BIT DEMUX

CBA

D

Q12Q13

Q11

Q9Q10

Q7Q8

Q4Q5Q6

Q2Q3

Q14Q15

Q0Q1

16dmux

inst69

AND2

inst70

AND3

inst93

FLUXO8 BIT

5 BIT

Page 9: Projeto de circuito para um roteador

- 9 -

No circuito , as entradas

para os registradores de

endereçamento e tamanho

são subjugados a essas

quatro saídas.

Porém, esse contador não pode ficar contando sempre, pois, desta forma, a

diferenciação entre o que é pacote e o que é informação não pode ser feita. Uma estrutura

de controle foi criada. Ela fará com que, ao contar o nono bit, sua saída mude para 0,

travando-o. Ao passo, barra-se essa saída visando ativar a segunda porta “e” do

demultiplexador, até então inativa e, por conseqüência, não havendo ainda nenhum tipo de

passagem de informação para algum computador. A tabela verdade e expressão para essa

estrutura são:

Expressão: ‘A + A’B’C

Após o nono bit, a saída, que muda para 0,

retorna para uma porta “e” antes do contador, fazendo-o

travar.

VCCCLOCK INPUT LDN

CKCLR

T0T1T2T3

Block1

inst

AND3

inst1

EXP

inst2

EXP

inst3

OR2

inst4EXP

inst5

AND2

inst27

Clock

Parte do circuito mostrando travamento do contador

‘A’B ‘AB AB A’B

‘C’D 1 1 0 1

‘CD 1 1 0 1

CD 1 1 0 0

C’D 1 1 0 0

VCCCK INPUT

VCCLDN INPUT

VCCCLR INPUT

T0O

UTP

UT

T1O

UTP

UT

T2O

UTP

UT

T3O

UTP

UT

CLRN

DPRN

Q

DFF

inst2CLRN

DPRN

Q

DFF

inst4CLRN

DPRN

Q

DFF

inst3CLRN

DPRN

Q

DFF

inst5

Page 10: Projeto de circuito para um roteador

- 10 -

pin_

nam

eO

UTP

UT

LDNCKCLR

T0T1T2T3

Block1

inst47

AND2

inst48

EXP

inst

38

LDNCKCLR

T0T1T2T3

Block1

inst58

AND

2

inst

56

AND

2

inst

57

AND

2

inst

59

AND

2

inst

60N

AND

4

inst

31

1.3-Loops: Comparação entre números de pacotes

Os bits 6 a 9 são responsáveis pela quantidade de pacotes a serem enviados. Para

garantir que todos os pacotes serão entregues ao computador de destino, uma estrutura de

comparação foi montada. Baseia-se em dois contadores assíncronos onde o primeiro, ao

contar 8, muda sua saída para zero, se auto zerando e dando um pulso no segundo contador.

Faz isso até as saídas do segundo contador serem iguais aos bits de quantidade de pacotes.

Quando iguais, ativa-se uma porta “e” de quatro entradas, negada, obtendo zero na saída e

sendo ligada a todos os clears do sistema.

Expressão: ‘A

Quando o contador passa a ser 1000 (8), ele

zera o clear e, portanto, reinicia a contagem. A cada ova

contagem, um pulso é passado ao segundo contador.

As duas entradas dessa estrutura referem-se: ao clock do sistema e a saída da estrutura que trava o contador responsável pelo registro de endereços e quantidade. Essa saída deve entrar no contado de comparação de forma invertida afim de que ele só comece a contar após o nono bit.

saídas do contador 1 da comparação ‘A’B ‘AB AB A’B

‘C’D 1 1 0 0

‘CD 1 1 0 0

CD 1 1 0 0

C’D 1 1 0 0

Page 11: Projeto de circuito para um roteador

- 11 -

2-Circuito :Roteador VCC

FLUXO INPUT

VCCCLOCK INPUT

pin_name33OUTPUT

pin_name34OUTPUT

pin_name35OUTPUT

pin_name36OUTPUT

pin_name37OUTPUT

pin_name38OUTPUT

pin_name39OUTPUT

pin_name40OUTPUT

pin_name41OUTPUT

pin_name42OUTPUT

pin_name43OUTPUT

pin_name44OUTPUT

pin_name45OUTPUT

pin_name46OUTPUT

PC 1OUTPUT

PC 2OUTPUT

pin

nam

eO

UTP

UT

LDNCKCLR

T0T1T2T3

Block1

inst

AND3

inst1

EXP

inst2

EXP

inst3OR2

inst4

EXP

inst5

NAND4

inst6CLRN

DPRN

Q

DFF

inst15

AND2

inst27

EXP

inst24

EXP

inst25

EXP

inst26

NAND4

inst7CLRN

DPRN

Q

DFF

inst16EXP

inst29

EXP

inst30

NAND4

inst8CLRN

DPRN

Q

DFF

inst17EXP

inst32

EXP

inst33

NAND4

inst9CLRN

DPRN

Q

DFF

inst18

NAND4

inst10CLRN

DPRN

Q

DFF

inst19

EXP

inst39

NAND4

inst11CLRN

DPRN

Q

DFF

inst20

EXP

inst42

NAND4

inst12CLRN

DPRN

Q

DFF

inst21

EXP

inst45

NAND4

inst14CLRN

DPRN

Q

DFF

inst23

EXP

inst52

EXP

inst34

EXP

inst35

EXP

inst36

EXP

inst53

EXP

inst49

EXP

inst50

EXP

inst51

EXP

inst40

NAND4

inst13CLRN

DPRN

Q

DFF

inst22EXP

inst54

EXP

inst55

16 BIT DEMUX

CBA

D

Q12Q13

Q11

Q9Q10

Q7Q8

Q4Q5Q6

Q2Q3

Q14Q15

Q0Q1

16dmux

inst69

AND2

inst70

AND2

inst71

AND2

inst72

AND2

inst73

AND2

inst74

AND2

inst75

AND2

inst76

AND2

inst77

AND2

inst78

AND2

inst79

AND2

inst80

AND2

inst81

AND2

inst82

AND2

inst83

AND2

inst84

AND2

inst85

AND3

inst93

AND3

inst94

AND3

inst95

AND3

inst96

AND3

inst97

AND3

inst98

AND3

inst99

AND3

inst100

AND3

inst101

AND3

inst102

AND3

inst103

AND3

inst104

AND3

inst105

AND3

inst106

AND3

inst107

AND3

inst108

EXP

inst37

LDNCKCLR

T0T1T2T3

Block1

inst47

AND2

inst48

EXP

inst

38

LDNCKCLR

T0T1T2T3

Block1

inst58

+

Fluxo

LIGA EM TODOS OS CLEARS

Clock

AND

2

inst

28

AND

2

inst

31

AND

2

inst

41

AND

2

inst

43N

AND

4

inst

44

A estrutura dos registradores pode ser feita da maneira descrita ou desta forma,

apresentada no circuito. Por decisão de projeto, opinou-se por esta forma, pegando cada bit

de um flip-flop especifico. Contudo, vale também a forma convencional.

Page 12: Projeto de circuito para um roteador

- 12 -

Conclusão

Rotear uma rede implica ter dados suficientes para uma perfeita comunicação entre

máquinas. Esses dados resumem-se ao conjunto de dados que se deseja transmitir, ou

pacote, e a informações deste pacote, tais como endereço de origem, destino, numero de

pacotes e, além desses, verificação de erros e bits de controle.

Estruturas como bit de paridade e check-sum podem ser criadas visando um

aperfeiçoamento do circuito. Conferir os dados de entrada com os de saída possibilita

correções de erros e, logo, coíbe possíveis problemas de recepção na comunicação de

computadores.

Além disso, estruturas eletrônicas não são tão imediatas como parecem ser. A saída

de uma porta “e”, por exemplo, só tem nível 1 após alguns nano segundos depois que suas

entradas passam a ser 1. Isso parece ser irrelevante. Contudo, é bastante promissor num

sistema no qual o clock trabalha numa freqüência altíssima e onde deve existir precisão.

Uma descida de clock no momento errado altera consideravelmente os resultados esperados

na saída do circuito.

Para resolver problemas de atraso em circuitos eletrônicos, podem ser criadas

estruturas de atraso para locais específicos , ou mesmo alterando a freqüência do clock. Não

existe a maneira definitiva de resolver problemas de temporização em circuitos. A forma de

correção é especifica pois, depende muito de que tipos de recursos estão sendo utilizados

no sistema.

Page 13: Projeto de circuito para um roteador

- 13 -

Referências

1- TOCCI, Ronald J.; WIDMER, Neal S. Sistemas digitais : principios e aplicacoes. 7.

ed Sao Paulo: LTC.

2- IDOETA, Ivan V. (Ivan Valeije); CAPUANO, Francisco G. (Francisco Gabriel).

Elementos de eletronica digital. 11. ed Sao Paulo: Erica, 1986.

3 - TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro: Elsevier, 2003.