EA773 - Experimento 5



Documentos relacionados
Projeto Dirigido: Genius

5 Entrada e Saída de Dados:

Circuitos Sequenciais. Sistemas digitais

Capítulo VIII Registradores de Deslocamento e Contadores

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto

3. Arquitetura Básica do Computador

ULA Sinais de Controle enviados pela UC

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Computadores XXI: Busca e execução Final

BARRAMENTO DO SISTEMA

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

LABORATÓRIO DE ELETRÔNICA DIGITAL Experiência 9: Análise de Circuitos com Contadores

ARQUITETURA DE COMPUTADORES

Circuitos Digitais Cap. 6

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER.

Conceitos básicos do

28/9/2010. Unidade de Controle Funcionamento e Implementação

Capítulo 7 Circuitos sequenciais: latches, flipflops, registradores, contadores

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Circuitos Digitais 144L

Projeto de Máquinas de Estado

Sistemas Computacionais II Professor Frederico Sauer

Figura 1 - Diagrama de um sistema de controle de temperatura que requer conversão analógico-digital para permitir o uso de técnicas de processamento

Curso de Modulação Digital de Sinais (parte 2)

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

CAPÍTULO 6 ARITMÉTICA DIGITAL

Quadro de consulta (solicitação do mestre)

ARQUITETURA DE COMPUTADORES

Lab 3. Timing Timing Constraints Simulação

Arquitetura de Computadores I

Organização Básica do Computador

Componentes do Computador e. aula 3. Profa. Débora Matos

Profª Danielle Casillo

Informática I. Aula 4. Aula 4-11/09/2006 1

Circuitos Lógicos Aula 23

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Memórias Prof. Galvez Gonçalves

Tutorial de Eletrônica Aplicações com 555 v

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

PROJETO DE REDES

Circuitos Digitais. Conteúdo. Introdução. Códigos. Outros Códigos BCD de 4 Bits. Código BCD Circuitos Combinacionais.

Disciplina: Laboratório de Circuitos Digitais

Experimento 11 - Contador síncrono

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Conversor Analógico /Digital

CONTROLE DIGITAL DE VOLUME

Tecnicas com Sistemas Digitais

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Aula 8 Circuitos Integrados

Exercícios de Circuitos Combinacionais

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

Manual SAGe Versão 1.2 (a partir da versão )

1. Instalei o DutotecCAD normalmente no meu computador mas o ícone de inicialização do DutotecCAD não aparece.

Sistemas Operacionais

Arquitetura de Computadores. Ivan Saraiva Silva

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA DEE

A senha 001 de fábrica é

Organização e Arquitetura de Computadores I

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Contadores (Aula1) Prof. Rômulo Calado Pantaleão Camara

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

SEQUENCIADOR COM 10 LEDs

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Arquitetura de Computadores. Tipos de Instruções

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke


Guia de utilização do software. universal GPRS M-300.

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

Programação de Robótica: Modo Circuitos Programados - Avançado -

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Arquitetura de Rede de Computadores

4.3. Máquina de estados: São utilizados em sistemas de complexos, é de fácil transformação para ladder desde que não haja muitas ramificações.

Organização e Arquitetura de Computadores I

3 Sistemas de Numeração:

Capítulo 3 Processadores de Propósito Geral: Software

CDE4000 MANUAL 1. INTRODUÇÃO 2. SOFTWARE DE CONFIGURAÇÃO 3. COMUNICAÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ. Projeto de Circuito Integrado: Convesor Série-Paralelo Bidirecional

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação

Conheça o 4017 (ART062)

Moodle - Tutorial para Alunos

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Índice. Modelos e Procedimentos

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Circuitos Lógicos Registradores e Contadores

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Transcrição:

EA773 - Experimento 5 Wu Shin - Ting DCA - FEEC - Unicamp 19 de Novembro de 2009 O projeto consiste em implementar uma calculadora com memória com uso de barramento de 8 bits. Neste documento são discutidos os pontos críticos do projeto. Para ilustrar são apresentados blocos de circuitos de 4 bits. 1 Visão Geral da Organização da Calculadora Foi explicada uma possível organização dos componentes da calculadora: barramento, chaves (de entrada), circuito combinacional de UA, registradores para armazenar os operandos X e Y, registrador para armazenar o resultado de uma operação aritmética. O sistema é provido de duas botoeiras para carregar o operando X e o código de operação, respectivamente, e 4 displays de 7 segmentos para mostrar os resultados em decimal. Figura 1 mostra o esquemático de um circuito com funcionalidades similares, porém com operações limitadas para 4 bits e o conversor binário decimal é reduzido a um conversor binário binário a fim de mostrar uma estratégia de controlar o momento de conversão, sem a intervenção do usuário por meio de uma botoeira adicional. Vimos na aula que os acessos ao barramento podem ser controlados pelas portas tri-states, que apresentam a característica de se desconectarem eletricamente do barramento através de um sinal de controle OUT. Figura 2 mostra um banco de portas it tri-states utilizado na saída de todos os registradores para o barramento (Figura 3). No meu projeto utilizei os latches, para que fiquem compatíveis com a especificação das outras turmas, mas os flip-flops também funcionariam. Basta lembrarem que os primeiros são sensíveis a nível e os segundo à borda. Vimos também na aula que, para carregar o operando X, podemos utilizar diretamente o pulso gerado pela botoeira dedicada à carga deste operando bx, e para carregar o código de operação C.O., temos que elaborar uma estratégia de desdobrar o pulso em dois pulsos p 1 e p 2 para que tenhamos sinais de controle distintos na linha de tempo a fim de executar dois conjuntos de operações sequenciais: (1) carregar efetivamente o operando, via 1

Figura 1: Esquemático do circuito. barramento, no registrador para ser decodificado em sinais de controle apropriados de forma a habilitar apropriadamente os módulos combinacionais ou sequenciais; (2) transferir os dados, via barramento, entre os registradores (X, Y ou acumulador do resultado). Uma solução para desdobrar o pulso em dois pulsos menores é mostrada na Figura 4. Observe que foi utilizado um registrador de deslocamento de 6 períodos do relógio do sistema. O circuito foi projetado para o seguinte repertório de instruções, cujos códigos de operação são: 2

Figura 2: Portas de tri-states. (a) Acumulador para o barramento (b) Registradores X e Y para o barramento Figura 3: Saída dos registradores para o barramento. Instrução Código de Operação (f 2 f 1 f 0 ) ADD 000 EXSUB 010 CMX 110 CS 101 CYA 011 CAY 001 NOP 100 3

Figura 4: Divisor de pulso. Aplicando as técnicas de síntese de expressões lógicas, chega-se às seguintes funções de chaveamento em termos dos sinais de entrada nbx = bx, os dois pulsos p 1 e p 2 desdobrados do pulso da botoeira que carrega o código de operação, e dos códigos de operação f 2 f 1 f 0 : C 0 = nbx + p 1 C 1 = p 1 C 2 = ( f 2 f 0 + f 2 f 1 + f 2 f 0 )p 2 C 3 = nbx + f 2 f 1 f 0 p 2 C 4 = f 2 f 1 f 0 p 2 C 5 = ( f 2 f 0 + f 2 f 0 + f 1 f 0 )p 2 C 6 = f 2 f 1 f 0 p 2 C 7 = ( f 2 f 0 + f 2 f 1 + f 2 f 0 )p 1 2 Dúvidas Comuns e Sugestão de Solução Além do desdobramento do pulso da botoeira em dois pulsos, observei alguns problemas comuns nos projetos: 1. Como é o controle da transmissão de dados pelo barramento? Os pares de sinais (C 0, C 7 ), (C 2, C 5 ), (C 4, C 5 ), (C 6, C 3 ), quando ocorrem simultaneamente, devem gerar, teoricamente, respostas iguais nos componentes. Na prática, pode-se ocorrer o fenômeno de corrida de respostas, em que um componente sempre responda mais rápido que o outro. Imagine, por exemplo, que C 5 desabilite o registrador Y depois de C 4 colocar a porta tri-state em estado Z. O barramento pode ficar, por uma fração de tempo, em um estado indefinido e destruir o conteúdo esperado do registrador Y! A solução seria garantir que os registradores receptores sejam desabilitados antes do chaveamento das portas tri-states. Um circuito para introduzir atrasos seria o registrador de deslocamento que vimos na Experiência 3, como ilustra o circuito do módulo decodificador apresentado na Figura 5. Observe que 4

o circuito gera pulsos de 3 períodos. Tendo pulsos de 6 e 3 períodos, podemos utilizá-los para habilitar, respectivamente, os registradores acionadores e os registradores receptores. Isso assegura que os registradores receptores não sejam habilitados quando o barramento estiver em estado indefinido. C 0 = nbx + p 1 C 1 = p 1 C 2 = ( f 2 f 0 + f 2 f 1 + f 2 f 0 )p 2 C 3 = nbx + f 2 f 1 f 0 p 2, 1 2 C 4 = f 2 f 1 f 0 p 2 C 5 = ( f 2 f 0 + f 2 f 0 + f 1 f 0 )p 2, 1 2 C 6 = f 2 f 1 f 0 p 2 C 7 = ( f 2 f 0 + f 2 f 1 + f 2 f 0 )p 1, 1 2 2. Como se consegue perceber os estados instáveis de um registrador? Vale enfatizar aqui que os estados instáveis de um registrador, variando na ordem de nanosegundos, não são perceptíveis a olho nu. Somente com uma boa ferramenta de simulação é possível visualizar tais estados. E isso facilita a identificação dos problemas e o foco das soluções. No ambiente Quartus II, a ferramenta Simulator pode ser utilizada para esta finalidade. Podemos colocar saídas em qualquer ponto do circuito, como ilustra a Figura 1, e editar as formas de onda compatíveis com o comportamento dos componentes implementados em kits do Altera. Algumas características são: botoeiras são ativo-baixo, ou seja, elas são normalmente em nível 1 e ao serem acionadas, vão para nível lógico 0; relógio do sistema de 27MHz gera sinais na frequência de 27MHz, em torno de 37ns por período. Vale ressaltar que se tentarmos simular o nosso circuito com uma frequência maior do que ela suporta, as formas de onda podem aparecer como reticulados diagonais que representam estados indefinidos. Figura 6 mostra as formas de onda da simulação do circuito apresentado na Figura 1. Observe que através das formas de onda podemos avaliar o comportamento de cada sinal em uma escala da ordem de nanosegundos! 5

Figura 5: Decodificador. 6

7 Figura 6: Simulação do circuito.

3. Quando e como habilitar o conversor de binário para decimal? O conversor deve apresentar resultados das operações lógico-aritméticas. Portanto, ele deve mostrar o conteúdo do registrador Y ou do registrador colocado na saída do somador, ou seja, do acumulador. Uma solução seria introduzir um flip-flop para controlar o estado do conversor: habilitado ou desabilitado. Toda vez que a botoeira de código de operação for acionada, o estado passa a ser desabilitado. E, quando o acumulador tiver resultado da operação estabilizado, o conversor é novamente habilitado. Quando se estabiliza o resultado de uma operação? O circuito foi projetado para ser no final do pulso de C 7. Observe que no circuito do módulo apresentado na Figura 7 o contador pode estar desabilitado, mesmo que o sinal ENA seja ativado. Isso é necessário, pois a contagem é somente feita até que o conversor atinja o valor que se deseje visualizar nos displays. Vale ressaltar aqui que não está incluído no módulo o circuito combinacional de extrair a magnitude do resultado antes da conversão. Este circuito deve ser colocado entre o somador e a entrada do conversor e o pulso C 7 é suficiente para abranger estas operações também. Figura 7: Decodificador. 8