introdução ao desenvolvimento de circuitos...

39
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP Introdução ao Desenvolvimento de Circuitos Digitais Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Upload: phamhanh

Post on 11-Nov-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Introdução ao Desenvolvimento de Circuitos Digitais

Prof. Rômulo Calado Pantaleão Camara

Carga Horária: 2h/60h

Page 2: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

A grande ideia!

O processo de concepção de um produto (chip) é muito demorado.– Tempo;

– Esforço;

– Dinheiro;

Page 3: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Quanto Custa?

Tempo– Meses e até anos para desenvolver um produto;

Esforço– Grande grupo de engenheiros dedicado inteiramente

em desenvolver a arquitetura, implementar e verificar o produto;

Dinheiro– Milhões de dólares.

Page 4: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Objetivo

Descrever a evolução e a história do desenvolvimento de circuitos integrados (CI);

Identificar os principais passos do fluxo de desenvolvimento de CI;

Desafios encontrados no desenvolvimento de CI digitais atuais;

Page 5: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Exercícios - instruções

Nesse Exercício você deverá:– Completar um

fluxograma com os passos que devem ser executados num fluxo de projeto;

– Incluir o fluxo de desenvolvimento;

– Incluir as entradas e saídas necessárias;

?

?

?

?

?

Page 6: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Design no fluxo de projeto de um CI

Implementação e codificação são sinônimos no fluxo de projeto.

A equipe de codificação é responsável por, a partir de uma especificação e arquiteturas definidas, transformar em um código de uma linguagem de descrição de harware que, após sintetizado, se transforma em um circuito que realiza a função desejada, seja programado em um FPGA, ou transformado em um circuito integrado (CI).

Page 7: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Design no fluxo de projeto de um CI

O codificador tem que dominar a linguagem de hardware e utilizá-la da melhor forma possível para traduzir o que está na especificação para um código que seja sintetizável e realize todas as funções desejadas.

Page 8: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Agenda

História

Fluxo Básico

Desafios

Page 9: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Evolução das técnicas de projeto - complexidade

Page 10: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Definição de HDL

HDL (Hardware Description Language)– Definição: Linguagem de software que descreve

circuitos eletrônicos, operações, design e estrutura;

– Exemplo: Em vez de fazer a captura de esquemáticos, é utilizado HDL para descreve-los.

Page 11: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

HDL - Gerações

ISP, KARL

ABL

Verilog

VHDL

SystemVerilog

Page 12: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

HDL e CIs - Gerações

Verilog

VHDL

SystemVerilog

CIs de média

escala

CIs de larga

escala

VLSI, Ultra

VLSI

Page 13: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Questões

Como eram implementados os chips antes de Verilog®?

Como o advento das HDLs mudaram os Circuitos integrados?

Page 14: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Antes de Verilog e VHDL

Antes das Linguagens de descrição de hardware (até meados dos anos 80):

– Desenho feito a mão, transistor por transistor, fio por fio;

– Uma mudança ou erro de projeto implicava em um retrabalho imenso;

– Simulações SPICE eram necessárias.

Page 15: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Antes de Verilog e VHDL

Page 16: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Após as Linguagens de descrição de hardware

Modificada facilmente;

A arquitetura não é definida no código, apenas na síntese;

Pode ser simulada com simuladores de HDLs;

Codifica-se geralmente a função do circuito.

Page 17: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Agenda

História

Fluxo Básico

Desafios

Page 18: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Partição de projeto

Para lidar com a alta complexidade, o projeto de CIs é particionado em etapas segundo o fluxo de projeto.

Outra técnica utilizada é o projeto hierárquico.

O sistema é particionado em unidades, que são divididas em blocos funcionais, que contém células, que são formadas por transistores.

Cada nível da hierarquia é chamado de nível de abstração.

Page 19: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Partição de projeto

Cada nível mais alto esconde mais detalhes do projeto.

Muitas das etapas de projeto são automatizadas e realizadas por ferramentas.

Cabe ao projetista conhecer bem o que a ferramenta faz para atingir os requisitos do projeto.

Page 20: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Partição de projeto

Page 21: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Fluxo Básico

Em alto nível de abstração, quais tarefas são necessárias para desenvolver um chip, partindo da ideia.– Implementação: transformar a

concepção da idéia ou especificação

para representações de hardware

físico e lógico;

– Verificação: garantir a funcionalidade,

o tempo e a integridade das mudanças do

design através de todo o processo de concepção do hardware;

Implementação Verificação

Page 22: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Implementação

Representações em uma implementação de chip:– Especificação: textual, gráfica ou representação de

software do comportamento e objetivos do design;

– Microarquitetura: textual, gráfica ou representação de software da implementação inicial da especificação;

– RTL: descrição de hardware do design a ser implementado;

Page 23: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Implementação

Representações em uma implementação de chip:– Portas sintetizadas: representação lógica do design

depois do mapeamento lógico discreto;

– Placed/Routed gates: representação física e lógica do design depois de ser desenvolvido as etapas de placed/routed.

– GDSII: representação física do design antes do tapeout;

Page 24: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Implementação

Representações em uma implementação de chip:– Designer: arquitetura do chip desenvolvida em nível

de blocos pelo grupo de engenheiros;

– Síntese lógica: processo de tradução do RTL para lógica discreta;

– Place/Route: processo de implementação física da lógica discreta;

Page 25: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Verificação

Várias etapas são necessárias desenvolve a verificação de um chip:– Simulação de Sistemas:

simulação do comportamento ou nível de sistema;

– Simulação Lógica: simulação do em nível de RTL;

– Simulação em nível de portas: simulação de lógica discreta;

Page 26: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Verificação

Várias etapas são necessárias desenvolve a verificação de um chip:– Verificação Física: checagem

de regras de implementação e verificação layout vs. esquemático;

– Verificação Formal: checagem de equivalência lógica;

– Timing signoff: Static Timing Analysis;

Page 27: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Fluxo de Implementação e Verificação

Page 28: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Importancia do RTL

RTL é a principal etapa do fluxo:– Busca fazer uma descrição

estrutural da especificação e da microarquitetura;

– A maioria dos RTLs são criados manualmente por engenheiros de projetos experientes e qualificados;

– A qualidade do RTL é diretamente proporcional aos custos do projeto;

Page 29: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Perguntas

Recapitulando o fluxo de desenvolvimento de um projeto ASIC, como vocês organizariam um grupo de engenheiro para produzir um chip tendo como princípio a ideia?

Como a especificação do chip influencia o desenvolvimento de um chip?

Page 30: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Agenda

História

Fluxo Básico

Desafios

Page 31: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Design:– Tamanho e Complexidade: divisão

de um projeto com milhões de portas lógicas entre os membros da equipe, módulos e interfaces;

– Power: requisito de consumo devem ser considerados num projeto de design;

Implementação Verificação

Design

Page 32: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Design:– Performance: para projetos

com alta frequência de clock, devem ser considerados informações da tecnologia utilizada no processo;

– IP: escolha dos ip corretos devem ser considerados num projeto de chip;

Implementação Verificação

Design

Page 33: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Verificação– Tamanho e complexidade:

design grandes e complexos, requerem sofisticadas estratégias de verificação;

– Testbenches: engenheiros devem criar ambientes de verificação que consiga abranger todas as funcionalidades do sistema;

Implementação Verificação

Design

Page 34: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Verificação– Corner cases/casos específicos:

engenheiros devem entender o comportamento do sistema completo, incluindo todas as exceções. Essas exceções são os casos específicos;

– Desing dirigido a testes: engenheiros devem projetar o design considerando a estratégia de teste no final do produto;

Implementação Verificação

Design

Page 35: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Implementação– Tamanho e complexidade:

quanto maior o sistema, mais longo será o tempo de implementação;

– Consumo: engenheiros devem abordar técnicas específicas com estratégias bem sofisticadas para garantir requisitos de consumo;

Implementação Verificação

Design

Page 36: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Desafios

Implementação– Tempo e Requisitos de Projeto:

com o avanço das tecnologias de processo, está cada dia mais difícil convergir requisitos de tempo com as regras de projeto;

– Rendimento (Yield): influencia diretamente no tempo de implementação do projeto;

Implementação Verificação

Design

Page 37: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Sumário

Histórico:– Circuitos integrados tem evoluídos durante os últimos

50 anos e mais rápido nos últimos 20 anos;

– O advento das HDL habilitou a expansão rápida do tamanho e complexidade dos circuitos integrados;

Fluxo Básico:– O fluxo básico de um projeto de hardware segue

alguns passos que envolvem design, implementação e verificação;

– RTL é muito importante para descrever a especificação de um projeto para uma implementação final;

Page 38: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP

Sumário

Desafios:– Existem muitos desafios que devem ser analisados

antes e durante um projeto de chip, tanto nas áreas de projeto e verificação, quanto na área de implementação;

– Em todas as etapas, tamanho e complexidades são os principais desafios de um projeto de circuito integrado atual.

Page 39: Introdução ao Desenvolvimento de Circuitos Digitaisromulo.camara/aulas/design_verif/Aula2_Intro... · Descrever a evolução e a história do desenvolvimento de circuitos integrados

Universidade Federal do Vale do São Francisco - UNIVASF

Colegiado de Engenharia da Computação – CECOMP