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

Post on 22-Jul-2022

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

λ δ

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�Sistemas GALS� Computação → Ilhas síncronas

� Comunicação → Interfaces Assíncronas

4 - Interfaces Assíncronas e SCAFFI

http://www.inf.pucrs.br/~gaph calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

� 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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

�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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

Especificação Burst Mode

4 - Interfaces Assíncronas e SCAFFI

http://www.inf.pucrs.br/~gaph calazans@inf.pucrs.br

Ferramenta MINIMALIST

4 - Interfaces Assíncronas e SCAFFI

Especificação Burst Mode

http://www.inf.pucrs.br/~gaph calazans@inf.pucrs.br

Especificação Burst Mode

MINIMALIST

Circuito da Porta de Saída

4 - Interfaces Assíncronas e SCAFFI

http://www.inf.pucrs.br/~gaph calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

● 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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

5 - Micropipelines - Controle + Processamento

http://www.inf.pucrs.br/~gaph calazans@inf.pucrs.br

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 calazans@inf.pucrs.br

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?

top related