SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
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.
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.
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)

Más contenido relacionado

La actualidad más candente

Estudo completo de funções
Estudo completo de funções Estudo completo de funções
Estudo completo de funções numerosnamente
 
Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Renan Boccia
 
Arquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisArquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisCarlos Melo
 
Arquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaArquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaAlex Camargo
 
Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Renan Boccia
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Renan Boccia
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Renan Boccia
 
Função afim 2013-2014
Função afim 2013-2014Função afim 2013-2014
Função afim 2013-2014Carla Rebolo
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2numerosnamente
 
Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Lucas Cabral
 
Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Lucas Cabral
 
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaAdriano Melo
 
Assimptotas vertical
Assimptotas verticalAssimptotas vertical
Assimptotas verticalPaulo Mutolo
 

La actualidad más candente (19)

Estudo completo de funções
Estudo completo de funções Estudo completo de funções
Estudo completo de funções
 
Diagramas de temporização
Diagramas de temporizaçãoDiagramas de temporização
Diagramas de temporização
 
Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5Curso básico de eletrônica digital parte 5
Curso básico de eletrônica digital parte 5
 
Arquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitaisArquitetura de micro introdução aos sistemas digitais
Arquitetura de micro introdução aos sistemas digitais
 
Arquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra BooleanaArquitetura de Computadores: Álgebra Booleana
Arquitetura de Computadores: Álgebra Booleana
 
Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9Curso básico de eletrônica digital parte 9
Curso básico de eletrônica digital parte 9
 
computaçao
computaçaocomputaçao
computaçao
 
Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1
 
Função afim 2013-2014
Função afim 2013-2014Função afim 2013-2014
Função afim 2013-2014
 
Função Quadrática - 2
Função Quadrática - 2Função Quadrática - 2
Função Quadrática - 2
 
Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02Introdução a programação gráfica com Processing - Aula 02
Introdução a programação gráfica com Processing - Aula 02
 
Lab7 fsm
Lab7 fsmLab7 fsm
Lab7 fsm
 
Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01Introdução a programação gráfica com Processing - Aula 01
Introdução a programação gráfica com Processing - Aula 01
 
FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
 
Semana 2: Funções e listas, variáveis
Semana  2: Funções e listas, variáveisSemana  2: Funções e listas, variáveis
Semana 2: Funções e listas, variáveis
 
Portas logicas
Portas logicasPortas logicas
Portas logicas
 
Assimptotas vertical
Assimptotas verticalAssimptotas vertical
Assimptotas vertical
 

Destacado

Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticosunifesptk
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linearunifesptk
 
Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitaisunifesptk
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladoresunifesptk
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIunifesptk
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programmingunifesptk
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremasunifesptk
 

Destacado (11)

Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticos
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Pcd
PcdPcd
Pcd
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linear
 
Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitais
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladores
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus II
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programming
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremas
 
Lexyacc
LexyaccLexyacc
Lexyacc
 

Similar a Projeto ula

Atividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaAtividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaLTROMATMTICAMNZS
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionaisRobisonpardim
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfEliakimArajo2
 
Apostila de plc gladimir
Apostila de plc gladimirApostila de plc gladimir
Apostila de plc gladimirOperador10
 
Uma CPU simples para fins didáticos
Uma CPU simples para fins didáticosUma CPU simples para fins didáticos
Uma CPU simples para fins didáticosJulioLeme
 
75091103 funcoes-ci-7404-7408-7432-7400
75091103 funcoes-ci-7404-7408-7432-740075091103 funcoes-ci-7404-7408-7432-7400
75091103 funcoes-ci-7404-7408-7432-7400Bruno Quaresma
 
Automação industrial em grafcet
Automação industrial em grafcetAutomação industrial em grafcet
Automação industrial em grafcetRicardo Akerman
 
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...Leinylson Fontinele
 

Similar a Projeto ula (20)

Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Logica Digital
Logica DigitalLogica Digital
Logica Digital
 
Atividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em EletrotécnicaAtividade de Eletronica Digita - Técnico em Eletrotécnica
Atividade de Eletronica Digita - Técnico em Eletrotécnica
 
05 circuitos logicos
05   circuitos logicos05   circuitos logicos
05 circuitos logicos
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionais
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
 
Apostila de plc gladimir
Apostila de plc gladimirApostila de plc gladimir
Apostila de plc gladimir
 
Apostila clp cefet rs
Apostila clp   cefet rsApostila clp   cefet rs
Apostila clp cefet rs
 
Clp
ClpClp
Clp
 
Uma CPU simples para fins didáticos
Uma CPU simples para fins didáticosUma CPU simples para fins didáticos
Uma CPU simples para fins didáticos
 
75091103 funcoes-ci-7404-7408-7432-7400
75091103 funcoes-ci-7404-7408-7432-740075091103 funcoes-ci-7404-7408-7432-7400
75091103 funcoes-ci-7404-7408-7432-7400
 
Oac aula04
Oac aula04Oac aula04
Oac aula04
 
26-aula26.pdf
26-aula26.pdf26-aula26.pdf
26-aula26.pdf
 
Automação industrial em grafcet
Automação industrial em grafcetAutomação industrial em grafcet
Automação industrial em grafcet
 
Circuitos Aritméticos
Circuitos AritméticosCircuitos Aritméticos
Circuitos Aritméticos
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
 
Contadorgray
ContadorgrayContadorgray
Contadorgray
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
 

Projeto ula

  • 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. 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. 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)