SIMULAÇÃO DE CIRCUITOS

Documentos relacionados
SIMULAÇÃO DE CIRCUITOS

SIMULAÇÃO DE CIRCUITOS E DISPOSITIVOS PROGRAMÁVEIS

SIMULAÇÃO DE CIRCUITOS E DISPOSITIVOS PROGRAMÁVEIS

Projeto com Linguagens de Descrição de Hardware

Calculadora Simples em VHDL

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

Projeto com Dispositivos Programáveis

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Montagem, testes, depuração e documentação de circuitos digitais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

Introdução ao Laboratório Digital

EPUSP PCS 2011/2305/2355 Laboratório Digital. Freqüencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

CALCULADORA SIMPLES COM ULA

Introdução ao Laboratório Digital

CONTROLE DE UM SERVO MOTOR

Uma Introdução às Linguagens de Descrição de Hardware

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

FPGA & VHDL. Tutorial

LÓGICA PROGRAMÁVEL II

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE

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

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Introdução à Computação

Banco de Registradores e ULA

Projeto de Circuitos Aritméticos

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

Introdução à Linguagem VHDL

Fundamentos de sistemas digitais. Test-bench. prof. Dr. Edson Ifarraguirre Moreno

EPUSP PCS 2308 Laboratório Digital. Trena Digital

Somadores Binários E.T.M./2005 (revisão)

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

Banco de Registradores

Plano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL

Exercícios de Laboratório 3

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Introdução ao Laboratório Digital

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba

Introdução ao Laboratório Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital

Interface com Sensor Ultrassônico de Distância

PCS3515 Sistemas Digitais. Blocos Básicos

Projeto de Somador com e sem Sinal. Qualificadores

Introdução. VHDL: VHSIC Hardware Description Language. Origem: VHSIC: Very High Speed Integrated Circuits. Departamento de Defesa EUA

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital

Painel Luminoso com LEDs

Caracterização de Portas Lógicas

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4

Arquitetura de Computadores

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

Prof. Leonardo Augusto Casillo

Sistema de Aquisição de Dados

Introdução ao Laboratório Digital

EPUSP PCS 2021 Laboratório Digital II. Sistema de Radar

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL

Circuito Hierárquico

Painel Luminoso com LEDs

Introdução VHDL Parte 4 - Testbench

Exercícios Referentes à Prova P1

Circuito de Recepção Serial Assíncrona

ELETRÔNICA DIGITAL I

VHDL Circuitos Combinacionais

Parte # 2 - Circuitos Combinatórios

Multiplicador Binário com Sinal

Revisão: Projeto de Processadores em VHDL

Introdução ao Laboratório Digital

Projeto de Circuito Combinacional

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Aula 2 Semântica de VHDL

Introdução à Simulação em VHDL. Ney Laert Vilar Calazans

Sistemas Digitais Unidade Lógica e Aritmética - ULA

Circuito de Aritmética Decimal

Processador nanopcs-3

low): Descreve o que o sistema deve fazer utilizando expressões lógicas.

Lógica Reconfigurável

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

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

Processador nanopcs-4

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

Turma PCS2304. Objetivos. Site da disciplina. Professor Edson Midorikawa Edson T. Midorikawa 25/02/2008.

Laboratório de Lógica Digital

Exercícios Referentes à Prova P1

Transcrição:

SIMULAÇÃO E CIRCUITOS Versão 2012 RESUMO Nesta experiência será discutido o procedimento de simulação de circuitos digitais, em particular sua importância dentro de uma metodologia para projeto de sistemas digitais. A parte experimental consiste na aplicação de técnicas de simulação em alguns circuitos com o auxílio da ferramenta de software uartus II da Altera e a verificação dos resultados da simulação em uma montagem experimental. O objetivo principal desta experiência é a familiarização com os procedimentos de simulação com uma ferramenta de software e com um exemplo em VHL. 1. PARTE TEÓRICA 1.1. Metodologia de Projeto de Sistemas igitais Para que um sistema digital possa ser implementado eficientemente, é necessário adotar uma metodologia de projeto. Uma possível metodologia de projeto pode ser descrita através do fluxograma mostrado na figura 1.1 abaixo (Ranzini and Horta, 2000). INÍCIO EFINIÇÃO SÍNTESE ESCRIÇÃO AVALIAÇÃO SIMULAÇÃO OK? N N OK? S S FIM Figura 1.1 Uma metodologia de projeto de sistemas digitais. As principais etapas da metodologia proposta de projeto de sistemas digitais são as seguintes: i. Na etapa de EFINIÇÃO, o sistema digital (S) é especificado funcionalmente a partir dos seus sinais de entrada e saída e de suas funcionalidades. Um S pode ser dividido em diversas partes ou módulos. ii. Na etapa de ESCRIÇÃO são gerados os algoritmos responsáveis pelo funcionamento de cada uma das partes definidas na primeira etapa. Pode ser realizado com um editor gráfico, utilizando símbolos gráficos para cada componente ou módulo já projetado (captura esquemática), ou usando-se uma linguagem de descrição de hardware (HL). iii. A etapa seguinte (SIMULAÇÃO) envolve a execução de uma simulação do S, com o objetivo de verificar possíveis erros de concepção do projeto. Procura-se aqui encontrar erros, e em caso afirmativo, uma ação corretiva pode ser tomada. Simulação de Circuitos (2012) 1

iv. Na SÍNTESE, cada um dos módulos do S é transformado em elementos de hardware, para serem implementados fisicamente. v. Na AVALIAÇÃO, estes elementos de hardware são testados para verificar se a implementação do S está funcionando de acordo com a especificação do projeto. Caso for encontrada qualquer discordância, uma nova síntese pode ser elaborada. 1.2. Simulação de Circuitos igitais O objetivo da simulação é verificar se o projeto do circuito digital, especificado via captura esquemática ou via linguagem de descrição de hardware (HL), executa corretamente de acordo com as suas especificações. Há duas categorias de simulação, funcional e temporizada. A simulação funcional simula a operação do circuito a partir de uma perspectiva lógica apenas, sem se preocupar com os atrasos de propagação dos sinais pelos componentes. Todos os dispositivos operam com tempos de atraso, setup e hold iguais a zero. Ela apenas verifica as equações booleanas e o seqüenciamento da máquina de estados. e uma maneira geral, é mais rápida que a simulação temporizada, permitindo assim encontrar erros de projeto mais rapidamente. A simulação temporizada simula a operação do circuito sob uma perspectiva de propagação de sinais pelos componentes. Todos os dispositivos operam com tempos de atraso, setup e hold reais. Ou seja, circuitos logicamente corretos, mas que não obedecem, por exemplo, o tempo de setup de um dos componentes pode produzir resultados diferentes do esperado. Geralmente, esta simulação usa atrasos do pior caso (worst-case delays), de modo que um circuito real deve operar mais rápido que o simulado. Ela é usada para verificar problemas de temporização, mas pode também ser usada para re-verificar as equações booleanas e o sequenciamento da máquina de estados. Por se tratar de um processo mais demorado, é normalmente usado depois de uma simulação funcional. Várias ferramentas dispõem do recurso de simulação. O Altera uartus II 1 oferece este recurso com auxílio do editor de formas de onda, como ilustrado na figura 1.2 abaixo. Figura 1.2 - Editor de formas de onda do uartus II. 1.3. Linguagens de escrição de Hardware Uma alternativa à entrada esquemática de um circuito digital em um sistema de projeto auxiliado por computador é utilizar a técnica de projeto de PLs baseado em uma ferramenta de projeto baseado em texto ou linguagem de decrição de hardware (HL). Exemplos de HLs são o AHL (Altera Hardware escription Language) e os padrões VHL e Verilog. O projetista cria um arquivo de texto, seguindo certo conjunto de regras, conhecido como sintaxe da linguagem, e usa um compilador para criar dados de programação do dispositivo lógico programável (PL). Esta descrição de hardware pode ser usada para gerar projetos hierárquicos, ou seja, um componente definido em uma descrição pode ser usado para gerar um hardware específico ou ser usado como parte de outro projeto. Uma grande vantagem das HLs em relação à entrada esquemática é que elas podem representar diretamente equações booleanas, tabelas verdade e operações complexas (p.ex. operações aritméticas). 1 O software Altera uartus II removeu a ferramenta de simulação a partir da versão 10.0. Esta experiência recomenda o uso da versão 9.1sp2. Simulação de Circuitos (2012) 2

Linguagem VHL O nome VHL é um acrônimo de VHSIC Hardware escription Language. Já o termo VHSIC é o acrônimo de Very High Speed Integrated Circuit Assim podemos traduzir o nome VHL como algo do tipo "linguagem de descrição de hardware para circuitos integrados de velocidade muito alta". A linguagem VHL foi originalmente desenvolvida por empresas contratadas pelo governo americano e agora é um padrão requerido pro todos os ASICs (Application Specific Integrated Circuits) projetados para o exército americano. Ele foi padronizado pelo IEEE em 1987 (Padrão 1076-1987 ou VHL 87) e foi atualizado em 1993 (Padrão 1076-1993 ou VHL 93). Os trabalhos do IEEE continuam e uma nova revisão está em desenvolvimento (VHL 200x). Todo arquivo VHL requer ao menos duas estruturas: uma declaração de entidade e uma arquitetura. A declaração de entidade define os aspectos externos da função VHL, isto é, os nomes das entradas e saídas e o nome da função. A arquitetura define os aspectos internos, isto é, como as entradas e saídas influem no funcionamento e como se relacionam com outros sinais internos. Um exemplo de uma descrição VHL é mostrado a seguir. -- somador de 4 bits: descrição comportamental VHL library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity somador_4bits is port(b, A : in std_logic_vector(3 downto 0); C0 : in std_logic; S : out std_logic_vector(3 downto 0); C4 : out std_logic); end somador_4bits; architecture comportamental of somador_4bits is signal soma : std_logic_vector(4 downto 0); begin soma <= ('0' & A) + ('0' & B) + ("0000" & C0); C4 <= soma(4); S <= soma(3 downto 0); end comportamental; Os sinais de entrada e saída são do tipo std_logic e std_logic_vector. O tipo std_logic é definido no pacote ieee.std_logic_1164 e pode assumir os valores 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H' ou '-'. O tipo std_logic_vector representa um vetor de bits. O somador possui 3 sinais de entrada: A, B e C0, e 2 sinais de saída: S e C4. São usados dois operadores: + representa uma adição e & representa uma concatenação de bits. Assim, '0' & A representa um vetor de 5 bits contendo '0' A(3) A(2) A(1) A(0). Após a realização de uma operação de adição com os sinais de entrada, a descrição atribui o bit mais significativo de soma a C4 e os outros bits em S. Simulação de Circuitos (2012) 3

2. PARTE EXPERIMENTAL 2.1. Atividades Pré-Laboratório Nesta experiência será usado o software uartus II da Altera para a simulação dos circuitos abaixo. Consulte as seções relevantes da apostila "Tutorial para Criar e Simular Circuitos igitais no Altera uartus II - versão 9.1" (disponível na página web da disciplina) para instruções de uso do programa (criação de um projeto de circuito, compilação e simulação). esenvolva a simulação dos circuitos a serem estudados na experiência e traga os resultados para o Laboratório igital. 2.2. Circuito Assíncrono Seja o circuito da figura 2.1 abaixo. C K 1 1 2 3 C K CK 2 3 A C K 4 4 Figura 2.1 - Circuito assíncrono a ser simulado e estudado. Simulação a) esenhe este circuito no Altera uartus II usando o editor gráfico, não se esquecendo de criar um projeto para ele. Em seguida, salve e verifique a presença de erros. b) [Simulação Temporizada] Simule o comportamento do circuito, conforme descrito na apostila "Tutorial para Criar e Simular Circuitos igitais no Altera uartus II - versão 9.1". Apresente as formas de onda dos sinais 1, 2, 3, A e 4. ICAS: use valores para End Time e Grid size de 1s e 10ms, respectivamente. Imprima a forma de onda obtida para ser anexada no relatório. c) Explique a forma de onda obtida a partir da simulação executada. d) [Simulação Funcional] Para realizar uma simulação sem considerar o atraso dos componentes, devese acionar o comando de menu Assignments > Settings no uartus II. Na janela, selecione a categoria Simulator Settings conforme a figura 2.2. Ajuste o modo de simulação para Functional. ICA: antes de executar a simulação funcional, é preciso executar o comando Processing > Generate Functional Simulation Netlist. Figura 2.2 Configuração do modo de simulação. Simulação de Circuitos (2012) 4

e) Apresente as formas de onda esperadas para os sinais 1, 2, 3, 4 e A caso os flip-flops e a porta NAN não apresentassem atrasos de propagação (simulação funcional). Compare-as com aquelas obtidas na simulação temporizada. f) ual foi a influência destes atrasos nos componentes na diferença nas formas de onda do sinal 4 dos itens (b) e (d)? Montagem g) Usando o circuito integrado 7474, implemente o circuito da figura 2.1 e realize a montagem no painel. h) Com auxílio do osciloscópio, obtenha as formas de onda dos sinais 1, 2, 3, 4 e A. i) Compare as formas de onda obtidas com aquelas provenientes das simulações executadas. Comente. 2.3. escrição VHL j) Estude a descrição VHL abaixo para um decodificador 3x8 e introduza comentários para cada linha. A descrição é baseada na função booleana de cada uma das saídas s do decodificador em função dos sinais de entrada x. -- escrição VHL adaptada do livro "Projeto, esempenho e Aplicações -- de Sistemas igitais em Circuitos Programáveis (FPGAs)" -- Bless Gráfica e Editora Ltda., 2003. library ieee; use ieee.std_logic_1164.all; entity dec3x8 is port( x: in std_logic_vector(2 downto 0); s: out std_logic_vector(7 downto 0)); end dec3x8; architecture arch_dec3x8 of dec3x8 is begin s(0) <= not(x(2)) and not(x(1)) and not(x(0)); s(1) <= not(x(2)) and not(x(1)) and x(0); s(2) <= not(x(2)) and x(1) and not(x(0)); s(3) <= not(x(2)) and x(1) and x(0); s(4) <= x(2) and not(x(1)) and not(x(0)); s(5) <= x(2) and not(x(1)) and x(0); s(6) <= x(2) and x(1) and not(x(0)); s(7) <= x(2) and x(1) and x(0); end arch_dec3x8; k) Com base na descrição acima, projete e elabore a descrição VHL de um decodificador 4x16. ICA: chame a entidade dec4x16 e salve a descrição no arquivo dec4x16.vhd. l) Execute a simulação da descrição acima no uartus II e verifique o seu comportamento. Obtenha uma forma de onda semelhante ao da figura 2.3. m) Execute agora o comando de menu Tools > Netlist Viewers > RTL Viewer. Analise a saída do comando e relacione com a descrição VHL. n) Elabore agora uma descrição VHL de um somador binário de 5 bits (somador5.vhd). o) Execute a simulação no uartus II e verifique seu funcionamento. p) Execute o comando RTL Viewer e comente a saída. Simulação de Circuitos (2012) 5

Figura 2.3 Carta de tempo obtida pela simulação do decodificador 3x8. 2.4. Perguntas q) ual é o papel da simulação no processo de desenvolvimento de circuitos digitais? Escreva com suas próprias palavras. r) uais as vantagens do uso de ferramentas de simulação no processo de desenvolvimento de circuitos digitais? s) Exemplifique outros usos possíveis da simulação. t) Mostre uma aplicação do comando RTL Viewer disponível no Altera uartus II. u) Analise o uso de linguagens de descrição de hardware, como o VHL, no projeto de circuitos digitais. 3. BIBLIOGRAFIA FREGNI, E. & SARAIVA, A. M. Engenharia do Projeto Lógico igital: conceitos e prática. Edgard Blücher, 1995. KIME, C. R.; MANO, M. M. Logic and computer design fundamentals. 3 rd ed., New Jersey: Prentice Hall, 2004. MENEZES, M.P.; SATO, L.M.; MIORIKAWA, E. T. Tutorial para Criar e Simular Circuitos igitais no Altera uartus II - versão 9.1. Apostila de Laboratório igital. Escola Politécnica da USP, 2011. ORONEZ, E..M.; PEREIRA, F..; PENTEAO, G.; PERICINI, R.A. Projeto, esempenho e Aplicações de Sistemas igitais em Circuitos Programáveis (FPGAs). Bless Gráfica e Editora Ltda., 2003. RANZINI, E.; HORTA, E. L. Lógica programável. Apostila de Laboratório igital. Escola Politécnica da USP, 2000. Manuais da Altera. TOCCI, R. J.; WIMER, N. S.; MOSS, G. L. igital Systems: principles and applications. 11 th ed., Prentice-Hall, 2011. WAKERLY, J. F. igital design: principles and practice. 4 th ed., New Jersey: Prentice- Hall, 2006. Simulação de Circuitos (2012) 6

4. MATERIAL ISPONÍVEL Circuitos Integrados TTL: 7410, 7474. 5. RECURSOS NECESSÁRIOS 1 painel de montagens experimentais. 1 fonte de alimentação fixa, 5V 5%, 4A. 1 computador tipo IBM-PC com software Altera uartus II. 1 impressora. Histórico de Revisões Edson T. Midorikawa, Ricardo Caneloi dos Santos e ante Tantalean / 2002 E.T.M./2003 revisão E.T.M./2004 revisão E.T.M./2005 revisão E.T.M./2007 revisão da parte experimental. E.T.M./2012 revisão Simulação de Circuitos (2012) 7