• Nenhum resultado encontrado

Síntese do datapath. Sistemas Digitais síncronos

N/A
N/A
Protected

Academic year: 2021

Share "Síntese do datapath. Sistemas Digitais síncronos"

Copied!
7
0
0

Texto

(1)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 141

Síntese do datapath

• S.D. - controlo e processamento de informação

– unidade de processamento (datapath)

• processamento e comunicação de dados

– registos, ALUs, outros operadores dedicados (FUs), barramentos

– controlo

• activa os elementos do datapath, define as operações a realizar

– FSMs, controladores microprogramados

• Control dominated

– sistemas onde predominam as estruturas de controlo

• controlador de microondas, semáforos, microprocessador, ...

• Data flow dominated

– sistemas onde predomina o datapath, controlo reduzido

• aplicações de DSP, unidades de cálculo dedicadas

Sistemas Digitais síncronos

• Sistema síncrono

– simplicidade em separar o controlo do datapath

– todos os registos têm o mesmo sinal de relógio

– o datapath efectua operações de registo a registo

• transferências entre registos na transição de relógio

– em cada ciclo de relógio o controlador define:

• que registos são carregados

• agulhamento de barramentos e multiplexers • operações a realizar pelas unidades funcionais

+ * / sqrt and or R

mux mux mux

R R mux mux clk controlo FUs registos

(2)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 143

Datapath síncrono

• Lógica combinatória entre registos

Tdelay1 Tdelay2 Tdelay3

clock

freq. clock < 1 / max(Tdelay1,Tdelay2,Tdelay3)

– frequência de relógio

– controlo do datapath também condiciona o desempenho

controlo datapath clock saída assíncrona saída síncrona entrada síncrona entrada assíncrona

Datapath síncrono

• todos os registos têm o mesmo relógio

– elevado fanout: necessário buffers para distribuir o relógio

• problemas

– clock skew: variação da fase do relógio em diferentes registos

• atrasos introduzidos pelas interligações, só conhecidos após routing • circuitos dedicados para distribuir relógio (p.ex. em FPGAs)

– carregamento condicional de registos (abilitação ou enable)

• não usar gated clocks (depende da tecnologia de implementação) • flip-flops com controlo clock enable síncrono

• necessário garantir tempos de hold e setup dos flip-flops

– tratamento de entradas assíncronas (p.ex. interrupções)

• análise de metaestabilidade • sincronização com o relógio

(3)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 145

Datapath síncrono

- clock skew

• variação da fase do relógio em diferentes registos

atraso R1 R2 clk clk1 clk clk1 R1 b c R2 b c a atraso x R1 R2 clk clk R1 b c R2 a b a x

Datapath síncrono

- clock skew

• Motivado por assimetria do circuito de relógio

– características físicas das ligações (comprimento, RC)

– diferente fanout

– lógica combinatória no caminho do relógio

R1 R2 clk clk1 R1 R2 clk clk1 R3 R4 R1 R1 R2 clk clk1 ce gated clock

(4)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 147

Datapath síncrono

- clock skew

• Em FPGAs

– as interligações programáveis introduzem atrasos importantes

• difícil (mas não impossível) equilibrar os atrasos de diferentes nets

– rede de interligações dedicadas para distribuir sinais de relógio

• também servem para outros sinais com elevado fanout

– exemplo: na família XC4000E (consultar o databook…)

• 4 buffers primários (BUFGP) e 4 buffers secundários (BUFGS) • um par de buffers em cada canto do die (TL, TR, BL e BR)

• cada buffer pode alimentar as entradas clk de todos os FFs com skew mínimo • não utilizar um desses buffers para distribuir o relógio é FATAL!

• no ambiente de síntese da XILINX (Foundation+Express)

– são identificados os sinais de relógio: sinais que alimentam entradas clk de FFs – é alocado um buffer global (BUFGP ou BUFGS) para cada um

– não podem existir mais de 8 sinais de relógio diferentes

Datapath síncrono

- gated clock

• Carregamento condicional de um registo

– solução errada: usar um AND para deixar ou não passar o clock

ce.clk clk

R1 a b ?

ce

R1 é carregado duas vezes !

Só funciona se ce ocorrer antes de clk. Como é possível garantir?

Se ce é produzido por uma máquina de estados síncrona com clk, ce é mudado sempre após clk. Problema adicional: o atraso

introduzido pela porta AND R

clk ce.clk ce

– clock enable síncrono

– flip-flops primitivos

com controlo clock enable

solução correcta

R clk ce 0 1

(5)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 149

Datapath síncrono

- gated clock

• Solução (mais) segura para um gated clock

clk clk gclk1 gclk2 ce1 ce2 controlo gclk = ce.clk clk ce clk

• portas NAND com atrasos idênticos • atrasos iguais de clk até cada NAND... • … e de cada NAND até aos buffers • garante clock skew mínimo

• sinais ce gerados na unidade de controlo • unidade de controlo síncrona com clk • em FPGA requer routing cuidado

• Outra solução segura: registar os sinais enable

Datapath síncrono

- gated clock

clk en1 en2 controlo D Q D Q gclk1 gclk2 ens1 ens2 gclk clk en ens

(6)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 151

Síntese do datapath

- pipelining

• datapath síncrono

(não-pipelined vs. pipelined)

– não-pipelined: uma operação por ciclo de relógio: f

clk

oper/s

– pipelined: partir o circuito lógico e inserir registos

clk

di0 di1 di2 di3 di4

do0 do1 do2 do3 do4

X reg in reg out Tdelay di Tdelay clk lógica combinatória

reg in reg out do di Tpdelay max clk lógica combinatória

reg in reg out

do

reg1

reg0

clk

di0 di1 di2 di3 di4

d0 d1 d2 d3 d4 X reg in reg0 Tpdelay max reg1 reg out d0 d1 d2 d3 X

do0 do1 do2 X

X

X X

Latência: 3 ciclos clk

Síntese do datapath

- pipelining

• No circuito pipelined

– Tp

delay max

menor do que T

delay

• Tpdelay maxé o maior atraso de uma partição do circuito combinatório

• define uma frequência de clk maior do que para o circuito combinatório

– 3

x

Tp

delay max

maior do que T

delay

• para além da lógica combinatória há atrasos introduzidos pelos registos • um resultado demora 3 períodos de clk a aparecer na saída

– é consumido um dado e produzido um resultado em cada clk

• aumento de desempenho para sequências de operações iguais • mas não compensa para realizar uma única operação.

(7)

FEUP/DEEC, Projecto de Sistemas Digitais, 2003/2004

José Carlos Alves 153

Entradas assíncronas

• Problema: se uma entrada comuta e o clk também?

– Flip-flops podem “cair” em estados meta-estáveis

• ao fim de um certo tempo, é muito provável que transitem para 0 ou 1

– esse tempo é um dado do fabricante e da ordem de grandeza do tempo de propagação do flip-flop

• Como sincronizar entradas assíncronas?

– Solução: usar um shift-register de dois andares (como funciona?)

Circuito síncrono

Assynch_in

D Q D Q

clock

synch_in

Múltiplos domínios de clock

Problema

– como gerar e distribuir os diferentes sinais de clock?

– como sincronizar as transferências de dados entre diferentes domínios?

Soluções

– 3 sinais de clock independentes (derivados de uma mesma fonte)

um só clock (frequência mais elevada) e sinais de clock enable para cada bloco

Circuito síncrono

clock1

Circuito síncrono Circuito síncrono

clock2 clock3

Referências

Documentos relacionados

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São

Este trabalho tem como objetivo geral avaliar a quantidade de água pluvial que pode ser aproveitada após infiltrar em um pavimento permeável de concreto

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

Espécimes de tubarões Carcharhinidae, capturados em 1999 no Estado de Santa Catarina, Brasil, estavam parasitados com espécies de Trypanorhyncha Homeacanthoidea: Prionace

Se levarmos em conta que são necessárias 16 instâncias de S-Box na transformação de round e mais 4 para a derivação de chaves, o consumo de bits de memória será de 40960, para