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

Documentos relacionados
CMP 238 Projeto e Teste de um Sistema VLSI

Circuitos Programáveis

Introdução a Sistemas Digitais

CMP 238 Projeto e Teste de um Sistema VLSI

CMP 238 Projeto e Teste de um Sistema VLSI

Design Tools. Eixo Estrutural. Eixo Comportamental. processadores, memórias, barramentos. processadores, memórias, barramentos

Dispositivos de Lógica Programável

FPGA - Field Programmable Gate Array

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

Hardware Reconfigurável

FPGA & VHDL. Tutorial

Introdução a Organização de Computadores. 1 - Introdução. Acesso ao material e contatos. Material da disciplina. Contato com o professores:

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

Introdução à Computação

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

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

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

Computadores dedicados

10/27/14 ASIC ASSP SOC FPGA. Prototipação de Circuitos integrados (Plataformas) O que significam? Application Specific Integrated Circuit (ASIC)

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

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

Projeto Moderno de Sistemas Digitais

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

Parte # 2 - Circuitos Combinatórios

Tools. Tools. Tools. Organização. Cronograma. Ferramentas para Síntese Automática de Circuitos Integrados

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

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

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

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

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

Ciclo de Seminários Técnicos

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

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

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

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

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

Dispositivo Lógico Programável(PLD)

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

ELETRÔNICA DIGITAL I

Projetos de Circuitos Digitais em VHDL e FPGA

Microelectrónica (ME)

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

Opções de Design para Circuitos Integrados CMOS

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

Introdução ao módulo LabVIEW FPGA

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

Síntese do datapath. Sistemas Digitais síncronos

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

Sistemas Digitais (SD) Lógica Programável

Projeto de Sistemas Embarcados

Circuitos Lógicos. Prof. Odilson Tadeu Valle

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

Sistemas Digitais: Introdução

Dispositivos Lógicos Programáveis. Prof. Luiz Fernando Copetti

O Mundo Real é Analógico ou Digital?

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

SISTEMAS DIGITAIS (SD)

Projeto com Linguagens de Descrição de Hardware

Comparações Tecnologias

PCS 3115 Sistemas Digitais I

Sistemas Digitais (SD) Lógica Programável

Componentes Programáveis. PLD, CPLD e FPGAs. pelo Utilizador. José Miguel Vieira dos Santos. JMVS - SACP

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

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

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

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

Lógica Reconfigurável

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

Universidade Federal do ABC

PUC-Rio. Dispositivos Lógicos Programáveis

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

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

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

Arquitetura FPGAs e CPLDs da Xilinx

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

1. Sistemas de numeração e códigos 23

Memória SRAM 64x8 bits

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

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

Leandro da Silva Freitas. Projeto em Nível RT de IPs Digitais

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

Exercícios de Laboratório 3

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

Sempre que ocorre uma grande

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

Revisão: Projeto de Processadores em VHDL

Barramento CoreConnect

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

Circuitos VLSI digitais

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

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

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

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores]

Centro Federal de Educação Tecnológica de Pelotas CEFET-RS. Aula 08. Estilos de Projeto. Prof. Sandro Vilela da Silva.

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Sistemas Digitais. Grupo de Engenharia da Computação (GRECO) Centro de Informática Universidade Federal de Pernambuco. Manoel Eusebio de Lima

Transcrição:

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

Sistemas Embarcados -> > Sistemas Digitais Definição Estudo e comparação de projeto ASIC vs. FPGA Projeto de sistema digital dedicado em VHDL para sintese em ASIC/FPGA ASIC / FPGA Como descrever um processador em VHDL (memoria, datapath, controle) síntese FPGA e ASIC Implementação de software em processador embarcado com comunicação com hardware dedicado Descrição de memoria em VHDL e uso de BRAMs em FPGA

Primeira fase: Modelar o Sistema A modelagem é uma maneira de representar as informações importantes de um sistema. Um sistema pode ter diversos modelos para ele. A modelagem é util para a verificação funcional, estimativas de custo na implementação e projeto do teste. Motivações para a modelagem de sistemas: - Abstrair o comportamento de um sistema digital dando flexibilidade de implementação. 2 Ajudar a comunicação do usuário com a funcionalidade do sistema 3 Permitir o teste e verificação por meio de simulação 4 Verificação formal por equações matemáticas que provem que o sistema funciona para determinadas regras de funcionamento.

Níveis de Abstração de Sistemas VLSI Nível Sistêmico Nível Arquitetural ou Algoritmico Projeto Nível de transferencia entre registradores (micro-arquitetural arquitetural) Nível lógico ou de portas Nivel elétrico ou de transistores Verificação Nivel de leiatue Nivel de máscaras

Eixo Comportamental Sistêmico Algorítmico Micro arquitetural Lógico Eixo Estrutural idéia Elétrico Mais abstração Circuito Real (fabricado) Eixo Geométrico

Eixo Comportamental Especificações funcionais Algoritmos Máquinas de estado finitas, operações Equações booleanas, tabelas verdade, BDDs Sistêmico Algorítmico Micro arquitetural Lógico Elétrico Eixo Estrutural processadores, memórias, barramentos módulos de hardware registradores, multiplexadores, operadores Portas lógicas, flip-flops Funções de transferência, equações diferenciais Transistores, resistores, capacitores, indutores Leiaute das máscaras, retângulos, polígonos Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico

Eixo Comportamental C, C++, Hardware C Java Sistêmico Algorítmico Eixo Estrutural Especificações funcionais Algoritmos Máquinas de estado finitas, operações Equações booleanas, tabelas verdade, BDDs Micro arquitetural VHDL Lógico Elétrico processadores, memórias, barramentos módulos de hardware registradores, multiplexadores, operadores Portas lógicas, flip-flops Funções de transferência, equações diferenciais Spice CIF, GDS2 LEF / DEF Transistores, resistores, capacitores, indutores EDIF Leiaute das máscaras, retângulos, polígonos Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico

Eixo Comportamental Especificações funcionais Algoritmos Máquinas de estado finitas, operações Equações booleanas, tabelas verdade, BDDs Sistêmico Algorítmico Micro arquitetural - síntese Lógico Elétrico Eixo Estrutural processadores, memórias, barramentos módulos de hardware registradores, multiplexadores, operadores 2- simulação Portas lógicas, flip-flops Funções de transferência, equações diferenciais 5- fabricação 4- place&route Transistores, resistores, capacitores, indutores 3- mapeamento Leiaute das máscaras, retângulos, polígonos Células de biblioteca, modelos de posição de pinos Macro-células, planta baixa de blocos Módulos, clusters, cores, planos de clock/alimentação Partições físicas, componentes, placas Eixo Geométrico

Níveis de Abstração e Síntese Architectural level Logic level Circuit level Layout level Behavioral level For I=0 to I=5 Sum = Sum + array[i] 0 State 0 0 0 Architecture synthesis Logic synthesis Circuit synthesis Layout synthesis Structural level Memory Control + (register level) Clk (Library) Compilação para silicio (não é um grande sucesso)

- Sobreposição de fases no projeto para atingir time-to to-market - Mudanças paralelas em multiplos níveis e em multiplas equipes Esforço RTL Lógico Transistor Sistêmico Tempo de Projeto

Projeto de Sistemas Digitais Devido a alta complexidade dos sistemas digitais atuais, faz-se necessário a adoção de uma sistemática metodologia de projeto. Metodologia de projeto são sequências de transformações que partem de uma descrição ou especificação inicial até chegar a uma descrição validada desse sistema para o processo de fabricação. Nível de fabricação pode ser máscaras no caso de circuitos integrados de aplicação especifica ou bitstream no caso de FPGAs.

Projeto de Sistemas Digitais As transformações podem ser de duas naturezas: Transformações de síntese Transformações de validação Não válida válida

Sistemas Digitais Projeto Aboradagem Descendente: decompõe o sistema em subsistemas que são por sua vez decompostos em subsistemas até atingir o níve de abtração desejado. Desafio: obter a decomposição adequada para cada nível para que no final os critérios de projeto (área, desempenho, potência) sejam atingidos. Descrição funcional Linguagens de descrição de hardware Módulos Abordagem Ascendente: conecta módulos disponíveis para formar subsistemas que por sua vez são conectados para formar subsistemas até que a especificação funcional seja satisfeita. Desafio: trabalhar com um conjunto muito grande de subsistemas pequenos para compor um sistema muito complexo. Layout Portas lógicas básicas e flip-flops transistores

Sistemas Digitais Projeto: Arbodagem Descendente Projeto de Sistemas Digitais usando fluxogramas, grafos, máquinas de estados e diagrama de blocos Descrição funcional Descrever o projeto em linguagens de descrição de hardware como por exemplo VHDL Usar ferramentas de síntese lógica para bibliotecas de células como o Leonardo da Mentor Usar ferramentas de síntese lógica para plataformas programaveis como FPGAs (Xilinx ISE, Altera Quartus, Actel Libero). Módulos Portas lógicas básicas e flip-flops transistores Verificar funcionalmente através de simulação lógica com e sem atraso. Layout

Sistemas Digitais Projeto: Arbodagem Ascendente Projeto de somadores, multiplicadores e outros subsistemas combinacionais e sequenciais de alta eficiência em termos de área, desempenho e potência para uso em sistemas digitais complexos. Descrição funcional Módulos Descrever o projeto em linguagens de descrição de hardware como por exemplo VHDL ou em esquemático Portas lógicas básicas e flip-flops Verificar funcionalmente através de simulação lógica com e sem atraso. transistores Verificar elétricamente através de simulação elétrica (SPICE) Layout

Tipos de componentes Circuito de aplicação específica (ASIC): circuito integrado projetado especialmente para uma determinada função e sistema digital. Full-custom semi-custom Standard cell Chip Lógica programável (FPGAs): circuito que pode ser customizado e reprogramado para realizar diversas funções. Compromisso: Custo X tempo de projeto X desempenho

Projeto de Sistemas Digitais Sintaxe e a Semântica das descrições de entrada e saída 2 Um conjunto de algoritmos para a tradução das descrições de entrada em descrições de saída 3 Um conjunto de componentes para ser usado na implementação 4 Definição e intervalo das restrições do projeto 5 Os mecanismos de seleção do estilo de projeto, arquitetura, topologia e componentes. 6 Estratégias de controle (ordem em que as tarefas são executadas).

000000

Parâmetros de Projeto Desempenho: velocidade, potência, funcionalidade e flexibilidade Custo de manufatura: tamanho do die (área), tecnologia a ser fabricada (ASIC), ou arquitetura programável (FPGA). Tempo de projeto: custo do engenheiro, agenda Testabilidade: geração de teste, teste on-line, off line, etc

Desafios de Projeto Decisões sobre os aspectos de projeto são muito dificeis: Compromisso entre desempenho, custo e time-to-market (tempo para chegar ao mercado). Decisões devem ser feitas com 2 a 3 anos de antecedencia. Os aspectos de projeto são difíceis de medir sem fazer o projeto realmente. Ciclo do produto. Verificação funcional A simulação ainda é o veiculo principal para a verificação funcional mas é inadequada por causa do tamanho de projeto. Bugs em hardware são muito difíceis de se recuperar e muito caros (não é como em software).

Desafios de Projeto Principais diferenças entre os níveis de abstração: Modelagem detalhada e tamanho da equipe para manter o modelo: Modelos de alto-nível podem ser mantidos por ou 2 pessoas. Modelos detalhados devem ser particionados o que resulta no aumento em comunicação. Modelagem precisa versus modelagem compacta Modelos compactos omitem detalhes e mostram apenas estimações de implementação. Modelos detalhados são extensos e dificil de adaptar em mudanças grandes de projeto.

Desafios de Projeto Velocidade de simulação versus desempenho do hardware Modelos de alto-nível podem ser simulados mais rapidamente mas não podem ser implementados tão facilmente automaticamente. Modelos de baixo nível podem ser feitos para ter uma rápida implementação mas não podem ser simulados rapidamente.

Ferramentas de Automação de Projeto Soluções para Projeto: aumentar equipes (+custo e -controle) Systems-on-Chip (SOCs) = Reusabilidade SOC e configurabilidade Reusability portability flexibility Soft core Firm core Hard core ou FPGA=SOC processador memoria Predictability, performance, time to market

Metodologias de Projeto

ASIC Application Specific Integrated Circuits

Full custom Geometria desenhada a mão Todas as camadas de layout são customizadas Digital e analógico Simulação a nivel de transistor Alta densidade Alto desempenho Longo tempo de projeto IN Vdd Gnd Out

Standard cells Células padrões organizadas em linhas (and, or, flip-flops,etc.) Células são feitas em full custom pelo vendedor (não o usuário). Todos os níveis são customizaveis Digital com possibilidade de algumas células analógicas. Simulação digital a nível de portas lógicas (digital) Media para alta densidade Medio para alto desempenho Razoavel tempo de projeto Routing Cell IO cell

Níveis de Abstração de Sistemas VLSI em ASIC Nível Sistêmico Nível Arquitetural ou Algoritmico Projeto Nível de transferencia entre registradores (micro-arquitetural arquitetural) Nível lógico ou de portas Nivel elétrico ou de transistores Verificação Nivel de leiatue Nivel de máscaras

Exemplo de Projeto ASIC Projeto de um circuito integrado a partir de uma descrição: VHDL Esquemático Circuito integrado implementado em Standard Cell (conjunto de células lógicas de uma biblioteca) Biblioteca da AMS, por exemplo Biblioteca do usuário Passos: Projeto das células da biblioteca CMOS Sintese de um projeto VLSI nas biblioteca de células CMOS

2 Exemplos de Ferramentas de Síntese Mentor Cadence Synopsis E outras... Compilação Mapeamento Posicionamento Roteamento Leiaute Simulação e verificação

Circuitos Programáveis

Diferenças entre CPLD x FPGA

Estruturas do FPGA

FPGA Actel

Tecnologia Anti-fusivel

Logic Elements of Actel

ACTEL: RTAX ACTEL: RTAX-S device S device RAM CT RAM RAM RAM RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RAMC RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD RD HD HD HD HD HD HD HD HD HD HD HD HD HD [Actel, RTAX-S RadTolerant FPGAs 2007] C R RX TX RX TX RX TX RX TX B C C C R Super Cluster

ACTEL: RTAX-S S device C C R C-CELL C-CELL R-CELL D0 D2 DB A0 A Y D D3 B0 B CFN FCI 0 0 0 0 0 D0 D2 DB A0 A FCO Y D D3 B0 B CFN 0 0 0 0 0 0

Tecnologia EPROM e EEPROM

FPAG from Altera Família Número de Gates Programação MAX5000 600 a 3,7K EEPROM MAX7000 600 a 5K EEPROM MAX9000 6K a 2K EEPROM FLEX6000 5K a 24K SRAM FLEX8000 2,5K a 6K SRAM FLEX0K 0K a 250K SRAM FLEX20K 53K a 000K SRAM Mercury 20k a 350k SRAM Apex 700k a 2M SRAM ApexII.9M a 5.2M SRAM Ciclone SRAM Stratix 0k a 40k LE SRAM MAX SRAM

Bloco Lógico do PLD MAX7000

Field Programmable Gate Array FPGAs comerciais Altera FLEX 0K

Field Programmable Gate Array FPGAs comerciais Altera FLEX 0K

Stradix II

Tecnologia SRAM

Field Programmable Gate Arrays FPGAs comerciais Xilinx A empresa Xilinx foi fundada em 984 em San José (Califórnia, USA) e foi ela que introduziu o FPGA. Hoje em dia, esta empresa domina cerca de 50 % do mercado em FPGAs. Família Número de Portas Característica XC2000,2K a,8k - XC3000 2K a 9K Low-power XC4000E 2K a 20K Low-power XC4000XL/XLA 0K a 200K High-density XC4000XV 75K a 500K High-density XC5200 3 K a 23K Low-power SPARTAN/XL 2K a 40K Low-power VIRTEX 50K a M High-density SPARTAN-2 SPARTAN-3 VIRTEXII VIRTEXII-PRO k a 5k 2k a 33k 40k a 8 M Power-PC inside LOW COST LOW COST High density VIRTEX4 3K a 200K Low-power VIRTEX4-FX VIRTEX5 Power-PC inside 220nm 30nm 90nm 65 nm

Technology Scaling in Xilinx FPGAs Nanometer technologies Embedded Hard microprocessor Embedded memories (BRAM)

A informação é customizada por um vetor de bits chamado de BITSTREAM (set of SRAM bits)

Xilinx XC4000

Logic Mapping in SRAM-based FPGAs VHDL / Verilog Descriptions ASIC E E2 E3 E E2 clk E E3 E2 E3 clk FPGA slice BlockRAM F F2 F3 F4 LUT M ff M M M M M M M Configuration Memory Cell SEU (Bit flip)

Xilinx XC4000

Logic Element: Basic XC4000

General Routing Matrix (GRM)

Field Programmable Gate Arrays FPGAs comerciais Xilinx CLB Virtex Family from Xilinx, Inc. PLL Segmented routing CLB single lines Pass-transistor 66 MHz PCI SSTL3 M hex lines SelectI/O Pins hex lines Vector Based Interconnect delay=f(vector) Block SelectRAM Memory single lines Distributed SelectRAM Memory single lines single lines

General Routing Matrix (GRM) - VirtexII Direct lines Long lines CLB CLB CLB CLB CLB CLB CLB Hex connections CLB Hex lines CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB Direct connections Fast connect Double lines CLB CLB CLB

Xilinx VirtexII - CLB

Virtex Carry Select

CLB Evolution 6-LUT 4-LUT ffp 6-LUT ffp Slice0 Slice 4-LUT ffp 6-LUT 6-LUT ffp Switch Matrix Virtex More complex logic in a same slice and CLB (reduction in the logic level) Slice0 Switch Matrix Slice Hex Long Single More complex routing matrix to reduce the routing Virtex-4 switch level Virtex-II Long Direct Double Hex Virtex-5

Virtex 5: CLB

BRAM

VirtexII-Pro Platform

Embedded Processor

Microblaze (soft core)

VirtexII-Pro Board

Reconfigurable Computing

Presented by Trimberger (FPL, 2007)