A Microeletrônica e os Circuitos Não-Síncronos: Passado ou ...
Transcript of A Microeletrônica e os Circuitos Não-Síncronos: Passado ou ...
Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática (FACIN-PUCRS)Grupo de Apoio ao Projeto de Hardware - GAPH
Prof. Dr. Ney Laert Vilar Calazans
10 de Outubro de 2008
Atualizada em 20/10/2008
A Microeletrônica e os Circuitos Não-Síncronos:
Passado ou Futuro?
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
�0 - Introdução e Motivação
�1 - As(síncronos) - Representações
�2 - Síncronos versus Assíncronos
�3 - Histórico, Ferramentas, etc.
�4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
O International Technology Roadmap for Semiconductors (ITRS) diz:
“By the end of the decade, SOCs using 50-nm
transistors operating below one volt, will grow
to 4 billion transistors running at 10GHz”,
ou seja
“Ao final desta década existirão chips com
transistores de 50-nm, operando com
alimentação abaixo de 1 Volt, e contendo 4
bilhões de transistores operando a 10GHz”
0 – Introdução e Motivação
http://www.inf.pucrs.br/~gaph [email protected]
Produtos Comerciais� Exemplos:
» CELL – IBM-Toshiba-Sony (8+1 Núcleos)» Tile 64 – Tilera (64 Núcleos)» Intel – (80 Núcleos)» Dual e Quad Core
� MPSoCs Homogêneos� Tile 64 e Intel-80 Baseados em NoC, projeto GALS Mesócrono
MPSoC de pesquisa Intel (2007)
Cell (IBM-Toshiba-Sony) p/ PlayStation3 (2006)
Tile64 da Tilera (2007)
0 – Motivação - Circuitos e Estilos de Projeto
http://www.inf.pucrs.br/~gaph [email protected]
1 - Motivação
Vangal et al. ISSCC 2007
Tecnologia CMOS, 65nm
Interconexões 1 poly, 8 metal (Cobre)
Transistores 100 Milhões
Área do Chip 275 mm2
Área do Tijolo 3 mm2
EncapsulamentoLGA de 1248 pinos, 14 camadas, 343 pinos de E/S
Projeto GALS – mesócrono
http://www.inf.pucrs.br/~gaph [email protected]
0 - Motivação – Sistemas Não-síncronos
�Afinal, o que é um circuito síncrono?
Entradas Saídas
Relógio(Clock)
Estrutura Geral Circuitos
combinacionaisMemórias
B
Relógio
Relógio
A
CC5 E S CC6 E S
E S
CC7E S
CC1
CC3
E S CC2 E S
E S
CC4
http://www.inf.pucrs.br/~gaph [email protected]
0 - Motivação – Sistemas Não-síncronos
Pressupostos Operacionais
Tempo de Setup – tempo mínimo para que entradas estabilizem antes da transição do sinal para relógio
Tempo de Hold – tempo mínimo que entradas devem ficar estáveis após uma transição do sinal para relógio
Tempo de Ho ld
Tempo de Setup
V iolação de Hold
V iolação de Setup
Relógio
X
0
1
0
1
http://www.inf.pucrs.br/~gaph [email protected]
0 - Motivação – Sistemas Não-síncronos
Nas tecnologias modernas, temos (Gráfico de Ho et al. 2001, artigo “The Future of Wires” na revista Proceedings of the IEEE):
Ou seja, gasta-se hoje mais de 5 ciclos para o sinal de relógio atravessar um chip do estado da arte! Logo, como usar projeto síncrono? Evitar este problema é muito caro!! Além disso, pode-se gastar 60-70% da energia consumida pelo chip só com o relógio!
Estado da Arte hoje: 45nm
~30,0mm
~5,5mm
http://www.inf.pucrs.br/~gaph [email protected]
0 - Motivação – Sistemas Não-síncronos
�Vale a pena investigar sistemas não-síncronos
�É útil pensar considerar interfaces entre diferentes módulos de um chip � elas podem limitar o desempenho (ou não)
�Projeto síncrono está chegando ao limite, quais alternativas existem?
�Que suporte projeto não síncrono possui ou exige? Este suporte existe? � Síncronos têm dezenas de anos de desenvolvimento de EDA (Electronic Design Automation) por trás
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 - Introdução e Motivação
�1 - As(síncronos) - Representações
�2 - Síncronos versus Assíncronos
�3 - Histórico, Ferramentas, etc.
�4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
�Problema simples e tradicional: controle automático de semáforo em cruzamento.
SensoresPicada do Mato
BR 2000
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
� Interface externa com 3 sinais:� VP - Veículo na Picada, entrada binária
� RT - Referência temporal, entrada (70s em 0 e 30s em 1)
� VB - Vermelho na BR, saída
Sistema de ControleBR/Picada
VP
RT
VB
Diagrama de Blocos
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
SiEstado Atual
SaídaOi
EntradaIi
λ λ λ λ (Ii ,Si)
δ δ δ δ (Ii,Si)
Circuito Combinacional
Relógio
Registradorde Estado
Si+1Próximo Estado
Modelo Estrutural para FSMs Síncronas
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
Si
Estado Interno
SaídaOi
Estado deEntrada
Iiλ λ λ λ (Ii ,Si)
δ δ δ δ (Ii,Si)
Circuito Combinacional
Modelo Estrutural para FSMs Assíncronas
Atraso
http://www.inf.pucrs.br/~gaph [email protected]
Estrutura Algébrica A = <I, S, O, δδδδ, λλλλ>, onde:I ,O, S - 3 conjuntos: alfabeto de entrada e de saída, e estadosδδδδ, λλλλ - 2 funções of I x S -> S,O - funções de transição e de saída
STT para semáforo
S 0- 1110 VB
a
b
a a a 0
a b b 1
RT/VP
STG para semáforo
VB=0 VB=1a b
VP=0
RT= ↑, VP=1
RT=↓
Note-se: Máquina de Moore!
.
Note-se: ora valor, oratransição!
1 - As(síncronos) - Representações
http://www.inf.pucrs.br/~gaph [email protected]
λ δ
DQSTi STi+1
RTVP
Relógio
δ((RT,VP),ST)
λ((RT,VP),ST)
1 - As(síncronos) - Representações
Implementação Síncrona
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
00 1110
2
4
011
32,10
4,10
1,00
1,002,00
4,01
2,00
4,012,01
3,01
1,00
3,013,01
4,10
4,10
3,01
(a) SOC
00 1110
2
4
011
32,10
4,10
1,00
1,013,00
4,01
2,10
4,112,01
3,00
1,00
3,013,11
4,01
4,10
3,10
(b) MOC
00 1110
2
4
011
32,10
4,10
1,00
1,011,00
4,01
2,10
4,112,01
3,00
1,00
3,013,11
4,01
4,10
3,10
(c) UOC passível de instabilidade
00 1110
2
4
011
32,10
4,10
1,00
1,013,00
3,01
2,10
4,112,01
3,00
1,00
3,013,11
4,01
4,10
3,10
(d) UOC com instabilidade
Vários tipos de tabelas de fluxo assíncronas (AFTs)Revisão do conceito de estado!
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) – Representações
x+
y+z+
y-
x-
z-
ASTGx+
z+
y+
x-
z-
y-
Rede de Petri EquivalenteEntradaPrimária!
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
�Versão assíncrona - Situação de regime:� Sem veículo na Picada
�Referência temporal mudando periodicamente
� Sinal verde na BR
� Todo movimento em AFTs é ortogonal!
RT VP I→ S↓ 00 01 11 10
1 1,0 2,0
2 1,0 2,0
http://www.inf.pucrs.br/~gaph [email protected]
1 - As(síncronos) - Representações
�Operando-se analogamente para cada situação, gera-se tabela completa (negrito indica estado interno estável)
RT V PI→S↓ 00 01 11 10
1 1,0 3,0 7,0 2,0
2 1,0 3,0 7,0 2,03 4,0 3333,0 6,1 5,1
4 4,0 3,0 6,1 5,1
5 1,0 3,0 6,1 5,16 1,0 3,0 6,1 5,1
7 4,0 3,0 7,0 8,0
8 4,0 3,0 7,0 8,0
http://www.inf.pucrs.br/~gaph [email protected]
�Tabela gerada possui redundâncias, minimização de estados é aplicável;
�Resultado final, após minimização, incluindo codificação de estados é:
RT V PI→S↓ 00 01 11 10 st1 st2
1 1,0 2,0 4,0 1,0 0 0
2 2,0 2222,0 3,1 3,1 0 1
3 1,0 2,0 3,1 3,1 1 0
4 2,0 2,0 4,0 4,0 1 1
1 - As(síncronos) - Representações
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 – Introdução e Motivação
√ 1 - As(síncronos) - Representações
�2 - Síncronos versus Assíncronos
�3 - Histórico, Ferramentas, etc.
�4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
2 - Síncronos versus Não-síncronos
�Diferença mais fundamental - modelo temporal:
� Síncronos - sinais discretos/ tempo discreto
� Assíncronnos - sinais discretos/ tempo contínuo
�Estilo síncrono - uma família coerente de
métodos
�Diversos estilos assíncronos:
� dependem das restrições adicionais impostas
http://www.inf.pucrs.br/~gaph [email protected]
�Eliminação de tempo discreto e conseqüências sobre métodos de projeto
�Principais considerações de projeto derivadas da eliminação
Abordagem a adotar Aqui
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
2 - Síncronos versus Não-síncronos
Assíncronos: Qualquer interconexão arbitrária de portas lógicas, onde não há duas saídas de portas lógicas
conectadas entre si.
Síncronos: Um circuito assíncrono onde todos os laços derealimentação passam através de um elemento de
memória controlado por um sinal de relógio global do circuito. Além disso,o ambiente onde opera o circuito deve ser tal que nenhuma entrada ocorra fora de certas janelas
de tempo pré-especificadas (setup e hold).
Definições Estruturais
http://www.inf.pucrs.br/~gaph [email protected]
�1 - Abstração de atrasos durante o projeto
�2 - Facilidade de decomposição
�3 - Abstração de eventos espúrios (devido àpropagação diferenciada)
�4 - Total eliminação de corridas
�5 - Manipulações Booleanas e algébricas diretas
Vantagens do Projeto Síncrono
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
�1 - Escorregamento de relógio
�2 - Potencial para desperdiçar energia
�3 - Desempenho de pior caso
�4 - Baixa propensão à migração tecnológica
�5 - Inadaptabilidade à variações de propriedades físicas como tensão de alimentação
�6 - Tratamento do fenômeno de meta-estabilidade
Inconvenientes do Projeto Síncrono
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
Conceito de escorregamento
do sinal de relógio
B
Relógio
Relógio
A
CC5 E S CC6 E S
E S
CC7E S
CC1
CC3
E S CC2 E S
E S
CC4
0
1
0
1
Relógiono ponto A
Relógiono ponto B
Escorregamento do Sinal de Relógio
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
�Conjunto (incompleto) de modelos para tratamento de problemas de temporização
�Classes de modelos:� representação de informação
� ambiente
� fenômenos temporais
�Estilo assíncrono de projeto determinado pela escolha de subconjunto de modelos
�Confusão de nomenclatura ainda é grande!!!
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
�Subclassificação de Representação de informação�Modelos p/ codificação física de informação
�trilha única ou trilha dupla�códigos - exemplos: espaçador e dados alternantes
� Assinalamento da informação�assinalamento por nível ou por transição
� Protocolos de comunicação�duas fases ou quatro fases
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
a
bf
a1
b1
a0
b0
f1
f0
a
bf
a1
b1
a0
b0
f1
f0
a f
a1
a0
f0
f1Conceito de codificação
em trilha dupla
Trilha Simples Trilha Dupla
a0a1 Interpretação
00 Sem informação
01 ‘0’
10 ‘1’
11 Inválido
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
CON
REQ
DADO
Primeiro Ciclo Segundo Ciclo
dadoválido
dadoválido
CON
REQ
DADO
Primeiro Ciclo
dadoválido
Duas Fases
Quatro Fases
Protocolos de
Comunicação
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
�Conceito básico - mudança de entrada� mudanças simultâneas, não-simultâneas, inválidas
� períodos críticos
�Uma classificação� modo completamente irrestrito
� modo fundamental
� modo entrada-saída
�Outra classificação� modo mudança única de entrada
� modo múltipla mudança de entradas
Modelagem do Ambiente
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
� Atrasos para componentes� atraso ideal ou atraso inercial
� Classificação (magnitude do atraso)� ilimitado� limitado
� atraso inteiro ou discreto� atraso real ou contínuo
� Classificação baseado na transição da saída:� binário� ternário
2 - Síncronos versus Não-síncronos
Fenômenos Temporais
http://www.inf.pucrs.br/~gaph [email protected]
Atrasos de Componentes
2 - Síncronos versus Não-síncronos
Entrada 0
1
Binário0
1
Ternário0
1
1 92 3 4 5 6 7 8
X(t)0
1
δ
Y(t)0
1
Z1(t)0
1
Z2(t)0
1δ
http://www.inf.pucrs.br/~gaph [email protected]
�Classificação� atraso de realimentação
� atraso de porta
� atraso de fio
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
� Corridas
E1
E2
E3XY
Y+XY
XY+XY
XY
XY
XY
Z1Z2
0 0
0 1
1 1
0
rápido
1
0
1
X
lento
Y
1 0
0 1Z1
Z2
A1
A2
A4
A3
N
Z
X
δ
2δrápido
X Z
lento
0 1
2δδ
� Transitórios
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
Equilíbrio Estável
Equilíbrio Instável
Analogia Mecânica
� Eletricamente, o mesmo pode ocorrer:
Q
QSET
CLR
DSupor que uma transição ocorre em D ao mesmo tempo que
uma transição do sinal de relógio!
O que pode acontecer na saída Q?
CK
2 - Síncronos versus Não-síncronos
Metaestabilidade
http://www.inf.pucrs.br/~gaph [email protected]
� Eletricamente:� Se a entrada D transicionar ao mesmo tempo que o sinal que
comanda seu armazenamento em um elemento de memória, coisas horríveis podem acontecer:�O valor finalmente armazenado pode não ser o desejado (Ruim)�O valor finalmente armazenado (certo ou errado) pode sofrer uma demora arbitrária para aparecer (PIOR)
�O valor pode ser armazenado ora de forma correta, ora incorreta (MUITO RUIM)
� A saída do circuito de armazenamento pode ficar em valor lógico inválido (nem 0, nem 1) por um tempo arbitrário! (CATASTRÓFICO)
� Metaestabilidade deve ser evitada a todo custo!
2 - Síncronos versus Não-síncronos
Metaestabilidade
http://www.inf.pucrs.br/~gaph [email protected]
� Pouco consenso para classificações, terminologia confusa
� Alguns livros abordam critérios ortogonais e propõem conjunto de critérios� modelo de atrasos� quantificação de atrasos� forma de especificação do projeto� quantidade de sinais de relógio
� Classificação inclui síncronos como caso especial� Exemplos de livros livremente disponíveis:
� Sparsø, J. & Furber, S. Principles of asynchronous circuit design - A systems perspective. Caps 1-8, 2002.
� Calazans, N. L. V. Automated Logic Design of Sequential Digital Circuits. Caps 3 e 5, 1998.
2 - Síncronos versus Não-síncronos
Taxonomias Assíncronas
http://www.inf.pucrs.br/~gaph [email protected]
� speed-independent – um circuito que opera corretamente assumindo atrasos positivos, limitados mas desconhecidos em portas lógicas e atraso ideal nulo nos fios
� delay-insensitive - um circuito que opera corretamente assumindo atrasos positivos, limitados mas desconhecidos em portas lógicas e fios
� quasi-delay-insensitive (QDI) – similar a delay-insensitive mas assume que algumas derivações (forks) são isocrônicas
� self-timed - circuitos cuja operação correta baseia-se em pressupostos de temporização e/ou de engenharia mais elaborados que as classificações anteriores
Uma Taxonomia (SparsØ)
2 - Síncronos versus Não-síncronos
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 - Motivação
√ 1 - As(síncronos) - Representações
√ 2 - Síncronos versus Não-síncronos
�3 – Histórico, Ferramentas, etc.
�4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
�Não-síncronos não são novidade:� Huffman (1954) e Miller (1963) ���� várias contribuições
ao projeto assíncrono.� Unger ���� uso de AFTs em 1969.� Anos 1970-1990 ���� abandono de assíncronos, pois;
�Projeto síncrono ���� prático para circuitos complexos, muito mais difíceis de projetar, implementar e testar sem o clock
�CAD evoluiu muito, automatizando muitas tarefas (de projeto síncrono)
� Assim ���� assíncronos usados apenas quando inevitável ���� e.g. interfaces externas entre chips usando clocks diferentes (processador-periféricos)
� interesse em assíncronos ressurgindo � síncronos � beco sem saída de complexidade de projeto
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
�Onde há recursos para assíncronos?� Livros antigos e alguns novos:
1. Unger e Huffman – velhos2. Livro do Sparso – 2001, quase atual e muito bom 3. Livro do Myers – 2003, também muito bom e mais novo4. Meu livro – não tão novo (1998) e introdutório5. Metade da ref 2 e toda a ref 4 disponível na Internet
� Sites na Internet com muito material:� http://intranet.cs.man.ac.uk/apt/async - Site na
Universidade de Manchester com muito material para iniciantes e especialistas:�Artigos, ponteiros para livros, etc�Ferramentas e ponteiros para ferramentas de CAD�Listas de grupos de pesquisa e sites de conferências
� Principal conferência específica annual - ASYNC
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
�Alguns dos principais grupos de pesquisa em Assíncronos:� Universidade de Manchester (Inglaterra)
1. Semente de processador hoje comercial, o AMULET2. Ambiente de projeto semi-profissional – BALSA
� California Institute of Technology (EUA)1. Primeiro processador assíncrono do mundo (1988)2. Teoria básica por trás do BALSA (Alain Martin)
� Politécnica de Grenoble (França)1. Ambiente de projeto virando comercial – TAST2. Pesquisa em NoCs, FPGAs e ASICs (Marc Renaudin)
� Ver mais no repositório de Manchester1. Politécnica da Catalunha, Berkeley, TU-Denmark, U-Tokyo,
etc.
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
�Trabalhos desenvolvidos no Brasil (Só por nós da PUCRS, não conheço outro grupo)� Avaliação de interfaces assíncronas da literatura e
proposta de uma nova classe de interfaces para uso em FPGAs ���� SCAFFI (seção 4 desta apresentação) -MSc
� Implementação de NoC GALS similar à HERMES, com filas bi-síncronas, prototipada em FPGA (HERMES-G) – MSc
� Implementação de NoC GALS para aplicações Low Power (HERMES-GLP), com clock gating e cada roteador podendo operar em uma de várias freqüências, de acordo com a prioridade do tráfego passando por ele. (prototipada em FPGA) – MSc
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
� Desenvolvimento de uma biblioteca de hard macros a nível de layout para implementar assíncronos em FPGAs - MSc
� Implementação de algoritmos de criptografia (RNA, DES) em FPGAs com circuitos assíncronos baseados em macros em vários estilos (Dual-rail, STTL, etc.). Em cooperação com a Université de Montpellier, França – PhD
� Desenvolvimento de um MPSoC GALS baseado no processador MIPS com unidades de ponto flutuante compartilhadas (iniciando) – MSc
http://www.inf.pucrs.br/~gaph [email protected]
3 – Histórico, Ferramentas, etc.
� Desenvolvimento de um roteador de NoC totalmente assíncrono (sem clock), usando interfaces de sincronização com os demais elementos de processamento síncronos no chip. Protótipo em FPGA e ASIC em desenvolvimento - PhD
� Análise de vulnerabilidades de circuitos baseados em NoCs e uso de circuitos assíncronos para reduzir estas vulnerabilidades (em definição) – PhD
� Integração das redes Hermes-G, Hermes-GLP e Hermes-A no framework ATLAS – Iniciação Científica
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 - Motivação
√ 1 - As(síncronos) - Representações
√ 2 - Síncronos versus Não-síncronos
√ 3 - Histórico, Ferramentas, etc.
�4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
4 - Interfaces Assíncronas e SCAFFI
�Ao que tudo indica, a migração do uso de projeto síncrono para projeto assíncrono dar-se-á de forma gradual
�Um cenário desta Gradualidade:� Síncrono � GALS e Dessincronizados (?)
� GALS e Dessincronizado � Mistos: Dessincronizados e GALS e módulos totalmente assíncronos selecionados
� Mistos � Maior parte do sistema totalmente assíncrono
� Etc.
http://www.inf.pucrs.br/~gaph [email protected]
4 - Interfaces Assíncronas e SCAFFI
�O que é GALS ?
�Sigla para Sistemas Globalmente Assíncronos e Localmente Síncronos
�Todos os elementos processadores são internamente síncronos
�A comunicação é assíncrona
� Interfaces de comunicação síncrono�assíncrono e assíncrono�síncrono
�Assim, estudar interfaces torna-se fundamental
http://www.inf.pucrs.br/~gaph [email protected]
�Sistemas GALS� Computação → Ilhas síncronas
� Comunicação → Interfaces Assíncronas
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
�Tipos de interfaces de comunicação� Sincronizadores
�Relógio Pausável
� FIFO Bi-síncrona
�Fizemos:�Comparação de área e desempenho
� Verificação da robustez�Simulação com temporização
�Prototipação em FPGAs
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
�Circuito de teste - Produtor-consumidor com relógios independentes� Variar freqüência de operação um dos módulos, enquanto a do outro mantida fixa
�Resultados obtidos de simulação com temporização
�Circuitos prototipados em FPGA Spartan 3 XC3S200
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
�Sincronizadores�Não eliminam metaestabilidade; Área Reduzida
� Baixo desempenho; Descrição em VHDL
�Handshake 2 fases
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
� Relógio Pausável� Bundled Data e Handshake 2
fases
� Elimina totalmente o risco de metaestabilidade
� Gerador de relógio construído através de hard macros
� Problema: Latência do Árbitro
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
� Filas Bi-Síncronas� Baseada em créditos; Transmite 1 dado a cada ciclo de relógio
� 2 domínios de relógio; Sincronizadores; Código Gray
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
AbordagemFlip
FlopsLUTs
LUT RAMs
Hard Macros
Portas Equivalentes
Relógio Pausável
135 118 0 6 2096(*)
Sincronizadores 104 86 0 0 1656
Fila Bi-Síncrona 90 152 32(**) 0 3988
Comparação de Área das Implementações de Interfaces Assíncronas
4 - Interfaces Assíncronas e SCAFFI
(*) Não inclui as hard macros
(**) LUTRAMs usadas como RAM de porta dupla
http://www.inf.pucrs.br/~gaph [email protected]
4 - Interfaces Assíncronas e SCAFFI
� Interfaces fila
� desempenho
cresce com a
freqüência do
produtor
� Relógio
pausável �
desempenho
cresce menos
� Sincronizado-
res �
desempenho
constante
http://www.inf.pucrs.br/~gaph [email protected]
4 - Interfaces Assíncronas e SCAFFI
� Interfaces fila
� desempenho
cresce bem
com freqüência
do produtor
� Relógio
pausável �
desempenho
cresce menos
� Sincronizado-
res �
desempenho
constante
http://www.inf.pucrs.br/~gaph [email protected]
�SCAFFI - Stretchable
Clock Asynchronous
Flexible FPGA
Interface
�Estrutura Geral� Interface Adequada para
FPGAS
� Substitui o Elemento de Exclusão Mútua por um Stretcher
� Utiliza o método de relógio pausável
� Handshake de 2 e 4 fases
SR AR
SA AA
Dados
Porta de
Saída
Porta de
Entrad
a
Clock
2 Fases 4 Fases
Clock
SR
SA
2 Fases
Stretcher Stretcher
RS RSAS AS
L egend : SR – Synchronous Request AR – Asynchronous Request RS – Request Stretch SA – Synchronous Acknowledge AA – Asynchronous Acknowledge AS-Acknowledge Stretch
Produtor
Fonte Destino
Con
sum
idor
SCAFF I
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
20.2ns
50MHz clock
78MHz clock
5.5ns
20ns
Pausa no relógio do produtor
Pausa no relógio do receptor
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
�Stretcher� Responsável por pausar o sinal de relógio
� Substitui o elemento de exclusão mútua
� Adequado para implementações em FPGAs
� Desenvolvido para gerar relógio sem glitches
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
Um glitch aparece na saída do Mux
O glitch é filtrado e não aparece na saída
4 - Interfaces Assíncronas e SCAFFI – Sim SPICE
http://www.inf.pucrs.br/~gaph [email protected]
Especificação Burst Mode
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
Ferramenta MINIMALIST
4 - Interfaces Assíncronas e SCAFFI
Especificação Burst Mode
http://www.inf.pucrs.br/~gaph [email protected]
Especificação Burst Mode
MINIMALIST
Circuito da Porta de Saída
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
Circuito Lógico
Y0
SR AA AI
SA
AR
RI
Output Port
Hard Macro
FPGA Editor
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
● Ocupa um CLB � 4 slices, 8 LUTs
● LUTs transparentes �forks isócronos
● Sinal de realimentação● Atraso ≥ tempo de estabilização
● Sinal de Reset adicionado
4 - Interfaces Assíncronas e SCAFFI
http://www.inf.pucrs.br/~gaph [email protected]
Conversão de BD para DR (HDL)
• Asynchronous Request (AR) detectado no Receptor
• Portas e Stretcher são os mesmos
• Acréscimo de área proporcional a largura do barramento
• FIFO assíncrona opcional
•Comunicão intra e extra chip
4 - Interfaces Assíncronas e SCAFFI
SCAFFI Dual-Rail
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 - Motivação
√ 1 - As(síncronos) - Representações
√ 2 - Síncronos versus Não-síncronos
√ 3 - Histórico, Ferramentas, etc.
√ 4 - Interfaces Assíncronas e SCAFFI
�5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
5 - Um Estilo de Projeto Assíncrono
�Pressupostos:� protocolo de comunicação 2 fases
� dados empacotados (Bundled-data)
� biblioteca de células assíncronas (6 células)
� lógica de eventos baseada em transições, não níveis lógicos
http://www.inf.pucrs.br/~gaph [email protected]
Porta XOR – Um indicadorde eventos individuais
Elemento C e Müller – Um sincronizador de eventos
5 - Um Estilo de Projeto Assíncrono
a
b
a
0
0
1
1
b
0
1
0
1
fi
0
fi-1
fi-1
1
0
1
a
0
1
b
0
1
f
f
C
a
b
a
0
0
1
1
b
0
1
0
1
f
0
1
1
0
0
1
a
0
1
b
0
1
f
f
http://www.inf.pucrs.br/~gaph [email protected]
5 - Micropipelines - Células da biblioteca
ÁRBITRO
SELEÇÃO
V F
G1 D1 D2 G2
R1 R2
ALTERNADOR
CHAMADA
R D
R1 D1 D2 R2
http://www.inf.pucrs.br/~gaph [email protected]
5 - Micropipelines - Célula de memória
CdC
C
0
0
1
1
P
0
1
0
1
Função
Transparente baixo
Transparente alto
Armazena alto
Armazena baixo
C Pd
Cd P
REGE S
0
1
0
1
0
1
C
P
E S
PdP
http://www.inf.pucrs.br/~gaph [email protected]
5 - Micropipelines - Estrutura de controle
Re
C
AeC
R1
A1 R2
C
A2C
R3
A3
As
Rs
Fluxo de Inf ormação de Cont role
http://www.inf.pucrs.br/~gaph [email protected]
5 - Micropipelines - Controle + Processamento
http://www.inf.pucrs.br/~gaph [email protected]
Sumário
√ 0 - Motivação
√ 1 - As(síncronos) - Representações
√ 2 - Síncronos versus Não-síncronos
√ 3 - Histórico, Ferramentas, etc.
√ 4 - Interfaces Assíncronas e SCAFFI
√ 5 - Componentes e um Estilo de Projeto
�6 - Conclusões
http://www.inf.pucrs.br/~gaph [email protected]
6 - Conclusões
� Não-síncronos SÃO INEVITÁVEIS! Logo, são o FUTURO!� Todo chip usa alguma parte assíncrona hoje. Maioria limita-
se a sincronizadores de BAIXO DESEMPENHO!� Comunicação (NoCs) já são GALS e mais tarde vão ser
ASSÍNCRONAS ! Atentem!
� EDA é um PROBLEMÃO e portanto uma CLARAOPORTUNIDADE, pois o tamanho dos chips só cresce.
� Adoção de não-síncronos será GRADUAL! � Comecem a se preocupar AGORA! Aprendam a
PROJETAR e IMPLEMENTAR assíncronos!� NINGUÉM está pesquisando assíncronos no Brasil, com 1
exceção, que eu conheço! ☺☺☺☺ Mestrado? Doutorado?