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

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

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

Banco de Registradores e ULA

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

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

Banco de Registradores

Projeto com Linguagens de Descrição de Hardware

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

EPUSP PCS 2308 Laboratório Digital. Trena Digital

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

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

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

UM PROCESSADOR SIMPLES

Calculadora Simples em VHDL

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

CONTROLE DE UM SERVO MOTOR

Circuito de Recepção Serial Assíncrona

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

Interface com Sensor Ultrassônico de Distância

MELHORAMENTO NO PROCESSADOR SIMPLES

PROJETO DE SISTEMAS DIGITAIS

Comunicação Serial Assíncrona

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

Multiplicador Binário com Sinal

Desenvolvimento de um Circuito Complexo

PROJETO DE SISTEMAS DIGITAIS

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Processador nanopcs-3

CALCULADORA SIMPLES COM ULA

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Circuito Hierárquico

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

Processador nanopcs-4

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

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

Dispositivos de Lógica Programável

Parte # 2 - Circuitos Combinatórios

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital

PROJETO DE SISTEMAS DIGITAIS

Projeto com Dispositivos Programáveis

Comunicação Serial Assíncrona

Primeiro Circuito Digital

FPGA & VHDL. Tutorial

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

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

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

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

Hardware Reconfigurável

Resumo teórico INTRODUÇÃO AOS DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

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

Painel Luminoso com LEDs

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

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

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS. SEL Sistemas Digitais Prof. Homero Schiabel

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Metodologia de Projeto com Dispositivos Programáveis

Dispositivos Lógicos Programáveis (PLDs) Leandro Schwarz

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

Introdução à Computação

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

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

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

Introdução ao Laboratório Digital

Profa. Luiza Maria Romeiro Codá Profa. Dra Maria Stela Veludo de Paiva

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

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

Painel Luminoso com LEDs

SISTEMAS DIGITAIS (SD)

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Projetos de Circuitos Digitais em VHDL e FPGA

Introdução ao Altera DE2. Edson Midorikawa

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Dispositivo Lógico Programável(PLD)

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Introdução ao Laboratório Digital

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Projeto de Circuitos Aritméticos

Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Sistemas Eletrônicos - PSI

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados.

Unidade Lógica e Aritmética

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

Exercícios de Laboratório 3

Sistemas Digitais I LESI :: 2º ano. Introdução

Introdução ao Laboratório Digital

SIMULAÇÃO DE CIRCUITOS E DISPOSITIVOS PROGRAMÁVEIS

NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA

Desenvolvimento Sistemático de Projetos de Circuitos Digitais

ELETRÔNICA DIGITAL I

Exercícios de Laboratório 1

EPUSP - PCS 2308/ LABORATÓRIO DIGITAL LÓGICA PROGRAMÁVEL

Introdução ao Laboratório Digital

Unidade Lógica e Aritmética

Transcrição:

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Versão 2013 RESUMO Nesta experiência será desenvolvido um projeto de sistema digital em um dispositivo programável (FPGA) com a aplicação de uma metodologia estruturada. A parte experimental consiste na aplicação desta metodologia, através do projeto de um circuito simples, desenvolvido com o auxílio da ferramenta de software Quartus II da Altera e implementado com a placa de desenvolvimento DE2 da Altera com o dispositivo lógico Altera Cyclone II EP2C35F672C6. OBJETIVOS Após a conclusão desta experiência, os seguintes tópicos devem ser conhecidos pelos alunos: Lógica programável; Metodologia de projeto estruturado; Projeto com FPGA. 1. PARTE TEÓRICA 1 1.1. Uma Metodologia Estruturada de Projeto de Circuitos Digitais Um sistema digital (SD) é um sistema com entradas e saídas, como qualquer outro sistema real. Com a evolução e o aumento da complexidade de sistemas digitais, a metodologia tradicional se mostrou limitada e novas estratégias tiveram de ser desenvolvidas. O projeto hierárquico foi uma forma de tratar a complexidade dos circuitos grandes, com a divisão do circuito em blocos ou módulos menores que são projetados em separado e depois interligados para compor o sistema completo. Para gerenciar a complexidade do projeto de um sistema digital não trivial, convém adotar uma estratégia do tipo dividir para conquistar (divide and conquer), onde um sistema é organizado como um conjunto de subsistemas menores interligados entre si. Esta metodologia de desenvolvimento estruturado de sistemas digitais é descrito com mais detalhes em [Midorikawa, 2011]. O projeto de um sistema digital pode ser organizado, em um primeiro nível, particionando o SD em duas partes com funções distintas: o Fluxo de dados (FD) e a Unidade de controle (UC). O fluxo de dados compreende a parte do circuito responsável pela manipulação, processamento, armazenamento e geração de dados. A unidade de controle é responsável pelo sequenciamento das operações executadas no fluxo de dados, de forma a garantir o correto funcionamento do circuito. A figura 1 mostra um diagrama com a estruturação interna detalhada do SD, onde são apresentadas as duas partes principais e os sinais internos para interconexão entre elas. Figura 1 Estruturação interna de um sistema digital. 1 Para complementar os conceitos básicos, recomenda-se a leitura dos apêndices disponíveis na página web do Laboratório Digital. Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis (2013) 1

Os sinais de entrada de dados são ligados ao fluxo de dados, que também gera sinais de saída. Os sinais de estado indicam o estado atual do fluxo de dados e incluem sinais como o valor atual de um determinado registrador, a saída de um comparador e a detecção de uma condição em particular. Os sinais de estado do fluxo de dados e os sinais de entrada de controle são os responsáveis pela execução da unidade de controle. Normalmente a unidade de controle é modelada usando um circuito sequencial através de uma máquina de estados finitos. A saída da unidade de controle são sinais de controle para os componentes do fluxo de dados, como por exemplo, a seleção de função de uma ULA, a habilitação de um contador ou a habilitação de um circuito de memória RAM. Opcionalmente, a unidade de controle também pode gerar alguns sinais de saída. Por exemplo, é conveniente gerar como saída uma identificação do estado atual da máquina de estados finitos para ser usada para a depuração do circuito. 1.2. Projeto do Fluxo de Dados O fluxo de dados deve ser projetado como um circuito digital no nível de transferência de registradores. Um sistema é dito estar no nível de transferência de registradores (RTL register transfer level) se as informações fluírem pelo circuito através de componentes de memória ou registro de dados (registradores). À medida que os dados fluem pelo circuito, estes podem ser manipulador por blocos combinatórios implementando uma determinada lógica (fig.2). Figura 2 Circuito no nível RTL. O circuito descrito na figura 2 é basicamente um circuito sequencial síncrono, onde um sinal global de relógio (clock) gerencia o fluxo de informações pelo sistema digital. O bloco de lógica combinatório pode incluir um circuito com portas lógicas ou outros componentes mais complexos, como, multiplexadores, decodificadores, ULAs, etc. Já os módulos registradores incluem registradores, propriamente ditos, ou simplesmente flip-flops ou ainda registradores de deslocamento. 1.3. Projeto da Unidade de Controle A unidade de controle deve organizar o funcionamento correto do sistema digital garantindo o correto sequenciamento de operações realizadas pelo fluxo de dados. Uma forma para desenvolver a unidade de controle é a partir do diagrama de transição de estados ou do diagrama ASM correspondente. O diagrama de transição de estados modela o sequenciamento de operações de acordo com as entradas e o estado atual do circuito digital. A figura 3 abaixo ilustra um diagrama de transição de estados. N1 e N2 desativados S0/ condições iniciais N1 acionado N2 acionado N1 acionado S1/ copia IN em R1 S2/ copia IN em R2 N2 acionado M1 acionado S3/ <nada> Nenhuma S4/ entrada acionada copia R1 para R3 S5/ M2 acionado copia R2 para R3 Figura 3 Exemplo de diagrama de transição de estados. Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis (2013) 2

Um diagrama ASM (algorithmic state machine) é um diagrama similar à máquina de estados finita. Seus principais elementos são bloco de estado, bloco de decisão e bloco de saída condicional [Givone, 2003] [Mano & Kime, 2000]. A implementação da unidade de controle pode ser realizada de várias formas. As alternativas incluem usar a linguagem de descrição de hardware AHDL (Altera HDL), circuitos integrados MSI e SSI (registradores, decodificadores, multiplexadores e portas lógicas) ou a linguagem VHDL. 1.4. PROJETO DO SISTEMA DIGITAL Terminado o desenvolvimento do fluxo de dados e da unidade de controle do projeto do sistema digital, resta a integração destas partes para concluir o sistema digital (fig.1). A figura 4 apresenta o diagrama de captura esquemática do projeto exemplo apresentado em [Midorikawa, 2011] do módulo de sistema digital. Figura 4 Diagrama esquemático do sistema digital completo do projeto exemplo. 1.5. Dispositivo Programável Altera Cyclone II Diferentemente dos componentes MSI e SSI que possuem lógica fixa, uma classe inteira de componentes digitais são conhecidos como dispositivos de lógica programável (PLD programmable logic device). Os PLDs permitem a modificação da lógica implementada por eles através da programação de uma nova configuração de bits (bit stream). Existem vários tipos de dispositivos programáveis, tais como, PALs (programmable array logic), PLAs (programmable logic array), CPLDs (complex programmable logic device) e FPGAs (field-programmable gate array). Estes últimos foram desenvolvidos na década de 1980 pela fabricante Xilinx e tem uma estrutura interna organizada conforme ilustrada na figura 5. Figura 5 Estrutura interna de FPGAs. Os blocos lógicos são responsáveis pela implementação da lógica do circuito digital e contém elementos para o projeto de lógica combinatório, baseado em LUTs (lookup tables), e registradores. A matriz de interconexão configurável permite a conexão dos blocos lógicos e com os blocos de I/O, que fazem a interface com os pinos de I/O do circuito integrado. A família de dispositivos programáveis Cyclone II da Altera são compostos por elementos com até 68.416 elementos lógicos (ou blocos lógicos), até 622 pinos de I/O utilizáveis e até 1,1 Mbits de memória interna. Por exemplo, o dispositivo EP2C35F672C6, usado na placa DE2, tem as seguintes características: 33.216 elementos lógicos; 473 Kbits de memória; 35 multiplicadores 18x18 bits; 475 pinos de I/O para o usuário. Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis (2013) 3

2. PARTE EXPERIMENTAL Nesta experiência sobre Dispositivos Programáveis será desenvolvido o projeto de um sistema digital utilizando-se o dispositivo Altera Cyclone II EP2C35F672C6. As atividades desta experiência incluem a aplicação da metodologia de projeto estruturado [Midorikawa, 2011] e sua implementação com a placa de desenvolvimento DE2 da Altera. DICA: siga as instruções apresentadas em Projeto de Circuitos com Quartus II 9.1 para a implementação de circuitos na placa DE2. 2.1. Atividade Pré-Laboratório Para a preparação para as atividades da experiência, deve-se realizar as atividades abaixo antes da aula. a) Estude a metodologia de projeto apresentada e o projeto exemplo proposto no documento Projeto de Sistemas Digitais, disponível no site do Laboratório Digital. b) Realize o desenvolvimento do projeto exemplo apresentado no documento (fluxo de dados em circuitos integrados MSI/SSI, unidade de controle em VHDL e sistema digital) no software Quartus II, especificando o uso do dispositivo Altera Cyclone II EP2C35F672C6. c) Realize simulações dos três projetos para verificar o funcionamento de cada módulo. 2.2. Especificação do Projeto Contador de Uns d) Projetar o Sistema Digital esquematizado na figura 2.1, que apresenta o seguinte comportamento: Ao ser acionado o botão INICIAR, o SD deve contar quantos bits da via DADOS são iguais a 1, fornecendo esse valor, em BCD, na saída QUANTIDADE. Quando o processo se encerrar, o sinal PRONTO deve ser acionado. O processo pode ser repetido continuamente, cada vez que o botão INÍCIO for acionado. DADOS PRONTO INICIAR CLOCK RESET Contador de Uns QUANTIDADE Figura 2.1 Contador de Uns. e) Realize o desenvolvimento do projeto do Contador de Uns (fluxo de dados, unidade de controle e sistema digital) no software Quartus II, especificando o uso do dispositivo Altera Cyclone II EP2C35F672C6. f) Realize simulações dos três projetos parciais (FD, UC e SD) para verificar o funcionamento de cada módulo. g) Leve os arquivos fonte do projeto para o Laboratório Digital. 2.2. Implementação do Projeto h) Usando o software Quartus II, implemente o projeto exemplo na placa de desenvolvimento DE2 da Altera com a seguinte designação de sinais do projeto: DADOS[0..8] : chaves SW0 a SW8 INICIAR: botão KEY0 CLOCK : clock interno de 50 MHz (CLK_50) RESET : chave SW17 PRONTO : led verde LEDG0 QUANTIDADE : display de 7 segmentos HEX0 DICA: lembrem que os botões na placa DE2 são ativos em baixo. O projeto deve levar isto em consideração. Use a tabela de designação de pinos da placa DE2. i) Programe o projeto na placa DE2 seguindo os passos descritos nas instruções de uso. Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis (2013) 4

j) Com o circuito em funcionamento na placa DE2, execute vários testes para verificar o comportamento do circuito. Use vários valores de entrada. Comente os resultados. Sugestão para o Projeto Esse projeto pode ser realizado dividindo o sistema em duas partes: o FD e a UC. Uma estratégia, que pode ser adotada em linhas gerais, é a seguinte: - A via contendo DADOS é armazenada em um registrador de deslocamento, ao ser acionado o botão INICIO; - O bit menos significativo do registrador de deslocamento é examinado e, sendo igual a 1, um contador é incrementado; - O processo continua, deslocando-se para a direta o conteúdo do registrador de deslocamento e examinando-se sempre o bit menos significativo; - O processo se encerra quando todos os bits iguais a 1, presentes em DADOS já foram contabilizados. A saída do contador contém o valor QUANTIDADE, que é igual ao número de Uns presentes em DADOS. k) (OPCIONAL) Implemente uma modificação no circuito a ser distribuída pelo professor da turma. 2. BIBLIOGRAFIA 1. ALTERA. Cyclone II Device Handbook, Volume I. 2008. 2. ALTERA. DE2 Development and Education Board - User Manual. Version 1.42. 2008. 3. ALTERA. Quartus II Handbook Version 9.1. Volume 1: Design and Synthesis. 2009. 4. MENEZES, Marlim Pereira, SATO, L.M., MIDORIKAWA, E.T. Projeto de Circuitos com Quartus II 9.1. Apostila de Laboratório Digital. 2011. 5. MIDORIKAWA, E.T. Projeto de Sistemas Digitais. Apostila de Laboratório Digital. 2011. 6. TOCCI, R. J., WIDMER, N. S., MOSS, G.L. Digital Systems: principles and applications. 11 th ed., Prentice-Hall, 2011. 7. WAKERLY, J. F. Digital Design: principles and practice. 4 th ed., Prentice- Hall, 2006. 3. EQUIPAMENTOS NECESSÁRIOS 1 placa de desenvolvimento FPGA DE2 da Altera com o dispositivo Altera Cyclone II EP2C35F672C6. 1 computador PC com programa Altera Quartus II e interface USB. Histórico de Revisões E.T.M./2011 adaptação E.T.M./2013 adaptação e revisão E.T.M./2011 (adaptação) Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis (2013) 5