a microeletrônica e os circuitos não-síncronos: passado ou

14
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade 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 mm 2 Área do Tijolo 3 mm 2 Encapsulamento LGA 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 combinacionais Memórias B Relógio Relógio A CC5 E S CC6 E S E S CC7 E S CC1 CC3 E S CC2 E S E S CC4

Upload: others

Post on 22-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 3: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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!

Page 4: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 5: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 6: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

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

Page 7: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 8: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 9: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 10: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 11: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 12: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 13: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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

Page 14: A Microeletrônica e os Circuitos Não-Síncronos: Passado ou

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?