Você está na página 1de 43

Tecnologias de projeto de Sistemas Digitais

● Resumo:
● Principais tecnologias envolvidas em processos de concepção e
síntese de Sistemas Digitais
● Tecnologias de circuitos integrados
● Tecnologias de processadores
● Interdependências entre as tecnologias de CIs e de processadores
● Tecnologias de projeto
● Desenvolvimento de sistemas digitais em dispositivos
reconfiguráveis
● Em RTL design
● Orientados a plataforma

1
Tecnologias de projeto de Sistemas Digitais

● Tecnologia: maneira de se realizar uma tarefa através de


técnicas, métodos e conhecimentos.

2
Tecnologias de circuitos integrados

● As tecnologias de circuitos integrados envolvem a maneira pela qual


as implementações digitais são mapeadas e colocadas num CI
● As tecnologias de circuitos integrados diferem em seu nível de
personalização ou “customização” de acordo com o tipo e a
complexidade do projeto do CI ou do chip em questão.
● Tecnologias de fabricação de circuitos integrados
● Standard Logic / SSI, MSI e LSI
● Full-custom / VLSI e ULSI
● Semi-custom / ASICs
● Programmable Logic Devices / PLDs
● ? (Full-custom com adição de parte de hardware reconfigurável)

3
Tecnologias de circuitos integrados

● Quadro de tecnologias de fabricação de CIs digitais

4
Tecnologias de circuitos integrados
● Completamente “customizadas” / VLSI
● Todas as camadas são otimizadas para uma particular
implementação digital
● Tais otimizações incluem:
● Alocação de transistores para minimizar comprimento de
interligações
● Tamanho dos transistores para otimizar as transmissões de
sinais
● Roteamentos mais adequados para as conexões internas
● Benefícios
● Desempenho excelente, tamanho reduzido, baixo consumo
● Desvantagens
● Longo tempo para mercado (time-to-marked), alto custo NRE,

5
Tecnologias de circuitos integrados

● Semi-customizadas /ASICS
● Camadas mais baixas estão completamente ou parcialmente
construídas e prontas para uso
● Para cada projeto basta determinar a localização dos blocos
lógicos e o roteamento das conexões entre eles
● Benefícios
● Bom desempenho, tamanho e custo de NRE menores
● Desvantagens
● Ainda requerem de semanas a meses para desenvolvimento

6
Tecnologias de circuitos integrados
● PLD (Dispositivos Lógicos Programáveis)
● Todas as camadas de integração já estão prontas
● Projetistas podem comprar CIs e ambientes de
desenvolvimento relativamente baratos
● Conexões no CI são criadas ou destruídas para implementar as
funcionalidades desejadas
● Popularização dos FPGAs (Field-Programmable Gate Arrays)
● Benefícios
● Reduzido Time-to-marked , baixo custo NRE (muito usado em
protótipos), rápido desenvolvimento, rapidez e facilidade de
síntese do circuito

7
Tecnologias de circuitos integrados
● PLD (Dispositivos Lógicos Programáveis)
● Desvantagens
● Se comparados aos CIs completamente custumizados, ainda
relativamente grandes, de custos unitários altos, lentos e de
mais alto consumo
● Esta realidade no entanto está sendo gradativamente
modificada graças as tecnologias de fabricação de hoje, que
já baixam da casa dos 22 nm.

8
Tecnologias de circuitos integrados
● Arquiteturas de PLDs
● SPLDs
● Dispositivos Lógicos Programáveis Simples
● CPLDs
● Dispositivos Lógicos Programáveis Complexos
● FPGAs
● Arranjos de Gates Programáveis no Campo

9
Tecnologias de processadores

● Na tecnologia do processador retrata-se a arquitetura e a


organização usada para implementar as funcionalidades desejadas
para o sistema almejado.
● Embora o termo "processador" seja geralmente associado com
processadores programáveis de software, pode-se pensar de muitas
outras formas, como por exemplo, um sistema sequencial
totalmente implementado em hardware, não programável, como
sendo também um processador.
● Cada processador difere na sua especificação e é orientado para
cada aplicação específica, apresentando diferente métricas de
projeto.

10
Tecnologias de processadores
● Os Processadores variam em suas customizações de acordo com o
foco e o problema em questão a ser solucionado
● Para ilustrar este conceito pode-se considerar uma aplicação que
requer uma certa funcionalidade, representada por uma cruz,
sendo esta funcionalidade a soma dos elementos em um vetor M.
● Na prática, vários tipos de processadores podem implementar esta
funcionalidade, no entanto, sempre existe um que melhor
responde as métricas do projeto.
total = 0
for i = 1 to n loop
total += M[i]
end loop

Funcionalidade Processador de Processador de Processador


desejada propósito-geral aplicação-específica dedicado

11
Tecnologias de processadores
● Especificação RTL para os três tipos de processadores

Processador de Processador de Processador dedicado


Propósito geral (“software”) Aplicação Específica (“hardware”)
12
Tecnologias de processadores
● Processadores de propósito geral
● Dispositivos programáveis para grande variedade de aplicações
● Constituem as famílias de “Microprocessadores” (Ex. x86)
● Principais Características
● Memória de programa e de dados externas ao microprocessador
● Datapath com registros files extensos e uma ou mais ALUs e
FPUs de propósitos gerais.
● Benefícios para projetos
● Melhor tempo de mercado
● Baixo custo para colocação no mercado e baixos custos NRE
● Grande flexibilidade pelas funcionalidades disponíveis

13
Tecnologias de processadores
● Processadores de aplicação específica
● Processador programável otimizado para classes de aplicações com
características comuns
● Compromisso entre os processadores de propósito geral e os
dedicados
● Incorporam as famílias de microcontroladores e DSPs
● Principais características
● Memória de dados e de programa on chip, associada ao datapath e a
unidade de controle
● Datapath otimizado para aplicações específicas com a inclusão on
chip de unidades periféricas de funções especiais
● Benefícios
● Flexibilidade, bom desempenho, pequeno tamanho, pequeno
consumo, Baixo custo, pequeno time-to-marked e baixo NRE

14
Tecnologias de processadores

● Processadores dedicados
● Circuito digital projetado e prototipado para executar um único
programa ou tarefa
● Principais características
● Contém somente componentes necessários para execução do
programa ou tarefa requerida
● Normalmente, não possui memória de programa
● Benefícios
● Rápido, alto desempenho
● Baixo Consumo
● Tamanho reduzido
● Baixo custo para grandes quantidades (alto NRE)

15
Interdependência das tecnologias de CIs e processadores
● Com respeito as tecnologias de processadores e de circuitos integrados,
suas interdependências variam de acordo com a aplicação
● Em geral, qualquer tecnologia de processador pode ser mapeada por
qualquer tecnologia de circuito integrado
O uso de um processador Processador
de propósito
Processador O uso de um processador
de uso geral ASIP de propósito
geral
único de propósito único
provê ganhos em
provê ganhos em
Flexibilidade
Sustentabilidade Eficiência de
Custe NRE energia
Tempo de Performance
prototipagem Tamanho
Tempo de mercado VLSI Semi- Customizado Custo (para altos
Custo (para costumizado para a aplicação volumes)
pequenos volumes)
16
Tecnologias de projeto

● As tecnologias de projetos envolvem as maneiras pelas quais se


converte o conceito de uma desejada funcionalidade em uma
implementação real.
● Para entender como melhorar o processo de projeto, deve-se
primeiro compreender a metodologia de projeto em si.
● Algumas tecnologias de projeto tornaram-se muito populares nas
duas últimas décadas, onde, de uma forma ideal, o projetista
procura refinar o sistema através de diversos níveis de abstração.

17
Tecnologias de projeto

● Dentre algumas proposições, destacam-se as tecnologias de


projeto:
● Bottom-up (mais tradicional)
● Top-down
● Meet-in-the-Middle (encontro num ponto médio ou no meio)
● Metodologias de Projeto a Nível de Sistemas Eletrônicos
(Projeto Baseado em Plataforma)
● Uso dos princípios de hardware software codesign

18
Tecnologias de projeto

● A Metodologia de projeto mais tradicional ou bottom up permite


aos projetistas selecionarem componentes padrões de muito baixo
nível e a partir de suas interligações construírem blocos funcionais
mais complexos e, a partir destes e de novas interligações,
crescerem a estrutura do circuito até chegar ao patamar sistêmico
de mais alto nível.

● Esta metodologia é desaconselhável e inadequada para o nível de


complexidade alcançado pelos atuais chips e sistemas digitais.

19
Tecnologias de projeto

● A Metodologia de projeto top down permite aos projetistas


refinarem progressivamente uma ideia teórica à medida que o
processo de projeto avança
● O processo do projeto começa com uma definição do
comportamento do sistema num nível muito alto de abstração
● Em seguida, esse nível é baixado a maiores detalhes com
definições intermediárias no Nível de Transferência de
Registradores (RTL) até chegar ao nível de implementação
física

20
Tecnologias de projeto

● A metodologia de Projeto Baseado em Plataforma (Meet-in-the-


Middle) associa, numa visão de hardware/software codesign, uma
bem organizada estrutura de hardware (visão bottom up) com uma
refinada formulação de software aplicativo e operacional (visão
top down) a serem executados na estrutura de hardware
adequadamente prototipada ou escolhida.

● Metodologia mais aconselhável para projetos com alto nível de


integração e complexidade e que exijam reduzido tempo para
mercado.

21
Tecnologias de projeto
● Metodologia de projeto top-down Especificação formal a
nível de sistema
ESL
Especificação Algorítmica
a nível de processador

Especificação a nível de
transferência de registros (RTL)

Especificação Lógica ou
a nível de gates

Especificação a nível de
Circuitos

22
Tecnologias de projeto

● Metodologia de projeto top-down


● Todos os níveis de abstração acima da RTL foram designados
coletivamente de Nível de Sistema Eletrônico ou ESL
(Electronic System Level) e todos os projetos neste nível de
Projetos a Nível de Sistema ou SLD (System Level Design).
● Não há consenso sobre a forma como esses níveis ESL são
compostos, mas consensualmente engloba mais de um nível de
abstração.
● É possível encontrar proposições de dois, três e até mesmo de
quatro níveis de abstração acima da RTL.

23
Tecnologias de projeto

● No modelo de projeto de hardware apresentado por Peter


Marwedel, por exemplo, as especificações são a nível de:
● sistema
● Algoritmo
● conjunto de instruções
● transferência entre registros
● Portas (gates e flip-flops)
● Chaveamento
● Circuito
● layout e,
● processo de fabricação.

24
Tecnologias de projeto
● Metodologia de projeto top-down
● O desenvolvimento de um circuito digital “customizado” é
essencialmente um processo de refino e validação.
● O sistema deve ser gradualmente transformado a partir de sua
descrição abstrata de mais alto nível para layouts de máscaras
do produto final.
● Junto com cada refinamento, a função do sistema deve ser
validada para garantir que o produto final funcione
corretamente e que atenda as especificações e metas de
desempenho desejadas

25
Tecnologias de projeto
● Metodologia de projeto top-down
● Na etapa de especificação formal a nível de sistema, o
projetista procura descrever a funcionalidade desejada,
inicialmente numa linguagem natural e posteriormente fazendo
uso de modelos computacionais adequados a sua aplicação.
● O uso de modelos computacionais possibilita:
● Capturar sem ambiguidades as funcionalidades do sistema
● Verificar a validade das especificações funcionais com
relação às propriedades desejáveis do sistema
● Sintetizar parte da especificação sobre recursos arquiteturais
e de comunicação escolhidos
● Usar diferentes ferramentas para manipular diferentes
aspectos do modelo.
26
Tecnologias de projeto
● Metodologia de projeto top-down
● O refino da Especificação Formal a Nível de Sistema para a
Especificação Algorítmica a Nível de Processador é feita pela
distribuição de tarefas para serem executadas por
processadores orientados a programas.
● Neste nível de processador, o mais alto em abstração de
hardware, os blocos básicos de construção, conhecidos por
núcleos de propriedades intelectuais (ip cores), incluem
microprocessadores, DSPs ou microcontroladores, módulos de
memória, padrões de barramento e interfaces de barramento.

27
Tecnologias de projeto
● Metodologia de projeto top-down
● O refino da especificação a nível de processadores para uma
especificação a nível de transferência de registro é feita
convertendo-se o comportamento do sistema em um datapath
(ou caminho de dados) orientado por um circuito de controle
(ou mais especificamente por um máquina de estado) numa
ótica de RTL design (projeto a nível de transferência de
registros)
● Na construção do datapath, são utilizados blocos padrões de
circuitos combinacionais (como multiplexadores,
decodificadores e unidades aritméticas e lógicas) e sequenciais
(como registradores e contadores)

28
Tecnologias de projeto
● Metodologia de projeto top-down
● Após a especificação a nível de transferência de registro
encontra-se a especificação a nível lógico que consiste na
modelagem por equações Booleanas e na implementação com
o uso de portas lógicas e flip-flops (equivalentes a abordagem
convencional de projeto de circuitos combinacionais e
sequenciais vista em cursos de circuitos digitais tradicionais)
● Finalmente vêm o refino do projeto para as especificações a
nível de sua implementação a nível de circuito, consistindo de
uma netlist de componentes e do leiaut do produto.

● Esta linha de projeto top-down segue algo muito parecido com o


proposto no diagrama de Gajski-Kuhn ou diagrama Y.

29
Tecnologias de projeto
● Metodologia de projeto top-down
● Quadro resumo de características por níveis de abstração
Nível de Blocos típicos Representação Representação Descrição Descrição
Abstração do sinal no tempo comportamental Física

Processador Microprocessadores, Tipos de dados Seqüência de MoCs ou Planta de


memórias, padrões abstratos eventos Algoritmos em IPs
de barramento, ... ling.de
especificação
RTL Mux, registros, Inteiros, Ciclos de MdE de dados Planta RTL
ALUS, ... estados, ... clock
Portas AND, OR, XOR, 0s e 1s Atrasos de Equações Layout de
Flip-flops, ... propagação Booleanas células
Circuito Transistores, Tensão e Funções Equações Layout de
resistores, ... corrente contínuas diferenciais transistores

30
Tecnologias de projeto
● Metodologias de Projeto a Nível de Sistema Eletrônicos
● As bases das discussões sobre as necessidade de se projetar a
nível de sistema Eletrônicos (ESL/SLD) são segmentadas em
fatos tais como
● A crescente influência do Time-to-market na concepção da
maioria dos sistemas eletrônicos;
● O expressivo aumento na complexidade dos projetos de SoCs
, ultrapassando a capacidade de produzir do projetista e
gerando Gaps preocupantes entre complexidades de projeto x
produtividade
● A constatação de que os esforços de verificação estão
dominando os esforços de projeto

31
Tecnologias de projeto
● Metodologias de Projeto a Nível de Sistema
● As bases das discussões sobre as necessidade de se projetar a
nível de sistema (ESL/SLD) são segmentadas em fatos tais
como
● Projetos totalmente customizados custam muito caro
● A concepção RTL não é mais suficiente para enfrentar a
crescente complexidade dos projetos
● Os projetistas devem trabalhar em níveis mais altos de
abstração de projeto para superar as complexidades
crescentes dos SoCs
● Os sistemas devem ser projetados numa visão futura de reuso

32
Tecnologias de projeto
● Tendência na complexidade de projetos de systems on chip

33
Tecnologias de projeto
● Exemplo: Gaps em Complexidade de design x Produtividade nos
métodos de concepção de projeto RTL e ESL.

34
Tecnologias de projeto
● Princípios gerais básicos que regem as metodologias de projeto
ESL:
● (Re)Uso de núcleos de propriedade intelectual (ip cores)
● Orientação à plataforma com focos distintos para o Projeto
Funcional e para o Projeto da Arquitetura

35
Modalidades de disponibilização de IPs

Flexibilidade, Portabilidade,
Reusibilidade
Soft
IP

Firm
IP Hard
IP

Previsibilidade, Otimização
de área de silício, Custo

36
Tecnologias de projeto
● Metodologia de Projeto baseado em Plataforma ou Meet-in-the-
Middle

37
Tecnologias de projeto
● Metodologia de Projeto baseado em Plataforma

38
Metodologia de Projeto Baseado em Plataforma:
etapas e procedimentos
Plataformas reconfiguráveis padrões

Stratix 1,
I, II ou III
1. Seleção do

Virtex II
Ciclone

Xilinxy
I ou III
Altera

Altera

ou IV
“target device”

2. Seleção de componentes
da plataforma que irão UART CPU BUS ETHERNET PIO MEMÓRIA
compor o “Target System”

Master 1 Master 2 Master 3 ... Master n

3. Definição de uma BUS ARBITER


“Architecture Template”

Slave 1 Slave 2 Slaver 3 ... Slave j

39
Metodologia de Projeto Baseado em Plataforma:
etapas e procedimentos
Master 1 Master 2 Master 3 ... Master n

BUS ARBITER
3. Definição de uma
“Architecture Template”
Slave 1 Slave 2 Slaver 3 ... Slave j

Gerar as
permutações
necessárias na
plataforma

Master 1 Master 2
4. Definição a partir das CPU Ethernet
mutações da adequada
“System Architecture ”
BUS ARBITER

Slave 1 Slave 2 Slaver 3 Slave 4


UART PIO 1 PIO 2 Memória

40
Metodologia de Projeto Baseado em Plataforma:
etapas e procedimentos

Master 1 Master 2
CPU Ethernet

BUS ARBITER

Funcionalidades
Slave 1 Slave 2 Slaver 3 Slave 4
de Software UART PIO 1 PIO 2 Memória

Aplicações

Exemplos

41
Tecnologias de projeto
● Compromissos (tradeoff) característicos em performance de
projetos RTL e PBD.

Tradeoff RTL PBD


Esforço Alto Médio baixo
Portabilidade Baixa Alta
Precisão Alta Média alta

42
Tecnologias de projeto

Segundo Grant Martin:

“Projeto Baseado em Plataforma é uma metodologia bem aceita,


até mesmo pelos mais céticos que embarcaram neste trem.
Olhando-se para a indústria, pode-se ver muitos exemplos nesta
abordagem sendo utilizadas por diversas empresas e equipes -
Nexperia Philips, ST Nomadik, TI OMAP, Xilinx Virtex II/IV,
Altera SOPC, Infineon, Freescale, Samsung, Toshiba, Sony e
muitos, muitos outros”

Haviam previsões de que até 2015, os núcleos IPs iriam compor


90% da área de projeto de sistemas em um chip (SoCs).

43

Você também pode gostar