FPGA & VHDL. Tutorial

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

Introdução à Computação

Dispositivos de Lógica Programável

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

Revisão: Projeto de Processadores em VHDL

Projeto com Linguagens de Descrição de Hardware

ELETRÔNICA DIGITAL I

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

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

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

Ciclo de Seminários Técnicos

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

Treinamento em Projeto de Sistemas Digitais

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

FPGA - Field Programmable Gate Array

Projeto Moderno de Sistemas Digitais

Calculadora Simples em VHDL

Sistemas Digitais (SD) Lógica Programável

SISTEMAS DIGITAIS (SD)

Hardware Reconfigurável

Prof. Leonardo Augusto Casillo

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

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

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

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

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

Sistemas Digitais (SD) Lógica Programável

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

DADOS DO COMPONENTE CURRICULAR

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

Introdução à Linguagem VHDL

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

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

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

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

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

Introdução à Linguagem VHDL

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018

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

SÍNTESE EVOLUCIONÁRIA DE CIRCUITOS DIGITAIS EMPREGANDO FPGA S

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

Exercícios de Fixação

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

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

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

Dispositivo Lógico Programável(PLD)

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

Introdução ao módulo LabVIEW FPGA

Parte # 2 - Circuitos Combinatórios

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

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

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

Introdução aos circuitos integrados de aplicação específica

ELETRÔNICA DIGITAL I

VHDL Circuitos Combinacionais

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

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

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

Exercícios de Laboratório 3

Introdução aos Circuitos Integrados de Aplicação Específica

Arquitetura de Computadores

Circuitos Digitais Representação Numérica. Sistema Digital. Circuitos Digitais. Conversão A/D e D/A. Circuitos Digitais

ISE com VHDL estrutural

Projetos de Circuitos Digitais em VHDL e FPGA

Lógica Reconfigurável

Sempre que ocorre uma grande

Organização e Arquitetura de Computadores I

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

VHDL é uma linguagem bastante complexa!

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

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

O Mundo Real é Analógico ou Digital?

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

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

Descrição de um Hardware Multiplicador Parametrizável para Números Sinalizados em Complemento a Dois em Lógica Configurável

LABORG. VHDL Máquina de estados finitos

Organização e Arquitetura de Computadores I

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

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

ELETRÔNICA DIGITAL. Parte 4 Funções Lógicas - Circuitos Integrados. Professor Dr. Michael Klug. 1 Prof. Michael

Organização e Arquitetura de Computadores I

Projeto de Sistemas Embarcados

VHDL é uma linguagem bastante complexa!

Lógica Reconfigurável

Projeto com Dispositivos Programáveis

Computadores dedicados

Funções de Lógica Combinacional

2006, António Esteves, Sistemas Digitais 1, UM-DI. Módulo 6. Sistemas sequenciais

Estendendo o Conjunto de Instruções de um PPC para Uso de Transformadas do H.264

SIMULAÇÃO DE CIRCUITOS

Módulo 4 Introdução ao VHDL

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

Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

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

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

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Treinamento em Projeto de Sistemas Digitais

Transcrição:

FPGA & VHDL Tutorial 2009-2

FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves programáveis Interconectam as células segundo uma configuração Implementação de um projeto: Especificação da função de cada célula Configuração da conexão de cada chave Configuração de uma FPGA: Síntese do projeto Arquivo de configuração enviado para FPGA por cabo Processo feito em campo (Field), invés de em fábrica

Estrutura Conceitual

Célula Lógica Conceitual Exemplo: célula baseada em look-up table (LUT) de 3 entradas Exemplo: Diagrama conceitual LUT = a b c

Exemplos de Arquiteturas Reais Podem possuir módulos dedicados e mais avançados (macro células)

Algumas Aplicações Processamento de sinais digitais (DSP) Sistemas embarcados (embedded) Ex.: Aeroespaciais, de defesa, reconhecimento de voz Prototipagem de ASICs Application Specific Integrated Circuit Computação de alto desempenho aceleração Alto paralelismo das FPGAs vs. CPUs Ex.: clock = 500MHz, 100 instruções de FPU por ciclo Configuração flexível da precisão dos cálculos de FPU vs. precisão fixa das CPUs Nova área: Computação Reconfigurável Tarefas custosas realocadas do software (CPUs) p/ FPGAs Ex: cálculos de FFT, convolução etc.

Projeto e Programação Independem do CI: (1) Projeto do sistema: arquivos VHDL (2) Desenvolvimento do teste Dependem do CI: (3) Síntese Gera componentes genéricos (portas e flipflops) (3) Implementação Conexões de E/S do CI com os periféricos (4) Geração e transferência do arquivo de configuração

Projeto e Programação 1º) Definição do comportamento da FPGA Projeto esquemático (gráfico) Linguagens de descrição de hardware (HDL Hardware Description Language) Descrição formal de circuitos digitais Operação, design e organização Teste de funcionamento por simulação (circuitos testbench) Pricipais: VHDL (Very-high-speed integrated circuit HDL) Verilog

Projeto e Programação Linguagens HDL Exemplo de código VHDL -- import std_logic from the IEEE library library IEEE; use IEEE.std_logic_1164.all; -- this is the entity entity ANDGATE is port ( IN1 : in std_logic; IN2 : in std_logic; OUT1: out std_logic); end ANDGATE; architecture RTL of ANDGATE is begin OUT1 <= IN1 and IN2; end RTL;

Projeto e Programação 2º) Geração de uma netlist por uma ferramenta de EDA (Electronic Design Automation) Netlist: Descreve a conectividade de um circuito Componentes Portas Pinos Etc.

Projeto e Programação 3º) Processo de Place-and-Route Ajuste da netlist à arquitetura verdadeira da FPGA Normalmente feito por um software proprietário do fabricante da FPGA 4º) Validação do mapeamento por análise temporal, simulação etc. 5º) Geração do arquivo binário 6º) Configuração da FPGA pela transferência do arquivo binário Interface serial protocolo JTAG

Famílias de FPGAs Xilinx Baixo custo Spartan/XL Spartan-II Spartan-IIE Spartan-3 Spartan-6 Alto desempenho Virtex Virtex-II Virtex-4 Virtex-5 Virtex-6 LX: lógica de alto desempenho; LXT: conectividade serial de baixa potência SXT: DSP e uso intenso de memória Etc.

Placas Didáticas Spartan-3E Starter Kit FPGA: Spartan 3E

Placas Didáticas Diligent Nexys 2 Diagrama em blocos da placa Programação da FPGA Dispositivos de E/S

Placas Didáticas Diligent Nexys 2 Dispositivos de E/S e circuitos

VHDL: CKTs combinacionais Nível do projeto: portas (gate-level design) Comparador de 1 bit i0 i1 eq 0 0 1 0 1 0 1 0 0 1 1 1 eq = i0 i1 + i0 i1

VHDL: CKTs combinacionais Descrição estrutural

Testbench Operações executadas sequencialmente

VHDL Conexões do circuito Atribuições concorrentes de sinal Condicional Selecionada

VHDL Conexões do circuito Atribuições concorrentes de sinal case if

VHDL: CKTs sequenciais Flip-Flop D

VHDL: CKTs sequenciais Testbench Registrador de deslocamento

VHDL: CKTs sequenciais Contador binário Testbench

VHDL: CKTs sequenciais Contador módulo-m Testbench Clock da placa: F = 50 MHz; T = 20 x 10-9 -9 s Para T = 0,5 s: m = 25.000.000 n = 25, pois 2 25 25 = 33.554.432