Projeto Moderno de Sistemas Digitais

Documentos relacionados
FPGA & VHDL. Tutorial

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

Introdução à Computação

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

Parte # 2 - Circuitos Combinatórios

Projeto com Linguagens de Descrição de Hardware

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

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

Hardware Reconfigurável

Prof. Leonardo Augusto Casillo

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

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

Introdução à Linguagem VHDL

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS DLP. 15/8/2013 Prof. Joselito ELP1DLP1 / npee / DEE 1

FPGA - Field Programmable Gate Array

Introdução a Sistemas Digitais

Calculadora Simples em VHDL

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

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

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

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

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

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

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

PROJETO DE SISTEMAS DIGITAIS

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

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

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

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

CMP238 Projeto e Teste de Sistemas VLSI

Sistemas Digitais (SD) Lógica Programável

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

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 26/08/2015 Prof. Alexandre - ELP1DLP1 1

Sempre que ocorre uma grande

Field Programmable Gate Array - FPGA / Minicurso teórico-prático em Computação Híbrida

PROJETO DE SISTEMAS DIGITAIS

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

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

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 1 - Introdução

13 CIRCUITOS DIGITAIS MOS

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

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

Field Programmable Gate Array - FPGA / Mini-curso de Computação Híbrida Reconfigurável

Eletrônica Digital para Instrumentação. Prof: Herman Lima Jr

Introdução ao Desenvolvimento de Circuitos Digitais Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Computadores dedicados

INF Técnicas Digitais para Computação. Introdução. Aula 1

SIMULAÇÃO DE CIRCUITOS

3 Realização e Caracterização do Módulo Transmissor

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

SIMULAÇÃO DE CIRCUITOS E DISPOSITIVOS PROGRAMÁVEIS

Funcionamento Área Desempenho (velocidade) Potência Aula 1. Circuitos Digitais. Circuitos Digitais

Funções de Lógica Combinacional

Projeto de Circuitos Aritméticos

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

1 Objetivos. 2 Material utilizado. 3 Normas de segurança e conduta no laboratório. 4 Contextualização. Pág 1/6

ISE com VHDL estrutural

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

Plano de Ensino. Leandro Schwarz Endereço eletrônico:

Prototipação de Sistemas Digitais. Metodologia de Projetos Cristiano Araújo

FPGA Field Programmable Gate Array

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

Sistemas Digitais (SD)

CMP 238 Projeto e Teste de um Sistema VLSI

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO

Projeto de um Relé de Proteção utilizando a tecnologia de FPGAs

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.

SISTEMAS DIGITAIS. Definição Sistemas Digitais e espaço de projeto. Metodologia de Projeto. Aula

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Laboratório sobre Implementação de Sistemas Digitais com VHDL Multiplicação por somas sucessivas

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

Interface com Sensor Ultrassônico de Distância

Plano de Ensino. Leandro Schwarz Endereço eletrônico:

Introdução ao módulo LabVIEW FPGA

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

PROJETO DE SISTEMAS. DIGITAIS UTILIZANDO FPGAs. Parte 1

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

- Arquitetura de sistemas digitais- Cap 1 - Introdução

Opções de Design para Circuitos Integrados CMOS

Revisão: Projeto de Processadores em VHDL

Multiplicador Binário com Sinal

Memória SRAM 64x8 bits

Dispositivos Lógicos Programáveis

Introdução à Computação: Máquinas Multiníveis

1 Objetivos. 2 Material utilizado. 3 Normas de segurança e conduta no laboratório. 4 Contextualização. Pág 1/18

Linguagens de descrição de hardware. Modelação de um circuito (digital)

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil. grace@fem.unicamp.

Desenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas

CALCULADORA SIMPLES COM ULA

Barramento CoreConnect

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

Tópicos em Sistemas Embarcados. Esterel

Comunicação Serial Assíncrona

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Transcrição:

Projeto Moderno de Sistemas Digitais Edson Midorikawa 1 Tópicos Projeto Convencional Projeto com HDLs e FPGAs Fluxo de Projeto Moderno Codificação em HDLs Altera DE2 Digilent Nexys 3 2

Tecnologias de Lógica Digital Projeto convencional Projeto moderno Projeto VLSI Fonte: Rapid Prototyping of Digital Systems - SoPC Edition, 2007 3 Tecnologias de Lógica Digital Fonte: Rapid Prototyping of Digital Systems - SoPC Edition, 2007 4

Projeto Convencional Captura Esquemática Uso de blocos padrão para projeto digital. Baseado em portas lógicas e outros componentes MSI e SSI. Bastante usado até início da década de 90. Muitos softwares EDA (ElectronicDesign Automation) ainda oferecem suporte (ex. Altera Quartus II). 5 Captura Esquemática Projeto Convencional Crítica: uso de blocos padrão pode ser um inconveniente. Exemplo: projeto de contador de 5 ou 12 bits Os blocos padrão para contadores TTL são de 4 ou 8 bits. Solução: subutilização ou cascateamento de contadores. LEGO 6

Projeto Convencional Captura Esquemática Projeto com componentes SSI e MSI (CIs e placas de circuito impresso) Fonte: Digital Design, 2006, Frank Vahid. 7 Projeto Convencional Captura Esquemática e Complexidade Problemas para projeto mais complexos. Suporte a projeto modular e hierárquico. Módulos Bus 8

Projeto Convencional Captura Esquemática e ASICs Uso de captura esquemática em projeto de ASICs (application-specificintegratedcircuits) foi amplo até a década de 80. Com o aumento do tamanho (número de portas lógicas equivalente) e complexidade, a captura esquemática se tornou mais um obstáculo do que uma ferramenta para auxílio ao projeto de CIs. Atualmente projetos de ASICsusam HDLs(hardware descriptionlanguages-linguagens de descrição de hardware). Fonte: VHDL Coding and Logic Synthesis with Synopsys, 2000. 9 Projeto com HDLse FPGAs Histórico Mudança na forma de projetar circuitos Baseado em ferramentas EDA FPGA 10

Projeto com HDLse FPGAs Histórico Cerca de 1977: primeiras linguagens de descrição de hardware ISP (Instruction Set Processor) - Carnegie Mellon University KARL - University of Kaiserslautern, Alemanha. Uso inicial na simulação de circuitos Outros: 1983: ABEL 1985: Verilog 1987: VHDL VHDL: Proposta do DoD para especificação de projetos de hardware. Uso para simulação lógica das propostas. Posteriormente usado para síntese de circuitos. 11 Projeto com HDLse FPGAs Mudança na forma de projetar circuitos Com o aumento na complexidade de circuitos digitais, não é mais possível ter um único projetista com a visão global do projeto. Desenvolvimento organizado em grupos de projeto: Divisão em módulos distintos; Grupos de projetistas; Uso de ferramentas de projeto; Teste e integração de módulos a partir de especificações. Uso de linguagens específicas: HDL (hardware description language): p.ex: VHDL e Verilog; SDL (system description language): p.ex: SystemC. 12

Projeto com HDLse FPGAs Baseado em ferramentas EDA Suporte de ferramentas de projeto: Síntese de circuitos (p.ex. biblioteca de módulos, padrões de projeto) Simulação (verificação da lógica, restrições de tempo) Exemplos: Altera Quartus II Xilinx ISE Design Suite ModelSim da Mentor Graphics Empresas de EDA (fonte: Wikipedia): $3.85 billion- Synopsys $2.80 billion- Cadence $1.49 billion- Mentor Graphics $506 million- Magma Design Automation 13.22 billion- Zuken Inc. 13 Projeto com HDLse FPGAs Algumas considerações: Evolução nos custos Fonte: The Simple Art of SoCDesign. 2011. 14

Projeto com HDLse FPGAs O aumento nos custos de projeto de chipsmostram que a questão predominante se refere a escrita, teste e depuração de código. Fonte: The Simple Art of SoCDesign. 2011. 15 Projeto com HDLse FPGAs HARDWARE = SOFTWARE? Fonte: The Simple Art of SoCDesign. 2011. 16

Projeto com HDLse FPGAs Revoluções no projeto de hardware Fonte: The Simple Art of SoCDesign. 2011. 17 Projeto com HDLse FPGAs Fluxo de projeto com FPGAs Fonte: RTL Hardware Design Using VHDL. Pong P. Chu, 2006. 18

Projeto com HDLse FPGAs FPGA (Field-Programmable Gate Array) Dispositivo programável no campo (após a fabricação) Contém alguns milhões de transistores conectados para realizar funções lógicas. Especificado usando HDLs, como SoCs, ASIPs e ASICs. Primariamente contém apenas componentes digitais. Outros tipos: Mixed signal FPGAs Field-programmable analog array(fpaa) 19 Projeto com HDLse FPGAs FPGA (Field-Programmable Gate Array) Desenvolvido em 1985 pela Xilinx. Arquitetura interna: CLB(Combinational Logic Block): elementos lógicos. IOB(Input/Output Block): interfaceamento(buffers) com pinos de E/S. Switch Matrix (chaves de interconexões): estrutura reconfigurávelde conexões de blocos lógicos e de E/S. 20

Projeto com HDLse FPGAs Arquitetura interna de FPGAs Consiste de centenas ou milhares de CLBse Switch Matrices (SMs) em um arranjo regular dentro do circuito integrado. 21 Projeto com HDLse FPGAs Arquitetura interna de CLBs: Lógica programável com LUTs(look-up tables). Reconfigurabilidade baseada em SRAMs. Exemplo: função com duas variáveis =. +. configuração consiste no armazenamento de bits de configuração em memória específica. 22

Projeto com HDLse FPGAs Arquitetura interna de CLBs: Associação de LUTs(funções com mais variáveis). Fonte: Digital Design, 2006, Frank Vahid. 23 Projeto com HDLse FPGAs Arquitetura Interna de Switch Matrices: Configuração também baseada em SRAM. Fonte: Digital Design, 2006, Frank Vahid. 24

Projeto com HDLse FPGAs Arquitetura interna de CLBs: CLBs contém também flip-flops para lógica sequencial. Fonte: Digital Design, 2006, Frank Vahid. 25 Projeto com HDLse FPGAs Arquitetura interna de CLBs: Reconfiguração dos flip-flops para lógica sequencial. Fonte: Digital Design, 2006, Frank Vahid. 26

Projeto com HDLse FPGAs Programação de FPGAs Fonte: Digital Design, 2006, Frank Vahid. 27 Fluxo de Projeto Moderno Desenvolvimento de um projeto de um circuito integrado Etapas genéricas Baseado em HDLs 28

Fluxo de Projeto Moderno 2 1 5 3 4 6 8 7 9 Fonte: Verilog Coding for Logic Synthesis, 2003. 29 Fluxo de Projeto Moderno Passo 1: Especificação Fonte: Verilog Coding for Logic Synthesis, 2003. 30

Fluxo de Projeto Moderno Passo 1: Especificação Parte mais importante do fluxo de projeto Definição das características e funcionalidades Desenvolvimento da especificação em VHDL (descrição comportamental) 31 Fluxo de Projeto Moderno Passo 2: Codificação RTL Fonte: Verilog Coding for Logic Synthesis, 2003. 32

Fluxo de Projeto Moderno Passo 2: Codificação RTL Início da fase de projeto Desenvolvimento da arquitetura a partir da especificação RTL = register transfer level Descrição do circuito como uma combinação de blocos combinatórios e registradores Implementação do projeto com a codificação em código RTL sintetizável 33 Fluxo de Projeto Moderno Passo 3: Testbench e Simulação Fonte: Verilog Coding for Logic Synthesis, 2003. 34

Fluxo de Projeto Moderno Passo 3: Testbench e Simulação Simulação do código RTL para verificação (funcional) Testbench= ambiente para simulação, incorporando a geração de estímulos e verificação dos resultados (formas de onda ou asserções) Se for detectado um erro no código VHDL, o projeto deve ser debugado e resimulado. 35 Fluxo de Projeto Moderno Passo 4: Síntese Fonte: Verilog Coding for Logic Synthesis, 2003. 36

Fluxo de Projeto Moderno Passo 4: Síntese Síntese do projeto = conversão do código RTL em portas lógicas A lógica sintetizada deve ter as mesmas funcionalidades lógicas do código RTL Entradas: Código RTL Definição da tecnologia (p.ex. standard cells) Restrições de projeto (p.ex. timing, requisitos de carga) Otimizações possíveis: Área, consumo de energia, velocidade 37 Fluxo de Projeto Moderno Passo 5: Análise Temporal Pré-layout Fonte: Verilog Coding for Logic Synthesis, 2003. 38

Fluxo de Projeto Moderno Passo 5: Análise Temporal Pré-layout Análise estática de tempos do projeto sintetizado Pré-layout= sem informação da geometria e alocação no chip Exemplo de análise: Violação de tempos de setup(preparação) e hold(manutenção) Correção: inserção de blocos de atraso 39 Fluxo de Projeto Moderno Passo 6: APR (auto-place-route) Fonte: Verilog Coding for Logic Synthesis, 2003. 40

Fluxo de Projeto Moderno Passo 6: APR (auto-place-route) Portas lógicas do projeto sintetizado são alocadas e roteadas no circuito integrado. Caminho crítico (criticalpath): devem ser consideradas como de alta prioridade no processo de alocação e roteamento. Inclui também a síntese da árvore de clock. Deve minimizar problemas de clock skew. 41 Fluxo de Projeto Moderno Passo 7: Back annotation Fonte: Verilog Coding for Logic Synthesis, 2003. 42

Fluxo de Projeto Moderno Passo 7: Back annotation Extração de características elétricas (RC parasitics) a partir do layout do circuito integrado. O atraso de propagação de uma linha de interconexão pode ser calculado a partir destas características elétricas. Linhas longas = atrasos grandes de propagação Etapa importante que antecede a análise de tempos final do circuito integrado (layout final). Análises das etapas anteriores eram baseadas em estimativas não precisas de atrasos. 43 Fluxo de Projeto Moderno Passo 8: Análise Temporal Pós-layout Fonte: Verilog Coding for Logic Synthesis, 2003. 44

Fluxo de Projeto Moderno Passo 8: Análise Temporal Pós-layout Verificação de violações de tempo reais com a inclusão de informação do layout físico do circuito integrado. Informação de atrasos da rede de interconexão provenientes da etapa de back annotation é usada nesta análise. Se houver alguma violação de requisitos, deve-se redefinir a etapa de alocação e roteamento dos componentes (repetição dos passos até que os requisitos sejam alcançados). 45 Fluxo de Projeto Moderno Passo 9: Verificação Lógica Fonte: Verilog Coding for Logic Synthesis, 2003. 46

Fluxo de Projeto Moderno Passo 9: Verificação Lógica Última verificação do projeto para analisar o correto funcionamento do circuito Usa os mesmos arquivos de teste do passo 3 (testbenches). Resimulação considerando os tempos de atraso reais. 47 Codificação em HDLs Estilos de codificação em HDL: Comportamental Fluxo de dados Estrutural RTL 48

Codificação em HDLs Fonte: Verilog Coding for Logic Synthesis, 2003. 49 50

Codificação em HDLs Descrição Comportamental Visão caixa preta do sistema em desenvolvimento Uso no teste no nível de sistema algoritmo interno comandos sequenciais 51 52

Codificação em HDLs Descrição em Fluxo de Dados Descrição de como as entradas e saídas estão conectadas usando componentes primitivos (p.ex. portas),ou seja, como dos sinais (dados) fluem pelo circuito. Uso de comandos concorrentes. Exemplo: latch SR entity latch is port (s,r : in bit; q,nq : out bit); end latch; architecture dataflow of latch is begin q <= r nor nq; nq <= s nor q; end dataflow; 53 Descrição Estrutural Codificação em HDLs Estrutural = blocos conectados Definição dos componentes que compõem o sistema Detalhamento das conexões entre os componentes Exemplo: latch SR architecture structure of latch is component nor_gate port (a,b: in bit; c: out bit); end component; begin n1: nor_gate port map (r,nq,q); n2: nor_gate port map (s,q,nq); end structure; 54

Codificação em HDLs Descrição RTL (Register Transfer Level) Usado na síntese de circuitos Subconjunto da linguagem VHDL IEEE Std 1076.6 - IEEE Standard for VHDL Register Transfer Level(RTL) Synthesis 55 Próximo Módulo Módulo II: Projeto de Circuitos Digitais com VHDL Alguns elementos de linguagem Descrição de circuitos combinatórios Introdução aos circuitos sequenciais (flip-flopse registradores) Pequenos exemplos Hands-on com Altera Quartus II Criação de projetos Compilação Simulação 56

Próximo Módulo Módulo II: Projeto de Circuitos Digitais com VHDL Preparação: Leitura da documentação da Altera 1. Quartus II Introduction using VHDL Designs ftp://ftp.altera.com/up/pub/altera_material/9.1/tutorials/vhdl/quartus_ii_introduction.pdf 2. Quartus II Simulation using VHDL Designs ftp://ftp.altera.com/up/pub/altera_material/9.1/tutorials/vhdl/quartus_ii_simulation.pdf 57