Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Projeto ula

2,259 views

Published on

  • Be the first to comment

  • Be the first to like this

Projeto ula

  1. 1. Projeto Digital de uma Unidade Lógica e Aritmética (ULA) de um Processador Tema Noções básicas de projeto de circuitos combinacionais e de circuitos aritméticos. Desenvolvimento de projetos lógicos desde a etapa inicial referente à especificação até a etapa de implementação e de simulação. Objetivos • Compreender o funcionamento de uma ULA ; • Desenvolver o projeto lógico (esquemático) de uma ULA de 6 bits; • Analisar diferentes tipos de arquiteturas e alternativas para a construção da ULA; • Utilizar a ferramenta de síntese de circuitos digitais Quartus II; • Definir os vetores de simulação mais adequados para realizar a simulação da ULA projetada; • Realizar testes de funcionalidades de forma adequada e utilizar o software Quartus II na geração dos arquivos de simulação; • Escrever um relatório técnico, contendo a apresentação do problema, o projeto da arquitetura, as simulações realizadas, as decisões tomadas e as conclusões. Cronograma Data Atividade 28/10 Apresentação do trabalho 06/11 Desenvolvimento da ULA 20/11 Desenvolvimento da ULA 27/11 Avaliação final do trabalho Entrega do relatório Especificação da ULA Basicamente, um processador pode ser subdividido em duas grandes unidades, quais sejam: a unidade de controle e a unidade de processamento. A unidade de controle é responsável pelo gerenciamento do fluxo interno de dados através do envio de sinais de controle para a unidade de processamento. Por sua vez, a unidade de processamento é capaz de realizar, sobre os operandos de entrada, as operações requisitadas pela unidade de controle. Na unidade de processamento, encontra-se a ULA, a qual realiza operações lógicas e aritméticas sobre um ou mais operandos de entrada. Dentro desse contexto, este projeto refere-se à implementação no nível de portas lógicas de uma unidade lógica e aritmética específica. A seguir, apresenta-se, na figura 1, um diagrama de blocos de uma ULA de 6 bits de dados, a qual deverá ser implementada e devidamente simulada.
  2. 2. Figura 1 – Diagrama de Blocos de uma ULA de 6 bits A ULA esquematizada na figura 1 possui dois operandos de entrada (operandos A e B) de 6 bits cada um. Além disso, a ULA também possui os sinais de entrada Carry_in, Seleção da operação e Seleção de Modo. O sinal Carry_in indica o bit inicial do carry (vai-um inicial). O sinal Seleção de Modo indica se a ULA irá realizar uma operação lógica (AND, OR, OU-EXCLUSIVO e NOT) ou se irá realizar uma operação aritmética (soma, subtração, incremento e decremento). Como saída a ULA possui o sinal G de 6 bits, o qual é responsável por disponibilizar o resultado da operação da ULA. Além disso, a ULA possui os sinais de saída Carry output, Negativo, Zero e Overflow. O sinal de saída Carry output refere-se ao bit de vai-um final da operação. O sinal Negativo indica se o resultado produzido em G é positivo ou negativo. Se G ≥ 0, então Negativo = “0”. Se G < 0 então Negativo = “1”. O sinal de saída Zero deverá indicar se o resultado produzido na saída G é zero ou não. Se G = 0, então Zero = “1”, caso contrário, Zero = “0”. O sinal Overflow deve indicar se houve um estouro de representação na saída G quando os operandos A e B representarem números com sinal em complemento de dois. Lembre-se, no entanto, que o sinal Carry output também indica se houve overflow. No entanto, o sinal Carry output indicará overflow quando os operandos A e B forem números sem sinal, enquanto o sinal de saída Overflow deverá indicar se houve overflow quando os operandos A e B forem números com sinal representados em complemento de dois. Na tabela 1, encontram-se as respectivas operações que a ULA deverá realizar para cada uma das entradas de controle relacionadas aos sinais S2, S1, S0 e Cin.
  3. 3. Tabela 1 – Códigos de operação da ULA S2 S1 S0 Cin Operação Função 0 0 0 0 G = A + B soma 0 0 0 1 G = A + B + 1 soma com carry de entrada sendo igual a “1” 0 0 1 0 G = A + not(B) soma A com o inverso de B 0 0 1 1 G = A + not(B) + 1 subtração em complemento de dois 0 1 0 0 G = A - 1 decrementa A 0 1 0 1 G = A transfere A para a saída 0 1 1 0 G = A transfere A para a saída 0 1 1 1 G = A + 1 incrementa A 1 0 0 x G =ou-exclusivo(A, B) XOR entre A e B 1 0 1 x G = not(A) complementa A 1 1 0 x G = ou(A, B) OR entre A e B 1 1 1 x G = e(A, B) AND entre A e B Neste trabalho, deve-se utilizar a técnica de vai-um antecipado (carry look-ahead) para todos os circuitos somadores/subtratores especificados. Além disso, a ULA poderá trabalhar com números sem e com sinal. A representação de números com sinal deverá ser, neste projeto, em complemento de dois. No relatório, os autores e desenvolvedores deste projeto deverão procurar responder a seguinte pergunta: “Como é possível utilizar os sinais de saída da ULA especificada para realizarmos comparações entre números sem sinal utilizando o complemento de dois?”. Observações Este projeto deverá ser realizado em grupo de, no máximo, três alunos. Não serão permitidas cópias de relatórios e muito menos cópias, parcial ou integral, de projetos lógicos da ULA. Cada grupo deverá desenvolver uma arquitetura própria para a ULA aqui especificada. Recursos para Aprendizagem • TOCCI, R. J., WIDMER, N. S., MOSS, G. L. Sistemas Digitais – Princípios e Aplicações, 10ª. Edição, Editora Pearson Prentice Hall, 2007. • FLOYD, T. L. Sistemas Digitais – Fundamentos e Aplicações, 9ª. Edição, Editora Bookman, 2007. • PATTERSON, D. A., HENNESSY, J. L. Organização e Projeto de Computadores: A Interface Hardware/Software. 2. Ed., Rio de Janeiro: LTC, 2000. • STALLINGS, W. Arquitetura e Organização de Computadores. São Paulo: Makron Books, 2002. • Software de síntese de sistemas digitais ALTERA (www.altera.com)

×