tÉcnicas para projeto de s - lsi.usp.brdmpsv/download/tesenavarro.pdf · 2.2.3.1 estratégia com...
TRANSCRIPT
JOÃO NAVARRO SOARES JUNIOR
TÉCNICAS PARA PROJETO DE ASICS CMOS
DE ALTA VELOCIDADE
Tese apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do título de Doutor em Engenharia.
São Paulo 1998
JOÃO NAVARRO SOARES JUNIOR
TÉCNICAS PARA PROJETO DE ASICS CMOS
DE ALTA VELOCIDADE
Tese apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do título de Doutor em Engenharia.
Área de concentração: Microeletrônica
Orientador: Wilhelmus A.M. Van Noije
São Paulo 1998
Navarro Soares Jr., João Técnicas para Projeto de ASICs CMOS de Alta
Velocidade. São Paulo, 1998. 196p.
Tese (Doutorado) - Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia Elétrica.
1. Microeletrônica 2. Circuitos Integrados 3. CMOS 4. Circuitos de alta velocidade - Projetos I. Universidade de São Paulo. Escola Politécnica. Departamento de Engenharia Elétrica II. t
Agradecimentos
A conclusão deste trabalho só foi possível devido a colaboração de diversas pessoas e instituições.
Dessa forma, gostaria de tornar publico meus agradecimentos
ao Prof. Dr. Wilhelmus A.M. Van Noije pela orientação, pelo exemplo de trabalho que sempre deu,
e sobretudo pelo incentivo e confiança;
ao Laboratório de Sistemas Integráveis da USP (LSI), onde foi desenvolvida a quase totalidade
deste trabalho, ao CNPq/Protem e à Fundação Banco do Brasil, que apoiaram a aquisição dos
equipamentos usados nos testes, à FAPESP, que possibilitou a fabricação dos protótipos via projeto
PMU-FAPESP, e ao Laboratório de Microeletrônica da USP (LME), onde foram realizados alguns dos
testes necessários;
aos colegas do LSI, pela ajuda e paciência;
aos amigos Pedro L.P. Sanchez e Sandra Abib pelo apoio que sempre deram;
aos meus pais, a quem devo o que sou;
e à Priscila, de cuja paciência e amor abusei, e a quem espero pagar com maior amor.
Por fim, minha gratidão à Deus, origem e fim de tudo.
Sumário
1
Sumário
Sumário ..........................................................................................................................................................................1
Lista de Figuras .............................................................................................................................................................5
Lista de Tabelas ...........................................................................................................................................................10
Lista de Símbolos .........................................................................................................................................................11
Resumo .........................................................................................................................................................................17
Abstract ........................................................................................................................................................................19
1. Introdução ...................................................................................................................................................................21
1.1 História das tecnologias MOS ...............................................................................................................................21
1.2 Motivações e objetivos ...........................................................................................................................................22
1.3 Desenvolvimento da pesquisa ................................................................................................................................25
1.4 Capítulos: descrição ..............................................................................................................................................27
2. Implementação de Register Transfer Systems (RTS) de Alta Velocidade ...............................................................29
2.1 Introdução ..............................................................................................................................................................29
2.2 Register Transfer Systems (RTS) ............................................................................................................................29
2.2.1 Lógica Combinatorial .....................................................................................................................................30
2.2.1.1 Lógica Estática Complementar CMOS...................................................................................................30
2.2.1.2 Lógica Estática Pseudo NMOS...............................................................................................................32
2.2.1.3 Lógica Estática com Transistores de Passagem......................................................................................33
2.2.1.4 Lógica Dinâmica CMOS.........................................................................................................................34
2.2.1.5 Lógica Dinâmica Clocked CMOS (C2MOS) ..........................................................................................37
2.2.2 Registradores ..................................................................................................................................................37
2.2.2.1 Registradores Estáticos ...........................................................................................................................38
2.2.2.2 Registradores Dinâmicos ........................................................................................................................39
2.2.3 Políticas de clock ............................................................................................................................................40
2.2.3.1 Estratégia com duas fases de clock NORA.............................................................................................40
2.2.3.2 Estratégia com uma fase de clock TSPC.................................................................................................42
2.2.3.2.1 Portas Lógicas e Registradores .......................................................................................................42
2.2.3.2.2 Regras de Composição....................................................................................................................44
2.2.3.2.3 Conclusões sobre o TSPC ...............................................................................................................46
2.3 Estratégia E-TSPC .................................................................................................................................................47
2.3.1 Blocos da E-TSPC..........................................................................................................................................47
2.3.2 Regras de composição ....................................................................................................................................47
Sumário
2
2.3.2.1 Definições............................................................................................................................................... 47
2.3.2.2 Descrição das Regras.............................................................................................................................. 52
2.3.2.2.1 Regras r1 a r5................................................................................................................................... 53
2.3.2.2.2 Blocos Dps e data chains do circuito ............................................................................................. 55
2.3.3 Teorema fundamental da estratégia E-TSPC ................................................................................................. 60
2.3.3.1 Propriedades dos blocos do E-TSPC...................................................................................................... 61
2.3.3.2 Demonstração do Teorema fundamental ................................................................................................ 63
2.3.4 Blocos N-MOS like......................................................................................................................................... 74
2.3.5 Regra de Exceção........................................................................................................................................... 77
2.3.6 Comparações e conclusões sobre o E-TSPC.................................................................................................. 81
3. Otimização de Tapered Buffers para altas taxas de operação................................................................................. 83
3.1 Introdução.............................................................................................................................................................. 83
3.2 Critérios clássicos para otimização de Tapered Buffers ....................................................................................... 84
3.3 Novo critério para otimização de Tapered Buffers para altas taxas ..................................................................... 88
3.3.1 Novo critério: sinal de teste e definição de passagem do sinal....................................................................... 89
3.3.2 Modelo teórico para o novo critério de otimização........................................................................................ 90
3.3.3 Simulação dos Tapered Buffers...................................................................................................................... 93
3.3.3.1 Condições para as simulações ................................................................................................................ 94
3.3.3.2 Resultados das Simulações..................................................................................................................... 97
3.3.3.2.1 Modelamento dos Tapered Buffers com as expressões analíticas (14) ......................................... 101
3.3.3.2.2 Modelamento dos Tapered Buffers com o uso de tabelas empíricas ............................................ 103
3.3.4 Mismatch do Atraso ..................................................................................................................................... 108
3.3.4.1 Atraso do Tapered Buffer ..................................................................................................................... 109
3.3.4.2 Modelos estatísticos para os parâmetros variáveis ............................................................................... 112
3.3.4.2.1 Parâmetro Li .................................................................................................................................. 113
3.3.4.2.2 Parâmetro Wi................................................................................................................................. 113
3.3.4.2.3 Parâmetros VTni e VTpi.................................................................................................................... 114
3.3.4.2.4 Parâmetro Coxi ............................................................................................................................... 115
3.3.4.2.5 Parâmetros µni e µpi ....................................................................................................................... 115
3.3.4.3 Expressões para as derivadas e sua avaliação nos valores médios ....................................................... 116
3.3.4.4 Cálculo da variância do atraso de um Tapered Buffer .......................................................................... 120
3.3.4.5 Análise da variância em função do fator de aumento ........................................................................... 121
3.3.4.5.1 Primeiro e segundo termo............................................................................................................. 121
3.3.4.5.2 Terceiro termo .............................................................................................................................. 122
3.3.4.5.3 Quarto termo................................................................................................................................. 123
3.3.4.5.4 Quinto termo................................................................................................................................. 123
3.3.4.5.5 Sexto a nono termos...................................................................................................................... 124
3.3.4.5.6 Décimo termo ............................................................................................................................... 124
Sumário
3
3.3.4.5.7 Décimo primeiro a décimo quarto termos.....................................................................................124
3.3.4.5.8 Resultados Numéricos...................................................................................................................125
3.3.4.6 Considerações finais sobre o estudo do Mismatch do Atraso ...............................................................130
3.4 Conclusões sobre a otimização de Tapered Buffers.............................................................................................131
4. Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers .............................................................133
4.1 Introdução ............................................................................................................................................................133
4.2 Circuitos Multiplexador e Demultiplexador.........................................................................................................133
4.2.1 Projeto do Multiplexador e do Demultiplexador (primeira versão)..............................................................134
4.2.1.1 Circuitos de entrada/saída conversores ECL-CMOS e CMOS-ECL ....................................................134
4.2.1.2 Principais células TSPC........................................................................................................................136
4.2.1.3 Multiplexador 8:1 .................................................................................................................................137
4.2.1.4 Demultiplexador 1:8 .............................................................................................................................139
4.2.2 Projeto do Multiplexador e do Demultiplexador (nova versão)....................................................................141
4.2.2.1 Novo circuito conversor ECL-CMOS [Na98b] ....................................................................................142
4.2.2.2 Células com blocos N-MOS like ...........................................................................................................142
4.2.2.3 Novo Multiplexador 8:1 .......................................................................................................................144
4.2.2.4 Novo Demultiplexador 1:8 ...................................................................................................................145
4.2.3 Resultados Experimentais do Multiplexador 8:1 e do Demultiplexador 1:8................................................149
4.2.3.1 Testes dos conversores ECL-CMOS e CMOS-ECL.............................................................................153
4.2.3.2 Testes do Circuito Multiplexador 8:1 ...................................................................................................155
4.2.3.3 Testes do Circuito Demultiplexador 1:8 ...............................................................................................157
4.2.4 Multiplexador e Demultiplexador: conclusões .............................................................................................159
4.3 Circuito Dual-Modulus Prescaler........................................................................................................................160
4.3.1 Circuito Dual-Modulus Prescaler (divide por 128/129)...............................................................................161
4.3.2 Estudo preliminar dos contadores síncronos ................................................................................................162
4.3.3 Resultados Experimentais do Dual-Modulus Prescaler ...............................................................................165
4.3.4 Dual-Modulus Prescaler: conclusões...........................................................................................................168
5. Conclusões e futuros trabalhos ................................................................................................................................171
5.1 Futuros trabalhos sobre o E-TSPC ......................................................................................................................172
5.2 Futuros trabalhos sobre otimização de tapered buffers.......................................................................................172
APÊNDICE A .............................................................................................................................................................175
APÊNDICE B .............................................................................................................................................................177
APÊNDICE C.............................................................................................................................................................181
APÊNDICE D.............................................................................................................................................................185
Referências Bibliográficas .........................................................................................................................................189
Lista de Figuras
5
Lista de Figuras Figura 1. Número de transistores em função do ano de lançamento para os principais microprocessadores da Intel (não
estão no gráfico os processadores 8088, 386SX e 486SX pois eles são versões econômicas do 8086, do 386DX e do
486DX, respectivamente)..............................................................................................................................................23
Figura 2. Esquemático de sistema para transmissão e recepção por meio de fibra óptica; E/O é um conversor
elétrico/óptico (foto-emissor) e O/E, um conversor óptico/elétrico (foto-receptor). As taxas de operação indicadas são
do padrão SONET STS24/CCITT STM8 [St92]...........................................................................................................26
Figura 3. Representação genérica de um Register Transfer System (RTS). ..........................................................................30
Figura 4. Porta lógica estática complementar CMOS para a função ( )d a b c= + : (a), representação com transistores e
(b), sua representação simplificada. ..............................................................................................................................31
Figura 5. Porta lógica estática pseudo NMOS para a função e a b c d= + + + : (a), representação com transistores e (b),
sua representação simplificada......................................................................................................................................33
Figura 6. Portas lógicas estáticas com transistores de passagem para a função c a b= ⊕ : (a), porta simples com
transistores N e (b), Complementary Pass-Transistor Logic (CPL)..............................................................................34
Figura 7. Portas lógicas dinâmicas para a função ( )d a b c= + : (a), representação com transistores da porta n-dinâmica e
(b), sua representação simplificada; (c), representação com transistores da porta lógica p-dinâmica e (d), sua
representação simplificada. ...........................................................................................................................................35
Figura 8. Ligação de portas lógicas dinâmicas; (a), ligação sujeita a descarga indevida, (b), estilo de projeto dominó e (c),
estilo de projeto np-CMOS. ..........................................................................................................................................36
Figura 9. Porta/registrador dinâmico C2MOS para a função ( )d a b c= + : (a), representação com transistores e (b), sua
representação simplificada. ...........................................................................................................................................38
Figura 10. Registradores estáticos: (a), latch pseudo-estático com transistores de passagem e (b), D-flip-flop com lógica
diferencial......................................................................................................................................................................39
Figura 11. Registrador latch dinâmico com transistor de passagem: (a), porta de passagem com um transistor N e (b), com
transistores N e P...........................................................................................................................................................40
Figura 12. Latches dinâmicos TSPC: (a), armazena o dado quando o clock é baixo e (b), armazena o dado quando o clock é
alto.................................................................................................................................................................................40
Figura 13. Exemplo de circuito NORA. ................................................................................................................................41
Figura 14. Circuitos n-latch e p-latch: (a), representação com transistores e (b), representação simplificada do n-latch; (c),
representação com transistores e (d), representação simplificada do p-latch................................................................42
Figura 15. Transformação de uma porta estática complementar CMOS (a) em portas data pre-charged Dp: (b), portas PH e
(c), portas PL.................................................................................................................................................................44
Figura 16. Gráfico de conexões para o TSPC de acordo com [La95]. As portas e circuitos são representados pelos
quadrados. O fluxo de dados permitido é indicado pelo sentido das setas. # indica ligações onde atrasos diferenciados
do clock nos blocos não causam problemas (skew safe communication); * indica pontos de latch depois dos quais
portas estáticas complementar CMOS podem ser inseridas; ◊ indica ligações onde há problemas potenciais de
violação de holding time. ..............................................................................................................................................45
Figura 17. Ligação de dois D-flip-flops TSPC. .....................................................................................................................46
Lista de Figuras
6
Figura 18. Circuito com possibilidade de violação de holding time usando blocos data precharged................................... 46
Figura 19. Circuito E-TSPC com exemplos de data chains. ................................................................................................. 52
Figura 20. Conversão de blocos para blocos N-MOS like: (a), bloco n-dinâmico e (b), bloco n-dinâmico N-MOS like; (c),
bloco p-dinâmico e (d), bloco p-dinâmico N-MOS like; (e), bloco n-latch e (f), bloco n-latch N-MOS like; (g), bloco
p-latch e (h), bloco p-latch N-MOS like........................................................................................................................ 76
Figura 21. Ilustração de um tapered buffer com N inversores. O nó de saída tem uma capacitância de carga CL................ 83
Figura 22. Gráfico mostrando o fator de aumento que minimiza o atraso total de um tapered buffer como função da razão
KLC
DS
ox........................................................................................................................................................................... 88
Figura 23. Demultiplexador 1:8 com tapered buffers para o dado e para o clock [Ro95b]................................................... 89
Figura 24. Sinais de entrada e saída de um tapered buffer com um número par de inversores............................................. 90
Figura 25. Gráfico de Kα como função de Tt
N
N
∆
0
. ............................................................................................................. 93
Figura 26. Configuração em pente dos transistores N e P para simulações. ......................................................................... 95
Figura 27. Diagrama de decisões para determinação da máxima taxa em que opera um tapered buffer qualquer (εrf é o erro
relativo da freqüência). ................................................................................................................................................. 96
Figura 28. Gráfico da máxima taxa de operação, Gbit/s, em função do fator de aumento do tapered buffer. São
simulados buffers com 2, 3, 4, 5, 6 e 7 inversores. A carga final em todos eles é 0,2pF e a tecnologia é 0,8µm. ........ 98
Figura 29. Gráfico da máxima taxa de operação, Gbit/s, em função do fator de aumento do tapered buffer. São
simulados buffers com 2, 3, 4, 5 e 6 inversores. A carga final em todos eles é 0,2pF e a tecnologia é 0,35µm. .......... 99
Figura 30. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função da carga capacitiva CL da
saída. São simulados buffers com 2, 3, 4 e 5 inversores. O fator de aumento usado é χ=2 e a tecnologia é de 0,8µm.100
Figura 31. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função da carga capacitiva CL da
saída. São simulados buffers com 2, 3, 4 e 5 inversores. O fator de aumento usado é χ=2 e a tecnologia é de 0,35µm.100
Figura 32. Gráfico da largura mínima de um pulso que passa por um inversor em função da sua carga capacitiva. As
larguras de canal dos trans.P/trans.N são: 8/5µm; 12/7,5µm; 16/10µm; 20/12,5µm; 24/15µm; 28/17,5µm; 32/20µm;
36/22,5µm; 40/25µm. O comprimento do canal é L=0,8µm. A tecnologia é de 0,8µm. ............................................ 102
Figura 33. Gráfico da largura mínima de um pulso que passa por um inversor em função da sua carga capacitiva. As
larguras de canal dos trans.P/trans.N são: 8/5µm; 12/7,5µm; 16/10µm; 20/12,5µm; 24/15µm; 28/17,5µm; 32/20µm;
36/22,5µm; 40/25µm. O comprimento do canal é L=0,35µm. A tecnologia é de 0,35µm. ........................................ 102
Figura 34. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função do número de inversores.
Curvas para diversos valores de fator de aumento são apresentadas (fator de aumento de 1, 2, 3, 4 e 5). O primeiro
inversor, em todos os exemplos, tem 5µm para largura de canal do transistor N, e 8µm para o transistor P. O
comprimento de canal para todos é de 0,8µm. A carga na saída é de 1fF e a tecnologia CMOS de 0,8µm. .............. 105
Figura 35. Gráfico do largura mínimo de um pulso que passa pelo tapered buffer em função do número de inversores.
Curvas para diversos valores de fator de aumento são apresentadas (fator de aumento de 1, 2, 3, 4 e 5). O primeiro
inversor, em todos os exemplos, tem 5µm para largura de canal do transistor N, e 8µm para o transistor P. O
comprimento de canal para todos é de 0,35µm. A carga na saída é de 1fF e a tecnologia CMOS de 0,35µm. .......... 106
Lista de Figuras
7
Figura 36. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é apresentado com ‘x’, três
com ‘+’, quatro com ‘o’ e cinco com ‘*’) e equações dadas por (16) (linhas contínuas). A tecnologia é de 0,8µm e a
capacitância de carga de 0,2pF....................................................................................................................................106
Figura 37. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é apresentado com ‘x’, três
com ‘+’, quatro com ‘o’, cinco com ‘*’, seis com 'x', sete com '+' e oito com '*') e equações dadas por (16) (linhas
contínuas). A tecnologia é de 0,8µm e a capacitância de carga de 1pF. .....................................................................107
Figura 38. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é apresentado com ‘x’, três
com ‘+’, quatro com ‘o’ e cinco com ‘*’) e equações dadas por (16) (linhas contínuas). A tecnologia é de 0,35µm e a
capacitância de carga de 0,2pF....................................................................................................................................107
Figura 39. M Tapered buffers usados para a distribuição de clock......................................................................................109
Figura 40. Processos básicos que geram os desvios nos parâmetros: (a) eventos que ocorrem aleatoriamente no circuito
como ruído branco (nonuniform arrangement of events), (b) rugosidade das bordas (edge roughness), e (c) acurácia
de repetição no processo de geração de formas (repetition accuracy of pattern generation process)[Oe93]. ............113
Figura 41. Atraso de um inversor em função do fator de aumento do buffer para as tecnologias 0,8µm e 0,35µm............127
Figura 42. Comportamento dos fatores de análise, Fac3 ..., Fac14, em função do fator de aumento do buffer. Os valores
apresentados são relativos ao valor encontrado para χ=3. A tecnologia é 0,8µm. ......................................................128
Figura 43. Comportamento dos fatores de análise, Fac3 ..., Fac14, em função do fator de aumento do buffer. Os valores
apresentados são relativos ao valor encontrado para χ=3. A tecnologia é 0,35µm. ....................................................128
Figura 44. Gráfico do desvio padrão normalizado do atraso do buffer determinado por simulações de "Monte Carlo", em
função do fator de aumento do buffer (tecnologia 0,35µm). Também são apresentadas as curvas teóricas para
comparação dos resultados..........................................................................................................................................129
Figura 45. Circuito conversor de alta velocidade ECL-CMOS (a) e seu circuito de polarização (b). .................................135
Figura 46. Circuito conversor de alta velocidade CMOS-ECL (a) e seu circuito de polarização (b). .................................136
Figura 47. Células básicas empregadas no projeto do Multiplexador 8:1 e do Demultiplexador 1:8. Estão representados
tanto o diagrama de transistores como o símbolo de cada célula. Os blocos hachurados avaliam quando o sinal de
clock (Cl) é baixo; os outros blocos, quando o sinal de clock é alto. Todos os transistores usados aqui têm
comprimento de canal L=0,8µm. A largura de canal, para a maioria, é W=2,4µm; para os transistores onde isso não é
verdade, o valor da largura do canal, em µm, está indicado na figura. .......................................................................137
Figura 48. Diagrama esquemático da primeira versão do circuito Multiplexador 8:1.........................................................139
Figura 49. Diagrama esquemático do núcleo do circuito Demultiplexador 1:8 da primeira versão. ...................................140
Figura 50. Circuito para gerar sinais de alinhamento de byte. .............................................................................................140
Figura 51. Circuito para gerar o clock que sincroniza a saída (CA). ...................................................................................141
Figura 52. Circuito para gerar sinais de seleção para os multiplexadores 2:1 da saída. ......................................................141
Figura 53. Circuito modificado conversor de alta velocidade ECL-CMOS (a) e seu circuito de polarização (b). ..............142
Figura 54. Novas células básicas que empregam blocos N-MOS like. Estão representados tanto o diagrama de transistores
como o símbolo de cada célula. Os blocos hachurados avaliam quando o sinal de clock (Cl) é baixo; os outros blocos,
quando o sinal de clock é alto. Todos os transistores usados aqui têm comprimento de canal L=0,8µm. A largura de
canal, para a maioria, é W=2,4µm; para os transistores onde isso não é verdade, o valor da largura do canal, em µm,
está indicado na figura. ...............................................................................................................................................143
Figura 55. Diagrama esquemático do novo circuito Multiplexador 8:1. .............................................................................144
Lista de Figuras
8
Figura 56. Diagrama esquemático do núcleo do novo circuito Demultiplexador 1:8. Os blocos hachurados são aqueles que
foram alterados. .......................................................................................................................................................... 146
Figura 57. Modificações no circuito para gerar sinais para alinhamento de byte. Os blocos hachurados são aqueles que
foram alterados. .......................................................................................................................................................... 146
Figura 58. Modificações no circuito gerador do clock CA. Os blocos hachurados são aqueles que foram alterados. ........ 147
Figura 59. Configuração dos tapered buffers para a distribuição do sinal de clock no Demultiplexador 1:8..................... 147
Figura 60. Sinal DadoM e clock, no primeiro Multiplexador fabricado, após passarem pelo circuito conversor ECL-CMOS
da entrada e tapered buffers (ver Figura 49). Os sinais na entrada têm freqüência de 625MHz, tempo de
subida/descida de 0,2ns e níveis de tensão de 4,0V/3,2V. Os resultados são obtidos a partir de simulação SPICE, level
2 e parâmetros slow. ................................................................................................................................................... 148
Figura 61. Sinal DadoM e clock, no novo Multiplexador, após passarem pelo circuito conversor ECL-CMOS da entrada e
tapered buffers (ver Figura 56). Os sinais na entrada têm freqüência de 625MHz, tempo de subida/descida de 0,2ns e
níveis de tensão de 4,0V/3,2V. Os resultados são obtidos a partir de simulação SPICE, level 2 e parâmetros slow.. 149
Figura 62. Layout do novo circuito Multiplexador 8:1. As dimensões deste circuito (incluindo os PADs) são 1,68mm por
0,94 mm. ..................................................................................................................................................................... 150
Figura 63. Layout do novo circuito Demultiplexador 1:8. As dimensões deste circuito (incluindo os PADs) são 1,90mm
por 1,08mm................................................................................................................................................................. 151
Figura 64. Fotografias dos C.I.s fabricados (nova versão). Em (a) está o circuito Multiplexador 8:1 e em (b), o circuito
Demultiplexador 1:8. .................................................................................................................................................. 152
Figura 65. Resultado do teste nos conversores ECL-CMOS e CMOS-ECL. É mostrado o sinal na entrada do PAD InTest,
INPUT, que está a taxa de 2,4Gbit/s, e no PAD OuTest, OUTPUT. Os sinais INPUT e OUTPUT são invertidos. A
seqüência que aparece na figura, sinal de entrada, é "1111010000000100101010". .................................................. 153
Figura 66. Diagrama de olho para avaliação dos conversores ECL-CMOS e CMOS-ECL. O sinal de entrada é Pseudo-
Randon-Bit-Sequence 223-1 (HP Pulse Generator 8133A). Em (a) o sinal aplicado tem taxa de
622,1Mbit/s(STS12/STM4 [St92]) em (b), taxa de 1244,12Mbit/s (STS24/STM8 [St92]) e em (c), taxa de 1,6Gbit/s.154
Figura 67. Diagrama de olho do sinal na entrada do C.I.: (a) para o sinal com taxa de 1244,1Mbit/s e (b), para o sinal a
1,6Gbit/s. O sinal é Pseudo-Randon-Bit-Sequence 223-1. ........................................................................................... 155
Figura 68. Sinal de clock e da saída do Multiplexador 8:1 funcionando a taxa de 1,7Gbit/s. O sinal de saída é "01100101".
A posição relativa no tempo, entre o clock e o sinal de saída, foi ajustada para facilitar a visualização. ................... 156
Figura 69. Sinal de dados, DADO, e sinal de clock nas entradas do circuito Demultiplexador 1:8 (versão nova). O sinal de
dados tem valor "101011" e taxa de 1,38Gbit/s. ......................................................................................................... 158
Figura 70. Diagrama de blocos de sintetizador de freqüência RF empregando PLL e Prescaler. ...................................... 160
Figura 71. Diagrama esquemático do Dual-Modulus Prescaler (divide por 128/129). ...................................................... 162
Figura 72. Diagrama de transistores e layout dos quatro projetos do contador síncrono 4/5: em (a) está o projeto DG1; em
(b), DG2; em (c), DG3; em (d), DG4. Na representação de transistores também estão indicados a largura e, quando
diferente de 0,8µm, o comprimento do canal de cada transistor (largura/comprimento). No layout, a moldura em
torno do circuito tem dimensões de 100µm X 70µm (praticamente as dimensões de DG1), para os quatro casos. .... 163
Figura 73. Fotografia do C.I. fabricado. Em (a) aparece o C.I. completo, com três diferentes Prescalers; também são
mostradas as conexões do C.I. com placa de teste. Em (b), estão detalhes do Prescaler que foi testado em alta
freqüência (implementação 1)..................................................................................................................................... 166
Lista de Figuras
9
Figura 74. Resultados experimentais do Prescaler. A curva (*), eixo à esquerda, fornece a máxima freqüência de operação
em função da tensão de alimentação (VDD); a curva (o), eixo à direita, fornece a corrente consumida na freqüência
máxima........................................................................................................................................................................167
Figura 75. Estrutura para caracterizar mismatch em buffers com fator de aumento χ. Wn indica a largura de canal do
transistor N. .................................................................................................................................................................173
Figura C1. Modelo de primeira ordem para um inversor.....................................................................................................181
Figura D1. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é apresentado com ‘x’, três
com ‘+’, quatro com ‘o’, cinco com ‘*’, seis com 'x', sete com 'o') e equações dadas por (16) (linhas contínuas). A
tecnologia é CMOS 0,8µm da AMS e a capacitância de carga de 1pF.........................................................................186
Lista de Tabelas
10
Lista de Tabelas Tabela 1. Processadores produzidos pela Intel e suas características básicas [Bo98]. .......................................................... 22
Tabela 2. Características das gerações tecnológicas apresentadas no NTRS/97 ([Se97], [Br98]). ....................................... 24
Tabela 3. Condições que determinarão o dimensionamento dos transistores dos blocos N-MOS like. ................................. 76
Tabela 4. Número de blocos estáticos e Dps (estes pertencendo a SE) entre o bloco BF e o bloco Bi para o data chain SE. 78
Tabela 5. Relações para cálculo da área e do perímetro de dreno. W é a largura de canal do transistor considerado........... 94
Tabela 6. Condições para obtenção dos resultados de simulação para as tecnologias 0,8µm e 0,35µm. .............................. 98
Tabela 7. Valores de χmax para vários valores de N. .............................................................................................................. 99
Tabela 8. Valores das constantes K1 e K2 das equações dadas por (14)............................................................................... 103
Tabela 9. Condições para geração de curvas/tabelas T0 x CL para modelamento dos tapered buffers. ............................... 105
Tabela 10. Taxa máxima para o buffer com fator de aumento χ=3, taxa máxima possível (qualquer χ) e aumento relativo
da taxa de operação (valor em χ=3 tomada como referência). É também indicado o valor do fator de aumento que
maximiza a taxa de operação do buffer (χot)............................................................................................................... 108
Tabela 11. Descrição, expressão e fator para análise de cada termo da equação (28). ........................................................ 125
Tabela 12. Atraso de um inversor como função do fator de aumento do buffer, para as tecnologias 0,8µm e 0,35µm. ..... 127
Tabela 13. Valores dos níveis lógicos ECL utilizados pelo Multiplexador e pelo Demultiplexador. ................................. 134
Tabela 14. PADs de entrada/saída do novo circuito Multiplexador 8:1 e sua descrição. .................................................... 150
Tabela 15. PADs de entrada/saída do novo circuito Demultiplexador 1:8 e sua descrição. ................................................ 151
Tabela 16. Resultados experimentais da primeira versão do circuito Multiplexador 8:1 e de sua nova implementação.
Também são apresentadas as diferenças entre eles..................................................................................................... 156
Tabela 17. Tecnologia, potência consumida e máxima taxa de operação de diversas implementações de Multiplexadores.157
Tabela 18. Resultados experimentais da primeira versão do circuito Demultiplexador 1:8 e de sua nova implementação.
Também são apresentadas as diferenças entre eles..................................................................................................... 158
Tabela 19. Tecnologia, potência consumida e máxima taxa de operação de diversas implementações de Demultiplexadores.159
Tabela 20. Resultados de máxima velocidade e potência consumida para os quatro contadores síncronos 4/5 projetados
(simulação SPICE com parâmetros slow). .................................................................................................................. 164
Tabela 21. PADs de entrada/saída do Prescaler testado e sua descrição (Figura 73(b)). .................................................... 166
Tabela 22. Resultados de área, velocidade e potência para cinco diferentes implementações do Prescaler....................... 168
Tabela A1. Número de blocos que pode haver entre as entradas e saídas de blocos adjacentes dentro de um data chain..175 Tabela D1. Condições para obtenção dos resultados de simulação para a tecnologia CMOS 0,8µm da AMS....................185
Lista de Símbolos
11
Lista de Símbolos ACox: parâmetro do processo que relaciona σCoxi com variações de curta distância; AL: parâmetro do processo que relaciona σLi com o edge roughness; Asdf: valor default para área de fonte; AVTn: parâmetro do processo que relaciona σVTn com variações de curta distância; AVTp: parâmetro do processo que relaciona σVTp com variações de curta distância; AW: parâmetro do processo que relaciona σWi com o edge roughness; Aµn: parâmetro do processo que relaciona σµni com variações de curta distância; Aµp: parâmetro do processo que relaciona σµpi com variações de curta distância; B(CE): conjunto dos blocos que compõe o circuito CE; CCoxi,Coxj: covariância entre Coxi e Coxj; Cdni e Cdpi: capacitâncias de junção de dreno dos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; Cgpi e Cgpi: capacitâncias de gate dos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; CL: carga capacitiva na saída do tapered buffer; CLi: capacitância de carga do i-ésimo inversor do tapered buffer; CLj,i: capacitância de carga do i-ésimo inversor do j-ésimo buffer; CLV: capacitância cujo valor é dado pela expressão ( )C C W W LLV ox n p
N= +1 1 χ ; Cox: capacitância, por unidade de área, no gate do transistor N ou P; Coxi: capacitância, por unidade de área, no gate dos transistores P e N do i-ésimo inversor do tapered buffer; C oxi : valor médio da variável Coxi; Coxj,i: capacitância, por unidade de área, no gate dos transistores P e N do i-ésimo inversor do j-ésimo buffer; CVTni,VTnj: covariância entre VTni e VTnj; CVTpi,VTpj: covariância entre VTpi e VTpj; Cxi,xj: covariância entre xi e xj; C ni njµ µ, : covariância entre µni e µnj; C pi pjµ µ, : covariância entre µpi e µpj; D: entrada digital com valor entre 0 e (2m-1); Distance: distância do transistor a uma referência; Fac3: fator para análise da variância de tD devido à acurácia do pattern generation process em Li; Fac4: fator para análise da variância de tD devido ao edge roughness em Li; Fac5: fator para análise da variância de tD devido ao nonuniform arrangement of events em Coxi; Fac6: fator para análise da variância de tD devido ao nonuniform arrangement of events em VTni; Fac7: fator para análise da variância de tD devido ao nonuniform arrangement of events em VTpi; Fac8: fator para análise da variância de tD devido ao nonuniform arrangement of events em µni; Fac9: fator para análise da variância de tD devido ao nonuniform arrangement of events em µpi; Fac10: fator para análise da variância de tD devido às variações de longa distância em Coxi; Fac11: fator para análise da variância de tD devido às variações de longa distância em VTni; Fac12: fator para análise da variância de tD devido às variações de longa distância em VTpi; Fac13: fator para análise da variância de tD devido às variações de longa distância em µni; Fac14: fator para análise da variância de tD devido às variações de longa distância em µpi; fdiv : freqüência média do sinal fdiv;
Lista de Símbolos
12
fG: termo cujo valor é fG =−χ
χ 1;
Fmax: máxima freqüência de operação do circuito, em MHz; fout: freqüência do sinal fout, saída do sintetizador de RF; G: indica quantas vezes o inversor é maior que 8,0/5,0µm (largura de canal do trans. P/trans. N); Hdif: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); hEE: hipótese das entradas externas estáveis; hTC: hipótese do timming correto; ID: corrente de dreno do transistor; ID0i: correntes de dreno dos transistores do i-ésimo inversor do tapered buffer para V V VGS DS DD= = ; ID0nj,i e ID0pj,i: correntes de dreno dos transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer para V V VGS DS DD= = ; ID0n0 e ID0p0: corrente de dreno do transistores N e P, respectivamente, do inversor 0 para V V VGS DS DD= = ; IM: índice de mérito; I(BQ): conjunto das entradas do bloco BQ; I(CE): conjunto das entradas externas do circuito CE; Kci: parâmetro do transistor P ou N, no i-ésimo inversor; KCn: valor de Kcni; KCni: parâmetro Kci para o transistor N; KCp: valor de Kcpi; KCpi: parâmetro Kci para o transistor P; KDSn e KDSp: parâmetros que dependem do processo e do layout e relacionam as capacitâncias de dreno com a largura dos canal do transistor N e P, respectivamente;
K∆: constante dada pela expressão KTt∆∆=
exp
0;
K1: constante que depende dos parâmetros da tecnologia, do layout e das dimensões do primeiro inversor do tapered buffer; K1 , K2, K3 e K4: constantes que dependem dos parâmetros da tecnologia e do layout do tapered buffer; Kα: constante que relaciona TN-1 com t0N; L: comprimento de canal do transistor N ou P; Ld: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); Ldif: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); Li: valor de Lni e Lpi; Li : valor médio da variável Li; Lj,i: valor de Lnj,i e Lpj,i; Lni e Lpi: comprimento de canal dos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; Lnj,i e Lpj,i: comprimentos de canal dos transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer; L(CE): conjunto das ligações do circuito CE; L
O(CE): conjunto de pares ordenados que representam as ligações do circuito CE
m: número inteiro; M: número de tapered buffers; N: número de inversores do tapered buffer;
Lista de Símbolos
13
NA: número de inversores de cada buffer da implementação A; NB: número de inversores de cada buffer da implementação B; ND: número inteiro que indica fator de divisão do Prescaler; OBQ: saída do bloco BQ; O(CE): conjunto das saídas externas do circuito CE; PCi: parâmetro do transistor P ou N ( P K CCi Ci i oxi= µ ) do i-ésimo inversor PCnj,i e PCpj,i: parâmetros PC para os transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer; Pot: potência consumida pelo circuito por MHz, em µW/MHz; pri: i-ésima propriedade dos blocos usados no E-TSPC; Psdf: valor default para perímetro de fonte; RD: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); Rddf: valor default para resistência série de dreno; rE: regra de exceção; ri: regra de composição i; Rinv: resistência equivalente ao transistor; rG: regra geral; RS: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); Rsdf: valor default para resistência série de fonte; RSH: parâmetro do modelo do transistor (ver modelos HSPICE no APÊNDICE B); SCox: parâmetro do processo que relaciona σCoxi com variações de longa distância; SVTn: parâmetro do processo que relaciona σVTn com variações de longa distância; SVTp: parâmetro do processo que relaciona σVT com variações de longa distância; Sµn: parâmetro do processo que relaciona σµni com variações de longa distância; Sµp: parâmetro do processo que relaciona σµpi com variações de longa distância; tD: atraso do tapered buffer; td : atraso do i-ésimo inversor quando não há mismatch; t da : atraso médio de um inversor da implementação A; t db: atraso médio de um inversor da implementação B; tdi: atraso do i-ésimo inversor do tapered buffer; tDj: atraso do tapered buffer j; tdj,i: atraso médio do i-ésimo inversor do j-ésimo tapered buffer; TE: teorema da estabilidade; Tec: comprimento mínimo de canal para a tecnologia, em µm; Ti: largura do pulso na saída do i-ésimo inversor do tapered buffer; tpHLi: atraso da transição de alto-para-baixo (descarga) na saída do i-ésimo inversor do tapered buffer; tpLHi: atraso da transição de baixo-para-alto (carga) na saída do i-ésimo inversor do tapered buffer; tTi: tempo de transição efetivo do sinal na saída do i-ésimo inversor; T∆: valor de T∆i para os N-1 primeiros inversores do tapered buffer; T∆i: constante do i-ésimo inversor do tapered buffer; t0: valor de t0i para os N-1 primeiros inversores do tapered buffer;
t0: constante dada pela expressão ttK0
0
3= ;
t0i: constante de tempo do i-ésimo inversor do tapered buffer; VDD: tensão mais alta aplicada ao circuito (5V, por exemplo); VDS: tensão dreno-fonte; VD0i: tensão de dreno de saturação, quando |VGSi|=VDD, para o transistor (P ou N); VD0n: tensão de dreno de saturação, quando VGS=VDD, para o transistor N;
Lista de Símbolos
14
VD0nj,i e VD0pj,i: tensões VD0 para os transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer. VD0p: tensão de dreno de saturação, quando |VGS|=VDD, para o transistor P; VGS: tensão gate-fonte; VGSi: tensão entre gate e fonte do i-ésimo inversor do tapered buffers; VSS: tensão mais baixa aplicada ao circuito, normalmente terra; VTi: tensão de limiar do transistor utilizado (N ou P), no i-ésimo inversor do tapered buffer; VTn: tensão de limiar do transistor N; VTni e VTpi: tensão de limiar dos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; V Tni : valor médio da variável VTni; VTp: tensão de limiar do transistor P; V Tpi: valor médio da variável VTpi; VTnj,i e VTpj,i: tensões de limiar dos transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer; W: comprimento de canal do transistor; Wef: largura efetiva de canal do transistor; Wi: valor de Wni; W i : valor médio da variável Wi; Wj,i: valor de Wnj,i; Wni e Wpi: largura de canal dos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; Wnj,i e Wpj,i: larguras de canal dos transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer; W0: largura de canal do inversor 0;
Z1: termo cujo valor é ( ) ( ) ( )[ ]ZV
L F V V V K F V V V KDDD Tn Tp D n n Cn D Tp Tn D p p Cp1
20 01
2= + +θ µ θµ, , , , , , ;
Z2: termo cujo valor é ( )( ) ( )
ZV
LF z V V K
zF V z V K
zDD D Tp D n n Cn D Tp D p p Cp
22 0 0
12
= + +
θ∂ µ
∂∂ θµ
∂, , , , , ,
;
Z3: termo cujo valor é ( )( ) ( )
ZV
LF z V V K
zF V z V K
zDD D Tn D p p Cp D Tn D n n Cn
32 0 01
2= + +
θ∂ θµ
∂∂ µ
∂, , , , , ,
;
Z4: termo cujo valor é ( )( )
ZV
LF V V V zK
zDD D Tn Tp D n Cn
42 01
2= +
θ∂
∂, , ,
;
Z5: termo cujo valor é ( )( )
ZV
LF V V V zK
zDD D Tp Tn D p Cp
52 0
12
= +
θ∂ θ
∂, , ,
;
α: constante que está entre 1 e 2.
βn: constante do transistor N dado por β µn n oxn
nC
WL
=
;
θ: constante que relaciona Wpi e Wni; µi: mobilidade dos portadores do transistor; µn: mobilidade dos elétrons para o transistor N;
Lista de Símbolos
15
µni e µpi: mobilidade dos elétrons e das lacunas nos transistores N e P, respectivamente, do i-ésimo inversor do tapered buffer; µ ni: valor médio da variável µni; µnj,i e µpj,i: mobilidades dos elétrons e das lacunas nos transistores N e P, respectivamente, do i-ésimo inversor do j-ésimo buffer; µp: mobilidade das lacunas para o transistor P; µ pi: valor médio da variável µpi;
σCoxi: desvio padrão da variável Coxi; σLi: desvio padrão da variável Li; σL0: parâmetro do processo que relaciona σLi com a acurácia do pattern generation process; σtD: desvio padrão de tD; σWi: desvio padrão da variável Wi; σW0: parâmetro do processo que relaciona σWi com a acurácia do pattern generation process; σVTni: desvio padrão da variável VTni; σVTpi: desvio padrão da variável VTpi; σµni: desvio padrão da variável µni; σµpi: desvio padrão da variável µpi; νTi=|VTi/VDD|; χ: fator de aumento entre inversores do tapered buffer; χA: fator de aumento de cada buffer da implementação A; χB: fator de aumento de cada buffer da implementação B; χmax: fator de aumento que maximiza a taxa de operação para tapered buffers com N inversores.
Resumo
17
Resumo
A redução nas dimensões dos transistores CMOS e a demanda crescente por circuitos rápidos fizeram da velocidade um importante fator de desempenho dos circuitos integrados (C.I.) modernos. O objetivo deste trabalho é o estudo e desenvolvimento de técnicas para projeto de ASICs (Application-Specific Integrated Circuits) CMOS de alta velocidade.
Uma estratégia para o projeto de Register Transfer Systems os quais usam um único clock no sincronismo é inicialmente proposta. Essa estratégia foi denominada Extended True Single Phase Clock (E-TSPC). Nela são utilizadas portas lógicas complementar CMOS, CMOS dinâmicas e data precharged (onde os dados de entrada fazem a pré-carga), blocos n-latches e blocos p-latches. Ainda, são permitidas modificações em algumas destas portas e blocos, formando novos blocos N-MOS like que aumentam a velocidade dos circuitos. Um conjunto de regras de composição, que regulam as ligações entre blocos e portas, é criado. Tais regras, quando obedecidas, garantem que problemas referentes ao funcionamento das portas e dos blocos usados não ocorrerão. Isso é provado por meio de vários teoremas.
O estudo da otimização de tapered buffers, para obter máxima taxa de operação, é apresentado em seguida. A partir de simulações com diferentes tecnologias verificamos que a minimização do atraso de um buffer (desde sua entrada à saída) não proporciona a máxima taxa de operação necessariamente. Os resultados apontaram que valores de fator de aumento entre inversores inferiores a 2,0 proporcionam maiores taxas. Tais fatores, por outro lado, levam a atrasos maiores que o mínimo que pode ser conseguido. Incrementos superiores a 20% na máxima taxa de operação foram alcançados com o uso de pequenos fatores de aumento.
Para verificação das técnicas propostas, foram projetados e implementados os seguintes circuitos: uma versão de alta performance de um Multiplexador 8:1, uma versão de alta performance de um Demultiplexador 1:8 com byte alignment e um Dual Modulus Prescaler (contador 128/129). A tecnologia empregada foi CMOS 0,8µm (comprimento de canal efetivo de 0,7µm). Nos circuitos Multiplexador e Demultiplexador foram aplicados os resultados do estudo da otimização de tapered buffers e os novos blocos N-MOS like introduzidos no E-TSPC. Resultados experimentais apontaram que o Multiplexador opera a taxas de 1,7Gbit/s e o Demultiplexador, a 1,38Gbit/s. O ganho de velocidade conseguido em relação a primeira versão destes mesmos circuitos, efeito do emprego das técnicas aqui propostas, foi de 62% para o Multiplexador e de 29% para o Demultiplexador. Adicionalmente, a comparação dos resultados com os de outros circuitos da literatura indica que velocidade e o consumo de potência alcançados são excelentes.
No Dual Modulus Prescaler a estratégia E-TSPC foi amplamente explorada, mostrando ser vantajosa para atingir tanto altas freqüências de operação como baixos consumos de potência. O protótipo caracterizado do Prescaler operou a 1,58GHz. O índice de mérito utilizado para comparações entre diferentes implementações de Prescalers (Tec3.Fmax/Pot), índice que leva em conta a freqüência máxima de operação (Fmax), o consumo de potência (Pot) e a tecnologia utilizada (Tec), foi, para nosso circuito, quase duas vezes superior ao melhor resultado encontrado nas implementações dos outros trabalhos.
Abstract
19
Abstract
The dimension reduction of the CMOS transistors and the increasing demand for fast circuits have made the speed an important performance factor of the modern integrated circuits (I.C.). The main goal of this work is the study and development of design techniques for high speed CMOS ASICs (Application-Specific Integrated Circuits).
A design strategy for Register Transfer Systems which use a single clock for synchronization is initially proposed. This strategy was called Extended True Single Phase Clock (E-TSPC). Complementary CMOS, dynamic CMOS, and Data Precharged (where the input data does the precharge) logic gates, n-latch blocks, and p-latch blocks are accepted in the E-TSPC. In addition, modifications in some of these gates and blocks are allowed, building new N-MOS like blocks which increase the circuit speed. A set of composition rules, regulating the connections between gates and blocks, is also laid down. Such rules guarantee that problems concerning the operation of the used gates and blocks will not occur, whenever the rules are followed. It is proved through some theorems.
The study of the tapered buffer optimization, to reach maximum operation rates, is next presented. From simulations with different technologies, we verified that the delay minimization of a buffer (from its input to the output) does not provide necessarily the maximum operation rate. The results have pointed out that tapering factors lower than 2.0 will lead to higher operation rates. Such factors, on the other hand, enlarge the buffer delay, which will be higher than the possible minimum. Employing small tapering factors, we have achieved increases larger than 20% in the maximum operation rate.
To verify the proposed techniques, the following circuits were designed and implemented: a high performance version of an 8:1 Multiplexer, a high performance version of an 1:8 Demultiplexer with byte alignment, and a Dual Modulus Prescaler (128/129 counter). The employed technology was a 0.8µm CMOS (0.7µm effective channel length). In the Multiplexador and Demultiplexer circuits, the results of the tapered buffer optimization study and the new N-MOS like blocks were applied. Experimental measurements showed that the Multiplexer and the Demultiplexer operate at 1.7Gbit/s and at 1.38Gbit/s rates, respectively. The speed gain, in relation to the first version of these same circuits, effect of our proposed techniques, was of 62% for the Multiplexer and 29% for the Demultiplexer. Additionally, the comparison of the results with the ones from the literature indicates that the achieved speed and power consumption are excellent.
In the Dual Modulus Prescaler, the E-TSPC strategy was widely explored, showing to be advantageous to reach both a high frequency and a low power consumption. The characterized Prescaler prototype operated at 1.58GHz frequency. In addition, the index of merit used for comparing different Prescaler implementations (Tec3.Fmax/Pot), which takes the clock frequency (Fmax), the power consumption (Pot), and the technology (Tec) into account, has, for our circuit, a value which is almost twice the best result found in the other work implementations.
Introdução
21
1. Introdução
1.1 História das tecnologias MOS
Os princípios por trás dos transistores de efeito-campo Metal Oxide Silicon (MOS) são
primeiramente propostos em 1925 por J. Lilienfeld, professor de física da Universidade de Leipzig
[Sa88]. Lilienfeld usou apenas a eletrostáticos para prever a modulação da condutividade (a física
quântica estava em sua infância) ([Sa88]). Em 1935 o alemão O. Heil faz, na Inglaterra, pedido de
patente para uma estrutura similar aos transistores MOS modernos ([We93], [Ra96], [Sa88]); nele, a
descrição da operação do transistor faz já uso de conceitos de elétrons e lacunas derivados da teoria
dos semicondutores ([Sa88]). Não obstante as previsões teóricas, os transistores construídos fracassam
em apresentar amplificações de corrente. Para explicar isso, Bardeen propõe que estados de superfície
bloqueiam o campo elétrico e impedem a formação e modulação do canal no transistor. Ele, Brattain e
Schockley, tentado contornar esta dificuldade nos transistores de efeito-campo, acabam por inventar o
transistor bipolar no Bell Telephone Laboratories em 1948 ([Me98], [Rs98]). Com o estudo e
explicação dos fenômenos que ocorrem no transistor bipolar é que, por fim, a física básica por trás do
transistor é compreendida [Sa88].
A invenção do transistor bipolar faz com que os transistores de efeito campo sejam quase
esquecidos. No fim da década de 50, surgem várias importantes contribuições tanto para o
desenvolvimento da microeletrônica como para a volta dos transistores de efeito-campo:
• em 1959 , J. Hoerni, Fairchild, inventa o processo planar para fabricação de transistores;
• em 1959, Atalla e Kahng, Bell Labs., fabricam e conseguem a operação de um transistor MOS
[Me98]. Ele é tido como uma curiosidade pois sua performance é bastante inferior aos bipolares;
• em 1958, J. Kilby, Texas Instruments, desenvolve o primeiro circuito integrado (C.I.); este é
aperfeiçoado com os trabalhos de Noyce, Farchaild, 1959, que usa o processo planar e alumínio
evaporado para as interconexões [Me98].
Observemos que a fabricação dos primeiros C.I.s marca uma importante transição na concepção da
aplicação dos transistores; eles deixam de ser encarados como meros substitutos de válvulas para
serem vistos como dispositivos que possibilitam o desenvolvimento de circuitos muito mais complexos
do que até então eram possíveis.
Estando resolvidos os principais problemas na compreensão e na fabricação dos transistores, a
indústria da microeletrônica começa então a ser estabelecida.
Devido à sua estrutura mais simples, adequada para os circuitos integrados complexos, o transistor
MOS passa a ser encarado como um dispositivo viável na década de 60. Em 1964, Fairchild e RCA
introduzem no mercado os primeiros transistores MOS [Sa88]. Problemas com estados de interface e
Introdução
22
impurezas mantém, no entanto, restrito o uso do MOS até o fim da década. Entre 1964 e 1969
desenvolvem-se técnicas para redução dos estados de interface, identifica-se o sódio como principal
impureza no MOS e apresentam-se soluções para evitar problemas com esta impureza. A
confiabilidade do transistor MOS, em vista disso, melhora e aumenta a gama de suas aplicações
comerciais.
Nos primeiros anos a tecnologia MOS é dominada pelo PMOS (MOS onde só há transistores canal
P), mais robusta aos problemas com impurezas, embora o conceito de Complementary Metal Oxide
Silicon (CMOS) já houvesse sido introduzido por Weimer, RCA, em 1962 e por Wanlass, Fairchild,
em 1963. Em 1970 a primeira memória em semicondutor com produção em massa é anunciada pela
Intel: DRAM (Dynamic Random Access Memory) de 1-Kbit na tecnologia PMOS com três transistores
por bit. Por volta de 1971, superados os problemas com impurezas e estados de superfície, emergem as
primeiras tecnologias NMOS (MOS onde só há transistores canal N) que permitem maiores
velocidades e, ao mesmo tempo, maior nível de integração. Como conseqüência, surgem memórias
maiores (DRAM de 4-Kbit começam a ser produzidos em 1972) e o primeiro microprocessador, o
4004 da Intel (ver Tabela 1 [Bo98]).
O domínio das tecnologias NMOS se estende até fim da década de 70. Com o aumento das
densidades e velocidades começa a haver problemas com o consumo de potência, o que dá
oportunidade as tecnologias CMOS. Esta tecnologia, não obstante apresentar mais etapas na fase de
fabricação, tem um desempenho, no que tange ao consumo de potência, bem superior as outras
tecnologias. Tem início então o domínio do CMOS e que dura até hoje (Tabela 1).
Nos últimos anos a base de cerca de 98% da produção de circuitos semicondutores (tanto por
número de componentes como por valor) é o silício, sendo que mais de 75% destes circuitos são
produzidos com tecnologias CMOS ([Br98], [Se97]). Isso não deve se alterar significativamente nos
próximos anos. Dessa forma, o CMOS continuará a ser a tecnologia mais importante dentro da
indústria de microeletrônica.
1.2 Motivações e objetivos
Encontramos na indústria de microeletrônica certas tendências históricas de avanços. Uma delas é a
redução do preço por função entre 25% a 30% por ano [Se97]. Outra, conhecida como lei de Moore, é
a duplicação da complexidade de integração a cada 18 meses ([Mo65], [Ra96], [Sh98]). A Figura 1,
que apresenta o número de transistores dos microprocessadores da Intel em função do ano do seu
lançamento, confirma esta lei.
Tabela 1. Processadores produzidos pela Intel e suas características básicas [Bo98].
Introdução
23
início freqüência do clock (MHz)
bus width número de transistores (tecnologia)
4004 15/nov./71 0,108 4 2300 (NMOS 10µm)
8008 1/abr./72 0,108 8 3500 (NMOS)
8080 1/abr./74 2 8 6000 (NMOS 6µm)
8086 8/jun./78 5; 8; 10 16 29000 (NMOS 3µm)
8088 1/jun./79 5; 8 8 29000 (NMOS 3µm)
80286 1/jan./82 6; 8; 10; 12,5 16 134000 (NMOS 1,5µm)
386 DX 17/out./85 16; 20; 25; 33 32 275000 (CMOS 1µm)
386 SX 16/jun./88 16; 20; 25; 33 16 275000 (CMOS 1µm)
486 DX 10/abr./89 25; 33; 50 32 1,2 milhões (CMOS 1µm e 0,5µm)
486 SX 22/abr./91 16; 20; 25; 33 32 1,185 milhões (CMOS 1µm)
Pentium 22/mar./93 60; 66; 75; 90; 100; 120; 133; 150; 166
32 3,1 milhões (BiCMOS 0.8µm)
Pentium Pro 1/nov./95 150; 166; 180; 200 64 5,5 milhões (0,6µm)
Pentium II 7/maio/97 200; 233; 266; 300 333; 350; 400
64 7,5 milhões (CMOS 0,35µm e 0,25µm)
1 9 7 0 1 9 7 5 1 9 8 0 1 9 8 5 1 9 9 0 1 9 9 5 2 0 0 01 0 0
1 0 1
1 0 2
1 0 3
1 0 4
1 0 5
a n o d e la n ç a m e n t o
n ú m e r o d et r a n s is t o r e s ( k )
4 0 0 48 0 0 8
8 0 8 0
8 0 8 6
8 0 2 8 6
I n t e l 3 8 6
I n t e l 4 8 6
P e n t iu mP e n t iu m P r o
P e n t iu m I I
Figura 1. Número de transistores em função do ano de lançamento para os principais
microprocessadores da Intel (não estão no gráfico os processadores 8088, 386SX e 486SX pois eles
são versões econômicas do 8086, do 386DX e do 486DX, respectivamente).
A partir dessas tendências, as características das próximas gerações tecnológicas CMOS podem ser
extrapoladas, um trabalho que foi desenvolvido no National Technology Roadmap for Semiconductors
(NTRS) produzido pelo Semiconductor Industry Association ([Se92], [Se94], [Se97]). A Tabela 2
Introdução
24
apresenta algumas das características das próximas gerações CMOS como apontado no NTRS de
1997.
Tabela 2. Características das gerações tecnológicas apresentadas no NTRS/97 ([Se97], [Br98]).
Ano do início de produção 1997 1999 2001 2003 2006 2009 2012 linhas densas (DRAM half
pitch) (nm)* 250 180 150 130 100 70 50
linhas isoladas (gates lenght de microprocessador) (nm)*
200 140 120 100 70 50 35
Memória bits/cm2 96M 270M 380M 770M 2,2G 6,1G 17G Microprocessador
transistor/cm2 3,7M 6,2M 10M 18M 39M 64M 100M
chip to packge Pads (alta performance) #
1450 2000 2400 3000 4000 5400 7300
freqüência on-chip-local (alta performance) (MHz)♣
750 1250 1500 2100 3500 6000 10000
freqüência on-chip-across chip (alta performance) (MHz)♣
750 1200 1400 1600 2000 2500 3000
freqüência chip to board (alta performance) (MHz)
750 1200 1400 1600 2000 2500 3000
área do chip (mm2) DRAM 280 400 445 560 790 1120 1580 área do chip (mm2) microprocessador
300 340 385 430 520 620 750
número de níveis de metal 6 6-7 7 7 7-8 8-9 9 número mínimo de máscaras 22 22-24 23 24 24-26 26-28 28
VDD para lógica (V) 1,8-2,5 1,5-1,8 1,2-1,5 1,2-1,5 0,9-1,2 0,6-0,9 0,5-0,6 dissipação de potência (alta
performance) (W) 70 90 110 130 160 170 175
dissipação de potência (equipamentos c/ bateria) (W)
1,2 1,4 1,7 2,0 2,4 2,8 3,2
* o NTRS/97 divide as tecnologias de fabricação em duas classes: aquelas usadas para implementação de DRAMs e aquelas usadas em circuitos lógicos. Para as primeiras, é usado o half pitch do primeiro nível de interconexão, linhas mais densas, como característica mais representativa da geração tecnológica. No caso das tecnologias usadas para lógica, é usado o comprimento do canal (L);
# os circuitos projetados para alcançar a máxima velocidade são chamados de circuitos de alta performance; ♣ duas classes de clocks são discriminadas no NTRS/97: o clock global, que deve ser distribuído por todo o C.I., e o
clock local, gerado a partir do global e que será usado em porções menores do C.I., normalmente em C.I.s de alta performance.
É importante lembrar que os dois NTRS anteriores, de 1992 e de 1994 ([Se92], [Se94]), ficaram
aquém do progresso real verificado na indústria ([Br98]).
Também foram discutidas as dificuldades que devem ser superadas para tornar realidade as
extrapolações feitas (não previsões [Br98]), e as implicações disso. As maiores dificuldades esperadas
para o futuro são [Se97]1:
• habilidade em continuar a redução de custos;
• habilidade em desenvolver litografia com custos razoáveis para tecnologias abaixo de 100nm;
1 Cada um destes itens é explicado em detalhe na referência. Aqui, como estamos preocupados apenas com operações
em altas freqüências, não faremos isso.
Introdução
25
• introdução de novos materiais e estruturas;
• operação em GHz, tanto internamente como chip-to-board;
• metrologia e testes;
• desafios na pesquisa e desenvolvimento.
Destes desafios, a operação em GHz é o que nos interessa. A Tabela 2 nos mostra que a barreira do
1GHz já está sendo ultrapassada e que maiores velocidades são esperadas para o clock local, para o
clock global e mesmo para a comunicação chip-to-board.
O aumento na velocidade dos circuitos, conseqüência direta da redução nas dimensões mínimas das
tecnologias, tem sido útil em duas grandes classes de aplicações. A primeira classe é composta pelos
circuitos que eram apenas realizáveis com outras tecnologias mais velozes (Bipolar, GaAs); uma vez
que as tecnologias CMOS oferecem grandes vantagens com relação a custos, níveis de integração e
consumo de potência, sua utilização no lugar das tecnologia concorrentes, quando possível, é sempre
vantajosa. Exemplos destes são circuitos para comunicação em fibras ópticas ([Ku96], [Oh97]) e
telefonia celular ([Ro98a], [Ro98b], [Le97]). Lembremos que freqüências muito elevadas são somente
alcançadas com circuitos Bipolares ou, principalmente, GaAs ([Ot98]). Em particular, no caso de
fibras ópticas, com sua banda superior a 50000Gbit/s (50Tbit/s [Ta96]), os circuitos CMOS permitem
a utilização de uma pequena fração da capacidade.
A segunda classe de circuitos, onde o aumento das velocidades é importante, é composta por
microprocessadores e Digital Signal Processors (DSPs), que estão sob constante pressão para
melhoras no desempenho devido à demanda crescente por maiores capacidades de processamento
([Gr98], [Gu96], [Ga96]).
A implementação de circuitos CMOS trabalhando em GHz enfrenta um número enorme de
problemas. Entre eles podemos citar a escolha dos blocos que serão usados, portas lógicas e latches, a
distribuição de sinais no C.I., por exemplo o clock, o aumento do consumo de potência, os sinais de
entrada e saída, encapsulamento, linhas de interconexão, testabilidade entre outros.
Neste trabalho propomos algumas novas técnicas que permitem a implementação de ASICs
(Application-Specific Integrated Circuits) CMOS digitais de alta velocidade, aproveitando ao máximo
a tecnologia usada. Um exemplo disso, apresentado nesse trabalho, é um circuito Prescaler, fabricado
com uma tecnologia CMOS 0,8µm, funcionando a 1,6GHz [Na99].
1.3 Desenvolvimento da pesquisa
Este trabalho foi iniciado durante o desenvolvimento de circuitos Multiplexadores 8:1 e
Demultiplexadores 1:8 com byte alignment ([Ko91], [Vi89]), para serem utilizados na transmissão de
dados por fibras ópticas ([Ro95a], [Ro95b], [Ro96], [No98])(Figura 2). Neste caso, tanto o
Introdução
26
Multiplexador como o Demultiplexador devem trabalhar com freqüências tão altas quanto aquela que é
utilizada na transmissão (na figura, 1,244Gbit/s). Os outros circuitos do sistema, como por exemplo os
responsáveis pela montagem de frames, funcionam com taxas bem menores (na figura, 155,5Mbit/s).
Por esta razão estes dois circuitos são críticos no desempenho do sistema completo.
O objetivo do projeto era atingir taxas de 622Mbit/s (STS12/STM4) e, se possível, de 1,244Gbit/s
(STS12/STM8), utilizando uma tecnologia CMOS de 0,8µm e alimentação de 5V (CMOS da
ES2/ATMEL [Es94]). Foram empregados no projeto D-flip-flops do tipo True Single Phase Clock
(TSPC)([Yu87], [Yu89], [Af90]).
E/O O/E
Multiplexador8:1
Demultiplexador1:8
Entradade dados
Saída dedados
Fibra óptica
1,244Gbit/s
155,5Mbit/s 155,5Mbit/s
Figura 2. Esquemático de sistema para transmissão e recepção por meio de fibra óptica; E/O é um
conversor elétrico/óptico (foto-emissor) e O/E, um conversor óptico/elétrico (foto-receptor). As taxas
de operação indicadas são do padrão SONET STS24/CCITT STM8 [St92].
Uma primeira dificuldade para a realização dos circuitos acima foram os sinais de alta freqüência
que chegam ou saem do C.I. (no Multiplexador, o clock e a saída de dados; no Demultiplexador, o
clock e a entrada de dados). Para permitir altas velocidades, menor ruído e menor consumo de
potência, convém utilizar, para estes sinais, níveis lógicos com excursão de tensão pequena. Um
padrão adequado para isto é o ECL ([Ch88], [Sc90], [St91], [Is92], [Aa93]) no entanto, para seu uso,
são necessários circuitos de entrada e saída que façam a conversão dos níveis ECL para os níveis
usados internamente no C.I. e vice-versa (internamente no C.I. são usados níveis CMOS). Os circuitos
de conversão projetados para essas tarefas são descritos em [Na95], [Na96] e [Na97a].
Na primeira versão dos circuitos Multiplexador e Demultiplexador, os resultados experimentais
apontaram que podiam operar com taxas próximas de 1,1Gbit/s, na tecnologia CMOS 0,8µm.
Estando as taxas alcançadas próximas ao padrão SONET STS24, novos estudos foram feitos para
melhorar o desempenho dos circuitos. Da análise dos blocos internos, portas lógicas e latches, e suas
conexões resultaram as idéias que desenvolvidas e organizadas formaram o que chamamos de
Extended True Single Phase Clock (E-TSPC) ([Na97b], [Na97c], [Na99]).
Ainda foram feitos estudos sobre os tapered buffers, usados nos circuitos tanto para a distribuição
Introdução
27
do sinal de clock como dos sinais de dados. Foi observado que o uso do atraso para otimização não
resultava no melhor desempenho. A partir daí foram feitas análises para obter um critério mais
apropriado para otimização de tapered buffers [Na98a].
Os resultados dos estudos referidos acima foram empregados no projeto de novas versões dos
circuitos Multiplexador e Demultiplexador com bons resultados [Na98b]. Ainda um circuito Dual-
Modulus Prescaler (128/129) ([Ch96], [Cr96], [Le97]) foi fabricado e testado para avaliar melhor a
estratégia E-TSPC, que havia sido parcialmente aplicada nos outros dois circuitos [Na99].
Nestes três tópicos, a estratégia E-TSPC, a otimização de tapered buffers e os resultados
experimentais obtidos com a aplicação destes, é que está constituída esta tese.
1.4 Capítulos: descrição
O trabalho é apresentado em cinco capítulos. No segundo capítulo são discutidas algumas formas de
implementação de Register Transfer Systems (RTL). Posteriormente é introduzida a estratégia E-
TSPC, com seus blocos e regras de conexão. Finalmente, a função destas regras é explicada e são
demonstrados teoremas que provam que elas são suficientes para evitar os problemas que as
motivaram.
No capítulo três é apresentado e discutido um novo critério para otimização de tapered buffers.
Através de simulações é mostrado que com a minimização do atraso total, critério mais usado para
otimização de buffers, não são alcançadas as maiores taxas de operação. Ganhos na velocidade entre
20% e 30% são conseguidos com outra forma de otimização. Por fim é feita uma análise do
comportamento do atraso, devido ao mismatch entre os inversores, em função do fator de aumento
entre inversores usado no buffer.
Os circuitos projetados aplicando-se as técnicas estudadas, Multiplexador, Demultiplexador e
Prescaler, são apresentados no capítulo quatro. Também são apresentados os testes experimentais
feitos nos protótipos fabricados. O novo circuito Multiplexador foi quase 70% mais veloz que a versão
anterior; no circuito Demultiplexador, a melhora na velocidade foi de apenas 30%, quando comparado
a primeira versão (sempre utilizando a mesma tecnologia). O circuito Prescaler, por sua vez, apresenta
freqüências de operação tão altas quanto outros já publicados e consumo de potência bem inferior.
No capítulo cinco, de conclusão, são sumariados os principais aspectos do trabalho e futuras etapas
da pesquisa.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
29
2. Implementação de Register Transfer Systems (RTS) de Alta Velocidade
2.1 Introdução
Neste capítulo apresentaremos a estratégia Extended True Single Phase Clock, E-TSPC, usada para
implementação de circuitos RTS (Register Transfer Systems) digitais. Ela foi desenvolvida a partir da
técnica True Single Phase Clock (TSPC)([Yu87], [Yu89], [Af90], [La95]); acrescentamos a esta novas
regras, que permitem uma maior variedade de combinações das portas lógicas e registradores, além de
novos blocos, tornando-a mais veloz. O E-TSPC visa especialmente à implementação de circuitos
rápidos dentro da tecnologia CMOS.
Antes de entrarmos no E-TSPC, falaremos dos Register Transfer Systems e apresentaremos vários
circuitos usados para implementação tanto das portas lógicas como dos registradores. Também
falaremos sobre algumas políticas de sincronização ou de clock para os RTS. Nos deteremos um pouco
na técnica TSPC e apontaremos alguns problemas dela. Por fim trataremos do E-TSPC: seus blocos,
regras e os problemas, referentes ao funcionamento destes blocos, que as regras evitam. Provaremos,
que, obedecidas a tais regras, os blocos operam corretamente.
2.2 Register Transfer Systems (RTS)
Como apontado em [Go84], o armazenamento de informações em registradores e a transferência
destas de um registrador para outro, com a manipulação lógica das informações durante a
transferência, são operações fundamentais em qualquer sistema digital complexo. Chamaremos aqui
genericamente de Register Transfer Systems, ou simplificadamente de RTS, qualquer conjunto de
registradores e portas lógicas que executam estas funções. Na Figura 3 é apresentado um RTS com
suas partes principais. As máquinas de estados finitos e os pipelined systems são exemplos de RTS, o
que mostra sua importância pois, em grande extensão, os sistemas VLSI (Very-Large-Scale of
Integration) são combinações de máquinas de estados finitos e pipelined systems [We93].
No RTS, os sinais de clock ou relógio servem para sincronizar transferências dos dados de um
registrador para outro e a unidade de controle, para permitir operações condicionais. A política de
clock empregada determina como serão implementados os circuitos, que tipos de registradores serão
usados, latches, D-flip-flops, etc., e quantos diferentes sinais de relógio haverá. Os diferentes sinais de
relógio também são chamados de fases de clock. Veremos mais adiante alguns exemplos de políticas
de clock.
Várias são as famílias de circuitos utilizadas para a construção da lógica combinatorial e dos
registradores. Nas próximas seções apresentaremos aquelas mais conhecidas nas tecnologias CMOS.
Daqui por diante chamaremos de VDD a tensão mais alta aplicada ao circuito, por exemplo 5V, 3V, e
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
30
de VSS a mais baixa, normalmente terra. O nível lógico baixo será indicado por “0” e o nível lógico
alto, por “1”; a transição de “0” para “1”, será indicada por “0”→”1”, e de “1” para “0”, por “1”→”0”.
Registrador
Registrador
Registrador
clocks clocks clocks
Lógicacombinatorial
Lógicacombinatorial
Lógicacombinatorial
Unidade de Controle
Sinais decontrole
Figura 3. Representação genérica de um Register Transfer System (RTS).
2.2.1 Lógica Combinatorial
Podemos, como feito em [Ra96], separar as portas lógicas que implementam a lógica combinatorial
em estáticas e dinâmicas. As portas estáticas têm como característica que a todo instante, exceto talvez
durante a transição, a saída está conectada a VDD, a VSS, ou a ambas via um caminho de baixa
impedância (transistores conduzindo). O valor na saída é uma função lógica das entradas da porta. As
portas lógicas dinâmicas, ao contrário, têm a saída desconectada tanto de VDD como de VSS durante
fases de sua operação. O sinal da saída fica armazenado na capacitância do próprio nó de saída. As
portas dinâmicas apresentam a vantagem de serem mais simples e rápidas mas sofrem com ruído.
As portas lógicas mostradas nas próximas seções são:
estáticas: complementar CMOS dinâmicas: CMOS dinâmicos
pseudo NMOS C2MOS
com transistores de passagem
2.2.1.1 Lógica Estática Complementar CMOS
Uma porta lógica estática complementar CMOS, como apresentada na Figura 4 ([Go84], [We93],
[Ra96]), é um combinação de duas estruturas, uma chamada pull-up network (PUN) e outra, pull-down
network (PDN). A estrutura PUN é uma conexão condicional da saída da porta para VDD,
implementada com transistores P; a estrutura PDN, uma conexão condicional da saída da porta para
VSS, implementada com transistores N. Estas duas estruturas devem ser projetadas para operar de forma
complementar, ou seja, quando uma delas conduz a outra está cortada e vice-versa. Desta forma,
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
31
qualquer que seja o valor dos sinais de entrada, a saída estará ligada ou a VDD, tendo nível lógico alto,
ou a VSS, tendo nível lógico baixo.
Uma característica determinante das portas estáticas complementar CMOS é que o seu correto
funcionamento não depende da relação entre as dimensões dos transistores P e N (ratioless). Apenas
velocidade e margens de ruído dependem destas. Devido a isto, o projeto com portas complementar
CMOS é bastante simplificado.
As vantagens das portas lógicas complementar CMOS são:
• altas margens de ruído;
• baixa potência estática: neste tipo de porta, quando não há transições nos valores de entrada, a
potência dissipada, potência estática, é devido a apenas correntes de fuga, sendo praticamente
zero;
• tempos de subida e descida comparáveis se a porta for bem projetada;
• baixa sensibilidade a variações de processo e facilidade de projeto (ratioless).
Por outro lado, como podemos observar na Figura 4, a função lógica do circuito é executada duas
vezes, uma na estrutura PUN e outra na estrutura PDN. Esta redundância acarreta desvantagens para
esta família de circuitos:
• há gasto maior com área;
• funções lógicas complexas têm degradadas a velocidade do circuito.
PDN
a b
c
a
d=a(b+c)
d
VSS
cb
VDD
PUN( )d a b c= + ⋅
( )d a b c= +
transistor P
transistor N
PUNtrans. P
PDNtrans. N
entradasaída
b)
VDD
VSS
a)
Figura 4. Porta lógica estática complementar CMOS para a função ( )d a b c= + : (a), representação
com transistores e (b), sua representação simplificada.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
32
2.2.1.2 Lógica Estática Pseudo NMOS
A porta lógica pseudo NMOS, Figura 5 ([We93], [Ra96], [Gu96]), é semelhante as portas lógicas
utilizadas nas tecnologias NMOS, onde existem apenas transistores N, o de enriquecimento e o de
depleção [Me80]. Na lógica pseudo NMOS, o transistor P é usado como carga ao invés do de
depleção. O transistor P de carga tem seu gate2 ligado a VSS ou a alguma outra tensão de polarização
(como VL na Figura 5). Comparando a porta pseudo NMOS com a complementar CMOS vemos que
apenas a estrutura PDN está presente. Quando esta conduz, a saída do circuito é levada para próximo
de VSS. Veja que isto deve ocorrer mesmo estando o transistor P conduzindo, o que exige um correto
dimensionamento do circuito. Por outro lado, se a estrutura PDN não conduz, o transistor P de carga
leva a saída para VDD. Esta é uma lógica com relação, ratioed, onde a razão entre as dimensões dos
transistores N e P é fundamental para o funcionamento do circuito (não apenas velocidade e margens
de ruído).
Duas características importantes estão presentes nesta configuração de portas: a carga capacitiva de
entrada da porta é reduzida em relação a complementar CMOS; os transistores P, normalmente mais
lentos, não são usados para a função lógica. A conseqüência destas características é que a velocidade
do pseudo NMOS é maior, principalmente para portas lógicas mais complexas. A maior dificuldade
nestes circuitos, como nas tecnologias NMOS em geral, é o consumo de potência estática que ocorrerá
sempre que a saída da porta tenha valor lógico baixo.
Considerando os aspectos comentados acima, o uso de portas pseudo NMOS é aconselhado em
pequenos subcircuitos onde a velocidade é de grande importância ou, também, onde é sabido que as
saídas das portas ficam na maior parte do tempo em nível alto.
Sumariando as vantagens dos pseudo NMOS, temos:
• maiores velocidades principalmente para funções lógicas complexas;
• ocupação de menores áreas.
Três problemas importantes com estas portas são:
• o consumo de potência estática;
• a maior dificuldade no projeto pois as dimensões do circuito são importantes para o
funcionamento (ratioed);
• os tempos de subida e descida, em geral, diferentes.
2 A palavra gate é mantida em inglês quando tratamos da porta do transistor; com isso procuramos evitar qualquer
confusão entre as expressões "porta lógica" e "porta do transistor".
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
33
PDN
V L
e=a+b+c+d
e
e a b c d= + + +
PDNtrans. N
entrada
saída
b)
V DD
V SS
a)
cba d
VDD
V SS
V L
Figura 5. Porta lógica estática pseudo NMOS para a função e a b c d= + + + : (a), representação com
transistores e (b), sua representação simplificada.
2.2.1.3 Lógica Estática com Transistores de Passagem
Uma das formas de construir funções lógicas é através de chaves ou transistores de passagem. Neste
caso, um pequeno número de elementos é empregado, resultando um circuito simples e rápido.
Diferentes famílias lógicas são construídas desta maneira ([We93], [Ra96], [Gu96]). Na Figura 6(a)
está uma porta ou exclusivo feita com transistores de passagem. Neste caso apenas transistores N
foram usados na função de chave, o que causa a degradação do nível alto após o transistor de
passagem; seu valor máximo será (VDD-VTn), onde VTn é a tensão de limiar do transistor N. Para
contornar este problema é acrescido um transistor P de pull-up. As chaves podem ser também
construídas com dois transistores, um P e outro N. Como conseqüência disso, haverá o aumento da
área, a redução da velocidade e a necessidade de se fornecer, para cada sinal, o seu negado.
O circuito da Figura 6(b) apresenta uma outra alternativa no uso de transistores de passagem; é a
chamada Complementary Pass-Transistor Logic (CPL) [Ya90]. Aqui os circuitos são sempre
duplicados para fornecer o sinal e seu negado.
Portas lógicas com transistores de passagem são rápidas e simples para certas funções mas, quando
são necessários em série vários transistores de passagem, elas sofrem drástica redução na velocidade.
Acrescenta-se a isto que a degradação do nível alto pode ser um sério problema para circuitos com VDD
pequeno, acarretando a diminuição da velocidade.
Quando ao consumo de potência estática, as duas configurações apresentadas na figura não sofrem
problemas com isso.
Com exceção do transistor P de pull-up, as dimensões dos transistores apenas afetam a velocidade
do circuito (ratioless).
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
34
c=a⊕b
c
V D D
V SS
b
a
a
b
V D D
V SS
a⊕b
V D D
V SS
b
a
a
b
V D D
V SS
V D D
V SS
a
a
V D D
V SS
a⊕b
a) b)
Figura 6. Portas lógicas estáticas com transistores de passagem para a função c a b= ⊕ : (a), porta
simples com transistores N e (b), Complementary Pass-Transistor Logic (CPL).
2.2.1.4 Lógica Dinâmica CMOS
Na porta lógica dinâmica CMOS está presente apenas a estrutura PUN ou a PDN ([Go84], [We93],
[Ra96]). A operação do circuito tem duas fases: uma fase onde é feita a pré-carga da saída e outra onde
é feita a avaliação. A Figura 7(a) mostra um circuito n-dinâmico, onde a estrutura PDN, construída
com transistores N, é que está presente. Durante a fase de pré-carga, quando o sinal de clock é baixo, a
saída é levada para VDD. Durante a avaliação, quando o sinal de clock é alto, dependendo dos valores
das entradas, a saída é ou não descarregada via transistores N. Observe que, uma vez descarregado o
nó de saída, não há mais a possibilidade de carregá-lo durante a mesma fase de avaliação. Assim,
transições do tipo “1”→”0” na entrada desta porta podem ser causa de erros nos valores da saída. Por
exemplo, considere a porta da Figura 7(a) em avaliação e com os seguintes valores nas entradas:
a=”1”, b=”1” e c=”1”. Durante a avaliação a saída será descarregada. Pois bem, mesmo ocorrendo em
a uma transição “1”→”0”, a saída permanecerá em “0”, que não é o valor esperado.
A saída de uma porta n-dinâmica apresentará, na avaliação, apenas transições “1”→”0”. Veja
também que ela poderá, ainda na avaliação, estar desconectada tanto de VSS como de VDD,
característica dos circuitos dinâmicos.
A porta lógica p-dinâmica, Figura 7(c), tem sua pré-carga para "0" quando o sinal de clock é alto e
sua avaliação quando o sinal de clock é baixo. Nela, podem causar erros as transições do tipo “0”→”1”
na entrada. A saída, por sua vez, apresentará apenas transições do tipo “0”→”1” na avaliação.
As vantagens das portas dinâmicas são descritas abaixo:
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
35
• a carga capacitiva de entrada da porta é pequena, aumentando a velocidade dos circuitos;
• haverá consumo de potência na pré-carga, caso o valor pré-carregado anteriormente tenha sido
modificado, mas não haverá na avaliação;
• nas portas n-dinâmicas a função lógica é executada por transistores N, tornando o circuito mais
rápido.
• o funcionamento correto não depende das dimensões dos transistores (ratioless);
• o número de transistores é reduzido implicando em menores áreas.
Durante a fase de avaliação, diferentes problemas podem surgir que acabam por reduzir as margens
de ruído nas portas dinâmicas. Alguns deles são:
• charge leakage: perda da carga armazenada na saída devido às correntes de fuga;
• charge sharing: redistribuição da carga armazenada na saída pelos vários nós internos do PDN ou
do PUN;
• acoplamento capacitivo entre entradas e saída: quando uma das entrada tem seu valor alterado, a
saída sofre variações. No caso do acoplamento entre o clock e a saída chamamos de clock-
feedthrough.
É importante dizer que todos estes problemas têm como causa o fato que a saída pode ficar, na fase
de avaliação, em “alta impedância” ou seja, desconectada tanto do VDD como do VSS.
PDN a b
cc
a
d=a(b+c)
d
VSS
b
VDD
PUN( )d a b c= + ⋅( )d a b c= + PUN
trans. PPDN
trans. N
c)
VDD
VSS
a)
VDD
clock
clock
clock
clock
VSS
entrada
saída
b)
VDD
VSS
clock
clock
clock
clock
saída
d)
entrada
d
Figura 7. Portas lógicas dinâmicas para a função ( )d a b c= + : (a), representação com transistores da
porta n-dinâmica e (b), sua representação simplificada; (c), representação com transistores da porta
lógica p-dinâmica e (d), sua representação simplificada.
O uso de portas dinâmicas requer alguns cuidados para evitar a destruição da carga pré-carregada.
Por exemplo, duas portas n-dinâmicas não podem ser ligadas diretamente como feito na Figura 8(a),
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
36
pois o nó Si, levado para VDD durante a pré-carga, poderá, na fase de avaliação, descarregar
indevidamente a segunda porta dinâmica. O erro aparecerá quando a entrada a da primeira porta n-
dinâmica tiver nível alto, causando uma transição “1”→”0” em Si.
Apresentamos dois estilos de projeto para associações de portas dinâmicas em cascata e que evitam
tais problemas. A primeira é a lógica dominó [Kr82]. Ela consiste na colocação de inversores entre
duas portas dinâmicas (Figura 8(b)). Como “1”→”0” é a única transição possível na saída de um n-
dinâmico, durante a avaliação, o inversor garante que o sinal na entrada da segunda porta dinâmica
nunca tenha transições “1”→”0”, a que causa problemas. Outro estilo possível é o np-CMOS, que faz
parte da técnica NORA ([Go83], [Go84]), e consiste no uso alternado de uma porta n-dinâmica e outra
p-dinâmica (Figura 8(c)). Como a porta n-dinâmica não tem, na fase de avaliação, transições “0”→”1”
na saída, não haverá a descarga errônea na porta p-dinâmica seguinte; analogamente, como a porta p-
dinâmica não tem, na fase de avaliação, transições “1”→”0” na saída, não haverá a descarga errônea
na porta n-dinâmica seguinte.
Para que as duas portas lógicas, a p-dinâmica e a n-dinâmica, façam a avaliação ao mesmo tempo, é
necessário o uso do sinal de clock e do seu inverso, ou seja, o uso de duas fases para o sinal de clock. O
NORA, que veremos mais adiante, é uma técnica que emprega duas fases de clock.
a
VSS
PDNtrans. N
a)
VDD
clock
clock
clock
clock
entradasaída
b)
VDD
VSS
Si saída
c)
VDD
VSSVSS
PDNtrans. N
VDD
PUNtrans. P
VDD
VSS
saída
VSS
PDNtrans. N
clock
clock
entrada
VDD
clock
clock
Figura 8. Ligação de portas lógicas dinâmicas; (a), ligação sujeita a descarga indevida, (b), estilo de
projeto dominó e (c), estilo de projeto np-CMOS.
Comparações entre a potência consumida pelas portas dinâmicas e a consumida pelas portas
estáticas complementar CMOS, indicam vantagens para os circuitos dinâmicos [Ma96]. Uma análise
mais detalhada deve levar em conta, no entanto, a atividade da porta e de como suas entradas estão
sendo alteradas [Cha95].
Os problema com margens de ruído são a maior desvantagem das portas dinâmicas e exigem um
maior esforço de projeto.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
37
2.2.1.5 Lógica Dinâmica Clocked CMOS (C2MOS)
As portas/registradores C2MOS ([Go84], [We93], [Ra96]) têm, como as portas complementar
CMOS, tanto a estrutura PDN como a PUN (Figura 9). Além disso, o circuito apresenta um transistor
P entre PUN e a saída, cujo gate está ligado ao clock invertido, e um transistor N entre PDN e a saída,
cujo gate está ligado ao clock. Existem duas fases de operação no circuito: a fase de avaliação, clock
no nível alto, onde ambos os transistores ligados ao clock conduzem e o circuito opera como uma porta
complementar CMOS; a fase de holding, clock no nível baixo, onde ambos os transistores ligados ao
clock estão cortados e a saída retém a informação avaliada na fase anterior, funcionando como um
registrador. Assim o circuito C2MOS tem dupla função, uma como porta lógica e outra como
registrador latch.
Na fase de holding a saída do circuito fica em alta impedância e, por esta razão, o C2MOS tem
problemas semelhantes aos que aparecem na porta dinâmica: problemas de charge leakage e
acoplamento capacitivo entre entradas e saída. Caso os transistores ligados ao clock sejam deslocados
para junto do VDD, transistor P, e do VSS, transistor N, o circuito ficará mais veloz mas também passará
a sofrer de problemas de charge sharing.
As vantagens da porta/registrador C2MOS são:
• baixo consumo de potência;
• tem dupla função, operando como porta lógica e como registrador;
• o circuito é ratioless.
As desvantagens, em contrapartida, são:
• menor velocidade;
• maior área;
• problemas com margens de ruído.
Dada a dupla função do circuito, comparações de área, velocidade e potência são de fato um pouco
arbitrárias.
2.2.2 Registradores
Também aqui acompanharemos [Ra96] e classificaremos os circuitos registradores em estáticos e
dinâmicos. Nos circuitos registradores estáticos o que garante o armazenamento da informação é a
realimentação entre entrada e saída (feedback). Nos registradores dinâmicos, a informação fica
armazenada como carga em capacitores, necessitando ser periodicamente reforçada devido às correntes
parasitas. Este tipo de armazenamento é comum dentro das tecnologias MOS.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
38
P D N
a b
c
c
a
d = a (b + c )
d
V S S
b
V D D
P U N( )d a b c= + ⋅
( )d a b c= +
P U Ntr a n s . P
P D Ntr a n s . N
e n tra d a s a íd a
b )
V D D
V S S
a )
c lo c k
c lo c kc lo c k
c lo c k
M C PM C P
M C NM C N
Figura 9. Porta/registrador dinâmico C2MOS para a função ( )d a b c= + : (a), representação com
transistores e (b), sua representação simplificada.
2.2.2.1 Registradores Estáticos
Um dos exemplos mais simples de registrador estático é o latch pseudo-estático com transistores de
passagem da Figura 10(a). Neste circuito, quando o clock está alto, o sinal da entrada passa para a
saída Q. Quando está baixo, ocorre a realimentação da saída por meio dos dois inversores. Para o
correto funcionamento deste latch, não pode haver sobreposição dos sinais clock e clock . Isto é muitas
vezes difícil de ser garantido. Também neste circuito, como nas lógicas com transistores de passagem,
podemos utilizar apenas um transistor ou o par de transistores P e N para a função de chave. Um único
transistor nos fornece uma configuração mais simples mas o circuito sofrerá a degradação do nível
lógico alto. Isto é evitado com o par de transistores que, em contrapartida, necessita de dois sinais para
seu controle.
Outro exemplo de registrador estático está na Figura 10(b); um D-flip-flop formado por um circuito
diferencial associado a um flip-flop RS. Este registrador é sensível a borda do clock. Quando o sinal de
clock é alto, o nó R é forçado ao mesmo valor lógico da entrada e S, ao seu inverso. Estes valores são
então passados para a saída do flip-flop RS, com Q S= e Q R= . Estando o clock baixo, os nós R e S
vão para VDD, e o valor anterior da saída é armazenado na saída do flip-flop RS. Este tipo de registrador
foi usado no microprocessador Alpha 21264 da Digital [Gr98], que deve operar a 600MHz numa
tecnologia CMOS de 0,35µm.
Um aspecto interessante nos registradores estáticos é que o ruído os afeta menos. Outro aspecto
vantajoso, explorado no microprocessador Alpha 21264, é que a informação continua armazenada,
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
39
quase indefinidamente, mesmo quando o clock não é aplicado. Isto possibilita a utilização de clocks
condicionais para diferentes porções do circuito, sendo apenas ativados os sinais de clock das porções
que devem operar. Este recurso pode ser aplicado para redução do consumo de potência, tendo, como
custo, o aumento adicional nas dimensões do circuito.
a)
VDD
clockentrada
b)
VDD
VSSclock
entrada
clock
Q
Q
S
R
flip-flopRS
Figura 10. Registradores estáticos: (a), latch pseudo-estático com transistores de passagem e (b), D-
flip-flop com lógica diferencial.
2.2.2.2 Registradores Dinâmicos
O principal atrativo na utilização de registradores dinâmicos, que exigem um número menor de
transistores, é o aumento na densidade dos circuitos. Já apontamos que um circuito C2MOS, além de
fazer operação lógica, pode atuar como registrador latch. Este é um exemplo de registrador dinâmico e
nele são necessárias duas fases de clock para o funcionamento. Outros exemplos são os latches com
transistores de passagem da Figura 11. No latch da figura (a) é usado apenas um transistor N como
chave, estando sujeito a degradação do nível lógico; para evitar este problema pode-se usar dois
transistores em paralelo, um P e outro N, como na figura (b). Latches dinâmicos com dois transistores
de passagem foram empregados no microprocessador Alpha 21164 [Gr98]. Ambas as configurações
necessitam de apenas uma fase de clock.
Por fim, como último exemplo de registrador, mostraremos certos circuitos propostos por [Yu89]
para a técnica TSPC. Mais tarde daremos mais exemplos de latches aplicados nesta técnica. O latch da
Figura 12(a) é transparente para a entrada quando o clock é alto e armazena a saída quando ele é baixo.
O outro latch, Figura 12(b), tem a operação inversa.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
40
clock
entrada Q
entrada Q
clock
VSS
a) b)
Figura 11. Registrador latch dinâmico com transistor de passagem: (a), porta de passagem com um
transistor N e (b), com transistores N e P.
Q
V S S
V D D
e n tr a d a
b )a )
c lo c k Q
V S S
V D D
e n tr a d a
c lo c k
Figura 12. Latches dinâmicos TSPC: (a), armazena o dado quando o clock é baixo e (b), armazena o
dado quando o clock é alto.
2.2.3 Políticas de clock
Várias políticas de clock foram propostas ao longo do tempo. Políticas com múltiplas fases
permitem uma utilização do tempo mais eficiente, resultando em desempenho melhor [Ra96]. O
problema surge com a distribuição destas múltiplas fases, normalmente com restrições quanto a
sobreposição delas. A tendência em circuitos de alta velocidade CMOS VLSI é a utilização de um
único clock ([We93], [Ra96]), simplificando a tarefa da distribuição deste.
Mostraremos aqui duas estratégias de clock indicadas para circuitos de alto desempenho; o NORA e
o TSPC.
2.2.3.1 Estratégia com duas fases de clock NORA
A técnica NORA, No-Race CMOS Technique ([Go83], [Go84]), permite a utilização de portas
lógicas estáticas complementar CMOS, portas dinâmicas e portas C2MOS. Para registrador é
empregado apenas o C2MOS. São usadas duas fases complementares de clock no NORA, φ1 e φ2.
Devido a isto são possíveis 4 diferentes configurações de portas lógicas dinâmicas: duas configurações
de portas n-dinâmicas, uma controlada pela fase φ1 e outra pela φ2; duas configurações de portas p-
dinâmicas, analogamente. Também são disponíveis duas configurações diferentes para os latches
C2MOS. Regras de composição para as portas e registradores completam a estratégia. Elas foram
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
41
criadas para evitar os problemas de race: os delay race errors e os clock skew race errors. O delay dos
sinais que chegam aos blocos dinâmicos pode causar a perda do valor pré-carregado na sua saída e, em
conseqüência, a incorreta avaliação do bloco. Este é o chamado delay race error. O clock skew entre as
duas fases do clock de um circuito NORA pode, por sua vez, causar avaliação incorreta tanto em
circuitos dinâmicos como em C2MOS latches, o chamado clock skew race error.
O estilo np-CMOS é usado aqui. Uma vez obedecidas às regras de composição, o circuito projetado
tolerará sobreposição das fases, podendo ser, dessa forma, empregadoφ1 = clock e φ2 = clock . Por esta
razão, muitas vezes, o NORA é dito ser uma estratégia de uma única fase de clock [We93].
As regras do NORA são aplicadas sobre os chamados data chains, φ1-data chains e φ2-data chains.
Um φ1-data chain é um caminho de propagação de dados, signal propagation path, onde, durante a
fase φ1 1=" " , todas as portas e registradores estão em avaliação e, durante a fase φ1 0=" " , todas as
portas e registradores estão em pré-carga ou em holding. Um φ2-data chain faz avaliação durante a
fase φ2 1=" " e pré-carga/holding quando φ2 0=" " . A Figura 13 apresenta um exemplo de circuito
NORA com data chains assinalados, um φ1-data chain e um φ2-data chain.
VDD
φ2
φ1
VSS
PUNtrans. P
VDD
VSSVSS
PDNtrans. N
entrada
VDD
φ1
φ1 φ2
φ2
saída
VSS
PDNtrans. N
VDD
φ2
φ2
φ2
φ1
VSS
VDD
φ1-data chain
φ2-data chain
Figura 13. Exemplo de circuito NORA.
A técnica NORA permite melhora na velocidade, menores áreas e consumo de potência além de
evitar disputa de sinais. Em contrapartida, a utilização de elementos dinâmicos, portas lógicas e
registradores, traz problemas de charge sharing, charge leakage, acoplamento capacitivo e
sensibilidade ao ruído. Isto dificulta o projeto, devendo a técnica ser aplicada somente quando máxima
performance é procurada.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
42
2.2.3.2 Estratégia com uma fase de clock TSPC
O True Single Phase Clock, TSPC, é uma estratégia que utiliza de fato um único clock. Um dos
primeiros trabalhos sobre o TSPC é [Yu87]. Mais tarde, novos aspectos foram abordados e
aprofundados em [Yu89] e [Af90]. Em [La95], por fim, um enfoque mais geral foi desenvolvido.
Apresentaremos aqui, com um pouco de detalhes, o TSPC como elaborado em [La95].
2.2.3.2.1 Portas Lógicas e Registradores
As portas lógicas que podem ser usadas no TSPC são as portas estáticas complementar CMOS,
dinâmicas e portas data precharged (Figura 15), que serão vistas mais adiante. São introduzidos
também novos tipos de circuitos que podem executar operações lógicas e ajudam como registrador;
não são, no entanto, registradores completos. Chamaremos estes circuitos de n-latch e p-latch (Figura
14). Ambos circuitos apresentam as estruturas PUN e PDN e são ratioless. A diferença entre eles está
no tipo de transistor cujo gate está ligado ao clock. Para o n-latch é um transistor N e durante a fase
clock=”1” sua saída será função lógica dos sinais de entrada; diremos que está na avaliação. Quando o
clock é baixo, por outro lado, apenas transições “1”→”0” na entrada poderão alterar a saída; diremos
que o circuito está em holding. Observemos que o nome holding é aqui empregado apenas por
analogia pois a saída do n-latch não retém necessariamente seu valor durante esta fase.
O p-latch tem a fase de avaliação quando clock=”0” e holding quando clock=”1”, ao contrário do n-
latch. No holding destes circuitos, as transições “0”→”1” é que poderão afetar a saída.
a
VSS
PDNtrans. N
clock clock
VDD
saída
VDD
VSS
PUNtrans. P
entradad
b
a
clock
VDD
VSS
b
VSS
PDNtrans. N
clock
VDD
saída
PUNtrans. P
entrada
d ab= d ab=
d
a) b) c) d)
Figura 14. Circuitos n-latch e p-latch: (a), representação com transistores e (b), representação
simplificada do n-latch; (c), representação com transistores e (d), representação simplificada do p-
latch.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
43
A posição indicada na Figura 14 para os transistores ligados ao clock, próximo ao VSS no n-latch e
ao VDD no p-latch, segue a sugestão de [Hu93]. Esta configuração apresenta vantagens em termos de
velocidade do circuito mas sofre maiores problemas de charge sharing. A colocação destes transistores
mais próximo da saída do circuito é uma opção que reduz o charge sharing, não obstante afeta a
velocidade.
As portas data pre-charged, Dp, são pouco conhecidas e utilizadas. Daremos, em vista disso, alguns
detalhes sobre a sua construção. Tais portas são apresentadas em [Yu93] e elas dão maior flexibilidade
à técnica TSPC. A idéia aqui é obter uma porta que é um misto entre a estática complementar e a
dinâmica; neste caso a pré-carga não é executada pelo sinal de clock mas sim por alguns dos sinais de
entrada da própria porta. Aqueles sinais de entrada responsáveis pela pré-carga serão por nós
chamados de pc-entradas (pre-charging entradas). Podemos ainda dividir as portas Dps em duas
classes: uma formada pelas portas em que a pré-carga é feita quando as pc-entradas estão no nível alto,
portas PH (pre-charged in high), e outra formada pelas portas em que a pré-carga é feita quando as pc-
entradas estão no nível baixo, portas PL (pre-charged in low).
A Figura 15 exemplifica a formação de portas PH e PL para a função lógica d a(b c)= + . Elas são
formadas a partir de uma porta estática complementar (Figura 15(a)) que executa a mesma função
lógica. Tratemos com detalhes a porta PH. Nela a estrutura implementada pelos transistores P é igual a
aquela da porta estática; apenas a estrutura com os transistores N é modificada. Na pré-carga da porta
PH sua saída dever ir para o nível lógico baixo o que é conseguido forçando-se todas as entradas
ligadas aos transistores N para o nível alto. Durante a avaliação, tem-se que os transistores P, da
mesma forma que na porta estática, fazem a avaliação lógica das entradas, ligando ou não a saída do
circuito a VDD. Pois bem, no caso da saída ter valor alto, não deverá surgir nenhuma ligação entre esta
e VSS. Assim, a função da estrutura implementada com transistores N é descarregar a saída na pré-carga
e evitar o aparecimento de um curto entre VDD e VSS na avaliação. Essa estrutura N não executa,
necessariamente, uma função lógica igual a da porta. Pare obter a nova configuração dos transistores
N, podemos partir daquela encontrada na porta estática e, para cada conjunto de k ramos em paralelo aí
encontrados, cortarmos k-1 deles. O processo está exemplificado na Figura 15. É livre a escolha de
quais ramos são cortados, possibilitando o surgimento de diferentes circuitos, como é visto na figura.
Para as portas PL, será modificada, em contraposição, a estrutura formada pelos transistores P. O
raciocínio é, no entanto, análogo.
Observemos que as pc-entradas de uma porta PH são todas aquelas ligadas a transistores N; as pc-
entradas de uma porta PL são todas aquelas ligadas a transistores P. A Figura 15 indica também as pc-
entradas em cada configuração.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
44
Para o funcionamento destas portas devemos garantir que as pc-entradas tenham valores corretos
durante a pré-carga. Isto é feito através do emprego de outros circuitos convenientemente associados
as portas Dps.
Chamaremos de blocos n-Dps aos blocos PH ou PL que fazem a pré-carga quando clock=”0”, ao
menos no fim dessa fase, e de blocos p-Dps aos blocos PH ou PL que fazem a pré-carga quando
clock=”1” (ao menos no fim dessa fase).
a b
c
c
d
a b
c
b )
a
bd
aa b
c
c
a
d = a (b + c )
d
a )
a
c
a
d
b
b
b
c
c
a
d
b
p c -e n tra d a : a , bn ã o -p c -e n tra d a : c
p c -e n tra d a : a , cn ã o -p c -e n tra d a : b
p c -e n tra d a : an ã o -p c -e n tra d a : b , c
p c -e n tra d a : b , cn ã o -p c -e n tra d a : a
c )
O U
O UV D D
V D D V D D
V D D V D D
V S S V S S
V S S V S S
Figura 15. Transformação de uma porta estática complementar CMOS (a) em portas data pre-
charged Dp: (b), portas PH e (c), portas PL.
Para simplificação, tanto aqui como quando estivermos falando do E-TSPC, chamaremos
genericamente de blocos tanto as portas lógicas usadas na técnica como os latches. No texto esses
blocos serão designados pela letra B e, quando necessário, mais um índice será acrescido; os índices
poderão conter indicações do tipo de bloco (St para estático, Nd para n-dinâmico, Pd para p-dinâmico,
Dp para data precharged, NL ou PL para os latches, etc.), números e letras. Exemplos de nomes de
blocos são: BST1, BHDpA e BF.
2.2.3.2.2 Regras de Composição
As ligações permitidas no TSPC, de acordo com [La95], estão sumariadas no diagrama da Figura
16. Observemos que os latches apontados na Figura 12, apesar de não poderem ser construídos com os
blocos considerados acima, também fazem parte da técnica TSPC. A introdução deles no circuito, uma
vez que são latches verdadeiros com uma fase de holding que retém a informação, é uma tarefa
simples.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
45
O diagrama fornece adicionalmente informações sobre problemas que podem ocorrer devido aos
atrasos diferenciados nos sinais de clock que chegam a blocos interligados, clock skew. Para entender
este ponto considere uma porta n-dinâmica com saída ligada a um n-latch. Se o sinal de clock chegar
antes no bloco que no n-latch, devido aos atrasos diferenciados no circuito de distribuição de clock,
teremos que o bloco dinâmico estará em pré-carga e o n-latch em avaliação. Isto poderá causar erros.
Atrasos diferenciados no clock aparecem devido às dissimetrias no seu circuito de distribuição e são
inevitáveis. O melhor que pode ser feito é o controle do valor dos atrasos por meio de um projeto
cuidadoso de buffers ([Do92], [Gr98]).
##
#◊
#
◊
PL
PL
PH
PH
N-latch *
P-latch *
N-latch P-latchN-dinâm. P-dinâm.
Figura 16. Gráfico de conexões para o TSPC de acordo com [La95]. As portas e circuitos são
representados pelos quadrados. O fluxo de dados permitido é indicado pelo sentido das setas. # indica
ligações onde atrasos diferenciados do clock nos blocos não causam problemas (skew safe
communication); * indica pontos de latch depois dos quais portas estáticas complementar CMOS
podem ser inseridas; ◊ indica ligações onde há problemas potenciais de violação de holding time.
Outra questão assinalada são as configurações onde há o perigo de violação de hold time. O caso
mais comum de possível violação surge no D-flip-flop clássico do TSPC, apresentado na Figura 17.
Para examinar tal violação consideremos um estado inicial onde clock=entrada=saída_a=”0”. Neste
instante os blocos BL1 e BL4 estão avaliando. No fim da fase de avaliação ambas as saídas, a1 e b1,
estão no nível alto. Na seqüência, quando o clock muda para nível alto, os outros blocos irão para a
avaliação. Suponha que a1 funcione propriamente e retenha o valor alto. Neste caso, o nó a2 vai para
baixo, a saída_a, para alto e b1 vai para nível baixo. Em conseqüência o transistor N1 é cortado e o
valor na saída do bloco BL5, b2, dependerá do holding time deste bloco. Assim, caso a mudança em b1
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
46
seja rápida demais, a saída de BL5 ficará com nível alto e teremos um erro na operação. No caso
contrário, o que normalmente se dá, o bloco e o D-flip-flop funcionarão corretamente.
Outra configuração permitida pelas regras acima mas também com possibilidades de violação de
holding time está na Figura 18 [Yu93]. No exemplo a porta p-dinâmica BL2 poderá ter problemas com
a entrada a1 caso, após a mudança do clock do nível alto para o baixo, a1 tenha seu valor alterado
muito rapidamente. Esta possibilidade de violação do holding time não foi apontada no diagrama de
conexões de [La95] (Figura 16).
clock
a1
BL1 BL2
clock
clock clock
entrada
a2
BL3
clock
b1
BL4 BL5
clock
clock clock
b2
BL5
saída_a saída_b
N1
N2
D-flip-flop D-flip-flop
Figura 17. Ligação de dois D-flip-flops TSPC.
PDNtrans. N
VDD
VSS VSS
PUNtrans. P
entrada
VDD
clock
clock
clock
BlocoPH
BlocoPL
BlocoPL
BL1
a1
BL2
Figura 18. Circuito com possibilidade de violação de holding time usando blocos data precharged.
2.2.3.2.3 Conclusões sobre o TSPC
A técnica TSPC permite, como o NORA, melhora na velocidade, menores áreas e consumo de
potência. Adicionalmente, por ter apenas um sinal de clock, torna a tarefa da distribuição do relógio
mais simples. As desvantagens são semelhantes àquelas do NORA e pelos mesmos motivos: a
utilização de circuitos dinâmicos que traz consigo problemas de charge leakage, charge sharing,
acoplamento capacitivo e sensibilidade ao ruído.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
47
Uma outra dificuldade é normalmente apontada em circuitos TSPC ([Do92], [Ra96]): caso os
tempos de subida e descida do sinal de clock sejam grandes, poderá haver ocasiões quando todos os
transistores ligados ao clock, tanto os transistores P como os N, conduzirão; a conseqüência será o race
no circuito.
O estudo deste problema feito por [La94] mostra que as condições para evitar este race são simples
de serem implementadas (o fan out do buffer de clock deve ser inferior a 10). Também em [Do92] tal
dificuldade é analisada e tida como facilmente superável.
2.3 Estratégia E-TSPC
Esta seção é dedicada a descrição da estratégia E-TSPC. Serão apresentados os blocos nela
permitidos, as regras de composição, a função destas e a prova do funcionamento correto dos circuitos.
Uma apresentação simplificada do E-TSPC, principalmente no que diz respeito aos teoremas e suas
demonstrações, é apresentada em [Na97c]. O trabalho desenvolvido nesta seção é mais longo e
rigoroso. [Na97c] poderá servir, então, como uma introdução para o estudo desta seção.
2.3.1 Blocos da E-TSPC
Os blocos que são usados na técnica E-TSPC são:
i. portas lógicas estáticas complementar CMOS (chamada de estática simplesmente) (Figura 4);
ii. portas lógicas CMOS dinâmicas, tanto n-dinâmicas como p-dinâmicas (Figura 7);
iii. blocos latches, tanto n-latches como p-latches (Figura 14);
iv. portas data pre-charged CMOS n-Dp ou p-Dp, tanto PH como PL (Figura 15).
Cada um dos blocos usados tem uma única saída e um número finito de entradas.
O conjunto das entradas de um bloco BQ qualquer será denotado por I(BQ), não sendo considerado
o clock como entrada. A saída deste bloco será denotada por OBQ. Serão usadas letras minúsculas
handwriting, mais um índice quando necessário, para denotar uma entrada ou a saída de um bloco, por
exemplo: a, k0.
2.3.2 Regras de composição
Nesta seção serão apresentadas as regras de composição e sua finalidade.
2.3.2.1 Definições
Estabeleceremos preliminarmente algumas definições, tanto de nomenclatura como de simbologia.
Apesar de monótona, tanto para quem escreve como para quem lê, a tarefa não pode deixar de ser feita
sob o risco de causar dificuldades na compreensão do texto.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
48
Definição 1: Ligação elétrica é um meio físico qualquer que une eletricamente dois pontos que
podem ser: entradas de blocos, saídas de blocos.
Uma ligação entre i1 e OBSt1 será denotada por (i
1, OBSt1).
Para os blocos considerados aqui, a saber, portas estáticas complementar CMOS, dinâmicos, Dps e
latches, certas ligações não devem ser permitidas. Por exemplo, dois blocos quaisquer não podem ter
suas saídas ligadas uma a outra. Em vista disto vamos definir o que entendemos por circuito.
Definição 2: Um circuito E-TSPC é um conjunto finito de blocos (complementar CMOS, n ou p
dinâmicos, n ou p “latches”, ou CMOS Dps) e um conjunto ligações entre eles. Estas são sempre
entre uma entrada e uma saída de bloco. As entradas de “clock” de todos os blocos são ligadas
entre si e genericamente chamadas de “clock” do circuito. As entradas de blocos são chamadas de
entradas do circuito quando não participam de nenhuma ligação; dentre estas algumas são
definidas como entradas externas do circuito. Algumas das saídas de blocos são definidas como
saídas externas do circuito.
Usaremos a letra C e mais um índice, se necessário, para nomear os circuitos E-TSPC. Indicaremos
por B(CE) o conjunto dos blocos que compõem CE, por L(CE) o conjunto das ligações do circuito, por
I(CE) o conjunto das entradas externas e por O(CE) o conjunto das saídas externas. Um sinal aplicado
a uma entrada externa é chamado de sinal externo. Se a entrada ou saída i1 do bloco BQ faz parte de
alguma ligação do circuito CE, ou do seu conjunto de entradas externas ou do seu conjunto de saídas
externas, então diremos que CE passa por i1; também diremos, neste caso, que i
1 é um ponto do
circuito e que BQ pertence ao circuito. Por simplicidade vamos admitir que os pontos do circuito
podem estar apenas ou no nível lógico baixo ou no nível lógico alto. Notemos que quando (a, b) ∈
L(CE), os pontos a e b têm o mesmo comportamento. Quando o clock do circuito está com nível
lógico zero, diremos que o circuito está na fase φ=”0”; quando o clock está com nível lógico um,
diremos que está na fase φ=”1”.
Para representar as ligações de um circuito podemos usar alternativamente o conjunto de pares
ordenados LO(CE) definido abaixo.
Definição 3: Seja o circuito E-TSPC CE. O conjunto de pares ordenados LO(CE) é definido como:
(a, b) ∈ LO(CE) ⇔ ((a, b) ou (b, a) é uma ligação de CE e a é entrada de bloco).
Por sua vez b é a saída de algum bloco de CE.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
49
Se CE é um circuito, poderemos escrever as três propriedades abaixo:
• BA ∈ B(CE) ⇒ BA é (bloco estático, ou bloco dinâmico, ou bloco Dp ou latch);
• (a, b) ∈ L(CE) ⇒ (∃BA e BC ∈ B(CE)) t.q. (((a ∈ I(BA)) ∧ (b = OBC)) ∨ ((b ∈ I(BA)) ∧ (a =
OBC))).
• i ∈ I(CE) ⇒ (∃BA ∈ B(CE) t.q. (i∈I(BA))) ∧ (∀(a, b) ∈ LO(CE), (a≠i)).
Vamos precisar usar o conceito de subcircuito mais adiante. Damos a definição abaixo.
Definição 4: O circuito E-TSPC CS é um subcircuito de CE se:
i. B(CS) ⊆ B(CE);
ii. L(CS) ⊆ L(CE);
iii. para todo i ∈ I(CS) ⇒ ((i ∈ I(CE)) ∨ (∃(a, b ) ∈ LO(CE) t.q. (a =i )));
iv. para todo o ∈ O(CS) ⇒ ((i ∈ O(CE)) ∨ (∃(a , b ) ∈ LO(CE) t.q. (b =o ))).
Sendo CS um subcircuito de CE, indicaremos por CS⊆CE. A definição abaixo trata da acessibilidade
de um bloco a outro.
Definição 5: Sejam Bi e Bj dois blocos de um circuito CE. Diremos que Bj é acessível a partir de Bi
se existe uma seqüência de blocos B1, B2, ...,Bs, tal que
B1=Bi, BS=Bj
e existe (OBi, t ) ∈ LO(CE) t.q. t ∈ I(Bi+1) para todo i=1, 2,, ..., s-1.
Vamos definir agora o que é um caminho de propagação de dados. Procuramos colocar nessa
definição exatamente aquilo que temos na intuição sobre tal conceito.
Definição 6: Um “signal propagation path”, spp, de CE é um subcircuito Cspp, com uma única
entrada e uma única saída, o qual obedece às condições:
i. contém ao menos um bloco BE a partir do qual todos os blocos do circuito Cspp são acessíveis;
ii. contém um bloco BO que é acessível a partir de qualquer bloco do circuito Cspp;
iii. a saída de todo bloco de B(Cspp), exceção do bloco B0, está ligada a apenas um bloco de Cspp; a
saída de BO pode estar ligada ou não a um bloco;
iv. uma das entradas de BE é a única entrada de Cspp;
v. a saída do bloco BO é a única saída do Cspp.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
50
Os spps serão nomeados com a letra S mais um índice, quando necessário.
Seja o spp Si. Este é também um circuito, logo podemos falar dos conjuntos B(Si), L(Si), LO(Si),
I(Si), ou simplesmente ISi, e O(Si) ou OSi. Ainda são aplicáveis aqui os conceitos de Si passando por i
e de ponto de Si. Se um bloco pertence ao spp diremos que este passa por aquele. As definições de
subcircuitos e de acessibilidade de blocos podem ser estendidos aos spps (definições 4 e 5).
Definição 7: Diremos que um bloco BA antecede um bloco BB no spp se:
i. ambos os blocos pertencem ao mesmo spp;
ii. o bloco BB é acessível a partir do bloco BA.
Diremos também que um bloco é o último de um spp se todos os outros antecedem a ele; será o
primeiro caso anteceda todos os outros.
Definição 8: Diremos que o spp é não cíclico quando nenhum bloco do spp é atingível a partir de si
mesmo.
Apresentaremos a definição de data chain que é fundamental para a compreensão das regras de
composição. Um n-data chain é um spp onde, durante a fase φ=”1”, todos os blocos estão em
avaliação e, durante a fase φ=”0”, parte do seus blocos está em holding (os latches) e parte em pré-
carga (os blocos dinâmicos e Dps). O p-data chain tem os blocos em avaliação na fase contrária ao n-
data chain.
Definição 9: Um n-data chain do circuito CE é um spp não cíclico SNC que obedece às seguintes
condições:
i. contém ao menos um n-latch, um n-dinâmico ou um bloco n-Dp;
ii. a entrada do SNC deve estar ligada a uma entrada externa de CE ou a saída de algum bloco p-
latch, p-dinâmico ou p-Dp;
iii. contém apenas blocos estáticos, n-dinâmicos, n-Dps e n-latches;
iv. a saída do SNC deverá estar ligada a entrada de algum bloco p-latch, p-dinâmico ou p-Dp ou a
nenhum outro bloco de CE.
Notemos que os blocos estáticos no início de um data chain podem pertencer também ao data chain
anterior, sendo este e aquele de tipos diferentes. A definição desta forma não causa maiores problemas
e simplifica a apresentação de algum teoremas.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
51
Definição 10: Um p-data chain do circuito CE é um spp SPC que obedece à condições equivalentes à
(i), (ii), (iii) e (iv) da Definição 9. Neste caso substituem-se "n" por "p" e "p" por "n" em todas as
denominações de blocos que aparecem.
Usaremos a letra D e mais um índice, quando necessário, para nomear os data chains. Normalmente
se o índice inicia com N, teremos um n-data chain, por exemplo DN1; quando inicia com P, teremos
então um p-data chain.
Tudo quanto foi dito para os spps, sobre conjunto de blocos, conjunto de pares ordenados, etc.,
também vale para data chains, visto que data chains são um tipo especial de spp.
Definição 11: Diremos que um n-data chain está na fase de “holding” quando o “clock” tem valor
“0” (φ=”0”). Quando o “clock” tem valor “1” (φ=”1”), é dito que o n-data chain está na
avaliação. Para o p-data chain, o “holding” acontece quando φ=”1” e a avaliação, quando φ=”0”.
Veja que o estado de operação de um bloco Dp não depende diretamente do clock e, a princípio,
nada garante que estes blocos façam a pré-carga no momento certo. Isto dependerá sim dos blocos que
estão ligados a ele.
A Figura 19 fornece alguns exemplos de data chains. Com entrada no nó ia existem dois n-data
chains: um passando pelos blocos BA, BC, BE, BG, BJ e BM, sendo a saída deste último a saída do data
chain; outro passando pelos blocos BA, BC, BE, BK, e BH, sendo a saída deste último a saída do data
chain. Com entrada no nó ih aparece um p-data chain passando pelos blocos BH, BF e BD, sendo a
saída deste último bloco a saída do data chain.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
52
c lo c k
P D Ntr a n s . N
c lo c k
c lo c k
P D Ntr a n s . N
P U Ntr a n s . P
P D Ntr a n s . N
c lo c k
P U Ntr a n s . P
P D Ntr a n s . N
c lo c k
P U Ntr a n s . P
P D Ntr a n s . N
c lo c k
c lo c k
c lo c k
c lo c k
c lo c k
B A
B B
B D
B E
B G
B I
B L
B J
B K
B M
B Ci
a
ic 2
ii
B H
B F
ih
ic 1
Figura 19. Circuito E-TSPC com exemplos de data chains.
2.3.2.2 Descrição das Regras
Os blocos utilizados no E-TSPC exigem uma série de cuidados para o correto funcionamento.
Abaixo descreveremos tais cuidados:
• as entradas dos blocos n-dinâmicos e dos blocos PL não devem nunca sofrer transições “1”→”0”
durante sua avaliação. Observe que, se uma das entradas de um destes blocos tiver valor “1”
durante a avaliação, poderá haver a descarga da saída. Neste caso, se esta entrada muda para “0”,
ainda na mesma avaliação, não poderemos garantir que a saída volte para “1”, se for necessário.
Para exemplificar um funcionamento faltoso considere na Figura 15(c) o circuito PL mais a
esquerda. Inicialmente sejam os seguintes valores para as entradas: a=”1”, b=”0” e c=”1” (a porta
em avaliação); então a saída terá valor d=”0”. Havendo uma transição “1”→”0” em c, a saída
permanecerá em “0”, que não é o valor desejado. Na seção 2.2.1.4 foi discutido o mesmo
problema para as portas dinâmicas;
• as entradas dos blocos p-dinâmicos e dos blocos PH não devem nunca sofrer transições “0”→”1”
durante sua avaliação. As razões são similares as apresentadas acima;
• as pc-entradas dos blocos PH devem ir para “1” durante a fase de pré-carga; as pc-entradas dos
blocos PL devem ir para “0” durante a fase de pré-carga. Como vimos na descrição do
funcionamento dos blocos Dps, isto é necessário para a pré-carga;
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
53
• se desejamos que certo n-latch mantenha o seu valor de saída durante a sua fase de holding, então
nenhuma de suas entradas poderá sofrer uma transição “1”→”0” durante o holding (ver seção
2.2.3.2.1);
• se desejamos que certo p-latch mantenha o seu valor de saída durante a sua fase de holding, então
nenhuma de suas entradas poderá sofrer uma transição “0”→”1” durante o holding (ver seção
2.2.3.2.1).
As regras de composição que serão apresentadas servirão para garantir que
durante a fase de avaliação do data chain:
e1. todas as entradas dos blocos n-dinâmicos e PL tenham apenas transições “0”→”1”;
e2. todas as entradas dos blocos p-dinâmicos e PH tenham apenas transições “1”→”0”.
e durante a fase de holding do data chain:
h1. todas as pc-entradas dos blocos PL estejam em “0”;
h2. todas as pc-entradas dos blocos PH estejam em “1”;
h3. todo n-data chain tenha ao menos um n-latch em cujas entradas, durante todo o holding, não
ocorrerem transições do tipo “1”→”0”;
h3. todo p-data chain tenha ao menos um p-latch em cujas entradas, durante todo holding, não
ocorrerem transições do tipo “0”→”1”.
2.3.2.2.1 Regras r1 a r5
Cinco regras de composição, r1 a r5, são descritas abaixo.
Regra de Composição 1 (r1): Se um bloco Dp for o primeiro bloco não estático do data chain, então
este data chain não pode passar por nenhuma de suas pc-entradas.
Os outros blocos e as entradas que não são as pc-entradas do bloco Dp estão livres de quaisquer
restrições. A regra é necessária para que h1 e h2 possam ser garantidos na fase de holding.
Regra de Composição 2 (r2): Um latch não deve anteceder a um bloco dinâmico ou a um bloco Dp
dentro do mesmo data chain.
Em outras palavras, a saída de um latch não pode ser ligada a um bloco dinâmico ou bloco Dp,
direta ou indiretamente, no data chain. Está regra é necessária para que e1 e e2 possam ser garantidos
na fase de avaliação.
Regra de Composição 3 (r3’): Dentro de um data chain o número de inversões lógicas entre:
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
54
r3a. dois blocos dinâmicos adjacentes deve ser ímpar;
r3b. dois blocos Dps adjacentes do mesmo tipo, sejam dois blocos PH ou PL, deve ser ímpar;
r3c. dois blocos Dps adjacentes de tipos diferentes, um PH outro PL, deve ser par;
r3d. um bloco PH (PL) adjacente a um bloco n (p) dinâmico, ou vice-versa, deve ser par;
r3e. um bloco PL (PH) adjacente a um bloco n (p) dinâmico, ou vice-versa, deve ser ímpar.
(os blocos serão chamados adjacentes se entre eles existirem apenas blocos estáticos).
Esta regra restringe quais blocos podem ser ligados a quais blocos dentro de um data chain. Ela
deve ser observada devido ao e1, e2, h1 e h2.
Podemos enunciar a regra r3’ de uma forma mais simples mas equivalente. Abaixo é dado esta
forma alternativa.
Regra de Composição 3 (r3): Dentro de um data chain o número de blocos entre:
r3a. dois blocos dinâmicos quaisquer deve ser ímpar;
r3b. dois blocos Dps do mesmo tipo, sejam dois blocos PH ou PL, deve ser ímpar;
r3c. dois blocos Dps de tipos diferentes, um PH outro PL, deve ser par;
r3d. um bloco PH (PL) e um bloco n (p) dinâmico, ou vice-versa, deve ser par;
r3e. um bloco PL (PH) e um bloco n (p) dinâmico, ou vice-versa, deve ser ímpar.
Desde que todos os blocos usados no E-TSPC são inversores, é fácil ver que se um data chain
obedecer à regra simplificada, r3, então também obedecerá ao que foi determinado na versão mais
completa. Também é fácil observar que o contrário é verdade: uma vez que o data chain obedece à r3’,
então r3 será satisfeita. Não obstante a forma r3 ser mais compacta e elegante, r3’ é mais simples de ser
aplicada.
Regra de Composição 4 (r4): Considere o último bloco dinâmico BDy de um data chain (se existir
algum). Deverá existir ao menos um latch BL neste data chain com um número par de blocos
(número par de inversões) entre BDy e BL.
Nesta regra obviamente BDy deve anteceder BL.
Está regra visa ao h3 e h4.
Regra de Composição 5 (r5): Em um data chain qualquer deve haver uma das duas configurações:
r5a. ao menos um bloco dinâmico e um latch;
r5b. ao menos dois latches e um número par de blocos (número par de inversões) entre eles.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
55
A regra r4 quando associada à r5a obriga que o data chain possua ao menos um bloco dinâmico e
um latch, com um número par de inversões entre eles. Novamente estas regras visam ao h3 e h4.
No APÊNDICE A, estas cinco regras são associadas em uma única regra geral.
Na Figura 19 aparecem sete n-data chains completos: dois deles com entrada em ia, dois com
entrada em ic1
, dois com entrada em ic2
e um n-data chain com entrada em ii. Todos eles obedecem às
cinco regras de composição.
As regras aqui colocadas são análogas àquelas apresentadas na técnica NORA ([Go83], [Go84]).
NORA, como vimos, utiliza duas fase de clock. Dois tipos de problemas enfrentados aí são os delay
race errors e os clock skew race errors. Regras muito semelhantes as regras r1, r2 e r3 aqui fornecidas
foram criadas no NORA para evitar os delay race errors. A motivação, portanto, para as três primeiras
regras da estratégia NORA e para r1, r2 e r3 é semelhante. Regras semelhantes a r4 e r5 são usadas para
evitar os clock skew race errors. Na E-TSPC, onde não há clock skew errors (ao menos com blocos
locais ([Af90], [La95]), estas duas regras servem para garantir que, durante o holding, haja em cada
data chain ao menos um latch que mantenha sua saída constante.
Vamos apresentar, por fim, o que chamamos de circuito RTS E-TSPC. Este é um circuito composto
de data chains, n ou p, e todos esses observam as regras de composição; também impomos que todas
as entradas de blocos que não estão ligadas a nenhuma saída de bloco sejam entradas externas do
circuito.
Definição 12: Um circuito CE será chamado de circuito RTS E-TSPC se para qualquer spp Sq de CE
ocorre que:
i. existirá um n-data chain DNi de CE tal que Sq ⊆ DNi, se o spp for formado por apenas blocos n-
dinâmicos, n-Dps e n-latches, ao menos um desses, e mais blocos estáticos;
ii. existirá um p-data chain DPi de CE tal que Sq ⊆ Dpi, se o spp for formado por apenas blocos p-
dinâmicos, p-Dps e p-latches, ao menos um desses, e mais blocos estáticos;
iii. existirá um p-data ou um n-data chain Di de CE tal que Sq ⊆ Di, se o spp for formado por apenas
blocos estáticos;
iv. as regras r1-r5 são observadas para todos os data chains;
v. todas as entradas do circuito são entradas externas.
2.3.2.2.2 Blocos Dps e data chains do circuito
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
56
As definições de data chains e, portanto, de circuitos RTS E-TSPC apresentam uma importante
dificuldade. Diz respeito ao uso dos blocos Dps e à distinção entre os n-Dps e os p-Dps, suposta
possível. Todos os blocos usados no E-TSPC podem ser classificados, quanto ao seu tipo, por meio de
inspeção direta, exceção aos blocos Dp. Neles a semelhança estrutural entre os n-Dps e os p-Dps
impede tal classificação.
Em vista disto, surgem duas dúvidas de caráter prático:
i. afinal como poderemos saber se o bloco que colocamos é um n-Dp ou um p-Dp? Como
poderemos saber se o data chain é n ou p? Será possível, em resumo, desenhar um circuito RTS
E-TSPC, obedecendo às regras de composição e utilizando blocos Dps?
ii. poderemos saber quem são os blocos p-Dps e os n-Dps de um circuito? Poderemos separar os n e
p data chains dele? Dado um circuito qualquer, será possível verificar se é ou não um circuito
RTS E-TSPC?
A primeira questão é de fácil resposta. Sim, é possível desenhar um circuito RTS E-TSPC com
blocos Dps. Para tal, durante a fase de projeto, cada bloco Dp manipulado deve ser marcado
antecipadamente como sendo n-Dp ou p-Dp; da mesma forma os data chain. Sendo obedecidas todas
as regras (em particular r1, r2 e r3), garantimos que os blocos são pré-carregados na fase correta
(conforme teoremas 2N e 2P abaixo), e que os data chains serão do tipo desejado.
Para verificar a aplicação das regras de composição em um circuito qualquer, a segunda questão
colocada, deveremos ser capazes de identificar todos os n e p data chains, pois as regras são aplicadas
sobre estes. Para esta identificação, a partir das definições de data chains, necessitamos saber quem
são os blocos n-Dps e p-Dps. Portanto necessitamos de um procedimento que permita tal identificação.
Abaixo descrevemos isso. Neste procedimento se usa o fato de ser possível identificar quais são os
blocos n e p dinâmicos, estáticos e Dps (sem distinguir entre n-Dp e p-Dp), quais são as entradas e
saídas desses blocos e quais são as pc-entradas dos blocos Dps3.
Procedimento 1- para classificação dos blocos Dps em RTS E-TSPC:
Seja o circuito CE e seu bloco Dp BDP (pode ser PH ou PL). O que será feito é recuar através das
ligações de CE, a partir de BDP, até encontrar um bloco dinâmico. Esse bloco dinâmico nos dirá que
tipo de bloco Dp temos. Iniciamos o processo com a escolha de uma das pc-entradas de BDP,
chamando-a de e0. Em e
0 estarão ligados vários blocos; tomemos um deles. Caso as regras r1, r2 e r3
3 As pc-entradas podem ser imediatamente separadas das outras entradas do bloco Dp: numa das porções do bloco,
aquela composta por transistores N ou aquela por P, o número de transistores será menor. As entradas que chegam a esta
porção são então as pc-entradas.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
57
sejam verificadas então o bloco poderá ser apenas um destes (caso apareça uma opção diferente então
saberemos que as regras não foram obedecidas):
i. um n-dinâmico;
ii. um p-dinâmico;
iii. um bloco estático complementar CMOS;
iv. um outro bloco Dp.
Para os casos (i) e (ii) a classificação de BDP estará terminada: n-Dp para (i), e p-Dp para (ii). Para
(iii) e (iv), não poderemos ainda decidir e deveremos recuar mais um bloco. Escolhemos para isto uma
das entradas do bloco estático (iii) ou uma das pc-entradas do bloco Dp (iv). Chamemos de e1 essa
entrada. Repetimos com e1 a análise feita com e
0 e, se não houver a possibilidade de decisão, faremos
mais um recuo determinando e2. Assim seguimos até cairmos em (i) ou (ii).
O teorema abaixo garante que, se estamos com um circuito RTS E-TSPC, o procedimento descrito
acima é efetivo, no sentido de fornecer sempre uma resposta, e correto, ou seja a resposta encontrada é
verdadeira.
Teorema da classificação dos blocos Dps. Considere um circuito RTS E-TSPC CE. Todos os seus
blocos Dps podem ser corretamente classificados como n-Dp ou p-Dp através do procedimento
descrito acima.
Dem.: Seja o bloco Dp BDp que desejamos classificar. O processo de ir recuando é finito desde que
todos os blocos aí encontrados pertencem ao mesmo data chain (pois um data chain nunca pode
iniciar por uma pc-entrada (r1)) e, dentro de um data chain, nenhum bloco é acessível a ele mesmo.
Assim, mais cedo ou mais tarde, devemos encontrar um bloco dinâmico. Desta forma chegaremos a
uma classificação de BDp, desde que as regras sejam obedecidas (caso contrário, ou encontraremos um
bloco não esperado ou ficaremos em um ciclo infinito). Assim o procedimento é efetivo.
Observe que o bloco BDP, não podendo ser n-Dp e p-Dp ao mesmo tempo, pertence a apenas um
dos tipos de data chain. Assim, qualquer caminho que seguirmos durante o recuo resultará na mesma
classificação. Também haverá apenas blocos estáticos e Dps entre BDp e o bloco dinâmico encontrado.
Desta forma, este e aquele devem pertencer ao mesmo data chain e a classificação feita é correta.
Uma vez separados os blocos n-Dps e p-Dps, poderemos encontrar os data chains do circuito. Isto é
feito com base nas definições de data chains, não importando se o circuito obedece ou não às regras de
composição.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
58
Procedimento 2- para determinação dos “data chains”:
Considere o circuito CE. Supomos que os blocos n e p dinâmicos, n e p latches, estáticos, n-Dp e p-
Dp já estejam identificados. Inicialmente vamos determinar os n-data chains. Tomemos todos os
blocos n-latches. Consideremos esses blocos numerados (desde que são finitos não há dificuldade para
enumerá-los). Sejam eles BnL1, BnL2, .....
Para cada bloco BnLi achemos o conjunto dos n-data chains a que o bloco pertence. Para isso
determinemos dois conjuntos de spps:
FI que possui os “pedaços iniciais” dos n-data chains que passam por BnLi;
FF que possui os “pedaços finais” dos n-data chains que passam por BnLi.
(como são esses dois conjuntos ficará mais claro a seguir)
Para construir FI começamos por formar o conjunto de spps
FI0= spp Si=(B(Si)=BnLi, L(Si)=∅, ISi=a, OSi= OBnLi) para todo a∈I(BnLi).
Para cada um dos elementos Si de FI0 são repetidos os passos abaixo até que FI0 acabe ficando
vazio:
i. retira-se Si de FI0;
ii. selecionam-se todos os blocos ligados a entrada de Si e, para cada um dos blocos selecionados,
acrescentam-se novos elementos a FI0 ou a FI de acordo com as regras:
a. se o bloco BS selecionado for estático, n-dinâmico, n-Dp ou n-latch então acrescentam-se a FI0
os novos spps:
spp Sj=B(Sj)=B(Si)∪BS, LO(Sj)=L
O(Si)∪(ISi, OBs), ISj=a, OSj=OSi para todo a∈I(BS);
b. se o bloco selecionado for p-dinâmico, p-Dp ou p-latch, então acrescenta-se Si a FI (caso ele
ainda não esteja lá).
A etapa acima é finita quando estivermos com um circuito RTS E-TSPC pois os blocos nos data
chains não são acessíveis a eles mesmos e o número de elementos de um circuito é finito.
O próximo passo será construir FF a partir do conjunto de spps FF0=spp Si=B(Si)=BP,
L(Si)=∅, I(Si)=a, OSi= OBP para todo a∈I(BP) tal que BP seja um bloco estático, n dinâmico, n-Dp
ou n-latch e (a , OBnLi) ∈ LO(CE).
Para cada um dos elementos Si de FF0 são repetidos os passos abaixo até que FF0 acabe ficando
vazio:
i. retire-se Si de FF0;
ii. selecionam-se todos os blocos ligados a saída de Si e, para cada um dos blocos selecionados,
acrescentam-se novos elementos a FF0 ou a FF de acordo com as regras:
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
59
a. se o bloco BS selecionado for estático, n-dinâmico, n-Dp ou n-latch então acrescenta-se à FF0 os
novos spps:
spp Sj=B(Sj)=B(Si)∪BS, LO(Sj)=L
O(Si)∪(a, OSi), I(Sj)=I(Si), OSj=OBS para todo
a∈I(BS) tal que a esteja ligado a OSi ;
b. se o bloco selecionado for p-dinâmico, p-Dp ou p-latch então acrescenta-se Si a FF (caso ele
ainda não esteja lá).
A combinação de um elemento Sa de FI com outro elemento Sb de FF formará um n-data chain Sc
que possui BnLi: Sc=B(Sc)=B(Sa)∪B(Sb), LO(Sc)=L
O(Sa)∪L
O(Sb)∪(I(Sb), OSa), I(Sc)=I(Sa), OSc=
OSb. O conjunto de todos os data chain que passam por BnLi é formado tomando-se todas as
combinações de um elemento de FI e um de FF.
O que foi feito com os n-latches é repetido para os blocos n-dinâmicos e n-Dp. Todos os n-data
chains do circuito serão identificados dessa maneira.
Passos similares são aplicados para identificar todos os p-data chains.
Teorema dos data chains: Considere um circuito RTS E-TSPC CE. O procedimento acima descrito é
efetivo e correto na determinação de todos os “data chains” de CE desde que a classificação dos
blocos Dps esteja correta.
Dem.: Primeiro observemos que os passos para geração dos conjuntos FI e FF são finitos pois:
a. nos spps formados por blocos estáticos, n-dinâmicos, n-Dps e n-latches, nenhum bloco é acessível a
si próprio;
b. nos spps formados por blocos estáticos, p-dinâmicos, p-Dps ou p-latches, nenhum bloco é acessível
a si próprio;
c. todos os blocos usados têm, por definição, um número finito de entradas;
d. um circuito é por definição um conjunto finito de blocos.
Como este procedimento está baseado na definição de data chain, sempre resultará na separação
correta dos data chains. Ainda, como todo n-data chain deve conter ao menos um n-latch, um bloco n-
dinâmico ou um bloco n-Dp, Definição 9, a conseqüência é que, uma vez analisados todos estes
blocos, teremos identificados todos os n-data chains de CE (idem para os p-data chains).
Voltemos agora a questão que pretendemos responder: dado um circuito CE qualquer, será possível
verificar se é ou não um circuito RTS E-TSPC? Um sim a esta questão representa a existência de um
procedimento aplicável sobre qualquer circuito CE, chamemo-lo de procedimento 3, tal que
procedimento 3 aponta CE como RTS E-TSPC ⇔ o circuito CE é RTS E-TSPC.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
60
Tal procedimento é descrito abaixo.
Procedimento 3- para verificar se um circuito é RTS E-TSPC
Considere o circuito CE. Devemos aplicar a CE o procedimento 1, para identificar os blocos n-Dps e
p-Dps, e, posteriormente, o procedimento 2 para obter todos os data chains. Uma vez que nenhum
problema seja encontrado durante a execução destes, a Definição 12 é usada para verificar se CE é ou
não um RTS E-TSPC. Particularmente, devemos investigar os itens iii, iv e v desde que os dois
primeiros foram aplicados no procedimento 2 e, portanto, são obedecidos necessariamente nos data
chains determinados.
Teorema da verificação: Seja CE um circuito qualquer. O procedimento 3 aponta CE como RTS E-
TSPC se e somente se o circuito CE é RTS E-TSPC.
Dem.: Primeiro mostraremos que (procedimento 3 aponta CE como RTS E-TSPC ⇐ CE é RTS E-
TSPC). Caso CE seja um circuito RTS E-TSPC, então, conforme os dois teoremas acima, teremos
classificados corretamente os blocos Dps e separados todos os data chain. Na aplicação da Definição
13 chegaremos a conclusão que o circuito é RTS E-TSPC. Portanto o procedimento 3 apontará CE
como RTS E-TSPC.
Mostraremos agora a segunda parte do teorema, que (procedimento 3 aponta CE como RTS E-
TSPC ⇒ CE é RTS E-TSPC).
Caso a identificação dos blocos n e p-Dps seja correta, então a separação dos n e p data chains pelo
procedimento 2, uma vez executada, será correta pois usa a própria definição de data chain. Também a
verificação do circuito, para determinar se é RTS E-TSPC, será correta pois novamente usa a
definição. Portanto qualquer erro na identificação de um circuito CE como RTS E-TSPC só pode ser
devido a algum erro na identificação dos blocos Dps. Por outro lado, se um bloco é dito ser n-Dp e os
data chains identificados pelo procedimento 2 obedecem às regras de composição r1-r3, então pode-se
mostrar que o bloco é realmente um n-Dp (a demonstração é igual a aquela do lema 3N, mostrada mais
para frente). O mesmo pode ser dito em relação a um p-Dp. Assim, se procedimento 3 aponta CE como
RTS E-TSPC ele será de fato um circuito RTS E-TSPC.
Observemos que toda esta seção tratou apenas do problema introduzido pelos blocos Dps. A
conclusão final é que é possível tanto o projeto como a identificação de um circuito RTS E-TSPC.
2.3.3 Teorema fundamental da estratégia E-TSPC
Para mostrar que, uma vez obedecidas às regras de composição, o circuito funciona corretamente,
enunciamos o seguinte teorema:
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
61
Teorema fundamental: Considere um circuito RTS E-TSPC CE. Se as entradas externas forem
convenientes, o “clock” tiver o período longo suficiente e se todo circuito estiver estável uma vez no
início de seu funcionamento, então:
i. a saída do último “latch” de um “data chain” ficará inalterada durante a fase de “holding”
deste;
ii. os blocos Dps farão a correta pré-carga durante a fase de “holding” do “data chain” a que
pertencem;
iii. os blocos dinâmicos e os blocos Dps não serão descarregados indevidamente durante a fase de
avaliação do “data chain” a que pertencem.
O teorema acima será provado separadamente por meio de 6 outros teoremas. Assim o item (i) é
tratado nos teoremas 1N e 1p, o item (ii), nos teorema 2N e 2P e o item (iii), nos teoremas 3N e 3P. Para
demonstração destes teoremas, todavia, serão necessários outros teoremas e lemas. Também será
explicado o que significa “entrada externa conveniente”, hipótese hEE vista adiante, e o que significa
“período longo suficiente”, hipótese hTC.
2.3.3.1 Propriedades dos blocos do E-TSPC
Antes de fazermos as demonstrações a que nos propomos, daremos uma lista das propriedades, dos
blocos usados, que aparecem implícita ou explicitamente nas demonstrações. Com isso desejamos
deixar claro o que depende das regras e o que depende dos próprios blocos.
Propriedade 1 (pr1): Transições na saída de um bloco qualquer somente poderão ocorrer quando
houver transições em alguma de suas entradas ou, para blocos dinâmicos e “latches”, no “clock”.
Para "latches", alterações na sua saída, devido ao "clock", podem apenas surgir quando o bloco
passa do "holding" para avaliação.
Essa propriedade diz que os blocos são causais, apresentando variações apenas quanto as entradas
(entrada aqui no sentido mais geral) são modificadas.
propriedade 2 (pr2): Para qualquer bloco, uma transição “1”→“0” na entrada somente poderá
causar uma transição “0”→“1” na saída. Analogamente, uma transição “0”→“1” somente poderá
causar uma transições “1”→“0”.
Em outras palavras, todos os blocos com que trabalhamos são blocos que causam inversão.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
62
propriedade 3 (pr3): A saída de um bloco n-dinâmico vai imediatamente para “1” logo que ocorre a
transição de “1”→“0” no "clock" (fase de “holding”). Permanece em “1” durante todo o intervalo
em que o "clock" é mantido em “0”.
Esta é a pré-carga do bloco e constitui uma etapa fundamental no funcionamento dele. O fato da
mudança de estado ser “imediata” é bastante importante, como veremos.
propriedade 4 (pr4): A saída de um bloco p-dinâmico vai imediatamente para “0” logo que ocorre a
transição de “0”→“1” no "clock" (fase de “holding”). Permanece em “0” durante todo o intervalo
em que o "clock" é mantido em “1”.
Como acima, esta característica é fundamental nos blocos p-dinâmicos.
propriedade 5 (pr5): A saída de um bloco n-dinâmico, na sua fase de avaliação ("clock" em “1”),
pode somente sofrer transições “1”→“0”.
Desde que os transistores p estão cortados na avaliação, não é possível que haja transições de
“0”→“1”.
propriedade 6 (pr6): A saída de um bloco p-dinâmico, na sua fase de avaliação ("clock" em “0”),
pode somente sofrer transições “0”→“1”.
Desde que os transistores n estão cortados na avaliação, não é possível que haja transições de
“1”→“0”.
propriedade 7 (pr7): Quando todas as pc-entradas de um bloco PH ("precharged in high") estão em
“1”, a saída do bloco vai para “0”. A mudança de estado na saída ocorre após as mudanças nas pc-
entradas que, por sua vez, podem vir imediatamente ou atrasadas com relação à transição no
"clock".
Nos blocos PH, a pré-carga é feita quando as pc-entradas estão em “1”. Por construção, a saída
deles deverá ir para “0”.
propriedade 8 (pr8): Quando todas as pc-entradas de um bloco PL ("precharged in low") estão em
“0”, a saída do bloco vai para “1”. A mudança de estado na saída ocorre após as mudanças nas pc-
entradas que, por sua vez, podem vir imediatamente ou atrasadas com relação à transição do
"clock".
Nos blocos PL, a pré-carga é feita quando as pc-entradas estão em “0”.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
63
propriedade 9 (pr9): Nos blocos n-latches, transições de “0”→“1” na entrada não afetam a saída
quando o "clock" está em “0” (fase de “holding”). Como conseqüência, nesta fase, a única
transição possível na saída será “0”→“1”.
Num bloco n-latch todos os transistores n, que formam a lógica n, estão em série com um transistor
n ligado ao clock. Estando este cortado, φ=“0”, não pode haver descarga na saída do latch. Em
conseqüência, transições de “0”→“1” não provocarão mudanças na saída.
propriedade 10 (pr10): Nos blocos p-latches, transições de “1”→“0” na entrada não afetam a saída
quando o "clock" está em “1” (fase de “holding”). Como conseqüência, nesta fase, a única
transição possível na saída será “1”→“0”.
Num bloco p-latch todos os transistores p, que formam a lógica p, estão em série com um transistor
p ligado ao clock. Estando este cortado, φ=“1”, não pode haver carga na saída do latch. Em
conseqüência, transições de “1”→“0” na entrada não provocarão mudanças na saída.
2.3.3.2 Demonstração do Teorema fundamental
Para garantir o funcionamento de um circuito RTS E-TSPC, são necessárias duas hipóteses: uma
delas trata de como devem ser as entradas externas do circuito, a outra, da duração das fases do clock.
Hipótese das entradas externas estáveis (hEE):
Apenas as entradas dos blocos dinâmicos, “latches” ou blocos Dps podem ser entradas externas do
circuito; adicionalmente, o sinal externo deve ser estável durante a fase de avaliação dos blocos a
ele ligados.
Assim, um sinal externo aplicado a um n-data chain deve ser estável quando φ=”1”; um sinal
externo aplicado a um p-data chain deve ser estável quando φ=”0”. Em vista de hEE não é possível
um sinal externo qualquer ser, ao mesmo tempo, aplicado as entradas de um n-data chain e de um p-
data chain.
A segunda hipótese só será apresentada após serem desenvolvidos alguns teoremas que servirão
para melhor esclarecê-la. O primeiro destes teoremas trata da estabilidade de um circuito.
Teorema da estabilidade (TE): Considere um circuito RTS E-TSPC CE onde o clock está fixo. Se as
entradas externas de CE forem fixas, então, após certo intervalo, todos os pontos do circuito CE
também ficarão fixos (ou estáveis).
Dem.: Vamos supor que o teorema não é correto e mostrar que isto nos levará a contradições. Não
estando todos os pontos do circuito CE estáveis, deverá haver então ao menos um bloco BA1 no circuito
cuja saída esteja sempre se modificando. Pois bem, para tal ocorrer deveremos ter que ao menos uma
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
64
das entradas de BA1 também esteja sempre se modificando (propriedade pr1). Tomemos uma destas
entradas; ela não poderá ser uma das entradas externas que são fixas e, portanto, deverá estar ligada a
saída de outro bloco. Chamaremo-lo de BA2. Aplicando o mesmo raciocínio encontraremos a seqüência
de blocos BA3, BA4, ..., que deve ser infinita. Como o número de blocos e de entradas em cada bloco é
finito, então dentro da seqüência anterior deveremos ter uma seqüência inicial BC1, BC2, ..., BCN com as
seguintes características:
a. a saída de cada um destes blocos está sempre sendo modificada;
b. a saída de BCi+1 está ligada a uma entrada de BCi;
c. BC1 é o próprio bloco BCN.
Uma vez que os blocos BCi podem formar um spp cíclico, não será permitido que eles pertençam a
apenas um dos seguintes conjuntos de blocos (Definição 12):
i. blocos estáticos;
ii. blocos n-dinâmicos, n-Dps, n-latches e estáticos;
iii. blocos p-dinâmicos, p-Dps, p-latches e estáticos.
Caso isto ocorresse, pela definição de circuito RTS E-TSPC, haveria um data chain, n ou p de
acordo com as circunstâncias, contendo tal spp cíclico. No entanto, os data chain são não cíclicos pela
definição.
Conseqüentemente, haverá ao menos um bloco BCH dinâmico ou um latch em holding (r5)4. Neste
caso, a saída do bloco poderá no máximo sofrer uma transição (se for um latch, pr3,4,9,10). Oras, isto é
uma contradição pois a saída de todos os blocos BCi estão sempre sendo modificadas. Portanto o
circuito CE deverá ficar todo estável após certo intervalo.
Uma importante aplicação do último resultado pode ser feita nos circuitos RTS E-TSPC onde
algumas das entradas não são estáveis. Consideremos um ponto n qualquer de um circuito RTS E-
TSPC com a seguinte propriedade: se i for uma das entradas não estáveis do circuito, nenhuma
alteração em i causa efeito em n. Sendo assim, o estado de n não depende destas entradas não
estáveis e, caso as fixemos, o ponto n terá o mesmo comportamento. A partir do teorema acima
conclui-se que, caso o clock esteja fixo, n atingirá ainda um valor estável após certo intervalo. De
forma mais geral, qualquer ponto do circuito que não depende das entradas externas que estão variando
deverá atingir a estabilidade após certo intervalo de tempo.
4 Na verdade, por r5 podemos garantir que há sempre um latch em holding. Com a aplicação de rE, visto mais a frente, é
que deverá haver ou um dinâmico ou um latch em holding. Assim este teorema continua a valer mesmo com rE.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
65
O que procuramos encontrar agora é quais blocos podem chegar a estabilidade em um circuito RTS
E-TSPC. Os dois lemas abaixo servem para responder a esta questão.
Lema 1N. Considere um circuito RTS E-TSPC onde hEE é válida. Se a saída do último “latch” de
qualquer p-data chain permanecer inalterada durante a fase φ=”1”, então, após certo intervalo
nesta fase φ=”1” (desde que ela seja longa suficiente), todos os blocos
i. n-Dps, n-dinâmicos, n-latches e
ii. estáticos que pertencem somente a n-data chains
terão sua saída fixa (estável).
Dem.: Considere o bloco BN como em (i) ou (ii). Para provar o lema basta mostrar que transições das
entradas externas não estáveis durante a fase φ=”1” não podem causar efeito algum na saída de BN.
Neste caso, para a saída de BN, é como se o circuito tivesse todas suas entradas fixas. Pelo teorema TE,
portanto, poderemos afirmar que a saída do bloco atingirá a estabilidade como afirma o lema.
Para provar que as transições nas entradas externas não causam efeitos na saída de BN, mostraremos
que tal hipótese nos levará a contradições. Suponha, então, que uma certa entrada i, não estável
durante a fase φ=”1”, tenha algum efeito sobre a saída de BN. Para que isto ocorra, deve existir ao
menos um spp Sx formado pelos blocos BP1, ..., BPT onde:
i. a saída de BPi está ligada a uma entrada de BPi+1;
ii. i está ligada a uma das entradas de BP1 e BPT é o próprio bloco BN;
iii. a saída de todos os blocos BPi, de BP1 até BN, dependem de alguma forma do sinal aplicado em i.
Caso não houvesse tal spp, modificações em i não causariam efeito na saída do bloco BN.
Considere o maior k tal que para todo bloco BPj, j≤k, BPj é estático, p-latch, p-dinâmico ou p-Dp.
Observe que k>0 por hEE. Pois bem, existirá um p-data chain SP contido em Sx e que passa pelos
blocos BP1, ..., BPk. Como o bloco BN não pode pertencer a nenhum p-data chain, teremos k<T. Os
blocos BP1, ..., BPk formam, portanto, o conjunto completo dos blocos do p-data chain Sp e o último p-
latch de Sp está naturalmente entre estes blocos. Por hipótese, a saída deste latch fica inalterada
durante toda a fase φ=”1”, o que contradiz o fato que as saídas dos blocos BPis devem ser de alguma
forma dependentes de i. Assim, fica demonstrado que a saída do bloco BN não pode ser modificada
por nenhuma das entradas não estáveis e, em conseqüência, ele atingirá a estabilidade.
Lema 1P. Considere um circuito RTS E-TSPC onde hEE é válida. Se a saída do último “latch” de
qualquer n-data chain permanecer inalterada durante a fase φ=”0”, então, após certo intervalo
nesta fase φ=”0” (desde que ela seja longa suficiente), todos os blocos
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
66
i. p-Dps, p-dinâmicos, p-latches e
ii. estáticos que pertencem somente a p-data chains
terão sua saída fixa (estável).
Dem.: Similar ao lema 1N.
Desde que a saída de um bloco esteja fixa (estável), qualquer mudança nela somente poderá ocorrer
quando uma das entradas do bloco ou o clock, no caso dos blocos dinâmicos e latches, for alterada
(pr1). Isto será usado mais tarde em algumas demonstrações.
Uma importante observação em relação a estes lemas é que o tempo que os blocos levam para
atingir a estabilidade depende apenas do estado inicial do circuito e do valor das entradas estáveis.
Chamemos de ∆1 ao período mínimo do clock para que os blocos definidos nos lemas acima, dentro
das hipóteses dadas, atinjam a estabilidade, para qualquer combinação de entradas e estados iniciais
(como estamos trabalhando com um caso simplificado, onde admitimos apenas valores “0” e “1” para
os pontos do circuito, existe um número finito de combinações de entradas e estados iniciais do
circuito. Desta forma também haverá um valor mínimo para o período do clock).
A estabilidade na saída do último latch dos data chains é uma das hipóteses usadas nestes lemas.
Os próximos dois lemas dão as condições para chegar a esta estabilidade.
Lema 2N. Considere um circuito RTS E-TSPC. A saída do último “latch” de qualquer n-data chain
permanecerá inalterada na passagem para, e durante toda a fase de “holding”, φ=”0”, se no fim da
fase φ=”1”, todos os blocos
i. n-Dps, n-dinâmicos, n-latches e
ii. estáticos que pertencem somente a n-data chains
tiverem sua saída fixa (estável).
Dem.: Primeiro lembremos que por r5 existe em cada data chain ao menos um latch. Seja BF o último
latch de um n-data chain qualquer. Pela hipótese do teorema a saída do bloco BF deve ser estável ao
fim da sua fase de avaliação. A transição do clock para "0" não causa, por sua vez, alteração no latch
(pr1). Para mostrar que o bloco BF permanecerá estável durante o holding, vamos supor que isto não
aconteça e chegar a um absurdo. Considere que a saída de BF sofreu uma transição após a mudança do
clock para “0”. Isto somente será possível se uma das entradas de BF sofrer uma transição de “1”→”0”
(pr1,9). Por r5, esta entrada deve estar ligada a um bloco BA1 do data chain, sendo este um bloco
estático, ou um n-Dp, ou um n-dinâmico ou um n-latch. Ainda, qualquer que seja o bloco ele é estável
no fim de φ=”1” (observe que se o bloco for estático, então ele não pode pertencer a nenhum p-data
chain). Sendo n-dinâmico ou n-latch, a única transição que ocorre no “holding” é “0”→“1” (pr3,9), que
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
67
não causa efeito algum em BF. Portanto, BA1 será estático ou n-Dp. Novamente alguma de suas
entradas deve sofrer uma transição de “0”→“1” (pr1,2). Seja BA2 o bloco ligado a esta entrada. Agora
este bloco somente pode ser estático, n-Dp ou n-latch. Estes chegaram a estabilidade durante a
avaliação e, portanto, somente uma transição “1”→”0” numa de suas entradas pode causar o resultado
desejado. Seja BA3 o bloco ligado a esta entrada. Da mesma forma que BA1, BA3 somente pode ser
estático ou n-Dp. Se continuarmos este processo, encontraremos blocos BA4, BA6, ..., estáticos, n-Dp ou
n-latches, e blocos BA5, BA7, ..., estáticos ou n-Dp, de forma que r5 nunca será satisfeito, o que é
absurdo. Assim, BF não poderá sofrer transições.
Lema 2P. Considere um circuito RTS E-TSPC. A saída do último latch de qualquer p-data chain
permanecerá inalterada na passagem para, e durante toda a fase de “holding”, φ=”1”, se no fim da
fase φ=”0”, todos os blocos
i. p-Dps, p-dinâmicos, p-latches e
ii. estáticos que pertencem somente a p-data chains
tiverem sua saída fixa (estável).
Dem.: Similar ao lema 2N.
Veja que os lemas 1N, 1P, 2N e 2P estão intimamente relacionados. Assim, num circuito RTS E-
TSPC onde hEE é válida, se no fim da fase φ=”1” todos os blocos
(a) n-Dps, n-dinâmicos, n-latches e
(b) estáticos que pertence somente a n-data chains
tiverem saída estável, então, por 2N, a saída do último latch de qualquer n-data chain permanecerá
inalterada na passagem e durante a fase φ=”0”. Neste caso, por 1P, após certo intervalo na fase
φ=”0”, todos os blocos
(c) p-Dps, p-dinâmicos, p-latches e
(d) estáticos que pertencem somente a p-data chains
ficarão com a saída estável. A estabilidade destes blocos garante que, lema 2P, a saída do último latch
de qualquer p-data chain permanecerá inalterada na passagem para, e durante a fase φ=”1”. Por fim, o
lema 1N assinala que, após certo intervalo na fase φ=”1”, os blocos em (a) e (b) têm a saída estável.
Voltamos ao início. Como conclusão, se o clock tiver período maior que ∆1 e em algum momento o
circuito todo estiver estável, então, pelos lemas 1N e 1P, teremos que, no fim de qualquer fase, serão
estáveis todos os blocos
(a) Dps, dinâmicos e latches em avaliação, e
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
68
(b) estáticos que pertencem somente ao data chain em avaliação.
Pelos lemas 2N e 2P, a saída do último latch de qualquer data chain permanecerá inalterada na
passagem para e durante toda a fase de holding deste mesmo data chain.
Os lemas 3N e 3P nos mostrarão que também os blocos Dps têm a saída estável após um intervalo
finito de tempo no holding.
Para a aplicação de indução nas próximas demonstrações, há a necessidade de que seja estabelecida
uma ordem para os blocos Dps. Vamos definir essa ordem abaixo.
Definição 13: Considere um bloco B0 e o conjunto F = (conjunto dos Γ-data chains DX tal que o
bloco B0 pertence a DX)(onde Γ é n ou p). O valor Θ(B0) = max (número de blocos Dps que
antecedem B0 no Γ-data chain Di) ∀Di∈F, será denominado ordem de B0.
A ordem de um bloco somente está bem definido para os blocos dinâmicos, Dps e latches, que
pertencem a apenas um tipo de data chain, n ou p-data chain. A ordem de um bloco será maior ou
igual a zero; seu valor máximo será inferior ao número total de blocos Dps do circuito. Veja que se BA
anteceder a BC, então Θ(BC)≥Θ(BA), desde que definida a ordem para eles. Desta forma, se houver um
bloco com ordem 5, haverá ao menos um bloco com ordem 4, outro com 3, ... e outro com zero, todos
eles no mesmo data chain.
Lema 3N. Considere um circuito RTS E-TSPC. Um bloco n-Dp deste circuito terá sua saída mudada
para
“1” nos blocos PL ou
“0” nos blocos PH,
aí permanecendo, após certo intervalo de tempo na fase de “holding”, φ=”0” (a fase de "holding"
deve ser longa suficiente).
Dem.: Vamos trabalhar com indução em relação à ordem dos blocos.
Primeiro mostraremos que o lema é válido para qualquer bloco n-Dp B0 com ordem zero (se existir
algum bloco n-Dp, então existirá um bloco com ordem zero). Suponha que B0 seja um bloco PL e que
sua saída esteja em “0” após longo tempo em holding. Mostremos que tal suposição nos levará a uma
contradição. Ao menos uma das pc-entradas do bloco B0 deverá ter valor “1” também após longo
tempo em holding (pr8). Por r1 e r2 esta entrada deverá estar ligada a saída de um bloco BA1 que é
estático ou n-dinâmico (como o bloco é de ordem zero não pode haver blocos n-Dps na sua entrada). A
regra r3e impede, por sua vez, que BA1 seja dinâmico. BA1 será, portanto, um bloco estático, com saída
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
69
em “1”. Ainda, uma das entradas deste bloco deverá estar em “0”. Esta entrada deverá ser ligada, por
sua vez, a um bloco BA2, sendo este estático ou n-dinâmico. Se BA2 fosse dinâmico sua saída estaria
em “1” após longo tempo em holding (pr3), o que é contrário ao que desejamos para a entrada de BA1.
Portanto, BA2 também é estático. Continuando a análise, encontraremos uma seqüência infinita de
blocos BA3, BA4, ... todos estáticos. Como não pode haver um spp cíclico com apenas blocos estáticos,
Definição 12, deveremos ter um número infinito de blocos, o que é uma contradição pois estamos
considerando circuitos finitos. Logo B0 deverá estar com sua saída em “1”. Para um bloco PH o
raciocínio é análogo. O teorema é assim válido para blocos de ordem zero.
O próximo passo para a prova por indução será mostrar que se o teorema for válido para todo bloco
n-Dp de ordem N ou menor, então será também válido para todo bloco n-Dp BN+1 de ordem N+1.
Suponha que o bloco BN+1 seja um bloco PL e que sua saída esteja em “0” após longo tempo em
holding. Mostraremos que tal suposição nos levará a uma contradição. Estando a saída do bloco em
“0”, ao menos uma das pc-entradas deverá ter valor “1” também após longo tempo em holding. Por r1
e r2 esta entrada deverá estar ligada a saída de um bloco BA1 que é estático, n-dinâmico, PL ou PH (no
caso dos blocos Dps, eles serão de ordem N ou menor). A regra r3e proíbe que BA1 seja dinâmico e
r3b, que seja PL. Caso BA1 seja um bloco PH, por hipótese de indução, sua saída ficará em “0” após
longo tempo em holding, não satisfazendo o que é desejado. BA1 será, portanto, um bloco estático com
uma de suas entradas em “0”, a fim de que sua saída esteja em “1”. Esta entrada deve ser ligada, por
sua vez, a um bloco BA2, sendo este estático, n-dinâmico, PL ou PH (estes com ordem N ou menor).
A regra r3c proíbe que BA2 seja PH. Por outro lado, se BA1 for dinâmico ou PL, sua saída ficará em “1”
após certo intervalo na fase de holding (pr3 e hipótese de indução), o que não é a situação desejada
para a entrada de BA1. Portanto, BA2 também é estático. Novamente a análise nos leva a uma seqüência
infinita de blocos BA3, BA4, ... todos estáticos o que é uma contradição, como acima. Logo BN+1 deverá
estar com sua saída em “1”. Para o caso do bloco BN+1 ser do tipo PH, o raciocínio é análogo e,
portanto, o lema vale para qualquer bloco de ordem (N+1). Por indução concluímos que o lema vale
para blocos de qualquer ordem.
Lema 3P. Considere um circuito RTS E-TSPC. Um bloco p-Dp deste circuito terá sua saída mudada
para
“1” nos blocos PL ou
“0” nos blocos PH ,
aí permanecendo, após certo intervalo de tempo na fase de “holding”, φ=”1” (a fase de "holding"
deve ser longa suficiente).
Dem.: Similar ao lema 3N.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
70
O tempo para que haja a pré-carga dos blocos Dps depende dos atrasos dos blocos, e seu pior caso
não depende dos sinais de entrada (este pior caso pode ser calculado/medido considerando os piores
atrasos dos blocos que estão entre os blocos dinâmicos e os blocos Dps). Chamaremos de ∆2 ao
período mínimo do clock que garante a pré-carga de todos os blocos dinâmicos e Dps durante a fase de
holding.
Os dois últimos lemas apontam mais alguns blocos que devem ficar fixos (estáveis) no fim de cada
fase.
Lema 4N. Considere um circuito RTS E-TSPC onde hEE é válida. Se a saída do último “latch” de
qualquer n-data chain permanecer inalterada na passagem para, e durante a fase φ=”0”, então,
após um intervalo finito nesta (desde que esta seja longa suficiente), os blocos estáticos que
pertencem a algum n-data chain e antecedem algum bloco n-dinâmico ou n-Dp deste “data chain”
terão sua saída fixa (estável).
Dem.: Considere o bloco BN que se enquadra na hipótese do lema. Após o tempo ∆2 os blocos n-
dinâmicos e n-Dps estão em pré-carga. Mostraremos que, após esta pré-carga, transições das entradas
externas não estáveis durante a fase φ=”0” não podem causar efeito algum na saída de BN. Neste caso,
para a saída de BN é como se o circuito tivesse todas suas entradas estáveis. Portanto, por TE, podemos
afirmar que a saída do bloco atingirá a estabilidade.
Para provar que as transições nas entradas não causam efeitos na saída de BN, mostraremos que tal
hipótese nos leva a contradições. Suponha então que uma certa entrada externa i do circuito, não
estável durante a fase φ=”0”, tenha algum efeito sobre a saída de BN . Para que isto ocorra, deve
existir ao menos um spp Sx formado pelos blocos BP1, ..., BPT onde:
i. a saída de BPi está ligada a uma entrada de BPi+1;
ii. i está ligada a uma das entradas de BP1 e BPT é o próprio bloco BN;
iii. a saída de todos os blocos BPi, de BP1 até BN, dependem de alguma forma do sinal aplicado em i.
Caso não houvesse tal spp, modificações em i não causariam efeito na saída do bloco BN.
Uma das duas situações abaixo descritas deve-se verificar:
i. algum bloco BPi é do tipo p-dinâmico, p-latch ou p-Dp: como i deve ser uma entrada de um n-
data chain (hEE) então haverá um n-data chain SN com início em i e fim na entrada do primeiro
bloco BPi p-dinâmico, p-latch ou p-Dp. O último n-latch de SN será naturalmente um dos blocos
BPi;
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
71
ii. nenhum dos blocos BPis é do tipo p-dinâmico, p-latch ou p-Dp: por hEE e r2 algum dos blocos BPi
que antecedem a BN deve ser n-dinâmico ou n-Dp.
Teremos portanto que um dos blocos BPi é ou o último latch de um n-data chain ou um n-
dinâmico/n-Dp; em ambos os casos, este bloco terá sua saída fixa após o tempo ∆2. Isto contradiz o
fato que as saídas dos blocos BPis devem ser de alguma forma dependentes de i. Assim, fica
demonstrado que a saída do bloco BN não pode ser modificada por nenhuma das entradas não estáveis
e, em conseqüência, ela atinge a estabilidade.
Lema 4P. Considere um circuito RTS E-TSPC onde hEE é válida. Se a saída do último “latch” de
qualquer p-data chain permanecer inalterada na passagem para, e durante a fase φ=”1”, então,
após um intervalo finito nesta (desde que esta seja longa suficiente), os blocos estáticos que
pertencem a algum p-data chain e antecedem algum bloco p-dinâmico ou p-Dp deste “data chain”
terão sua saída fixa (estável).
Dem.: Similar ao lema 4N.
O tempo necessário para que os blocos estáticos referidos acima fiquem estáveis depende,
naturalmente, de ∆2, do valor das entradas estáveis e das condições iniciais do circuito. Novamente não
dependem das entradas que estão em transição. Chamaremos de ∆3 ao período mínimo do clock para
que os blocos definidos nos lemas 4N e 4P , dentro das condições dadas, atinjam a estabilidade, para
qualquer combinação de entradas e estados iniciais.
Agora se pudermos garantir que o período do clock seja maior que o máximo de ∆1, ∆2 e ∆3 e, além
disso, que em algum momento o circuito fique todo estável, então poderemos afirmar a estabilidade de
vários blocos ao fim de cada fase do clock. Esta será a nossa segunda hipótese. Ela trata da máxima
velocidade permitida ao circuito. Nossa intenção não é determinar esta máxima velocidade mas apenas
mostrar que existe um período de clock para o qual o circuito funciona.
Hipótese do “timming” correto (hTC)
No início do funcionamento, o circuito deve estar todo estável e o período do “clock” deve ser
superior ao máximo entre ∆1, ∆2 e ∆3.
Podemos então, a partir dos lemas acima, gerar os seguintes corolários e teoremas (serão chamados
de teoremas apenas os resultados mais importantes os quais queremos destacar).
Corolário 1N: Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. No fim da fase φ=”1”,
todos os blocos
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
72
i. n-Dps, n-dinâmicos, n-latches e
ii. estáticos que pertences somente a n-data chains
terão sua saída fixa (estável).
Dem.: Aplicação dos lemas 1N, 1P, 2N e 2P.
Corolário 1P. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. No fim da fase φ=”0”,
todos os blocos
i. p-Dps, p-dinâmicos, p-latches e
ii. estáticos que pertencem somente a p-data chains
terão sua saída fixa (estável).
Dem.: Aplicação dos lemas 1N, 1P, 2N e 2P.
Teorema 1N. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. A saída do último
“latch” de qualquer n-data chain permanecerá inalterada na passagem para, e durante toda a fase
de “holding”, φ=”0”.
Dem.: Aplicação do corolário 1N e do lema 2N.
Teorema 1P. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. A saída do último
“latch” de qualquer p-data chain permanecerá inalterada na passagem para, e durante toda a fase
de “holding”, φ=”1”.
Dem.: Aplicação do corolário 1P e do lema 2P.
Teorema 2N. Considere um circuito RTS E-TSPC onde hTC é válida. Um bloco n-Dp deste circuito
terá sua saída mudada para
“1” nos blocos PL ou
“0” nos blocos PH,
aí permanecendo, antes do fim da fase de “holding”, φ=”0”.
Dem.: Aplicação do lema 3N e da hTC.
Teorema 2P. Considere um circuito RTS E-TSPC onde hTC é válida. Um bloco p-Dp deste circuito
terá sua saída mudada para
“1” nos blocos PL ou
“0” nos blocos PH,
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
73
aí permanecendo, antes do fim da fase de “holding”, φ=”1”.
Dem.: Aplicação do lema 3P e da hTC.
Corolário 2N. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. No fim da fase φ=”0”,
os blocos estáticos que pertencem a algum n-data chain e antecedem algum bloco n-dinâmico ou n-
Dp deste “data chain” terão sua saída fixa (estável).
Dem.: Aplicação do teorema 1N e lema 4N junto com hTC.
Corolário 2P. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. No fim da fase φ=”1”,
os blocos estáticos que pertencem a algum p-data chain e antecedem algum bloco p-dinâmico ou p-
Dp deste “data chain” terão sua saída fixa (estável)
Dem.: Aplicação do teorema 1P e lema 4P junto com hTC.
Os dois últimos teoremas tratam de garantir que não haja transições que incorretamente
descarreguem os blocos dinâmicos e Dps.
Teorema 3N. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. Em um n-data chain
qualquer na fase de avaliação, φ=”1”, serão possíveis apenas transições:
“0”→ “1” nas entradas dos blocos n-dinâmicos ou dos blocos PL;
“1”→ “0” nas entradas dos blocos PH.
Dem.: Seja o bloco B0 n-dinâmico ou PL. Vamos supor que haja na sua entrada uma transição do tipo
“1”→“0” na fase φ=”1”. Mostraremos que tal suposição nos levará a um absurdo. Esta entrada não
poderá ser uma entrada externa do circuito pois estas, por hEE, devem ser estáveis durante a fase
φ=”1”. Ela estará então ligada a saída de um bloco BA1. Este não poderá ser um bloco:
i. p-latch pois neste caso ele será o último bloco p-latch de um p-data chain e sua saída é fixa
(teorema 1P);
ii. p-dinâmico ou p-Dp, pois os p-data chain que passariam por BA1, terminando neste próprio bloco,
não podem possuir nenhum p-latch; r5 não será obedecida.
iii. bloco n-latch (r2);
iv. n-dinâmico ou PL (r3a e r3e).
As possibilidades são de um bloco estático ou PH (n-Dp). Estes dois blocos ficam estáveis no fim
da fase φ=”0”, corolário 2N e teorema 2N, e assim permanecerão na fase φ=”1”, a menos que haja
uma transição em uma de suas entradas (pr1). Assim para causar a transição “1”→“0” na saída de BA1
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
74
deveremos ter uma transição “0”→“1” em alguma de suas entradas. Novamente temos que esta entrada
deve estar ligada a um novo bloco BA2. Com análise similar à apresentada antes, chegamos que o novo
bloco poderá ser n-dinâmico, PL (n-Dp) ou estático. Um bloco n-dinâmico na avaliação, todavia,
somente apresentará transição “1”→“0”, (pr5), que não interessa aqui. Assim, restará para BA2 duas
possibilidades, o bloco estáticos ou o PL. Estes blocos estavam estáveis no fim da fase φ=”0”, e assim
permanecerão durante a fase φ=”1” se não houver uma transição em uma de suas entradas. Para o
resultado desejado devemos ter a transição “1”→“0”. Prosseguindo, será necessário um bloco BA3,
estático ou PH (n-Dp), ligado a uma entrada de BA2, um outro bloco BA4, estático ou PL (n-Dp), ligado
a uma entrada de BA3, etc. Este processo nunca chega a um fim o que é absurdo. Desta forma, é
impossível haver uma transição “1”→“0” na entrada de qualquer n-dinâmico ou PL (n-Dp), durante a
fase φ=”1”. Para os blocos PH (n-Dp), raciocínio similar nos leva a tese do teorema.
Teorema 3P. Considere um circuito RTS E-TSPC onde hEE e hTC são válidas. Em um p-data chain
qualquer na fase de avaliação, φ=”0”, serão possíveis apenas transições:
“1”→ “0” nas entradas dos blocos p-dinâmicos ou dos blocos PH;
“0”→ “1” nas entradas dos blocos PL.
Dem.: Similar ao teorema 3N.
O Teorema fundamental fica provado com os seis teoremas acima, teoremas 1N, 1P, 2N, 2P, 3N e 3P.
As hipóteses do Teorema fundamental são, na verdade, as hipóteses hEE e hTC.
2.3.4 Blocos N-MOS like
As regras apresentadas permitem uma grande flexibilidade na associação dos blocos, o que leva a
circuitos mais compactos e rápidos. Uma dificuldade pode ser apontada, no entanto, quando lidamos
com altas velocidades. Os blocos p-dinâmicos têm a função lógica executada pela estrutura PUN,
implementada com transistores P; os blocos p-latches, por sua vez, têm adicionado um transistor P,
com o gate ligado ao clock, em série com a estrutura PUN. Como os transistores P são tipicamente
mais lentos que os N, duas ou mais vezes, os p-data chains, onde encontramos os blocos p-dinâmicos e
p-latches, serão, em conseqüência, mais lentos que os n-data chains. Isto acaba por restringir a
velocidade máxima alcançada pelo circuito [Gu96]. Para contornar esta dificuldade, uma solução é
reduzir ao mínimo os p-data chains, deixando para os n-data chains toda a função de manipulação
lógica. Com isto ou se aumenta a profundidade lógica dos n-data chains, com a redução na velocidade,
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
75
ou se aumenta o número de data chains em série, a profundidade de “pipeline”, aumentando a área e o
consumo de potência do circuito.
Aqui propomos uma solução diferente que possibilita a melhor utilização dos p-data chains. Como
já observamos, nos blocos utilizados a porção implementada com transistores P e a porção
implementada com transistores N trabalham de forma complementar (quando uma conduz a outra está
cortada e vice-versa). Nos blocos p-dinâmicos isto é garantido através dos transistores com gates
conectados ao clock, Figura 7, e nos p-latches, através das estruturas PUN e PDN, Figura 14. Podemos
modificar estes blocos suprimindo o transistor P ligado ao clock, no p-dinâmico, e a estrutura PUN, no
p-latch. Os novos blocos resultantes terão o funcionamento correto garantido por meio do
dimensionamento dos transistores restantes (ratioed). No caso dos blocos p-dinâmicos basta aumentar
a largura de canal do transistor N de forma que, toda vez que o sinal de clock esteja em nível alto, a
saída será descarregada, independentemente dos valores aplicados às entradas do bloco. No caso dos p-
latches, o transistor P deve ser tal que sempre que a estrutura PDN conduza a saída será levada a VSS.
Uma técnica semelhante, mas limitada, foi utilizada em [Ch96].
As modificações sugeridas, com a retirada de transistores P, aumentam a velocidade dos blocos
obtidos pois diminui o número de transistores em série. Em particular no novo bloco p-latch restará
apenas um transistor P e a função lógica será executada por transistores N, redundando num aumento
considerável da velocidade. Um procedimento análogo pode ser aplicado também aos blocos n-
dinâmicos e n-latches, mas as vantagens aí não são sempre expressivas. Chamaremos estes novos
blocos de N-MOS like.
A Figura 20 mostra os blocos originais e os blocos N-MOS like que podem ser construídos. Como
dissemos, o correto funcionamento destes blocos N-MOS like depende essencialmente das dimensões
dos transistores. Na Figura 20 também é apontada qual porção do bloco deve predominar (elemento
em negrito nos blocos N-MOS like) quando existem caminhos ligando a saída tanto a VDD como a VSS.
A Tabela 3 resume as condições que devem ser obedecidas por estes blocos para que a sua operação
seja igual a dos blocos CMOS originais.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
76
c lo c k
c lo c k
P D Ntra n s . N
e n tra d a
s a íd ac lo c k
c lo c k
P U Ntra n s . P
sa íd a
P U Ntra n s . P
P D Ntra n s . N
e n tra d asa íd a
c lo c k
P U Ntra n s . P
P D Ntra n s . N
e n tra d asa íd a
c lo c k
a ) c )
e ) g )
e n tra d a
c lo c k
P D Ntra n s . N
e n tra d a
s a íd a
b )
c lo c k
P U Ntra n s . P
sa íd a
d )
e n tra d a
P U Ntra n s . P
e n tra d a
s a íd a
c lo c k
f )
P D Ntra n s . N
e n tra d a
s a íd a
c lo c k
h )
V S S V S S
V D D
V S S V S S
V D D V D D V D D
V S S V S S V S S V S S
V D D V D D V D D V D D
Figura 20. Conversão de blocos para blocos N-MOS like: (a), bloco n-dinâmico e (b), bloco n-
dinâmico N-MOS like; (c), bloco p-dinâmico e (d), bloco p-dinâmico N-MOS like; (e), bloco n-latch e
(f), bloco n-latch N-MOS like; (g), bloco p-latch e (h), bloco p-latch N-MOS like.
O ganho de velocidade que os novos blocos proporcionam é acompanhado de um aumento na
potência consumida. Este aumento ocorre devido à condução, ao mesmo tempo, das duas porções do
bloco. O quanto aumenta a potência depende da freqüência do clock e da atividade do bloco.
Agora consideremos as 10 propriedades listadas anteriormente e que são usadas nas demonstrações
dos teoremas. Os blocos N-MOS like, uma vez projetados conforme as condições da Tabela 3, têm as
mesmas propriedades dos blocos originais e, desta forma, nas regras dadas, podem substituir em
qualquer posição os blocos originais. Com isso ganhamos maior flexibilidade de projeto e ficamos
livres para usar os blocos N-MOS like apenas nos data chains onde há problemas com a velocidade.
Resultam então, a partir do uso conscencioso dos novos blocos, circuitos onde a velocidade é alta e
mesmo o consumo de potência é reduzido. Veremos isto nos circuitos de testes implementados e
expostos no capítulo quatro.
Tabela 3. Condições que determinarão o dimensionamento dos transistores dos blocos N-MOS like.
bloco clock= nível alto clock= nível baixo
N-MOS like n-dinâmico
nenhuma saída deve ser alta, independente das entradas
N-MOS like p-dinâmico
saída deve ser baixa, independente das entradas
nenhuma
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
77
N-MOS like n-latch
saída deve ser alta se a estrutura PUN está conduzindo; caso
contrário, baixa
nenhuma
N-MOS like p-latch
nenhuma saída deve ser baixa se a estrutura PDN está conduzindo; caso contrário,
alta
2.3.5 Regra de Exceção
As regras dadas acima impedem que haja certos erros no circuito que lhes obedece; elas são
suficientes. Por outro lado, pode haver circuitos, e há, que mesmo não obedecendo a algumas delas,
executam a função que deles é esperada. As regras dadas não são, portanto, necessárias. As
configurações apresentadas nas Figuras 17 e 18, quanto funcionam, são exemplos destes circuitos.
Consideremos a configuração da Figura 17. Aqui os p-data chain, um formado por BL1 e o outro
por BL4, têm apenas um bloco, uma violação de r5. Conseqüentemente não podemos assegurar h4, e as
saídas dos p-latches não são mantidas durante a fase de holding. Apesar disso, os n-data chains
funcionam perfeitamente.
Podemos introduzir uma regra de exceção que permita configurações semelhantes àquelas das
Figuras 17 e 18. Antes disso observemos mais atentamente o que ocorre nos dois exemplos. Três
características são essenciais para o funcionamento deles:
i. a saída do data chain que não segue as regras r1-r5 (chamaremos este data chain de SE) somente
pode ter um tipo de transição na fase de holding, seja a transição “0”→”1”, seja a transição
“1”→”0”;
ii. os blocos ligados à saída deste data chain devem ser insensíveis, durante a sua avaliação, a esta
transição;
iii. a saída do data chain SE deve permanecer fixa durante o início da sua fase de holding, ao menos
tempo suficiente para que os blocos ligados a esta saída possam ser corretamente avaliados.
Na Figura 17, por exemplo, a saída do bloco BL4, um p-latch, durante o holding só pode ter a
transição “1”→”0”; o bloco BL5, um bloco n-dinâmico, não tem, por sua vez, sua saída modificada
pela transição “1”→”0”. Ainda, o valor lógico do nó b1 deve ser mantido durante o início da fase de
holding, ao menos por tempo suficiente para que o bloco BL5 avalie corretamente. Na Figura 18, em a1
somente pode haver, na fase de holding dos n-data chains, transições “0”→”1” e esta transição não
afeta o bloco p-dinâmico BL2. Deve também ser mantido o valor lógico de a1, durante o holding, por
tempo suficiente para que BL2 avalie corretamente.
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
78
As duas primeiras destas características podem ser facilmente garantidas pois dependem apenas de
como são associados os blocos. Para este fim devemos ter as seguintes características:
a. SE possuir ao menos um bloco dinâmico ou um latch (o último bloco dinâmico ou latch de SE será
chamado de BF);
b. serem os blocos ligados a saída de SE, e pertencentes a um data chain de tipo diferente de SE, ou
Dp ou dinâmico (estes blocos serão chamados de blocos Bis);
c. haver entre BF e cada bloco Bi um número de inversões regido pela Tabela 4.
Veja que (a) garante que a saída do data chain SE tenha apenas um tipo de transição no holding
(pr3,4,9,10); (b), por sua vez, garante que o bloco ligado a saída do data chain não seja afetado por certo
tipo de transição; (c), finalmente, garante que a transição possível na saída do data chain SE e a
transição que não afeta os blocos aí ligados, (b), são as mesmas.
A terceira característica necessária para o data chain SE depende não só da associação dos blocos
mas também dos atrasos destes.
Tabela 4. Número de blocos estáticos e Dps (estes pertencendo a SE) entre o bloco BF e o bloco Bi
para o data chain SE.
BF
Bi
n-dinâmico n-latch p-dinâmico p-latch
PH par par ímpar ímpar
PL ímpar ímpar par par
n-dinâmico n.p. n.p. par par
p-dinâmico par par n.p. n.p.
n.p.: ligações que não são permitidas; par: deve haver um número par de blocos; ímpar: deve haver um número ímpar de blocos. Consideremos agora a regra chamada de regra de exceção.
Regra de Exceção (rE): Seja o data chain SE com as seguintes características:
i. SE possuir ao menos um bloco dinâmico ou um latch (o último bloco dinâmico ou latch de SE será
chamado de BF);
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
79
ii. serem os blocos ligados a saída de SE, e pertencentes a um data chain de tipo diferente de SE, ou
Dp ou dinâmico (estes blocos serão chamados de blocos Bis);
iii. haver entre BF e cada bloco Bi um número de inversões regido pela Tabela 4.
Neste caso, se a saída de SE permanecer fixa durante o início da sua fase de holding, ao menos tempo
suficiente para que todos os blocos Bis possam avaliar corretamente, então o data chain SE não
precisará obedecer à r4 e à r5.
Esta nova regra exige, antes de mais nada, que façamos uma nova definição para o circuito RTS que
analisamos. Para diferenciar da definição anterior falaremos agora de circuito RTS E-TSPC’.
Definição 14: Um circuito CE será chamado de circuito RTS E-TSPC’ se para qualquer spp Sq de CE
ocorre que:
i. existe um n-data chain DNi de CE tal que Sq ⊆ DNi, se o spp for formado por apenas blocos n-
dinâmicos, n-Dps e n-latches, ao menos um desses, e mais blocos estáticos;
ii. existe um p-data chain DPi de CE tal que Sq ⊆ Dpi, se o spp for formado por apenas blocos p-
dinâmicos, p-Dps e p-latches, ao menos um desses, e mais blocos estáticos;
iii. existe um p-data ou um n-data chain Di de CE tal que Sq ⊆ Di, se o spp for formado por apenas
blocos estáticos;
iv. as regras r1-r5 ou as regras r1-r3 e rE são observadas para todos os data chains;
v. todas as entradas do circuito são entradas externas.
Podemos provar para o circuito RTS E-TSPC’ um teorema similar ao teorema fundamental
mostrado anteriormente. Ele é enunciado abaixo.
Teorema fundamental para os circuitos RTS E-TSPC’: Considere um circuito RTS E-TSPC’ CE. Se
as entradas externas forem convenientes, o “clock” tiver o período longo suficiente e se todo circuito
estiver estável uma vez no início de seu funcionamento, então:
i. a saída do último “latch” de um “data chain” que obedece às regras r1-r5 fica inalterada durante
a fase de “holding” deste;
ii. os blocos Dps fazem a correta pré-carga durante a fase de “holding” do “data chain” a que
pertencem;
iii. os blocos dinâmicos e os blocos Dps não são descarregados indevidamente durante a fase de
avaliação do “data chain” a que pertencem.
Para a prova deste teorema são usados os mesmos passos que os dados acima. As diferenças que
aparecem são:
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
80
a. nos teoremas, lemas e corolários devemos dizer que a saída do último latch é estável no holding
apenas nos data chains que obedecem à r1-r5, seja isto usado na hipótese ou na tese destes;
b. as demonstrações dos lemas 1N e 1P devem levar em consideração os data chains que não
obedecem à r4 e r5. O mesmo para os teoremas 3N e 3P.
Procuremos agora determinar quais condições são necessárias para que os blocos Bis da regra de
exceção rE tenham tempo para avaliar corretamente. Consideremos inicialmente as definições abaixo.
Definição 15: Considere um bloco BΓ não estático complementar que pertence a um Γ-“data chain”
(deverá ser um bloco Dp, Γ-dinâmico ou Γ-"latch"). Sejam DΓ1, DΓ2, ..., DΓn todos os Γ-"data
chains" que passam por BΓ. Chamaremos de atraso de avaliação de BΓ, ∆EBΓ, ao máximo dos ∆is,
para i=1, ...n, onde
∆i=(máximo atraso entre a aplicação de um sinal na entrada do primeiro bloco não estático do
“data chain” DΓi e a mudança causada na saída de BΓ, estando o Γ-“data chain” em avaliação).
Definição 16: Considere um Γ-"data chain" qualquer que obedece às regras de composição (r1-r5).
Existirá ao menos um Γ-"latch" que é precedido por ou outro Γ-"latch" ou um Γ-dinâmico, havendo
entre este e aquele um número ímpar de inversões (r4 ou r5). O primeiro “latch”, considerado da
entrada para a saída do "data chain", que observa esta condição será chamado de "true-latch" do
"data chain".
Definição 17: Considere um Γ-"data chain" DΓ qualquer e o bloco BΓ, o primeiro bloco não estático
complementar que pertence ao “data chain” (deverá ser um bloco Dp, Γ-dinâmico ou Γ-"latch").
Considere todos os “data chains” que terminam na entrada de BΓ por onde passa DΓ (todos de tipo
diferente de Γ), DΓ1 , D
Γ2 , ..., D nΓ . Suponha que todos esses obedeçam as regras de composição (r1-
r5). Chamaremos de atraso de avaliação no data chain precedente a DΓ, ∆PDΓ, ao mínimo dos ∆is,
para i=0, ...n, onde
∆i=(mínimo atraso entre a aplicação de um sinal na entrada do "true-latch", se D iΓ obedece à r1-r5,
ou na entrada do último latch/porta dinâmica, se D iΓ obedece à rE, e a mudança causada na saída do
"data chain" D iΓ , estando o Γ -"data chain" em avaliação).
Pois bem, seja SE um data chain que não obedeça a r4 e r5 mas sim as condições (i), (ii) e (iii) de rE.
Sejam Bis os blocos ligados a saída de SE e que pertençam a um data chain de tipo diferente de SE.
Podemos garantir que os blocos Bis avaliam corretamente se para todo Bi
Implementação de Register Transfer Systems (RTS) de Alta Velocidade
81
i. (atraso entre a saída do bloco BD até a saída de SE) >> (atraso de avaliação de Bi), onde BD é
o último bloco dinâmico de SE, mais próximo a saída, para o caso de SE possuir um bloco
dinâmico;
ii. (atraso de avaliação no data chain precedente a SE) + (atraso entre a entrada do primeiro
bloco não estático complementar e a saída de SE) >> (atraso de avaliação de Bi), para o caso
contrário.
O uso da regra de exceção é delicada e só aconselhada para o caso do D-flip-flop da Figura 17. Foi
em razão deste circuito que procuramos introduzi-la.
2.3.6 Comparações e conclusões sobre o E-TSPC
Comparando as regras de composição aqui apresentadas com as de [La95], Figura 16, encontramos
as seguintes diferenças:
• em nosso trabalho fizemos a distinção entre dois tipos de entradas nos blocos Dps: as entradas que
ajudam na pré-carga da porta, chamadas de pc-entradas, e aquelas que não ajudam. As não pc-
entradas têm condições de conexão mais simples que as outras. A conexão entre os blocos BB e BD
na Figura 19 é um exemplo de ligação permitida por nós e proibida por [La95]. Esta diferença é
das menos importantes pois os blocos Dps são, no geral, de difícil aplicação;
• em nossas regras a colocação dos blocos estáticos é mais liberal: em [La95] estes blocos podem
estar apenas após certos latches (Figura 16). No exemplo da Figura 19, as ligações entre os blocos
BI e BG, entre BE e BG e entre os blocos BJ e BM são conexões aceitas em nosso trabalho e que
estão excluídos de [La95].
Por outro lado, todas as ligações permitidas em [La95] são também aceitas em nosso trabalho. Em
alguns casos a regra de exceção deve ser aplicada. Adicionalmente, propomos blocos modificados, as
versões N-MOS like dos blocos dinâmicos e latches, que não foram considerados anteriormente.
Quanto aos latches apontados na Figura 11, que fazem parte da técnica TSPC, podemos fazer os
mesmos comentários já apresentados: apesar de não poderem ser construídos com os blocos do E-
TSPC, sua introdução em um circuito é tarefa simples uma vez que são latches verdadeiros.
Concluindo, apresentamos aqui blocos e regras de composição para projeto de circuitos RTS de
uma única fase. Os blocos e as regras permitem configurações mais gerais do que aquelas já
apresentadas na literatura. Por esta razão chamamos a técnica de Extended-TSPC.
Um comentário final a respeito dos teoremas e demonstrações deste capítulo. Procuramos aqui
desenvolvê-los da forma mais rigorosa possível e a conseqüência disso foi a necessidade de um
número grande de teoremas, lemas e corolários.
Otimização de Tapered Buffers para altas taxas de operação
83
3. Otimização de Tapered Buffers para altas taxas de operação
3.1 Introdução
Tapered buffers, como apresentado na Figura 21, consistem de uma cadeia de inversores com um
fator de aumento, normalmente constante, entre um inversor e outro. Estas estruturas são empregadas
para diversas funções dentro dos circuitos integrados, servindo, sobretudo, para amplificar sinais
pequenos e drenar cargas capacitivas elevadas. Exemplos do primeiro tipo de aplicação são
apresentados no conversor A/D de [Ku86] e no circuito de entrada de [St91]; exemplos do segundo
tipo são os buffers para distribuição de sinais ([Fr95]), onde a carga capacitiva é interno ao C.I., e os
buffers de saída para sinais digitais, onde a carga capacitiva é externa ao C.I..
Os primeiros estudos sobre tapered buffers apareceram há mais de 20 anos [Li75]. Nos dias de hoje,
sua principal aplicação é, sem dúvida, a distribuição do sinal de clock dentro de circuitos integrados
[Fr95]. Em microprocessadores de alto desempenho, por exemplo, uma porção considerável da área e
da potência são consumidas nesta tarefa ([Gr98] e [Do92]). Seja qual for o emprego do tapered buffer,
um dos objetivos principais é, no geral, o aumento da velocidade dos sinais no C.I..
V0 V1
1 2 N-1 N CL
V2 VN-1 VN
entrada
saída
Figura 21. Ilustração de um tapered buffer com N inversores. O nó de saída tem uma capacitância de
carga CL.
Neste capítulo discutiremos a otimização de tapered buffers com o objetivo de atingir maiores
velocidades. Veremos que a minimização do atraso total do buffer, em certas aplicações, pode ser
deixada para segundo plano. Iremos então propor um novo critério para projeto de buffers, passagem
de pulsos o mais estreitos possível, e mostrar, por meio de simulações, que ele permite aumentos
consideráveis na velocidade, desde que seja possível aplicá-lo. Por fim discutiremos o problema do
casamento dos inversores e como variam, em conseqüência deste, os atrasos causados pelos tapered
buffers. Como veremos, o controle destes atrasos é importante para a utilização do critério aqui
proposto.
Otimização de Tapered Buffers para altas taxas de operação
84
3.2 Critérios clássicos para otimização de Tapered Buffers
O projeto de um tapered buffer envolve a determinação do fator de aumento entre os inversores
(tapering factor), que chamaremos de χ, e do número de inversores a ser empregado, dadas as
dimensões do primeiro inversor e a carga capacitiva da saída do buffer, CL.
Quando são examinados circuitos de alta velocidade, o principal critério para determinação do fator
de aumento é a minimização do atraso entre a entrada e a saída do buffer, ou simplesmente o atraso do
buffer. Este mesmo critério já era empregado em [Li75].
Podemos calcular o fator de aumento ótimo que minimiza este atraso. Antes de prosseguirmos,
porém, daremos o significado de alguns símbolos que serão usados neste capítulo. Chamaremos de:
N o número de inversores do tapered buffer (ver Figura 21);
Coxi a capacitância, por unidade de área, no gate dos transistores P e N do i-ésimo inversor;
Lni e Lpi o comprimento de canal dos transistores N e P, respectivamente, do i-ésimo inversor;
Wni e Wpi a largura de canal dos transistores N e P, respectivamente, do i-ésimo inversor;
CLi a capacitância de carga do i-ésimo inversor;
µni e µpi a mobilidade dos elétrons e das lacunas nos transistores N e P, respectivamente, do i-ésimo
inversor;
VTni e VTpi a tensão de limiar dos transistores N e P, respectivamente, do i-ésimo inversor.
Consideramos ainda válidas as seguintes relações:
L L Lni pi i= = ; W Wni i= ; W Wpi i= θ (1)
Para o cálculo do fator ótimo, o que minimiza o atraso do buffer, é necessário conhecer o atraso
causado por cada um de seus inversores. Usaremos, para este fim, as relações propostas por [Sa90],
que levam em consideração efeitos de canal curto, importantes para as tecnologias modernas. Assim
por [Sa90] temos que:
t t tC V
IpHLi pLHiTi
TiLi DD
D i
, = −−+
+−
12
11 21
0
να
(2)
tC V
IV
VV
eVTiLi DD
D i
D i
DD
D i
DD= +
0
0 00 908 08
10.. .
ln (3)
( )IWL
P V VD ii
iCi DD Ti0 = −
α (4)
Otimização de Tapered Buffers para altas taxas de operação
85
onde: tpHLi é o atraso na transição de alto-para-baixo (descarga) da saída do i-ésimo inversor; para o
cálculo de tpHLi os parâmetros do transistor N são aplicados na fórmula (2), e os parâmetros do P, na
fórmula (3);
tpLHi é o atraso na transição de baixo-para-alto (carga) da saída do i-ésimo inversor; para o cálculo de
tpLHi os parâmetros do transistor P são aplicados na fórmula (2), e os parâmetros do N, na fórmula
(3);
tTi é o tempo de transição efetivo do sinal na saída do i-ésimo inversor;
PCi é um parâmetro do transistor P ou N; usaremos aqui que P K CCi Ci i oxi= µ onde KCi é outro
parâmetro e µi, a mobilidade dos portadores do transistor;
VD0i é a tensão de dreno de saturação quando VGSi=VDD para o transistor utilizado na equação (P ou
N). VGSi é a tensão entre gate e fonte;
νTi=|VTi/VDD|. VTi é a tensão de limiar do transistor utilizado na equação (P ou N);
α é uma constante que está entre 1 e 2.
Para o caso ideal de tapered buffer, onde não há mismatch dos parâmetros e eles têm exatamente o
valor com que foram projetados, são válidas as seguintes relações:
Coxi=Cox Li=L VTni=VTn VTpi=VTp VD0ni=VD0n VD0pi=VD0p
W Wii= −χ 1 K KCni Cn= K KCpi Cp= µ µni n= µ µpi p= (5)
Para a aplicação das relações do atraso, devemos determinar o valor da capacitância de carga de
cada inversor, CLi. Para este fim faremos três hipótese:
i. as capacitâncias das conexões que ligam dois inversores são muito reduzidas (desprezíveis) em
comparação com as capacitâncias de gate e com as capacitâncias de junção de dreno dos
transistores;
ii. as capacitâncias de gate são constantes, não dependendo do estado do transistor;
iii. as capacitâncias de junção de dreno são constantes e diretamente proporcionais à largura de canal
do transistor.
Estas hipóteses servem para simplificar os resultados e são normalmente adotadas [He87]. Pela
hipótese i acima poderemos então escrever que
( ) ( )C C C C CLi gni dni gpi dpi= + + ++ +1 1 para 1≤ <i N e C C C CLN dnN dpN L= + +
onde: Cgni e Cgpi são as capacitâncias de gate dos transistores N e P, respectivamente, do i-ésimo
inversor;
Cdni e Cdpi são as capacitâncias de junção de dreno dos transistores N e P, respectivamente, do i-
ésimo inversor.
Otimização de Tapered Buffers para altas taxas de operação
86
As capacitâncias de gate e dreno são (hipótese iii):
C C W Lgni oxi ni i= C C W L C W Lgpi oxi pi i oxi ni i= = θ
C W Kdni ni DSn= C W K W Kdpi pi DSp ni DSp= = θ
onde KDSn e KDSp são parâmetros que dependem do processo e do layout.
Por simplicidade vamos usar que KDSn=KDSp=KDS. Por fim, a partir das relações acima, teremos que
( )( )C K W W L CLi DS i i i oxi= + + + + +1 1 1 1θ para 1≤i<N
( )C K W CLN DS N L= + +1 θ
Não havendo mismatch dos parâmetros então
( )C LC WKLCLi ox
i DS
ox
= + +
−1 1θ χ χ para 1≤i<N (6)
O atraso do i-ésimo (i>1) inversor do tapered buffer pode ser calculado pela relação abaixo:
tt t V C
IV
VVeV
CI
CI
VV
VeV
dipHLi pLHi DD Li
D ni
Tpi D ni
DD
D ni
DD
Li
D ni
Li
D pi
Tni D pi
DD
D pi
DD
=+
= −−+
+
+
+
−−+
+
−
−
− −
−
−
− −
2 212
11
0 90 8 0 8
102
12
11
0 90 8 0 8
10
1
0 1
0 1 0 1
0
1
0 1
0 1 0 1
να
να
.
. .ln
.
. .ln
+
CI
Li
D pi2 0
(7)
onde: tdi é o atraso do i-ésimo inversor;
o índice n é sempre relativo ao transistor canal N e p, ao transistor canal P.
Vamos definir novas funções que nos ajudarão a rescrever as fórmulas acima. Chamemos de:
( )F V V
VV V
VV
eVT D
T
DD D
DD
D
DD
,.. .
ln00 01
2
1
10 90 8 0 8
10= −
−
+
+
α
(8)
( ) ( ) ( )F V V V KK V V
F V VD a b D C
C DD a
b D, , , ,0 0
1 12
=−
+
α (9)
Aplicando então estas novas funções, escrevemos o atraso do i-ésimo, 1< ≤i N , inversor como:
( ) ( )tt t V C
IF V V
CI
CI
F V VCIdi
pHLi pLHi DD Li
D niTpi D ni
Li
D ni
Li
D piTni D pi
Li
D pi=
+= +
+
+
−
−−
−
−−2 2 2 2
1
0 10 1
0
1
0 10 1
0, , (10)
Para o caso onde não há mismatch dos parâmetros, podemos aplicar as relações de (5) e (6) na
expressão acima, obtendo
Otimização de Tapered Buffers para altas taxas de operação
87
( ) ( )t tV L K
LCF V V V K F V V V Kdi d
DD DS
oxD Tn Tp D n Cn D Tp Tn D p Cp= = + +
+1
2
2
0 0θ χ θ( , , , ) ( , , ) (11)
onde td é o atraso do i-ésimo inversor, 1<i<N, quando não há mismatch.
Observemos que KLC
DS
oxfornece a razão entre a capacitância de dreno de um inversor e sua
capacitância de gate. Esta razão depende tanto da tecnologia como do layout e tem, raramente, valor
superior a um.
Por fim, podemos calcular o fator de aumento ótimo que minimiza o atraso de um tapered buffer.
Para que a razão entre a carga na entrada e a carga na saída do N-ésimo inversor seja igual a aquela dos
N-1 primeiros inversores do buffer vamos assumir que
( )C C CL gn gpN= +1 1 χ ou
( )N
C
C CL
gn gp=
+
ln
ln1 1
χ
Também consideraremos que o atraso no primeiro inversor seja da forma dada pela expressão (11).
Assim o atraso num tapered buffer com N inversores será
( ) ( )t NV L K
LCF V V V K F V V V KD
DD DS
oxD Tn Tp D n Cn D Tp Tn D p Cp= + +
+1
2
2
0 0θ χ θ( , , , ) ( , , )
onde tD é o atraso do tapered buffer.
Substituindo o valor de N na última expressão teremos por fim
( ) ( ) ( )t
KLC C
C C
V LF V V V K F V V V KD
DS
ox L
gn gp
DDD Tn Tp D n Cn D Tp Tn D p Cp=
+
+
+ +
χ
χθ θ
lnln ( , , , ) ( , , )
1 1
2
0 012
Para determinar o fator de aumento que minimiza tD, devemos derivar a expressão acima, em
relação a χ, e igualar o resultado a zero. Abaixo temos em que condições a derivada de tD se anula:
∂∂χ
χ χχ
t KLC
D DS
ox
= ⇔ − +
0
1ln
O valor ótimo para χ será então
χ χχot
DS
oxot
ot
KLC
= +
exp
1
onde χot é o valor do fator de aumento que minimiza o atraso do tapered buffer.
Otimização de Tapered Buffers para altas taxas de operação
88
Na Figura 22 é mostrado χot em função da razão KLC
DS
ox. O fator de aumento ótimo para KDS=0,
situação em que as capacitâncias de dreno são desprezíveis, é χot=e=2,714, o mínimo valor para χot e
que coincide com o resultado clássico.
0 2,7180,2 2,910,4 3,090,6 3,2660,8 3,43
1 3,591,2 3,751,4 3,891,6 4,041,8 4,18
2 4,32
0
1
2
3
4
5
0 0,5 1 1,5 2razão entre capacitância de dreno e capacitância de
gate
fato
r de
aum
ento
ótim
o
Figura 22. Gráfico mostrando o fator de aumento que minimiza o atraso total de um tapered buffer
como função da razão KLC
DS
ox.
Em trabalhos mais recentes, não só o atraso mas também outros fatores, tais como potência
consumida, área do buffer e confiabilidade, são considerados para a otimização. Neste caso, pesos
diferentes são associados a cada um destes fatores. O valor ótimo do fator de aumento, então, varia de
acordo com os pesos e com a tecnologia analisada ([He87], [La88], [Ch95]).
3.3 Novo critério para otimização de Tapered Buffers para altas taxas
Vamos nos concentrar, daqui para frente, em circuitos onde a máxima taxa de operação é o aspecto
prioritário. Observemos que a minimização do atraso do buffer, para várias aplicações, não é de fato
importante para alcançar a máxima velocidade. Um exemplo destes é o demultiplexador de alta
velocidade indicado na Figura 23 [Ro95b]. Neste circuito, tapered buffers são usados na distribuição
do clock e também para o sinal de dado de entrada (o sinal a ser demultiplexado). Desde que os atrasos
destes buffers, o do dado e os do clock, sejam iguais, não importa o seu valor. O que se deseja é que os
buffers permitam a passagem de pulsos rápidos ou estreitos, que é a mesma coisa. Veja, portanto, que
não há verdadeiramente imposição alguma para a minimização do atraso e, além disso, o buffer com
mínimo atraso não é, necessariamente, o melhor para o circuito.
Otimização de Tapered Buffers para altas taxas de operação
89
d a d o
c lo c k
ta p e re d b u ffe r
ta p e re d b u ffe r
C .I. d e m u ltip le x a d o r
Figura 23. Demultiplexador 1:8 com tapered buffers para o dado e para o clock [Ro95b].
O que foi dito acima nos traz imediatamente duas questões: qual deve ser o critério para otimização
de tapered buffers para circuitos de alta velocidade onde o atraso total não é importante? Qual é o fator
de aumento ótimo resultante do uso deste novo critério?
Procuramos responder essas questões nesta seção.
3.3.1 Novo critério: sinal de teste e definição de passagem do sinal
Em aplicações onde o atraso não é importante, devemos usar um novo critério para alcançar a
máxima taxa de operação, como visto. O critério imediato é que o buffer permita a passagem de sinais
digitais de maior freqüência ou, que é o mesmo, que o buffer permita a propagação dos pulsos o mais
estreitos possível. Detalharemos melhor este novo critério de otimização.
Primeiro devemos definir qual o sinal de entrada a ser aplicado no buffer para avaliá-lo. A opção
mais simples é uma onda quadrada. Outra possibilidade é o uso de uma seqüência de pulsos “0s” e
“1s” previamente escolhida. Neste caso é recomendável que a seqüência tenha ao menos um pulso
isolado no nível alto, como em “000100”, e outro no nível baixo, como em “111011”. Estes pulsos
isolados são os que têm maior dificuldade de passagem e, portanto, servem melhor para avaliar o
buffer. Destas duas alternativas, a melhor escolha dependerá da aplicação destinada ao tapered buffer.
No caso dele ser usado apenas para a distribuição do clock, não temos razões para aplicar outro sinal
que não uma onda quadrada. No exemplo apresentado na Figura 23, onde por buffers iguais passam
tanto o sinal de clock como o de dados, uma seqüência de “1s” e “0s” na entrada será a melhor opção
de teste.
Devemos ainda esclarecer o que significa um sinal passar pelo buffer. Aqui também aparecem
diferentes possibilidades. Duas definições aplicáveis são:
i. diremos que o sinal de entrada passa pelo buffer se todos os pulsos que forem aplicados na entrada
chegam à saída e, ainda, atingem níveis mínimos tolerados de tensão. A Figura 24 ilustra esta
condição. O sinal aplicado à entrada do buffer, a seqüência “01001011”, é apresentado na parte
superior da figura e o sinal de saída, na parte inferior. Neste exemplo o tapered buffer é formado
Otimização de Tapered Buffers para altas taxas de operação
90
por um número par de inversores. Um pulso “1” é considerado ter passado com sucesso se ele
atinge na saída tensão VHM ou superior; um pulso “0”, por sua vez, se ele atinge na saída tensão
VLM ou inferior (para buffers com um número ímpar de inversores será o oposto). Por exemplo, o
segundo pulso “1” da entrada não passou para a saída segundo este critério;
ii. diremos que o sinal de entrada passa pelo buffer se todos os pulsos que forem aplicados na entrada
chegam a saída, atingem níveis mínimos de tensão e, ainda, a diferença entre as larguras do pulso
na entrada e do pulso na saída é menor que uma certa porcentagem da largura do pulso da entrada.
Na Figura 24 estão dadas as larguras dos pulsos. As relações abaixo fornecem as condições que
devem ser observadas pelos pulsos na saída, no que diz respeito a largura:
( ) ( )1 11 3 4− ≤ ≤ +ε εP P P P PW W W W W, , ,
12
2 12
22 5−
≤ ≤ +
ε εP P P PW W W W,
onde: ε é a constante de erro relativa (por exemplo ε=0,1);
Pwi é a largura do i-ésimo pulso da saída (Figura 24).
Uma vez mais a aplicação do buffer determinará qual definição é a mais adequada. Para buffers
onde passam apenas sinais de clock, por exemplo, é recomendável o uso da definição (ii) para que haja
maior simetria no sinal na saída.
PW 1
Sinal de entrada
Sinal de saída
falha
PW 2 PW 3 PW 4 PW 5
PW
VHM
VLM
Figura 24. Sinais de entrada e saída de um tapered buffer com um número par de inversores.
3.3.2 Modelo teórico para o novo critério de otimização
Nosso objetivo agora é encontrar expressões teóricas que auxiliem na determinação do fator de
aumento ótimo, permitindo a passagem dos pulsos o mais estreitos pelo tapered buffer, dadas as
dimensões do primeiro inversor e a carga capacitiva na saída do buffer. Para tal fim é necessário saber
calcular, dado um tapered buffer, qual a maior taxa que pode ter o sinal de entrada de forma que ele
ainda propague pelo buffer.
Otimização de Tapered Buffers para altas taxas de operação
91
Ao contrário do que acontece com o atraso de tapered buffers, onde diversos modelos são
disponíveis, não conhecemos, na literatura, relação que possa ser diretamente aplicada para o cálculo
da máxima taxa possível para o sinal que atravessa o buffer.
Para nosso problema, servindo como aproximação, utilizaremos uma expressão desenvolvida em
[Sh92] que trata do colapso de pulsos (collapse of pulses) em cadeias de inversores. Ela foi construída
a partir de um modelo bastante simplificado do transistor; abaixo fornecemos as equações da saturação
e da região tríodo do transistor N que foram aí aplicadas:
I V VV
VD n GS TnDS
DS= − −
β
2 se VDS<VGS-VTn (região tríodo)
( )I V VDn
GS Tn= −β2
2 se VDS>VGS-VTn (saturação)
onde: ID é a corrente de dreno do transistor;
VGS é a tensão gate-fonte;
VDS é a tensão dreno-fonte;
VTn é a tensão de limiar;
β µn n oxn
n
CWL
=
.
Wn é a largura do canal; Ln é o comprimento do canal; µn é a mobilidade dos elétrons.
(para o transistor P as relações são análogas)
Consideremos novamente o tapered buffer da Figura 21, com seus N inversores e fator de ganho χ.
Vamos supor que tanto as relações em (1) como em (5) são obedecidas. Ainda, que o valor de θ seja tal
que os transistores P e N de cada inversor tenham a mesma capacidade de drenar corrente, ou seja
( ) ( )1 1
β βni DD Tni pi DD TpiV V V V−
=−
=Rinvi
onde: o índice i é relativo ao i-ésimo inversor;
Rinv é uma resistência equivalente ao transistor.
Em [Sh92] é derivada a seguinte relação para o i-ésimo inversor do tapered buffer:
T T tT T
ti i ii i
i−
−− = −−
1 0
1
02 exp ∆ (12)
onde: Ti é a largura do pulso em Vi (ver Figura 21);
t0i é uma constante de tempo do i-ésimo inversor; seu valor é dado por t C Ri Li invi0 = ;
T∆i é uma constante do i-ésimo inversor; seu valor está em torno de 3t0i.
Otimização de Tapered Buffers para altas taxas de operação
92
Pelo exposto acima e pela relação (6) podemos escrever que
( )t
C
V V
CV V
L KLCi
Li
pi DD Tpi
Li
ni DD Tni n
DS
ox0
21=
−=
−=
++
β βθµ
χ( ) ( )
= constante para 1≤ <i N
Em [Sh92] é também mostrado que, para um número grande de inversores, a partir de (12)
chegamos a seguinte equação:
( )exp expTt
Tt
K NN0
0
1
02 1
−
= −−
∆
onde t0 é a constante de tempo dos (N-1) primeiros inversores;
KTt∆∆=
exp
0;
T∆ é a constante T∆i dos N-1 primeiros inversores.
Para o último inversor vale a equação abaixo:
T T tT T
tN N NN N
N−
−− = −−
1 0
1
02 exp ∆
Vamos supor que TN≈0 quando o pulso na saída não satisfaz o critério adotado; a equação acima
nos leva então ao seguinte resultado:
T t KTtN N N
N
N−
−= −
1 0
1
02 ∆ exp onde K
TtN
N
N∆
∆=
exp
0
Daí derivamos que T t KN N− =1 0 α , onde Kα é uma constante. O valor de Kα depende de K∆N, e portanto
da razão Tt
N
N
∆
0
. A Figura 25 mostra como Kα varia em função de
Tt
N
N
∆
0
, para esta razão variando de
0, mínimo valor que assume, até 6, valor superior ao que é normalmente encontrado.
Para determinar TN-1 escrevemos a expressão para t0N:
( ) ( )( )
( ) ( )tC
V VLC
C W V VLK
C V VL
C V VC
WconstN
LN
nN DD Tn
L
n ox nN DD Tn
DS
n ox DD Tn n ox DD Tn
L
nN0
1=
−=
−+
+−
=−
+
β µθ
µ µ.
Derivamos finalmente que
TK
WC K
KC KN
nNL N L− −= + = +1
12
11 2χ
(13)
onde: K1 e K2 são constantes que dependem dos parâmetros da tecnologia e do layout;
K1 é uma constante que depende dos parâmetros da tecnologia, do layout e das dimensões do
primeiro inversor do buffer.
Otimização de Tapered Buffers para altas taxas de operação
93
0 1 2 3 4 5 60
1
2
3
4
5
6
v a lo r e s d e ( T ∆ N / t 0 N )
V a lo r e sd e K α
Figura 25. Gráfico de Kα como função de Tt
N
N
∆
0
.
Resumindo os resultados obtidos, escrevemos as três expressões abaixo que fornecem a largura
mínima de um pulso que propaga pelo tapered buffer:
( )
( ) ( )
TK
C K
T t K NTt
tL K
LCK K
N N L
N
n
DS
ox
− −
−
= +
= − +
=+
+
= +
11
1 2
0 01
0
0
2
3 4
2 1
1
χ
θµ
χ χ
ln exp∆ (14)
onde K3 e K4 são constantes que dependem dos parâmetros da tecnologia e do layout.
Façamos, por fim, uma análise qualitativa do comportamento de T0 em função de CL, a usando as
expressões de (14). Quando a capacitância de carga CL é pequena teremos que TN-1=t0NKα<<t0 e, em
conseqüência, T0 é praticamente independente da carga da saída (equações (14)). Por outro lado,
quando a capacitância de carga CL é muito grande teremos que TN-1=t0NKα>>t0, e T0 será praticamente
igual a TN-1, sendo, portanto, função linear de CL. Um gráfico de T0 x CL terá, de acordo com as
equações em (14), o seguinte comportamento: para valores pequenos de CL a curva será horizontal e
para valores grandes, tenderá a uma reta. A inclinação desta reta dependerá diretamente da largura de
canal dos transistores do último inversor do tapered buffer. Veremos, mais adiante, que este
comportamento está perfeitamente em acordo com os resultados de simulações.
3.3.3 Simulação dos Tapered Buffers
Para avaliar o comportamento dos tapered buffers e as relações acima, várias simulações foram
feitas. As condições das simulações são apresentadas na próxima seção.
Otimização de Tapered Buffers para altas taxas de operação
94
3.3.3.1 Condições para as simulações
Os resultados apresentados neste capítulo são gerados a partir de duas tecnologias diferentes (no
APÊNDICE D, resultados de uma terceira tecnologia são dados):
• tecnologia CMOS 0,8µm da ES2/ATMEL [Es94];
• tecnologia CMOS 0,35µm do IMEC/Bélgica [Hu97].
obs.: neste trabalho chamamos a tecnologia da ES2 de tecnologia de 0,8µm pois esta é a dimensão
mínima de máscara para o comprimento de canal. O comprimento efetivo do canal é 0,7µm. A ES2,
por sua vez, chama a mesma de tecnologia 0,7µm CMOS.
Para a tecnologia da ES2 as simulações foram feitas com SPICE3d2, level 2 e parâmetros slow
([Vl80], [An88]). Para a tecnologia 0,35µm, foi utilizado o HSPICE, level 3 e também parâmetros
slow ([Me95a], [Me95b]). Os modelos dos transistores estão no APÊNDICE B. O layout de cada
transistor é imaginado como tendo a forma de um pente com dois ramos (Figura 26). Essa
configuração é a que dá os menores valores de perímetro e área de dreno. Considerando tal
configuração é possível o cálculo de perímetros e áreas de drenos e a sua inclusão nas simulações. A
Tabela 5 nos fornece as equações usadas para determinação da área e do perímetro de dreno. Para
áreas e perímetros de fonte e também para as resistências de dreno/fonte não foram fornecido os
valores, ficando assim o valor default do simulador. Notemos que no HSPICE estes valores default são
consideráveis e calculados pelas relações abaixo [Me95b]:
As Hdif Wdf ef= 2 . Ps Hdif Wdf ef= +4 2 ( )
RsHdif RSH Ld Ldif RS
Wdfef
=+ +.
( )Rd
Hdif RSH Ld Ldif RDWdf
ef=
+ +.
onde: Wef é a largura efetiva de canal do transistor;
Hdif, Ld, Ldif, RD, RS, e RSH são parâmetros do modelo do transistor (ver APÊNDICE B);
Asdf valor default para área de fonte;
Psdf valor default para perímetro de fonte;
Rddf valor default para resistência série de dreno;
Rsdf valor default para resistência série de fonte.
Tabela 5. Relações para cálculo da área e do perímetro de dreno. W é a largura de canal do transistor
considerado.
tecnologia área de dreno (µm2) perímetro de dreno (µm)
Otimização de Tapered Buffers para altas taxas de operação
95
0,8µm 1,2W W+4,8
0,35µm 0,5W W+2,2
Escolhidos o sinal de entrada para o teste e o critério para verificação da propagação do sinal, pode-
se determinar a máxima taxa de operação de qualquer tapered buffer. A Figura 27 apresenta o
procedimento usado para este fim. Ele é executado automaticamente por um programa em C que
prepara os arquivos para o simulador, inicia as simulações (SPICE ou HSPICE), analisa os resultados
desta e, com base na análise, decide se deve continuar ou não as simulações.
g a te
d r e n o
V D D o uV S S
V D D o uV S S
Figura 26. Configuração em pente dos transistores N e P para simulações.
Façamos algumas observações a respeito do diagrama da Figura 27:
• a taxa máxima, fmax, usada no início do procedimento é escolhida entre 5Gbit/s e 10Gbit/s,
dependendo da tecnologia;
• a taxa mínima, fmin, é determinada, por sua vez, através de simulações sucessivas. Começamos
com 1Gbit/s; caso não funcione é tentado 0,8Gbit/s, e assim por diante;
• as simulações são feitas com a seqüência escolhida e com a sua complementar. Foi observado,
durante as simulações, que o fato de haver um número par ou ímpar de inversores afeta os
resultados, introduzindo descontinuidades nos dados obtidos. O uso da seqüência e da sua
complementar reduz esta influência. O problema, no entanto, não é totalmente eliminado;
• as simulações são terminadas quando a diferença entre fmax e fmin for pequena. Tomamos, então,
como taxa máxima de operação o valor médio destas.
Otimização de Tapered Buffers para altas taxas de operação
96
Figura 27. Diagrama de decisões para determinação da máxima taxa em que opera um tapered buffer
qualquer (εrf é o erro relativo da freqüência).
O procedimento aqui apresentado é simplificado em relação ao que foi realmente aplicado. Nele são
introduzidas algumas alterações como:
• quando é necessária a atualização de fmax não é usado de fato o valor fmed mas uma taxa
ligeiramente superior. Isto torna o procedimento mais robusto às imprecisões das simulações. A
conseqüência negativa disso é o aumento do tempo de execução;
• quando é necessária a atualização de fmin é usado um valor ligeiramente inferior a fmed, por razões
similares às apresentadas acima;
• algumas verificações são acrescentadas para que o procedimento, automatizado, possa suportar
problemas de não convergência no simulador. Estes problemas são comuns com HSPICE.
Calcula a taxa média, entre fmax e fmin (fmed)
A taxa encontrada tem precisãosuficiente?
|fmax-fmin|/fmin<εrf
Determina uma taxa máxima fmax, na qual o buffer não mais opera, euma taxa mínima fmin, na qual ele com certeza opera, para a seqüência
de entrada.
Simula (SPICE ou HSPICE) o buffer na taxafmed; exemplo de entrada de teste,
“0001011101”
A seqüência de entradapassou pelo buffer (segundo o
critério usado)?
NÃOfmax=fmed
SIMSimula (SPICE ou HSPICE) o buffer com a
entrada invertida: “1110100010”
A seqüência de entradapassou pelo buffer
SIMfmin=fmed
SIM
NÃO
Otimização de Tapered Buffers para altas taxas de operação
97
Algumas vezes os problemas de convergência tornam difícil a obtenção de resultados significativos.
Nestes casos o programa implementado tem que abandonar o procedimento sem conseguir reduzir o
intervalo entre fmax e fmin ao nível desejado.
Os resultados que serão apresentados foram obtidos com:
• a seqüência de entrada “010001111011100101101”;
• tempos de subida e de descida iguais a 20% da largura de um pulso mínimo;
• verificação simples dos níveis dos pulsos na saída para garantir valores mínimos. Para a tecnologia
de 0,8µm, que tem VDD=5V, os níveis mínimos tolerados usados são VHM=4,0V e VLM=1,0V
(Figura 24). Para a tecnologia de 0,35µm, VDD=3V, os níveis usados são VHM=2,5V e VLM=0,5V.
Adotamos as seguintes dimensões para o primeiro inversor em todos os tapered buffers
examinados, tanto na tecnologias CMOS 0,8µm como na 0,35µm:
• Transistor N com largura de canal Wn1=5µm;
• Transistor P com largura de canal Wp1=8µm;
• L (comprimento de canal) com valor mínimo permitido para a tecnologia.
A Tabela 6 resume as condições em que foram obtidos os resultados para os tapered buffers.
3.3.3.2 Resultados das Simulações
As Figuras 28 e 29 mostram a máxima taxa de operação, em Gbit/s, de tapered buffers com 2, 3,
4, 5 e 6 (7 para Figura 28) inversores em função do fator de aumento χ. A carga capacitiva CL na
saída é 0,2pF. Note que a máxima taxa de operação não é obtida para χ=2,7 ou para valores maiores,
como apontam as análises baseadas no atraso, mas sim para o fator de aumento com valores pequenos.
Para um buffer com N inversores, podemos estimar o fator de aumento que fornece a máxima taxa de
operação com a seguinte relação:
( )χmaxN
ox n p LC W W L C1 1+ ≅
onde χmax é o fator de aumento que maximiza a taxa de operação para tapered buffers com N
inversores.
A Tabela 7 apresenta valores de χmax, calculados usando a expressão acima, como função de N para
uma carga CL=0,2pF. Compare estes valores com os resultados das Figuras 28 e 29.
Otimização de Tapered Buffers para altas taxas de operação
98
Tabela 6. Condições para obtenção dos resultados de simulação para as tecnologias 0,8µm e 0,35µm.
tecnologia 0,8µm tecnologia 0,35µm
simulador SPICE HSPICE
modelo usado level 2 slow level 3 slow
alimentação do buffer (VDD)
5,0V 3,0V
sinal de entrada do buffer
“010001111011100101101” e o seu complemento (“101110000100011010010”)
tempos de subida e descida
iguais a 20% da largura de um pulso mínimo
critério de análise da saída
todas os pulsos da entrada chegam a saída e atingem níveis mínimos adotados
níveis mínimos da saída VHM=4,0V VLM=1,0V
VHM=2,5V
VLM=0,5V
comprimento de canal dos transistores
L=0,8µm
L=0,35µm
largura de canal dos trans. do primeiro
inversor
trans. P Wp1=8µm trans. N Wn1=5µm
2 inv 7,76E-10 6,68E-10 5,88E-10 5,28E-10 4,84E-10 4,50E-10 4,27E-10 4,06E-10 3,88E-10 3,88E-10 3,93E-103 inv 8,27E-10 6,13E-10 4,97E-10 4,27E-10 3,88E-10 3,67E-10 3,59E-10 3,62E-10 3,63E-10 3,81E-10 3,93E-104 inv 7,85E-10 4,92E-10 3,62E-10 3,25E-10 3,27E-10 3,35E-10 3,54E-10 3,72E-10 3,97E-10 4,14E-10 4,37E-105 inv 8,27E-10 4,77E-10 3,54E-10 3,30E-10 3,38E-10 3,59E-10 3,79E-10 4,06E-10 4,32E-10 4,63E-10 4,84E-106 inv 7,95E-10 3,84E-10 3,21E-10 3,32E-10 3,59E-10 3,76E-10 4,06E-10 4,34E-10 4,59E-10 4,89E-10 5,11E-107 inv 8,27E-10 3,88E-10 3,27E-10 3,49E-10 3,72E-10 3,98E-10 4,29E-10 4,63E-10 4,92E-10 5,21E-10 5,51E-10
1,0 1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0 2 inv 1,29 1,50 1,70 1,89 2,07 2,22 2,34 2,46 2,58 2,58 2,55 3 inv 1,21 1,63 2,01 2,34 2,58 2,72 2,79 2,77 2,75 2,63 2,55 4 inv 1,27 2,03 2,77 3,08 3,05 2,99 2,82 2,68 2,52 2,42 2,29 5 inv 1,21 2,10 2,83 3,03 2,96 2,79 2,64 2,46 2,32 2,16 2,07 6 inv 1,26 2,61 3,12 3,02 2,79 2,66 2,46 2,30 2,18 2,04 1,96 7 inv 1,21 2,58 3,05 2,86 2,68 2,51 2,33 2,16 2,03 1,92 1,82
-
0,50
1,00
1,50
2,00
2,50
3,00
3,50
- 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
fator de aumento do tapered buffer
max
. tax
a (G
bit/s
)
2 inv3 inv4 inv5 inv6 inv7 inv
.
Figura 28. Gráfico da máxima taxa de operação, Gbit/s, em função do fator de aumento do
tapered buffer. São simulados buffers com 2, 3, 4, 5, 6 e 7 inversores. A carga final em todos eles é
0,2pF e a tecnologia é 0,8µm.
Otimização de Tapered Buffers para altas taxas de operação
99
2 inv 4,88E-10 4,12E-10 3,61E-10 3,25E-10 2,97E-10 2,73E-10 2,52E-10 2,36E-10 2,25E-10 2,13E-10 2,05E-103 inv 5,15E-10 3,79E-10 3,03E-10 2,53E-10 2,21E-10 2,04E-10 1,90E-10 1,84E-10 1,85E-10 1,86E-10 1,91E-104 inv 4,88E-10 3,02E-10 2,10E-10 1,62E-10 1,60E-10 1,64E-10 1,69E-10 1,79E-10 1,88E-10 1,96E-10 2,09E-105 inv 5,21E-10 2,87E-10 1,96E-10 1,66E-10 1,63E-10 1,71E-10 1,80E-10 1,93E-10 2,04E-10 2,17E-10 2,28E-106 inv 4,88E-10 2,25E-10 1,55E-10 1,58E-10 1,68E-10 1,79E-10 1,91E-10 2,04E-10 2,15E-10 2,28E-10 2,42E-10
1,0 1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0 2 inv 2,05 2,42 2,77 3,07 3,37 3,66 3,96 4,24 4,44 4,70 4,88 3 inv 1,94 2,64 3,30 3,95 4,53 4,91 5,28 5,45 5,40 5,37 5,24 4 inv 2,05 3,31 4,77 6,18 6,25 6,08 5,92 5,59 5,33 5,10 4,79 5 inv 1,92 3,48 5,09 6,01 6,13 5,84 5,54 5,18 4,90 4,61 4,40 6 inv 2,05 4,44 6,46 6,32 5,95 5,58 5,24 4,91 4,65 4,40 4,13
-
1,00
2,00
3,00
4,00
5,00
6,00
7,00
- 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0fator de aumento do tapered buffer
max
. tax
a (G
bit/s
)
2 inv3 inv4 inv5 inv6 inv
Figura 29. Gráfico da máxima taxa de operação, Gbit/s, em função do fator de aumento do
tapered buffer. São simulados buffers com 2, 3, 4, 5 e 6 inversores. A carga final em todos eles é
0,2pF e a tecnologia é 0,35µm.
Tabela 7. Valores de χmax para vários valores de N.
Número de inversores (N)
χmax para a tecnologia 0,8µm
χmax para a tecnologia 0,35µm
2 3,22 3,16 3 2,18 2,15 4 1,79 1,78 5 1,59 1,58 6 1,48 1,47 7 1,4 -
As Figuras 30 e 31 mostram, por sua vez, a largura mínima de um pulso que passa pelo buffer em
função da capacitância de carga CL. O fator de aumento usado nessas figuras é χ=2.
Para cada uma das curvas pode-se distinguir duas regiões, com comportamento semelhante àquele
encontrado na análise do modelo teórico:
• uma região onde as capacitâncias de carga são relativamente pequenas quando comparadas com a
capacitância de entrada do último inversor; as curvas aí são quase horizontais;
• outra onde a capacitância de carga é bastante grande, e as curvas se aproximam de retas.
De forma intuitiva, sem a utilização de fórmulas, podemos facilmente entender este
comportamento: na primeira região, onde a capacitância de carga é pequena, o aumento da carga influi
pouco no desempenho do buffer, pois o último inversor consegue facilmente alimentar a carga de sua
saída. Neste caso são os (N-1) primeiros inversores que limitam a taxa máxima de operação.
Naturalmente, a medida que a capacitância de carga aumenta, a operação do último inversor vai se
tornando difícil e influência todo o buffer. Considere o valor
Otimização de Tapered Buffers para altas taxas de operação
100
( )C C W W LLV ox n pN= +1 1 χ (15)
Quando a carga do buffer está próxima deste valor, pode-se dizer que o último inversor tem tanta
importância no desempenho do buffer quanto os outros inversores. Se a carga estiver acima disso,
então seu funcionamento será o mais crítico entre todos os inversores. Para capacitâncias muito
maiores que CLV, somente este inversor contará e o desempenho de todo tapered buffer estará próximo
ao de um único inversor com mesma carga CL na saída.
0 0,1 0,2 0,3 0,4 0,5 0,6 0,72 inv 0,19 0,29 0,45 0,62 0,80 0,96 1,14 1,31 3 inv 0,27 0,31 0,37 0,44 0,52 0,60 0,69 0,78 4 inv 0,31 0,33 0,34 0,35 0,37 0,38 0,41 0,43 5 inv 0,35 0,36 0,36 0,37 0,37 0,38 0,39 0,40
0,05 0,23 0,41 0,60 0,78 0,96 1,14 1,33 0,05 0,14 0,23 0,32 0,41 0,50 0,60 0,69 0,05 0,09 0,14 0,18 0,23 0,28 0,32 0,37 0,05 0,07 0,10 0,12 0,14 0,17 0,19 0,21
-
0,20
0,40
0,60
0,80
1,00
1,20
1,40
1,60
1,80
2,00
0 0,5 1 1,5 2 2,5 3capacitância de carga (pF)
min
. pul
so (n
s)
2 inv3 inv4 inv5 inv
Figura 30. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função da
carga capacitiva CL da saída. São simulados buffers com 2, 3, 4 e 5 inversores. O fator de aumento
usado é χ=2 e a tecnologia é de 0,8µm.
0 0,1 0,2 0,3 0,4 0,5 0,6 0,72 inv 0,09 0,16 0,27 0,38 0,50 0,61 0,72 0,84 3 inv 0,13 0,16 0,20 0,26 0,31 0,37 0,42 0,48 4 inv 0,15 0,16 0,16 0,17 0,18 0,19 0,22 0,25 5 inv 0,16 0,17 0,17 0,17 0,18 0,19 0,20 0,20
0,03 0,14 0,26 0,37 0,49 0,60 0,72 0,83 0,03 0,09 0,15 0,21 0,27 0,33 0,39 0,45 0,03 0,06 0,09 0,12 0,15 0,18 0,21 0,24 0,03 0,04 0,06 0,07 0,09 0,10 0,12 0,13
-
0,20
0,40
0,60
0,80
1,00
1,20
1,40
1,60
1,80
2,00
0 0,5 1 1,5 2 2,5 3capacitância de carga (pF)
min
. pul
so (n
s)
2 inv3 inv4 inv5 inv
Figura 31. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função da
carga capacitiva CL da saída. São simulados buffers com 2, 3, 4 e 5 inversores. O fator de aumento
usado é χ=2 e a tecnologia é de 0,35µm.
Nas Figuras 30 e 31 também foram desenhadas as assíntotas das curvas para a capacitância de carga
tendendo a infinito (ou simplesmente maior do que três CLV). A inclinação destas é inversamente
Otimização de Tapered Buffers para altas taxas de operação
101
proporcional as dimensões do último inversor do buffer. Em conseqüência, a inclinação da assíntota do
buffer com 2 inversores é o dobro daquela do buffer com 3 inversores; esta, por sua vez, é o dobro
daquela do buffer com 4 e assim por diante (lembremos que o fator de aumento é de 2 nestes
exemplos).
As duas figuras anteriores apontam que o comportamento qualitativo dos tapered buffers se
aproxima bastante daquilo que foi previsto pelo modelo teórico. As assíntotas das curvas T0 x CL são
da forma expressa pela primeira equação de (14)(como já discutido, para CL grande, T0=TN-1). Tais
resultados mostram que as relações deduzidas a partir de [Sh92], se não são corretas estão próximas
disso.
3.3.3.2.1 Modelamento dos Tapered Buffers com as expressões analíticas (14)
As equações dadas em (14), como vimos, foram obtidas a partir de expressões bastante
simplificadas do comportamento dos transistores. Mesmo assim, elas se mostraram boas na descrição
qualitativa dos tapered buffers. Em vista disso podemos tentar aplicá-las no modelamento numérico.
Para este fim precisamos determinar o valor das cincos constantes que aí aparecem: K1, K2, K3, K4 e
K∆. Uma vez que as expressões foram construídas por meio de aproximações, o mais apropriado será
determinar o valor das constantes por meio de resultados obtidos por simulações.
As duas primeiras constantes estão relacionadas com as assíntotas das curvas T0 x CL quando CL é
muito grande. Assim elas podem ser obtidas por estas mesmas curvas (Figuras 30 e 31). Outra forma,
mais direta e precisa, é através das curvas largura mínima de um pulso que passa pelo buffer em
função da capacitância de carga, sendo o buffer formado por apenas um inversor. As Figuras 32 e 33
apresentam estas curvas, respectivamente para as tecnologias 0,8µm e 0,35µm. Para cada tecnologia,
vários inversores são simulados. Observe que: o sinal de entrada e o critério de propagação do sinal
são sempre os mesmos; a relação entre as larguras de canal do transistor N e do transistor P é sempre
igual.
A partir dos resultados das Figuras 32 e 33 são obtidas as equações abaixo para largura mínima do
pulso que passa pelo buffer com um inversor:
T CG
ns pF psL= +3 89
47 6,
/ , para tecnologia de 0,8µm;
T CG
ns pF psL= +2 46
29 7,
/ , para tecnologia de 0,35µm.
onde: T é a largura mínima de um pulso que passa pelo inversor;
G indica quantas vezes o inversor é maior que 8,0/5,0µm (largura de canal do trans. P/trans. N);
CL é a capacitância de carga em pF.
Otimização de Tapered Buffers para altas taxas de operação
102
0,2 0,4 0,6 0,8 1 1,2 1,4 1,6Wn=5,0um 0,82 1,59 2,34 3,11 3,88 4,64 5,41 6,15 Wn=7,5um 0,56 1,06 1,57 2,08 2,58 3,09 3,60 4,12 Wn=10,0um 0,43 0,81 1,19 1,56 1,95 2,32 2,70 3,08 Wn=12,5um 0,35 0,66 0,95 1,26 1,57 1,86 2,16 2,46 Wn=15,0um 0,30 0,55 0,80 1,06 1,31 1,56 1,82 2,06 Wn=17,5um 0,27 0,48 0,69 0,91 1,13 1,34 1,55 1,77 Wn=20,0um 0,24 0,42 0,61 0,79 0,99 1,18 1,37 1,55 Wn=22,5um 0,21 0,38 0,55 0,72 0,88 1,06 1,22 1,38 Wn=25,0um 0,20 0,35 0,50 0,65 0,80 0,95 1,10 1,25
-
2,00
4,00
6,00
8,00
10,00
12,00
0 0,5 1 1,5 2 2,5 3capacitância de carga (pF)
min
. pul
so (n
s)
Wn=5,0umWn=7,5umWn=10,0umWn=12,5umWn=15,0umWn=17,5umWn=20,0umWn=22,5umWn=25,0um
Figura 32. Gráfico da largura mínima de um pulso que passa por um inversor em função da sua
carga capacitiva. As larguras de canal dos trans.P/trans.N são: 8/5µm; 12/7,5µm; 16/10µm;
20/12,5µm; 24/15µm; 28/17,5µm; 32/20µm; 36/22,5µm; 40/25µm. O comprimento do canal é
L=0,8µm. A tecnologia é de 0,8µm.
0,2 0,4 0,6 0,8 1 1,2 1,4 1,6W n=5,0um 0,52 1,00 1,49 1,98 2,48 2,98 3,45 3,93 W n=7,5um 0,36 0,69 1,01 1,34 1,67 2,00 2,33 2,66 W n=10,0um 0,28 0,53 0,76 1,01 1,26 1,50 1,76 2,00 W n=12,5um 0,23 0,42 0,62 0,81 1,02 1,21 1,40 1,61 W n=15,0um 0,20 0,36 0,53 0,69 0,86 1,02 1,18 1,34 W n=17,5um 0,17 0,31 0,45 0,59 0,73 0,88 1,02 1,16 W n=20,0um 0,16 0,28 0,40 0,53 0,65 0,77 0,90 1,02 W n=22,5um 0,14 0,25 0,36 0,47 0,58 0,69 0,80 0,90 W n=25,0um 0,13 0,23 0,33 0,43 0,53 0,62 0,72 0,82
-
0,50
1,00
1,50
2,00
2,50
3,00
3,50
4,00
4,50
0 0,5 1 1,5 2 2,5 3capacitância de carga (pF)
min
. pul
so (n
s)
W n=5,0umW n=7,5umW n=10,0umW n=12,5umW n=15,0umW n=17,5umW n=20,0umW n=22,5umW n=25,0um
Figura 33. Gráfico da largura mínima de um pulso que passa por um inversor em função da sua
carga capacitiva. As larguras de canal dos trans.P/trans.N são: 8/5µm; 12/7,5µm; 16/10µm;
20/12,5µm; 24/15µm; 28/17,5µm; 32/20µm; 36/22,5µm; 40/25µm. O comprimento do canal é
L=0,35µm. A tecnologia é de 0,35µm.
Lembrando que também o primeiro inversor dos buffers simulados tem as dimensões 8µm/5µm
(largura do canal), então chegamos aos valores da Tabela 8.
Para as outras constantes, K3, K4 e K∆, foram tentados vários caminhos para sua determinação,
todavia para nenhum dos valores encontrados foi possível um ajuste satisfatório entre as expressões de
(14) e os dados. O que se observou neste processo foi que o termo ( )2 1K N∆ − , na equação de T0, (14),
causa a maior parte das dificuldades. Como conclusão temos que as expressões usadas, apesar de se
aproximarem do desejado, não são suficientemente exatas para o modelamento (no APÊNDICE C é
Otimização de Tapered Buffers para altas taxas de operação
103
tentado um modelamento alternativo baseado em funções de transferência, considerando o inversor um
circuito linear invariante com um pólo).
Tabela 8. Valores das constantes K1 e K2 das equações dadas por (14).
tecnologia K1 (ns/pF) K2 (ps)
0,8µm 3,89 47,6
0,35µm 2,46 29,7
3.3.3.2.2 Modelamento dos Tapered Buffers com o uso de tabelas empíricas
Na impossibilidade de encontrar equações que descrevam os buffers, procuramos outra forma de
modelamento. O uso de tabelas foi o que melhor resultado apresentou. Nesta forma de modelamento,
através de uma ou mais tabelas, conseguimos determinar a máxima taxa de operação do tapered buffer.
Para entender esta solução, voltemos as equações dadas por (14). Como já dito, elas pecam devido ao
termo dependente de N. Sendo assim, supomos que as seguintes relações descrevam corretamente o
buffer:
( )
TK
C K
T t f NTt
t K
N N L
N
− −
−
= +
=
= +
11
1 2
0 01
0
0 4
χ
χ
, onde f( ) é uma função não conhecida. (16)
Comparando as relações de (16) com aquelas de (14), vemos que a primeira equação é a mesma e
que ttK0
0
3= . Em (16), se conhecermos a função f( ) poderemos então determinar T0 (é necessário
ainda o parâmetro K4). Não a conhecendo, podemos tabelá-la para diversos valores de N (2, 3, 4, 5, ...).
Isto pode ser feito a partir de curvas semelhantes às apresentadas nas Figuras 30 e 31. O exemplo
seguinte mostra como as Figuras(/Tabelas) 30 e 31 poderão ser usadas para encontrar os valores
mínimos da largura de pulso. Seja o seguinte problema:
Qual a largura mínima do pulso que passa por um tapered buffer com ganho χy, N inversores e
carga Cly (será chamado de buffer problema)? Como nos exemplos das Figuras 30 e 31, o primeiro
inversor tem transistores com larguras de canal de 8µm e 5µm. São conhecidos os valores de K1, K2 e
K4.
Solução:
Otimização de Tapered Buffers para altas taxas de operação
104
Pelas equações dadas em (16), podemos escrever que ( )
( )T
t
KC K
KN y
y
yN Ly
y
−−
=
+
+1
0
11 2
4
χ
χ, onde os termos
com índice y são relativos ao buffer problema.
Chamemos de CL2 a capacitância que faz valer a igualdade ( )
( )( )T
t
KC K
KT
tN N L N y
y
− − −=+
+=1 2
02
11 2 2
4
1
0
22
, onde
os termos com índice 2 são relativos ao buffer cujos resultados estão na Figura 30 ou na Figura 31
(χ2=2).
Como ( ) ( )Tt
Tt
N N y
y
− −=1 2
02
1
0
então ( ) ( )Tt
f NT
tf N
Tt
Tt
N N y
y
y
y
02
02
1 2
02
1
0
0
0
=
=
=
− −, , e, conseqüentemente,
( )( )T T
K
Kyy
0 024
42=
+
+
χ. Pois bem, o valor de T02 pode ser encontrado facilmente a partir do valor de CL2,
diretamente ou por interpolação, e das curvas apresentadas nas Figuras 30 e 31. Logo o valor de T0y
pode ser determinado.
Resumindo o procedimento, devemos primeiro determinar o valor de CL2 tal que ( ) ( )Tt
Tt
N N y
y
− −=1 2
02
1
0
;
posteriormente, consultando na Figura 30 ou na Figura 31 (dependendo da tecnologia utilizada) a
curva associada ao buffer com N inversores, determinar o valor de T02 e, por fim, calcular o valor de
T0y. Em vez do gráfico podemos ter tabelas de T0 em função de CL, para vários valores de N, e para
um fator de aumento pré-estabelecido qualquer. Estas tabelas, junto com as constantes K1, K2 e K4,
serão suficientes para fornecer o valor de T0 para um tapered buffer qualquer desde que:
• o sinal de teste aplicado na entrada e o critério de propagação do sinal sejam os mesmos
daqueles usados na determinação das tabelas e das constantes;
• a relação entre a largura de canal do transistor P e a do transistor N é igual àquela usada na
determinação destas tabelas e constantes.
Para um melhor aproveitamento dos dados das tabelas, dois cuidados devem ser tomados na sua
geração:
• utilizar um fator de aumento grande para evitar que, durante o cálculo de CL2, apareçam valores
negativos;
• tabelar T0 apenas para valores baixos de CL. As curvas T0 x CL, para valores grandes de CL,
aproximam-se bastante das assíntotas, sendo possível determiná-las a partir das constantes K1 e K2.
Otimização de Tapered Buffers para altas taxas de operação
105
A Tabela 9 apresenta as condições usadas para geração das curvas/tabelas T0 x CL para as duas
tecnologias aqui analisadas.
Tabela 9. Condições para geração de curvas/tabelas T0 x CL para modelamento dos tapered buffers.
tecnologia máximo valor usado para capacitância de carga
número de pontos em cada curva/tabela
0,8µm 2,5CLV (15) 20
0,35µm 3CLV (15) 30
Falta-nos ainda a determinação do parâmetro K4. Para este fim é utilizado o procedimento acima
descrito para determinação de T0 em um buffer qualquer, e o gráfico largura mínima de um pulso
que passa pelo buffer em função do número de inversores do buffer, com CL≈0, para diversos valores
de fator de aumento. As Figuras 34 e 35 apresentam estes gráficos. O valor escolhido para K4 é aquele
que minimiza, no sentido do mínimo quadrado, o erro entre os resultados fornecidos pelas equações
dadas em (16), aplicando o procedimento acima, e os dados da Figura 34/35. Foi utilizado o método de
busca SIMPLEX para encontrar K4 (MATLAB). Observemos que a utilização de CL≈0 equivale a
escolhermos, no procedimento acima, CLy igual a zero. Isto simplifica as expressões. Os valores
encontrados para K4 são 0,81 e 0,72, respectivamente, para as tecnologias de 0,8µm e de 0,35µm.
2,0 3,0 4,0 5,0 6,0 ft. aum.=5 0,34 0,55 0,65 0,74 0,80 ft. aum.=4 0,30 0,46 0,54 0,61 0,66 ft. aum.=3 0,24 0,37 0,43 0,49 0,52 ft. aum.=2 0,19 0,27 0,32 0,35 0,37 ft. aum.=1 0,14 0,19 0,21 0,24 0,25
-
0,10
0,20
0,30
0,40
0,50
0,60
0,70
0,80
0,90
- 1,0 2,0 3,0 4,0 5,0 6,0número de inversores
min
. pul
so (n
s)
ft. aum.=5ft. aum.=4ft. aum.=3ft. aum.=2ft. aum.=1
Figura 34. Gráfico da largura mínima de um pulso que passa pelo tapered buffer em função do
número de inversores. Curvas para diversos valores de fator de aumento são apresentadas (fator de
aumento de 1, 2, 3, 4 e 5). O primeiro inversor, em todos os exemplos, tem 5µm para largura de canal
do transistor N, e 8µm para o transistor P. O comprimento de canal para todos é de 0,8µm. A carga
na saída é de 1fF e a tecnologia CMOS de 0,8µm.
Otimização de Tapered Buffers para altas taxas de operação
106
2,0 3,0 4,0 5,0 6,0 ft.aum.=5 0,17 0,26 0,31 0,35 ft.aum.=4 0,14 0,21 0,25 0,29 ft.aum.=3 0,12 0,17 0,20 0,23 0,24 ft.aum.=2 0,09 0,13 0,15 0,17 0,18 ft.aum.=1 0,07 0,09 0,10 0,11
-
0,05
0,10
0,15
0,20
0,25
0,30
0,35
- 1,0 2,0 3,0 4,0 5,0 6,0número de inversores
min
. pul
so (n
s)
ft.aum.=5ft.aum.=4ft.aum.=3ft.aum.=2ft.aum.=1
Figura 35. Gráfico do largura mínimo de um pulso que passa pelo tapered buffer em função do
número de inversores. Curvas para diversos valores de fator de aumento são apresentadas (fator de
aumento de 1, 2, 3, 4 e 5). O primeiro inversor, em todos os exemplos, tem 5µm para largura de canal
do transistor N, e 8µm para o transistor P. O comprimento de canal para todos é de 0,35µm. A carga
na saída é de 1fF e a tecnologia CMOS de 0,35µm.
Por fim, as Figuras 36, 37 e 38 mostram a comparação entre os resultados de simulação e as
relações semi-empíricas dadas por (16) (as figuras foram geradas pelo MATLAB). Também nestas
figuras estão indicadas a máxima taxa que pode ser alcançada por um tapered buffer e o seu melhor
valor para χ=3.
1 1 , 5 2 2 , 5 3 3 , 5 4 4 , 5 51 , 2
1 , 4
1 , 6
1 , 8
2
2 , 2
2 , 4
2 , 6
2 , 8
3
3 , 2
f a t o r d e a u m e n t o d o t a p e r e d b u f f e r
m a x . t a x a( G b i t / s )
2 i n v .
3 i n v .
4 i n v .
5 i n v .
s i m u l a ç ã oC L = 0 , 2 p F0 , 8 µ m C M O S
Figura 36. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é
apresentado com ‘x’, três com ‘+’, quatro com ‘o’ e cinco com ‘*’) e equações dadas por (16) (linhas
contínuas). A tecnologia é de 0,8µm e a capacitância de carga de 0,2pF.
Otimização de Tapered Buffers para altas taxas de operação
107
s i m u l a ç ã o 2 i n v . 3 i n v . 4 i n v . 5 i n v . 6 i n v . 7 i n v . 8 i n v .
1 1 , 5 2 2 , 5 3 3 , 5 4 4 , 5 50
0 , 5
1
1 , 5
2
2 , 5
3
f a t o r d e a u m e n t o d o t a p e r e d b u f f e r
m a x . t a x a( G b i t / s )
C L = 1 p F0 , 8 µ m C M O S
Figura 37. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é
apresentado com ‘x’, três com ‘+’, quatro com ‘o’, cinco com ‘*’, seis com 'x', sete com '+' e oito
com '*') e equações dadas por (16) (linhas contínuas). A tecnologia é de 0,8µm e a capacitância de
carga de 1pF.
1 1 , 5 2 2 , 5 3 3 , 5 4 4 , 5 51 , 5
2
2 , 5
3
3 , 5
4
4 , 5
5
5 , 5
6
6 , 5
f a t o r d e a u m e n t o d o t a p e r e d b u f f e r
m a x . t a x a( G b i t / s )
2 i n v .3 i n v .4 i n v .5 i n v .
s i m u l a ç ã oC L = 0 , 2 p F0 , 3 5 µ m C M O S
Figura 38. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é
apresentado com ‘x’, três com ‘+’, quatro com ‘o’ e cinco com ‘*’) e equações dadas por (16) (linhas
contínuas). A tecnologia é de 0,35µm e a capacitância de carga de 0,2pF.
As relações semi-empíricas proporcionam uma boa aproximação para a tecnologia de 0,35µm, e
razoável para 0,8µm, onde foi usado o simulador SPICE. Neste último caso, a previsão do valor da
máxima taxa de operação deixa um pouco a desejar. Em contrapartida, em ambas tecnologias, o
método proposto é eficiente para apontar qual é o fator de aumento ótimo.
Notemos que as relações para cálculo da maior taxa do sinal que propaga pelo buffer foram
derivadas a partir de relações quadráticas para a corrente de dreno, Estas relações não são boas para
modelar transistores de canal pequeno ([Mu86], [Sa90]). Por outro lado, as expressões finais (relação
Otimização de Tapered Buffers para altas taxas de operação
108
(16)) mostraram-se boas mesmo para a tecnologia de 0,35µm. Acreditamos, baseados nos resultados
alcançados, que estas expressões podem ser usadas mesmo em tecnologias mais modernas.
Ainda no APÊNDICE D são apresentados os resultados obtidos com outra tecnologia CMOS
0,8µm, a tecnologia da AMS. São usados para simulação o HSPICE e o modelo BSIM3 (versão 2).
Um bom ajuste é conseguido também neste caso.
A Tabela 10, por sua vez, resume as informações de máximas taxas atingidas com χ=3 e para
qualquer valor de fator de aumento. Pelos resultados expostos, vemos que um ganho próximo a 20%
pode ser conseguido com o uso de χ diferente daquele que minimiza o atraso. Repare que os valores
para χot são sempre pequenos.
Tabela 10. Taxa máxima para o buffer com fator de aumento χ=3, taxa máxima possível (qualquer
χ) e aumento relativo da taxa de operação (valor em χ=3 tomada como referência). É também
indicado o valor do fator de aumento que maximiza a taxa de operação do buffer (χot).
Tecnologia(µm)/CL(pF) max. taxa (Gbit/s) χ=3
max. taxa (Gbit/s) aumento relativo da taxa (%)
0,8/0,2 2,54 3,08 (χot=1,6) 21,3
0,8/1,0 2,13 2,13 (χot=1,6) 27,7
0,35/0,2 5,24 6,24 (χot=1,8) 19,1
3.3.4 Mismatch do Atraso
Os resultados da seção anterior mostram que o critério proposto nos leva a tapered buffers que
utilizam um fator de aumento pequeno. Uma conseqüência disto é o aumento do número de inversores
do buffer. Como vimos, nosso critério é aplicável quando o valor do atraso não é importante para o
desempenho do circuito, como no exemplo da Figura 23. Neste circuito, por outro lado, os valores dos
atrasos no buffer do dado e nos vários buffers que distribuem o clock devem ser iguais ou muito
próximos. A igualdade destes valores é praticamente impossível, mesmo em buffers casados, devido a
dispersão dos parâmetros dos transistores no C.I.. A questão aqui levantada é o que ocorrerá com as
variações do atraso dos tapered buffers (mismatch do atraso), causadas pelas dispersões estatísticas dos
parâmetros dos transistores, quando o fator de aumento é diminuído ou elevado. Este problema é
estudado nesta seção. Veja que esta questão é importante pois se a redução do fator de aumento, com a
conseqüente elevação no número de inversores, acarreta um crescimento no mismatch do atraso, então
o critério proposto aqui terá seu uso reduzido.
Otimização de Tapered Buffers para altas taxas de operação
109
3.3.4.1 Atraso do Tapered Buffer
Para o estudo do mismatch do atraso, vamos considerar uma configuração bastante usada na
distribuição do sinal de clock dentro de circuitos integrados. Ela é mostrada na Figura 39. A
característica que nos interessa nesta aplicação é que todos os inversores enxergam, relativamente as
suas dimensões, uma mesma carga capacitiva, simplificando o tratamento do problema. Consideremos
os M tapered buffers da figura, cada um com N inversores, e o atraso total, t1D, t2D ... tMD, de cada dos
buffers. O que queremos é saber qual a variância destes atrasos e, principalmente, como esta se
comporta em relação ao fator de aumento utilizado no buffer.
M,1 M,2 M,N-1 M,N
2,1 2,2 2,N-1 2,N
1,1 1,2 1,N-1 1,N
tMD
t2D
t1D
clock
tapered bufferM
tapered buffer2
tapered buffer1
0
Figura 39. M Tapered buffers usados para a distribuição de clock.
Usaremos a seguinte notação para os M buffers:
Coxj,i é a capacitância, por unidade de área, no gate dos transistores P e N do i-ésimo inversor do j-
ésimo buffer (Figura 39);
Lnj,i e Lpj,i são os comprimentos de canal dos transistores N e P, respectivamente, do i-ésimo inversor
do j-ésimo buffer;
Wnj,i e Wpj,i são as larguras de canal dos transistores N e P, respectivamente, do i-ésimo inversor do j-
ésimo buffer;
CLj,i é a capacitância de carga do i-ésimo inversor do j-ésimo buffer;
µnj,i e µpj,i são as mobilidades dos elétrons e das lacunas nos transistores N e P, respectivamente, do i-
ésimo inversor do j-ésimo buffer;
Otimização de Tapered Buffers para altas taxas de operação
110
VTnj,i e VTpj,i são as tensões de limiar dos transistores N e P, respectivamente, do i-ésimo inversor do
j-ésimo buffer;
PCnj,i e PCpj,i são os parâmetros PC para os transistores N e P, respectivamente, do i-ésimo inversor do
j-ésimo buffer;
VD0nj,i e VD0pj,i são as tensões VD0 para os transistores N e P, respectivamente, do i-ésimo inversor do
j-ésimo buffer.
Consideraremos ainda que L L Lnj i pj i j i, , ,= = , W Wnj i j i, ,= e W Wpj i j i, ,= θ . Também, que a
capacitância de carga é dada por ( )( )C K W W L CLj i DS j i j i j i oxj i, , , , ,= + + + + +1 1 1 1θ para 1≤ <i N . Para a
situação ideal, quando não há mismatch dos parâmetros, será válido:
Coxj,i=Cox Lj,i=L VTnj,i=VTn VTpj,i=VTp VD0nj,i=VD0n VD0pj,i=VD0p
W Wj ii
, =−χ 1 K KCnj i Cn, = K KCpj i Cp, = µ µnj i n, = µ µpj i p, =
Estes também serão os valores médios dos parâmetros.
Vamos encontrar o atraso dos tapered buffers da Figura 39. Usaremos uma vez mais as relações de
atraso de inversor propostas por [Sa90]. O atraso do buffer j é dado por
t tDj dj ii
N
==∑ ,
1
onde tdj,i é o atraso médio do i-ésimo inversor do j-ésimo tapered buffer (relação (10)).
Resultará para o atraso o seguinte valor
( ) ( )[ ]
tV C
IF V V
CI
F V V
L CW C
F V V V K F V V V K
CI
C
DjDD L
D nTpj D pj
L
D pTnj D nj
j i Lj i
j i oxj iD Tnj i Tpj i D nj i nj i Cnj i D Tpj i Tnj i D pj i pj i Cpj i
i
N
Lj N
D nj N
Lj
=
+ +
+ +
+
+ +=
−
∑
2
2
0
0 01 0 1
0
0 01 0 1
1 0 1 01
1
0
( , ) ( , )
, , , , ,
, , , ,
, ,
, ,, , , , , , , , , ,
,
,
µ θµ
,
,
N
D pj NI2 0
onde: ID0n0 e ID0p0 são as correntes de dreno (equação (4)) dos transistores N e P, respectivamente, do
inversor 0 (ver Figura 39);
ID0nj,i e ID0pj,i são as correntes de dreno (equação (4)) dos transistores N e P, respectivamente, do i-
ésimo inversor do j-ésimo buffer;
( )C K W W L CL DS j j oxjj
M
0 0 1 1 11
1= + +
=∑θ , , , ;
W0 está relacionado com a largura de canal do inversor 0 (Wn0=W0 e Wp0=θW0 e W MW0χ = );
( )( )C K W LWCLj N DS NN
ox, = + +1 θ χ .
Otimização de Tapered Buffers para altas taxas de operação
111
Acrescentaremos a expressão de tDj o seguinte termo:
V CI
VV
VeV
CI
VV
VeV
DD Lj N
D nj N
Tpj N D nj N
DD
D nj N
DD
Lj N
D pj N
Tnj N D pj N
DD
D pj N
DD
212
11
0 908 08
10
12
11
0 908 08
10
0
1 0 0
0
1 0 0
,
,
, , ,
,
,
, , ,
.
. .ln
.
. .ln
−−+
+
+
−−+
+
+
+
να
να
(17)
onde: νTnj,N+1 será tomado como VTn/VD0n;
νTpj,N+1 será tomado como |VTp|/VD0p.
Este termo reflete a influência do último inversor do tapered buffer, o N-ésimo inversor, no atraso
dos inversores ligados a sua saída. A adição de (17) além de melhor avaliar os efeitos do mismatch no
buffer também torna mais simples a manipulação das derivadas, como veremos mais adiante.
Consideraremos como expressão do atraso do j-ésimo buffer a que é dada abaixo:
( ) ( )][ ]t
V CI
F V VCI
F V V
L CW C
F V V V K F V V V K
DjDD L
D nTpj D pj
L
D pTnj D nj
j i Lj i
j i oxj iD Tnj i Tpj i D nj i nj i Cnj i D Tpj i Tnj i D pj i pj i Cpj i
i
N
=
+
++ +=∑
20
0 01 0 1
0
0 01 0 1
1 0 1 01
( , ) ( , )
, , , , ,
, , , ,
, ,
, ,, , , , , , , , , ,µ θµ
(18)
onde: VTnj,N+1 será tomado como VTn;
VTpj,N+1 será tomado como VTp.
Para cálculo da variância dos tDs faremos uso do teorema abaixo [Pa91].
Teorema: Considere as variáveis aleatórias x1, x2, ..., xn, com média e variância ( )x x1 12,σ , ...
( )xn xn,σ 2 , respectivamente, e a variável aleatória y, y=g(x1, x2, ..., xn). Se a função g é
suficientemente suave ("smooth") perto de ( )x xn1,...., , então a variância de y pode ser estimada em
termos da média, variância e covariância de x1, x2, ..., xn:
σ∂∂
∂∂y
i jxi xj
i j
n gx
gx
C2 = ∑ ,,
(19)
onde: Cxi,xj é a covariância entre xi e xj;
a função g e suas derivadas são avaliadas em ( )x xn1,...., .
Observe que Cxi,xi=σxi2
Determinaremos, a partir de (18), a variância no atraso dos buffers causada pela dispersão dos
parâmetros Lj,i, Wj,i, Coxj,i, VTnj,i, VTpj,i, µnj,i e µpj,i, para 1≤ ≤i N . Os parâmetros VD0nj,i, VD0pj,i, KCnj,i e
Otimização de Tapered Buffers para altas taxas de operação
112
KCpj,i, por sua vez, são tomados como iguais a VD0n, VD0p, KCn e KCp, respectivamente. A restrição sobre
que parâmetros sofrem variações serve para manter os resultados tratáveis.
Na aplicação do teorema acima, para determinar a variância dos tDs, a função g será
( ) ( )][ ]t
V CI
F V VCI
F V V
L CWC
F V V V K F V V V K
DDD L
D nTp D p
L
D pTn D n
i Li
i oxiD Tni Tpi D n ni Cn D Tpi Tni D p pi Cp
i
N
=
+
++ +=∑
20
0 01 0
0
0 01 0
1 0 1 01
( , ) ( , )
, , , , ,µ θµ (20)
onde: ( )IMWK C
LV VD n
Cn ox nDD Tn0 0 = −
µχ
α e ( )I
M WK CL
V VD pCp ox p
DD Tp0 0 = −θ µ
χα
;
( ) ( )C KMW
M WLC W L CL DS ox ox0 1 1 11 1= + + − +
θ
χ
Li é uma variável aleatória que modela a variação do comprimento de canal no i-ésimo inversor;
Wi é uma variável aleatória que modela a variação da largura de canal no i-ésimo inversor;
Coxi é uma variável aleatória que modela a capacitância de porta dos transistores no i-ésimo inversor;
VTni e VTpi são variáveis aleatórias que modelam a variação da tensão de limiar dos transistores N e P,
respectivamente, no i-ésimo inversor;
µni e µpi são variáveis aleatórias que modelam a variação da mobilidade dos elétrons e lacunas nos
transistores N e P, respectivamente, no i-ésimo inversor.
Para a utilização de (19), é necessário saber a média, a variância e a covariância das variáveis
aleatórias, além das derivadas da equação (20) em relação a estas variáveis. Isto será determinado a
seguir.
3.3.4.2 Modelos estatísticos para os parâmetros variáveis
Como apontado em [Pe89], podemos separar os processos que geram variações nos parâmetros do
transistor em duas classes. Na primeira classe, estão os processos físicos que têm variações de curta
distância, short distance variations, podendo ser modelados como ruído branco espacial (Figura
40(a)). Chamaremos estas variações de short distance disturbances. Se o parâmetro é afetado por
apenas este tipo de problema, então sua variância é dependente de 1/WL, onde W e L são as dimensões
do canal do transistor. Na segunda classe, estão os processos físicos que têm variações de longa
distância ou long distance variations. O valor do parâmetro dependerá da posição do transistor na
lâmina, ou melhor, é função de D2, onde D é a distância a um ponto de referência na lâmina.
Chamaremos as variações desta classe de long distance disturbances.
Otimização de Tapered Buffers para altas taxas de operação
113
Os parâmetros W e L em particular são afetados por processos um pouco diferentes daqueles
discutidos no parágrafo anterior, como apontado em [La86] e [Oe93]. Eles sofrem basicamente de
efeitos de rugosidade das bordas, edge roughness, e problemas de acurácia de repetição no processo de
geração de formas, repetition accuracy of pattern generation process (Figura 40). Ambos os processos
têm variações de curta distância.
A causa das variações, a média e a variância dos parâmetros, além da covariância entre eles, são
fornecidas abaixo ([La86], [Pe89] e [Oe93]). No que segue, indicaremos por x eσ x respectivamente o
valor médio e a variância da variável x e por Cx,y a covariância entre as variáveis x e y.
W
L
WW
(a) (b) (c) Figura 40. Processos básicos que geram os desvios nos parâmetros: (a) eventos que ocorrem
aleatoriamente no circuito como ruído branco (nonuniform arrangement of events), (b) rugosidade
das bordas (edge roughness), e (c) acurácia de repetição no processo de geração de formas (repetition
accuracy of pattern generation process)[Oe93].
3.3.4.2.1 Parâmetro Li
O comprimento de canal do transistor, Li, sofre desvios devido à acurácia de repetição no processo
de geração de formas, durante a produção do transistor, e devido à rugosidade das bordas do canal
[Oe93], como já dito. Os dois problemas são locais, short distance disturbances. Os valores da média e
variância deste parâmetro são
L Li = e σ σLi L L
iL LA
L W
=
+
20
2 2
2 (o primeiro termo da direita é causado pelo pattern generation
process; o segundo, pela edge roughness).
onde σL0 e AL são parâmetros do processo.
O parâmetro Li é considerado como sendo independente de todos os outros parâmetros, mesmo os
outros Lis, pois é modificado apenas por variações de curta distância.
3.3.4.2.2 Parâmetro Wi
A largura de canal do transistor, Wi, sofre também de desvios devido à acurácia de repetição no
processo de geração de formas, durante a produção do transistor, e devido à rugosidade das bordas do
Otimização de Tapered Buffers para altas taxas de operação
114
canal [Oe93]. Os dois problemas são locais, short distance disturbances. Os valores da média e
variância deste parâmetro são
W Wii= −χ 1 e
σ σWi
i
W
i
W
iW WA
LW
=
+
20
2 2
2 (o primeiro termo da direita é causado pelo pattern
generation process; o segundo, pela edge roughness).
onde σW0 e AW são parâmetros do processo.
O parâmetro Wi, tal como Li, é considerado independente dos outros todos.
3.3.4.2.3 Parâmetros VTni e VTpi
A tensão de limiar do transistor N, VTni, sofre de desvios devido às short distance disturbances e
long distance disturbances. Os valores da média e variância deste parâmetro são [Pe89]
V VTni Tn= e σVTniVTn
iVTn is ce
AW L
S D22
2 2= + tan (o primeiro termo da direita é causado pelas variações de curta
distância; o segundo, pelas variações de longa distância).
onde AVTn e SVTn são parâmetros do processo;
Distance é a distância do transistor a uma referência.
Assumiremos que todos os inversores que fazem parte do mesmo tapered buffer sofrem do mesmo
desvio de longa distância. Também assumiremos que os processos de curta e de longa distância são
independentes. Em conseqüência, a covariância entre VTnis será
C S DVTni VTnj VTn is ce, tan= 2 2 .
As informações na literatura acerca da covariância entre VTni e os outros parâmetros, principalmente
Coxi e VTpi, são controversas. Em [La86] é sugerido que a covariância entre VT e Cox é mínima, quase
zero; em [Af92], todos os parâmetros do transistor são tomados como independentes. Por outro lado,
em [Ha96] é encontrado um coeficiente de correlação de 0,21 entre VTn e VTp, e um coeficiente de
correlação de 0,86 entre VTn e tox (espessura do óxido de porta). [Po94] aponta que a tensão de flat
band, tanto do transistor N como do P, tem coeficiente de correlação com tox não pequeno (0,42 e 0,2
respectivamente).
Em nosso trabalho vamos assumir covariância zero entre VTni e os outros parâmetros diferentes de
VTnj, principalmente por razões de simplicidade.
A tensão de limiar do transistor P, VTpi, tem as mesmas características que VTni. Sua média e
variância são
V VTpi Tp= e σVTpiVTp
iVTp is ce
AW L
S D22
2 2= + tan
onde AVTp e SVTp são parâmetros do processo;
Otimização de Tapered Buffers para altas taxas de operação
115
Distance é a distância do transistor a uma referência.
A covariância entre VTpis será
C S DVTpi VTpj VTp is ce, tan= 2 2 .
A covariância entre VTpi e outros parâmetros é assumida como sendo zero.
3.3.4.2.4 Parâmetro Coxi
A capacitância, por unidade de área, no gate do transistor, Coxi, sofre de desvios devido às short
distance disturbances e long distance disturbances. Os valores da média e variância deste parâmetro
são [Pe89]
C Coxi ox= e σCoxiCox
iCox is ce
AW L
S D22
2 2= + tan (o primeiro termo da direita é causado pelas variações de curta
distância; o segundo, pelas variações de longa distância).
onde ACox e SCox são parâmetros do processo;
Distance é a distância do transistor a uma referência.
Assumiremos que todos os inversores que fazem parte do mesmo tapered buffer sofrem do mesmo
desvio de longa distância. Também assumiremos que os processos de curta e de longa distância são
independentes. Em conseqüência, a covariância entre Coxis será
C S DCoxi Coxj Cox is ce, tan= 2 2 .
A covariância entre Coxi e outros parâmetros é assumida como sendo zero. As razões são as mesmas
expostas para o parâmetro VTni.
3.3.4.2.5 Parâmetros µni e µpi
A mobilidade dos elétrons no transistor N, µni, sofre de desvios devido às short distance
disturbances e long distance disturbances. Os valores da média e variância deste parâmetro são [Pe89]
µ µni n= e σµµ
µnin
in is ce
AW L
S D22
2 2= + tan (o primeiro termo da direita é causado pelas variações de curta
distância; o segundo, pelas variações de longa distância).
onde Aµn e Sµn são parâmetros do processo;
Distance é a distância do transistor a uma referência.
Assumiremos que todos os inversores que fazem parte do mesmo tapered buffer sofrem do mesmo
desvio de longa distância. Também assumiremos que os processos de curta e de longa distância são
independentes. Em conseqüência, a covariância entre µnis será
C S Dni nj n is ceµ µ µ, tan= 2 2 .
Otimização de Tapered Buffers para altas taxas de operação
116
Informações sobre a covariância entre µni e os outros parâmetros são poucas na literatura. Em
[Po94] podemos calcular o coeficiente de correlação entre µn e µp, que resulta ser baixo. Adotaremos,
portanto, covariância zero entre µni e os outros parâmetros diferentes de µnj.
A mobilidade das lacunas no transistor P, µpi, tem as mesmas características que µnj. Sua média e
variância são
µ µpi p= e σµµ
µpip
ip is ce
AW L
S D22
2 2= + tan
onde Aµp e Sµp são parâmetros do processo;
Distance é a distância do transistor a uma referência.
A covariância entre µpis será
C S Dpi pj p is ceµ µ µ, tan= 2 2 .
A covariância entre µpi e outros parâmetros é assumida como sendo zero.
3.3.4.3 Expressões para as derivadas e sua avaliação nos valores médios
Devemos encontrar as derivadas de tD (20) em função dos parâmetros Li, Wi, Coxi, VTni, VTpi, µni e
µni, 1≤ ≤i N e, posteriormente, avaliar estas derivadas no valor médio dos parâmetros. A dedução
destes segue-se.
Primeiro calculamos as derivadas com relação aos Wis. De (20) chegamos a
( ) ( ) ( )
( )
∂∂
θ µ µ
θµ
tW
V L L W CW C
F V V V K L L CW C
F V V V K
L L W CW C
F V V V K L L CW
D
i
DD i i i oxi
i oxiD Tni Tpi D n ni Cn
i i oxi
i oxiD Tni Tpi D n ni Cn
i i i oxi
i oxiD Tpi Tni D p pi Cp
i i oxi
= + − +
+
− +
+ + ++
−
− −− −
+ + ++
−
12
1 1 12 1 0
1
1 11 0 1
1 1 12 1 0
1
, , , , , ,
, , , ( )i oxi
n Tpi Tni D p pi CpCF V V V K
− −− −
1 11 0 1, , ,θµ
para 1< ≤i N .
As derivadas avaliadas no valor médio das variáveis serão:
( ) ( ) ( )
( ) ( ) ( )
∂∂
θχ
µ µ
θχ
θµ θµ
tW
V LW
F V V V KL
WF V V V K
V LW
F V V V KL
WF V V V K
D
ivalormediodas
iaveis
DD
iD Tn Tp D n n Cn
iD Tn Tp D n n Cn
DD
iD Tp Tn D p p Cp
iD Tp Tn D p p Cp
var
, , , , , ,
, , , , , ,
= + − +
+
+ − +
=
−
−
12
12
0
2
0
2
10
2
0
2
10
Logo as derivadas em relação aos Wis, para 1< ≤i N , têm valor zero quando avaliadas no valor
médio das variáveis. Para i=1 o resultado é ligeiramente diferente:
Otimização de Tapered Buffers para altas taxas de operação
117
( ) ( ) ( )
( ) ( )
∂∂
θ µ
θµ
tW
V L L W CW C
F V V V KL CI
F V V
L L W CW C
F V V V KL CI
F V V
D DD ox
oxD Tn Tp D n n Cn
ox
D nTp D n
ox
oxD Tp Tn D p p Cp
ox
D pTn D p
1
1 2 2 2
12
11 2 0 1
1 1
0 01 0
1 2 2 2
12
11 2 0 1
1 1
0 01 0
12
= + − +
+
− +
, , , ,
, , , ,
Quando M>>1 teremos no valor médio
( ) ( ) ( )[ ]∂∂
θ χ µ θµtW
V LW
F V V V K F V V V KDvalormediodas
iaveis
DDD Tn Tp D n n Cn D Tp Tn D p p Cp
1
2
0 012
var
, , , , , ,≈ − + + (21)
A dedução das derivadas com respeito aos Lis é feito abaixo.
( ) ( ) ( )
( )
( )
∂∂
θ µ µ
µ
θ
tL
V K WWC
F V V V KC L W
WCF V V V K
C L WW C
F V V V K
V K WWC
F V V V
D
i
DD DS i
i oxiD Tni Tpi D n ni Cn
oxi i i
i oxiD Tni Tpi D n ni Cn
oxi i i
i oxiD Tni Tpi D ni ni Cn
DD DS i
i oxiD Tpi Tni D
= + + +
+
+
++ + +
+
−
− −− − −
+
12
12
1 01 1 1
1 0
1
1 11 0 1 1
1 0
, , , , , ,
, , ,
, ,( ) ( )
( )
p pi Cpoxi i i
i oxiD Tpi Tni D p pi Cp
oxi i i
i oxiD Tpi Tni D p pi Cp
KC L W
WCF V V V K
C L WW C
F V V V K
, , , ,
, , ,
θµ θµ
θµ
+ +
+ + ++
−
− −− −
1 1 11 0
1
1 11 0 1
para 1< ≤i N .
Estas derivadas avaliadas no valor médio das variáveis darão:
( ) ( ) ( )( )∂∂
θ χ µ θµtL
LV KLC
F V V V K F V V V KD
ivalormediodas
iaveis
DD DS
oxD Tn Tp D n n Cn D Tp Tn D p p Cp
var
, , , , , ,= + +
+1
22 0 0 (22)
Para i=1 teremos
( ) ( ) ( )
( )
( ) ( )
∂∂
θ µ µ
θ θµ
tL
V K WW C
F V V V KC L W
W CF V V V K
C WI
F V V
V K WW C
F V V V KC L W
W CF
D DD DS
oxD Tn Tp D n n Cn
ox
oxD Tn Tp D n n Cn
ox
D nTp D n
DD DS
oxD Tp Tn D p p Cp
ox
ox
1
1
1 11 2 0 1
2 2 2
1 11 2 0 1
1 1
0 01 0
1
1 11 2 0 1
2 2 2
1 1
12
12
= + + +
+
+ +
, , , , , ,
, ,
, , , ( )
( )
D Tp Tn D p p Cp
ox
D pTn D p
V V V K
C WI
F V V
1 2 0 1
1 1
0 01 0
, , ,
,
θµ +
Esta derivada avaliada no valor médio das variáveis dará (para M>>1)
Otimização de Tapered Buffers para altas taxas de operação
118
( ) ( ) ( )( )∂∂
θ χ µ θµtL
LV KLC
F V V V K F V V V KDvalormediodas
iaveis
DD DS
oxD Tn Tp D n n Cn D Tp Tn D p p Cp
10 01
2var
, , , , , ,≈ + +
+
O próximo passo é encontrar as derivadas com relação às variáveis Coxis:
( ) ( )
( )
∂∂
θ µ µ
µ
θ
tC
V K L WW C
F V V V K L L W CW C
F V V V K
L L WW C
F V V V K
V K L WW C
F
D
oxi
DD DS i i
i oxiD Tni Tpi D n ni Cn
i i i oxi
i oxiD Tni Tpi D n ni Cn
i i i
i oxiD Tni Tpi D n ni Cn
DD DS i i
i oxi
= + − − +
+
+ −
++ + +
+
−
− −− −
( ) , , , , , ,
, , ,
( )
12
12
2 1 01 1 1
2 1 0
1
1 11 0 1
2 ( ) ( )
( )
D Tpi Tni D p pi Cpi i i oxi
i oxiD Tpi Tni D p pi Cp
i i i
i oxiD Tpi Tni D p pi Cp
V V V K L L W CW C
F V V V K
L L WW C
F V V V K
, , , , , ,
, , ,
++ + +
+
−
− −− −
− +
1 01 1 1
2 1 0
1
1 11 0 1
θµ θµ
θµ
para 1< ≤i N .
No valor médio das variáveis estas derivadas serão
( ) ( )
( ) ( )
∂∂
θχ χ
µ
θχ χ
θµ
tC
V K LC
LC
LC
F V V V K
V K LC
LC
LC
F V V V K
D
oxivalormediodas
iaveis
DD DS
ox ox oxD Tn Tp D n n Cn
DD DS
ox ox oxD Tp Tn D p p Cp
var
, , ,
, , ,
= + − − +
+
+ − − +
12
12
2
2 2
0
2
2 2
0
e por fim
( ) ( )[ ]∂∂
θ µ θµt
CV K L
CF V V V K F V V V KD
oxivalormediodas
iaveis
DD DS
oxD Tn Tp D n n Cn D Tp Tn D p p Cp
var
( ) , , , , , ,= − + +12 2 0 0 (23)
Para i=1 teremos
( ) ( )
( )
( )
∂∂
θ µ µ
θ θµ
tC
V K L WW C
F V V V KL L W C
W CF V V V K
L WI
F V V
V K L WW C
F V V V K
D
ox
DD DS
oxD Tn Tp D n n Cn
ox
oxD Tna Tp D n n Cn
D nTp D n
DD DS
oxD Tp Tn D p p Cp
1
1 1
1 12 1 2 0 1
1 2 2 2
1 12 2 0 1
1 1
0 01 0
1 1
1 12 1 2 0 1
12
12
= + − − +
+
+ − −
( ) , , , , , ,
,
( ) , , , ( )
( )
L L W CW C
F V V V K
L WI
F V V
ox
oxD Tp Tn D p p Cp
D pTn D p
1 2 2 2
1 12 1 2 0 1
1 1
0 01 0
, , ,
,
θµ +
No valor médio das variáveis esta derivada será (para M>>1)
Otimização de Tapered Buffers para altas taxas de operação
119
( ) ( ) ( )[ ]∂∂
θχ
µ θµt
CV K L
CL
CF V V V K F V V V KD
oxivalormediodas
iaveis
DD DS
ox oxD Tn Tp D n n Cn D Tp Tn D p p Cp
var
, , , , , ,≈ − + +
+1
2 2
2
0 0 .
As derivadas com respeito as variáveis Vtnis e Vtpis são determinadas para 1< ≤i N .
( ) ( )∂∂
∂ µ∂
∂ θµ∂
tV
V L CWC
F V V V KV
L CW C
F V V V KV
D
Tni
DD i Li
i oxi
D Tni Tpi D n ni Cn
Tni
i Li
i oxi
D Tpi Tni D p pi Cp
Tni
= +
+ − −
− −
− −
21 0 1 1
1 1
1 0 1, , , , , ,
( ) ( )∂∂
∂ θµ∂
∂ µ∂
tV
V L CWC
F V V V KV
L CW C
F V V V KV
D
Tpi
DD i Li
i oxi
D Tpi Tni D p pi Cp
Tpi
i Li
i oxi
D Tni Tpi D n ni Cn
Tpi
= +
+ − −
− −
− −
21 0 1 1
1 1
1 0 1, , , , , ,
( )( ) ( )∂
∂θ χ
∂ µ∂
∂ θµ∂
tV
VL
KLC
F z V V Kz
F V z V Kz
D
Tnivalormediodas
iaveis
DD DS
ox
D Tp D n n Cn D Tp D p p Cp
var
, , , , , ,= + +
+
12
2 0 0 (24)
( )( ) ( )∂
∂θ χ
∂ θµ∂
∂ µ∂
tV
VL
KLC
F z V V Kz
F V z V Kz
D
Tpivalormediodas
iaveis
DD DS
ox
D Tn D p p Cp D Tn D n n Cn
var
, , , , , ,= + +
+
12
2 0 0 (25)
Para i=1 encontraremos os mesmos valores para as derivadas.
Finalmente, as derivadas com respeito as variáveis µnis e µpis para 1≤ ≤i N são
( )∂∂µ
∂ µ∂µ
t V L CWC
F V V V KD
ni
DD i Li
i oxi
D Tni Tpi D n ni Cn
ni=
+
21 0, , ,
( )∂∂µ
∂ θµ∂µ
t V L CWC
F V V V KD
pi
DD i Li
i oxi
D Tpi Tni D p pi Cp
pi=
+
21 0, , ,
( )( )∂
∂µθ χ
∂∂
t VL
KLC
F V V V zKz
D
nivalormediodas
iaveis
DD DS
ox
D Tn Tp D n Cn
var
, , ,= + +
12
2 0 (26)
( )( )∂
∂µθ χ
∂ θ∂
t VL
KLC
F V V V zKz
D
pivalormediodas
iaveis
DD DS
ox
D Tp Tn D p Cp
var
, , ,= + +
12
2 0 (27)
Uma observação final deve ser feita. Pudemos tratar as derivadas para 1< ≤i N igualmente, em
todos os casos acima, devido ao termo (17) que foi adicionado para formar a expressão (18), que, por
sua vez, gerou (20).
Otimização de Tapered Buffers para altas taxas de operação
120
3.3.4.4 Cálculo da variância do atraso de um Tapered Buffer
Agora a equação (19) somada as relações das derivadas de (20), expressões de (21) a (27), e os
modelos estatísticos dos parâmetros variáveis, com as médias, variâncias e covariâncias, fornecerão
enfim a variância de tD. Por razões de simplicidade usaremos a expressão (22), válida apenas para
1< ≤i N , no cálculo da derivada ∂∂tL
D
1 e a expressão (23), válida apenas para1< ≤i N , no cálculo da
derivada ∂∂
tC
D
ox1
. Abaixo está a expressão de σtD:
( )σ χσ
χσ
χ
tDW W DS
ox
L L
ii
N
DS
ox
Cox
ii
N
CoxDS
ox
VTn
ZW
AW L
ZKLC
NL
AW L
ZKLC
ALW
N S D ZKLC
AL
21
2 02 2
2 1
2
02 2
21
1 2
2 2
1
2 2 22
2 2
2=
+
+ +
+
+
+
+ +
=
=
∑
∑ WN S D
ZKLC
ALW
N S D ZKLC
ALW
N S D
ZKLC
ALW
ii
N
VTn
DS
ox
VTp
ii
N
VTpDS
ox
n
ii
N
n
DS
ox
p
ii
N
=
= =
=
∑
∑ ∑
∑
+
+
+
+
+ +
+
+
+
+
1
2 2 2
3
2 2
1
2 2 24
2 2
1
2 2 2
5
2 2
1
χ χ
χ
µµ
µ N S Dp2 2 2
µ
onde: ( ) ( ) ( )[ ]ZV
L F V V V K F V V V KDDD Tn Tp D n n Cn D Tp Tn D p p Cp1
20 01
2= + +θ µ θµ, , , , , ,
( )( ) ( )
ZV
LF z V V K
zF V z V K
zDD D Tp D n n Cn D Tp D p p Cp
22 0 0
12
= + +
θ∂ µ
∂∂ θµ
∂, , , , , ,
( )( ) ( )
ZV
LF z V V K
zF V z V K
zDD D Tn D p p Cp D Tn D n n Cn
32 0 01
2= + +
θ∂ θµ
∂∂ µ
∂, , , , , ,
( )( )
ZV
LF V V V zK
zDD D Tn Tp D n Cn
42 01
2= +
θ∂
∂, , ,
e ( )( )
ZV
LF V V V zK
zDD D Tp Tn D p Cp
52 0
12
= +
θ∂ θ
∂, , ,
Notemos que Z1, Z2, Z3, Z4 e Z5 são independentes de W. Rescrevemos a equação da variância
eliminando todos os somatórios e separando os termos:
Otimização de Tapered Buffers para altas taxas de operação
121
( ) ( )
( ) ( )
σ χσ
χ χσ
χχ
χ χχ
χ χ
tDW W DS
ox
L
DS
ox
N
NL DS
ox
N
NCox
ZW
ZA
W LZ
KLC
NL
ZKLC
AWL
ZKLC
ALW
Z
21
2 02
1
22
2 1
2
02
1
2
1
2
2 1 2
2
1
2
2
21
11
1
=
+ + +
+
+
−−
+
−−
+− −
( ) ( )
( )
2
2
1
2
3
2
1
2
4
2
1
2
5
11
11
11
KLC
ALW
ZKLC
ALW
ZKLC
ALW
ZKLC
DS
ox
N
NVTn DS
ox
N
NVTp
DS
ox
N
Nn DS
ox
+
−−
+ +
−−
+
+
−−
+ +
− −
−
χχ
χ χχ
χχ χ
χχ
χ χχµ
( )
( )
−−
+
+ +
+ +
+
+
+ +
−
2
1
2
1 2
22 2 2
2
2
2 2 23
2
2 2 2
4
2
2 2 25
11
χχ χ
χ χ
χ χ
µ
µ
N
Np
DS
oxCox
DS
oxVTn
DS
oxVTp
DS
oxn
DS
ox
ALW
ZKLC
N S D ZKLC
N S D ZKLC
N S D
ZKLC
N S D ZKLC
2
2 2 2N S Dpµ
(28)
A expressão da variância, exposta acima, obtida considerando as variações nos parâmetros Li, Wi,
VTni, VTpi, Coxi, µni e µpi, apesar das simplificações discutidas, apresenta ainda quatorze termos.
3.3.4.5 Análise da variância em função do fator de aumento
Uma vez encontrada a expressão para a variância (28), podemos responder a questão original, a
saber, como a variância do atraso é afetada pelo fator de aumento usado no tapered buffer. Vamos
comparar a variância do atraso na configuração da Figura 39, para buffers com fatores de aumento
diferentes. Consideremos, portanto, duas implementações para a distribuição do clock; a
implementação A com M buffers, cada um deles com Na inversores e fator de aumento χa, e a
implementação B com M buffers com Nb inversores e fator de aumento χb. Para que a comparação
tenha sentido vamos ainda assumir que valem, para ambas implementações, as condições:
i. todos os buffers têm o mesmo valor de θ;
ii. as dimensões do primeiro inversor de todos os buffers são iguais;
iii. a carga na saída de cada buffers é a mesma, ou seja que χ χaN
bNa b= .
Para extrair algum resultado de (28), é feita a comparação termo a termo da expressão.
3.3.4.5.1 Primeiro e segundo termo
O primeiro e o segundo termos são os mais simples da expressão (28). Eles dependem diretamente
do fator de aumento, χ, e, portanto, serão maiores para valores maiores de χ.
Um comentário adicional é sobre a importância destes termos. É razoável supormos que σ σW L0 0≈
e A AW L≈ ; além disso normalmente W>>L. Em razão disso podemos ver que o primeiro termo é
Otimização de Tapered Buffers para altas taxas de operação
122
muito menor que o terceiro, ZKLC
NL
DS
ox
L1
2
02
2+
χ
σ, e o segundo, muito menor que o quarto
( ( )ZKLC
AWL
DS
ox
N
NL
1
2
1
2
221
1+
−−
−χ
χχ χ
). São, portanto, os dois primeiros termos da expressão pouco
relevantes.
3.3.4.5.2 Terceiro termo
A razão entre os terceiros termos das expressões da variância nas duas implementações é calculada
abaixo:
σ
σ
χσ
χσ
χ
χ
χ χ
χ
tD termobufferA
tD termobufferB
DS
oxa a
L
DS
oxb b
L
DS
oxa a
DS
oxb b
DS
oxa b
DS
oxb
o
o
ZKLC
NL
ZKLC
NL
KLC
N
KLC
N
KLC
KLC
23
23
1
2
02
1
2
02
2
2
2
2
2
2
2
2
2=
+
+
=+
+
=+
+
ln
2
ln χa
σ
σ
χ
χ
χχ
tD termobufferA
tD termobufferB
DS
oxa
DS
oxb
b
a
o
o
KLCKLC
3
3
2
2=
+
+
lnln
Do resultado acima, vemos que o comportamento relativo do terceiro termo da equação da
variância do atraso depende do fator
KLC
DS
ox
+
2χ
χln. Assim, estudando o comportamento deste fator
como função do fator de aumento, χ, podemos saber se o terceiro termo aumenta ou não com χ. Um
resultado mais conveniente para análises pode ainda ser derivado. Considere a desigualdade abaixo:
σ
σ
χ
χ
χχ
χ
χ
χχ
χχ
tD termobufferA
tD termobufferB
DS
oxa
DS
oxb
b
a
DS
oxa
DS
oxb
b
a
da
db
b
a
o
o
KLCKLC
KLCKLC
tt
3
3
2
2=
+
+
≥+
+
=lnln
lnln
lnln
*
* para χ χa b≥
onde t da é o atraso médio de um inversor da implementação A e t db é da implementação B (veja (11)).
A desigualdade mostra que se usarmos o fator Fact d
3 = ln χ para estudo do comportamento do
terceiro termo, estaremos “prejudicando” os buffers de menor fator de aumento. Como o valor de td
pode ser determinado facilmente por simulações, preferimos analisar Fac3.
Otimização de Tapered Buffers para altas taxas de operação
123
3.3.4.5.3 Quarto termo
A razão entre os quartos termos das expressões da variância nas duas implementações é calculada
abaixo:
( )
( )
σ
σ
χχ
χ χ
χχ
χ χ
χ
χ
χtD termo
bufferA
tD termobufferB
DS
oxa
L aN
a aN
DS
oxb
L bN
b bN
DS
oxa
DS
oxb
o
o
a
a
b
b
ZKLC
AWL
ZKLC
AWL
KLC
KLC
24
24
1
2 2
2 1
1
2 2
2 1
2
2
21
1
21
1
2
2=
+
−−
+
−−
=+
+
−
−
( )
( )
( )( )
aN
a aN
bN
b bN
DS
oxa
DS
oxb
b a
a b
DS
oxa
DS
oxb
Ga
Gb
a
a
b
b
KLC
KLC
KLC
KLC
ff
−−
−−
=
+
+
−
−=
+
+
−
−
11
11
2
2
11
2
2
1
1
2
2
2
2
χ χχ
χ χ
χ
χ
χ χχ χ
χ
χ
*
onde fG =−χ
χ 1;
* lembremos que χ χaN
bNa b= .
Ainda, como acima, podemos fazer as seguintes manipulações
σ
σ
χ
χ
tD buffera
tD bufferb
DS
oxa
DS
oxb
Ga
Gb
da
db
Ga
Gb
KLCKLC
ff
tt
ff
=+
+
≥2
2
*
* para χ χa b≥
O fator Fac t fd G4 = será usado para a análise do comportamento do quarto termo.
3.3.4.5.4 Quinto termo
A razão entre os quintos termos das expressões da variância nas duas implementações é calculada
abaixo:
( )
( )
( )( )
σ
σ
χχ χ
χχ χ
χ χχ χ
tD termobufferA
tD termobufferB
DS
ox
Cox aN
a aN
DS
ox
Cox bN
b bN
a b
b a
Ga
Gb
o
o
a
a
b
b
ZKLC
ALW
ZKLC
ALW
ff
25
25
1 2
2 2
1
1 2
2 2
1
11
11
11
=
−−
−−
=−
−=
−
−
σ
σ
tD termobufferA
tD termobufferB
Ga
Gb
o
o
ff
5
5= .
Otimização de Tapered Buffers para altas taxas de operação
124
O fator Fac fG5 = será usado para análise do comportamento do quinto termo. Notemos que não
foi usada nenhuma desigualdade aqui.
3.3.4.5.5 Sexto a nono termos
A razão entre os sextos termos das expressões da variância nas duas implementações é calculada
abaixo:
( )
( )
( )( )
σ
σ
χχ
χ χ
χχ
χ χ
χ χχ χ
tD termobufferA
tD termobufferB
DS
oxa
VTn aN
a aN
DS
oxb
VTn bN
b bN
da
db
a b
b a
da
db
Ga
Gb
o
o
a
a
b
b
ZKLC
ALW
ZKLC
ALW
tt
tt
ff
26
27
2
2 2
1
2
2 2
1
2
2
2
2
11
11
11
=
+
−−
+
−−
=−
−=
−
−
σ
σ
tD termobufferA
tD termobufferB
da
db
Ga
Gb
o
o
tt
ff
6
6= .
O fator Fac t fd G6 = será usado para análise do comportamento do sexto termo. Para o sétimo, o
oitavo e o nono termo, facilmente encontramos que Fac Fac Fac t fd G7 8 9= = = .
3.3.4.5.6 Décimo termo
A razão entre os décimo termos das expressões da variância nas duas implementações é calculada
abaixo:
( )
( )
σ
σ
tD termobufferA
tD termobufferB
DS
oxa Cox
DS
oxb Cox
a
b
o
o
ZKLC
N S D
ZKLC
N S D
NN
210
210
1 2
22 2 2
1 2
22 2 2
2
2=
= ; σ
σχχ
tD termobufferA
tD termobufferB
a
b
b
a
o
o
NN
10
10= =
lnln
.
O fator Fac10
1=
ln χserá usado para análise do comportamento do décimo termo.
3.3.4.5.7 Décimo primeiro a décimo quarto termos
A razão entre os décimos primeiros termos das expressões da variância nas duas implementações é
calculada abaixo:
σ
σ
χ
χ
tD termobufferA
tD termobufferB
DS
oxa a VTn
DS
oxb b VTn
da
db
a
b
o
o
ZKLC
N S D
ZKLC
N S D
tt
NN
211
211
2
2
2 2 2
2
2
2 2 2
2
2
2
2=
+
+
= ; σ
σχχ
tD termobufferA
tD termobufferB
da
db
a
b
da
db
b
a
o
o
tt
NN
tt
11
11= =
lnln
;
Otimização de Tapered Buffers para altas taxas de operação
125
O fator Fact d
11 = ln χserá usado para análise do comportamento do décimo primeiro termo. Para os
outros três termos, encontramos analogamente que Fac Fac Fact d
12 13 14= = =ln χ
.
Na Tabela 11 está um resumo dos resultados acima. Para cada um dos termos da equação (28) são
fornecidos a descrição daquilo que o causa, a sua expressão e que fator devemos analisar para
determinar seu comportamento.
Observe que os fatores ligados a Coxi, Fac5 e Fac10, são independentes da tecnologia.
3.3.4.5.8 Resultados Numéricos
Para que a comparação dos termos possa ser realizada, devemos conhecer os valores de t d em
função de χ. Eles foram obtidos com o HSPICE que tem comandos específicos para calcular esta
grandeza [Me95a] sem necessidade de simulações com osciladores em anel. Foram simulados
inversores tanto da tecnologia CMOS 0,8µm (level 6) como da tecnologia 0,35µm (level 3)
(APÊNDICE B). Parâmetros slow foram usados em ambos os casos. A Tabela 12 apresenta os
resultados. A Figura 41, por sua vez, mostra o gráfico do atraso de um inversor em função do fator de
aumento do buffer. Como era esperado, há uma relação linear entre atraso e fator de aumento.
Tabela 11. Descrição, expressão e fator para análise de cada termo da equação (28).
Otimização de Tapered Buffers para altas taxas de operação
126
Termo descrição do que causa o termo
expressão do termo fator para análise
primeiro accuracy of pattern generation process de Wi;
variações de curta dist. ( )Z
WW
1
2 02
χσ
χ (termo não significativo.)
segundo edge roughness de Wi; variações de curta dist. ( )Z
AW L
W1
22
2χ χ (termo não significativo.)
terceiro accuracy of pattern generation process de Li; variações de curta dist.
ZKLC
NL
DS
ox
L1
2
02
2+
χ
σ Fac
t d3 = ln χ
quarto edge roughness de Li; variações de curta dist. ( )Z
KLC
AL W
DS
ox
N
NL
1
2
1
2
221
1+
−−
−χχ
χ χ Fac t fd G4 =
quinto nonuniform arrangement of events para Coxi; variações
de curta dist. ( )ZKLC
ALW
DS
ox
N
NCox
1 2
2
1
211
−−
−
χχ χ
Fac fG5 =
sexto nonuniform arrangement of events para VTni; variações
de curta dist. ( )ZKLC
ALW
DS
ox
N
NVTn
2
2
1
211
+
−−
−χχ
χ χ
Fac t fd G6 =
sétimo nonuniform arrangement of events para VTpi; variações
de curta dist. ( )ZKLC
ALW
DS
ox
N
N
VTp3
2
1
211
+
−
−
−
χχ
χ χ
Fac t fd G7 =
oitavo nonuniform arrangement of events para µni; variações de
curta dist. ( )ZKLC
ALW
DS
ox
N
Nn
4
2
1
211
+
−−
−χ
χχ χ
µ Fac t fd G8 =
nono nonuniform arrangement of events para µpi; variações de
curta dist. ( )ZKLC
ALW
DS
ox
N
Np
5
2
1
211
+
−−
−χχ
χ χµ
Fac t fd G9 =
décimo variações de longa dist. para Coxi Z
KLC
N S DDS
oxCox1 2
2
2 2 2
Fac10
1=
ln χ
décimo primeiro
variações de longa dist. para VTni Z
KLC
N S DDS
oxVTn2
2
2 2 2+
χ Fac
t d11 = ln χ
décimo segundo
variações de longa dist. para VTpi Z
KLC
N S DDS
oxVTp3
2
2 2 2+
χ Fac
t d12 = ln χ
décimo terceiro
variações de longa dist. para µni Z
KLC
N S DDS
oxn4
2
2 2 2+
χ µ Fac
t d13 = ln χ
décimo quarto
variações de longa dist. para µpi Z
KLC
N S DDS
oxp4
2
2 2 2+
χ µ Fac
t d14 = ln χ
Otimização de Tapered Buffers para altas taxas de operação
127
Tabela 12. Atraso de um inversor como função do fator de aumento do buffer, para as tecnologias
0,8µm e 0,35µm.
fator de aumento
atraso do inversor para tecnologia de 0,8µm (ps)
atraso do inversor para tecnologia de 0,35µm (ps)
6 405,7 168,6 5,5 376,4 155,8 5 346,6 144,8
4,5 316,2 132,2 4 286,6 119,3
3,5 255,6 106,8 3 225,3 94,35
2,5 195,6 81,8 2 166 69,4
1,5 137 56,9 1,2 121 49,7
td(0,35) td (0,8)6 168,6 405,7
5,5 155,8 376,45 144,8 346,6
4,5 132,2 316,24 119,3 286,6
3,5 106,8 255,63 94,35 225,3
2,5 81,8 195,62 69,4 166
1,5 56,9 1371,2 49,7 121
0
50
100
150
200
250
300
350
400
450
0 1 2 3 4 5 6fator de aumento
atra
so (
ps)
td(0,35)td (0,8)
Figura 41. Atraso de um inversor em função do fator de aumento do buffer para as tecnologias
0,8µm e 0,35µm.
Podemos agora computar a variação dos Facs para estas tecnologias. As duas próximas figuras,
Figura 42 e Figura 43, apresentam o comportamento relativo destes fatores em função do valor de χ.
Foi usado como referência, para cada um dos fatores, o seu valor no ponto χ=3.
Otimização de Tapered Buffers para altas taxas de operação
128
Fac1 Fac2,4,5 Fac7,8 Fac3 Fac6 Fac3 Fac4,6,7,8,6 405,7 303,0855 444,4221 226,4255 1,095445 0,558111 1,410023 1,610604
5,5 376,4 288,2833 416,1259 220,7951 1,105542 0,586597 1,34116 1,5080585 346,6 273,2068 387,5106 215,3547 1,118034 0,621335 1,27102 1,404355
4,5 316,2 257,826 358,5371 210,2285 1,133893 0,664859 1,199465 1,2993534 286,6 243,4156 330,9372 206,7382 1,154701 0,721348 1,132425 1,19933
3,5 255,6 228,3633 302,43 204,029 1,183216 0,798236 1,062398 1,0960193 225,3 214,9508 275,935 205,0769 1,224745 0,910239 1 1
2,5 195,6 204,3394 252,5185 213,4694 1,290994 1,091357 0,950634 0,9151382 166 199,3863 234,7595 239,4874 1,414214 1,442695 0,92759 0,850778
1,5 137 215,1512 237,291 337,8836 1,732051 2,466303 1,000932 0,8599521,2 121 283,3781 296,3883 663,6626 2,44949 5,484815 1,31834 1,074123
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6fator de aumento
valo
r rel
ativ
o do
fato
r de
anál
ise
Fac3Fac4,6,7,8,9Fac11,12,13,14Fac5Fac10
Figura 42. Comportamento dos fatores de análise, Fac3 ..., Fac14, em função do fator de aumento do
buffer. Os valores apresentados são relativos ao valor encontrado para χ=3. A tecnologia é 0,8µm.
Fac1 Fac2,4,5 Fac7,8 Fac3 Fac6 Fac3 Fac4,6,7,8,6 168,6 125,9557 184,692 94,09745 1,095445 0,558111 1,399259 1,598304
5,5 155,8 119,3266 172,2434 91,3918 1,105542 0,586597 1,325616 1,4905755 144,8 114,1383 161,8913 89,9693 1,118034 0,621335 1,267978 1,400989
4,5 132,2 107,7944 149,9007 87,89441 1,133893 0,664859 1,197503 1,2972244 119,3 101,3241 137,7558 86,05676 1,154701 0,721348 1,125623 1,192123
3,5 106,8 95,41943 126,3675 85,25156 1,183216 0,798236 1,060027 1,093573 94,35 90,01599 115,5547 85,88107 1,224745 0,910239 1 0,999997
2,5 81,8 85,45484 105,6033 89,27298 1,290994 1,091357 0,949329 0,913882 69,4 83,3579 98,14642 100,123 1,414214 1,442695 0,926034 0,849348
1,5 56,9 89,35843 98,55369 140,3327 1,732051 2,466303 0,992695 0,8528731,2 49,7 116,3958 121,7396 272,5953 2,44949 5,484815 1,293057 1,053521
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6fator de aumento
valo
r rel
ativ
o do
fato
r de
anál
ise
Fac3Fac4,6,7,8,9Fac11,12,13,14Fac5Fac10
Figura 43. Comportamento dos fatores de análise, Fac3 ..., Fac14, em função do fator de aumento do
buffer. Os valores apresentados são relativos ao valor encontrado para χ=3. A tecnologia é 0,35µm.
Com o propósito de verificar as relações acima, foram realizadas simulações de "Monte Carlo",
considerando-se diferente buffers, com diferentes fatores de aumento, e, naturalmente, com χ N igual
para todos eles. Para cada um dos buffers foram variados aleatoriamente os seguinte parâmetros:
i. L, sendo considerado igual para os transistores P e N do mesmo inversor mas diferente para os
diversos inversores do buffer. Os resultados, neste caso, servem para verificar, indiretamente, as
derivadas ∂∂tL
D
ie, diretamente, o comportamento de Fac3;
ii. Cox, sendo considerado igual para todos os inversores do mesmo buffer. Os resultados aqui servem
para verificar, indiretamente, as derivadas ∂∂
tC
D
oxie, diretamente, o comportamento de Fac10;
Otimização de Tapered Buffers para altas taxas de operação
129
iii. VTn0, zero-bias threshold voltage, no modelo dos transistores N, sendo considerado igual para
todos os transistores N do buffer. Os resultados aqui servem para verificar, indiretamente, as
derivadas ∂tV
D
Tnie, diretamente, o comportamento de Fac11;
iv. µn0, mobilidade dos portadores no modelo dos transistores N, sendo considerada igual para todos
os transistores N do buffer. Os resultados aqui servem para verificar, indiretamente, as derivadas
∂∂µ
tD
noie, diretamente, o comportamento de Fac13.
Para determinar a variância do atraso, 1000 valores para cada parâmetro foram tomados. Com este
número podemos garantir que o desvio padrão correto está dentro de um intervalo inferior a ± 5% em
torno do valor do desvio padrão estimado a partir das simulações, com confiança de 90% (é
considerado que a distribuição de tD é normal e, portanto, seu desvio padrão tem distribuição qui
quadrado [Co77]).
A Figura 44 apresenta o desvio padrão normalizado do atraso do buffer para simulações
considerando variações em L, Cox, VTn0 e µn0, conforme explicado acima, para a tecnologia CMOS
0,35µm. Cada um dos parâmetros é considerado separadamente. Também na figura são apresentadas
as curvas de Fac3, Fac10, Fac11 e Fac13.
1 2 3 4 5 60
0 . 5
1
1 . 5
2
2 . 5
3 V a r i â n c i a c a u s a d a p o r L
V a r i â n c i a c a u s a d a p o r C o x
V a r i â n c i a c a u s a d a p o r V T n 0
V a r i â n c i a c a u s a d a p o r µ n 0
F a t o r d e a u m e n t o d o b u f f e r ( χ )
V a l o rn o r m a l i z a d o d o
d e s v i o p a d r ã od o a t r a s o d o
b u f f e r
F a c 1 1 e F a c 1 3
F a c 1 0
F a c 3
Figura 44. Gráfico do desvio padrão normalizado do atraso do buffer determinado por simulações de
"Monte Carlo", em função do fator de aumento do buffer (tecnologia 0,35µm). Também são
apresentadas as curvas teóricas para comparação dos resultados.
Pelos resultados vemos que as relações teóricas e os dados de simulação estão bastante próximos.
Uma observação a respeito das simulações feitas, para obter o desvio padrão do atraso, com variações
em Cox. O resultado mostrado no gráfico só foi conseguido após serem retiradas as resistências de
Otimização de Tapered Buffers para altas taxas de operação
130
dreno e de fonte dos transistores, resistências calculadas e incluídas automaticamente pelo HSPICE.
Esses resistores fazem com que o atraso do buffer tenda a aumentar quando o valor de Coxi aumenta e,
diminuir quando o valor de Coxi diminui. A expressão (23), calculada sem considerar tais resistores,
indica o comportamento inverso de tD com relação a Coxi. Desse modo, a presença dos resistores de
dreno e fonte faz com que o efeito da variação de Coxi em tD seja mitigado.
Dos resultados acima podemos tirar alguma conclusões. Primeiro, concentremos nossa atenção em
Fac5 e Fac10, ambos relacionados com Coxi. Note que como eles não dependem de t d , também não
dependerão da tecnologia. Fac5 e Fac10 diminuem continuamente com o aumento de χ. Deste modo, a
variância do atraso aumenta quando são utilizados valores baixos de χ, se estamos considerando
apenas as variações causadas por distúrbios em Coxi. Não obstante este resultado desfavorável,
devemos lembrar que Coxi é um dos parâmetros melhor controlados no processo de fabricação de
circuitos integrados CMOS. Deste modo, podemos esperar que a influência de Coxi seja de fato
pequena. Também a presença de resistências de dreno/fonte, não considerada nas relações teóricas,
reduz estes efeitos.
Fac3,Fac4, Fac6, ..., Fac9 são devidos às variações de curta distância em Li, VTni, VTpi, µni e µpi. Para
valores de χ maiores que 2, estes fatores vão aumentado a medida que χ aumenta; para valores de χ
entre 1,5 e 2, os fatores sofrem poucas variações; por fim, se χ tem valores inferiores a 1,5 então os
fatores aumentam bruscamente (Figuras 42 e 43). Segue destas observações que a redução do fator de
aumento, desde que este fique acima de 1,5, não traz conseqüências negativas para a variância do
atraso total, considerando as variações de curta distância em Li, VTni, VTpi, µni e µpi.
Fac11, ..., Fac14, que estão relacionados com variações de longa distância em VTni, VTpi, µni e µpi, têm
o seu valor mínimo em torno de χ=3,5 (Figuras 42 e 43). Para valores de χ menores que 1,5, Fac11, ...,
Fac14 aumentam rapidamente. Para χ=1,5 os valores de Fac11, ..., Fac14 são 70% maiores que os
valores mínimos que estes fatores assumem.
3.3.4.6 Considerações finais sobre o estudo do Mismatch do Atraso
A conclusão do estudo sobre a variância do atraso do tapered buffer é que seu comportamento
depende do tipo de distúrbio que é predominante na tecnologia utilizada. De forma geral, variações de
curta distância, exceto para Coxi, tendem a causar maiores problemas para buffers com fator de
aumento maior. Variações de longa distância, ao contrário, têm efeito mais acentuado nos buffers onde
χ é de valor menor. Podemos ainda esperar que, desde que variações no Coxi não sejam a principal
Otimização de Tapered Buffers para altas taxas de operação
131
fonte de mismatches em tD, e desde que o fator de aumento seja superior a 1,5, a utilização de maior ou
menor fator de aumento no tapered buffer não causará grandes diferenças na variância do atraso.
3.4 Conclusões sobre a otimização de Tapered Buffers
A aplicação do novo critério para otimização de tapered buffers permite, como vimos, um aumento
em torno de 20% da taxa máxima do sinal que propaga por eles. Este aumento, apesar de não ser
expressivo, pode, em certas aplicações, ser de fundamental importância para se alcançar os resultados
desejados. Veremos no próximo capítulo um exemplo destes.
O novo critério exige a utilização, no geral, de fatores de aumento pequenos o que acarreta o
aumento no número de inversores do buffer. Este maior número de inversores não piora
necessariamente as condições de matching entre buffers, como vimos. O comportamento do matching
dependerá da tecnologia e dos tipos de distúrbios nela predominantes.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
133
4. Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
4.1 Introdução
Nos dois capítulos precedentes apresentamos a estratégia E-TSPC e um novo critério para
otimização de tapered buffers. A tônica desses capítulos foi a apresentação teórica, sem comprovação
experimental dos resultados.
Durante a preparação do trabalho foram desenvolvidos alguns circuitos integrados que ajudaram na
elaboração e na verificação das idéias apresentadas. Dentre eles um circuito Multiplexador 8:1, um
Demultiplexador 1:8 com byte alignment e um circuito Dual-Modulus Prescaler (divide por 128/129).
O Multiplexador e o Demultiplexador foram implementados durante a fase inicial do trabalho para
aperfeiçoar versões anteriores destes mesmos circuitos ([Ro95a], [Ro95b], [Ro96]). Nestas novas
implementações foram empregados o critério de otimização de tapered buffers aqui tratado e flip-flops
usando blocos N-MOS like. O circuito Prescaler foi implementado com a finalidade específica de
comparar o E-TSPC com outras técnicas.
Apresentaremos neste capítulo estes três circuitos junto com os resultados experimentais obtidos. A
tecnologia utilizada nas implementações foi a CMOS 0,8µm (comprimento de canal efetivo de 0,7µm),
duplo metal, da ES2/ATMEL [Es94].
4.2 Circuitos Multiplexador e Demultiplexador
Umas das áreas mais promissoras para a aplicação de circuitos CMOS de alta freqüência é a de
transmissão digital de dados. No emprego de fibras óticas, que tem banda de transmissão superior a
50000Gbit/s [Ta96], vários são os circuitos necessários.
Circuitos Multiplexadores 8:1 e Demultiplexadores 1:8 para transmissão em padrão SONET/SDH
foram desenvolvidos e implementados dentro do Laboratório de Sistemas Integrados da USP ([Ro95a],
[Ro95b], [Ro96], [No98]). Duas características básicas destas implementações são:
i. a utilização de níveis compatíveis com os níveis lógicos ECL para os sinais de entrada/saída de
alta freqüência (sinais de clock e dados multiplexados, este último sendo sinal de saída no
Multiplexador e de entrada no Demultiplexador): os níveis ECL permitem que os circuitos possam
ser usados em ambientes de alta velocidade. Também é necessário, nestes ambientes, o casamento
de impedância das linhas que conduzem os sinais rápidos ECL, reduzindo as reflexões dos sinais.
Para isto são usados resistores de 50Ω externos ao C.I.. Com o emprego de sinais ECL, são
possíveis tanto altas velocidades como níveis baixos de ruído devido à excursão dos sinais ser
pequena (≈0,9V). A compatibilidade com ECL exige circuitos de entrada que façam a conversão
de níveis lógicos ECL para os níveis lógicos CMOS usados internamente, chamados conversores
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
134
ECL-CMOS, e circuitos de saída que façam a operação contrária, conversão dos níveis lógicos
CMOS para os ECL, chamados conversores CMOS-ECL. Os valores de tensão dos níveis lógicos
da família ECL 10KH, que são empregados no Multiplexador e no Demultiplexador, são
apresentados na Tabela 13 [Bl88]. Para trabalhar com estas tensões negativas, a alimentação dos
C.I.s deve ser VDD=0V e VSS=-5V. No entanto, para fins de testes, empregamos os valores
convencionais, VDD=5V e VSS=0V; os níveis ECL médios são então deslocados para 4,1V, nível
alto, e 3,2V, nível baixo;
Tabela 13. Valores dos níveis lógicos ECL utilizados pelo Multiplexador e pelo Demultiplexador.
níveis máximo (V) mínimo (V) médio (V)
alto (VH(ECL)) -0,81 -0,98 0,895
baixo (VL(ECL)) -1,63 -1,95 -1,79
ii. são usadas nos C.I.s células TSPC e nestas, empregados transistores com dimensões próximas das
mínimas, não só para o comprimento do canal, que é prática corrente, mas também para a sua
largura: uma das grandes vantagens do TSPC, como foi dito no capítulo dois, é a simplificação da
distribuição do sinal de clock que é único. Os transistores de pequenas dimensões permitem que a
potência consumida fique em níveis baixos. Também são explorados nestes projetos ambos os
níveis do clock, empregando-se D-flip-flops sensíveis à borda de subida e à borda de descida.
Na próxima seção detalhamos as implementações feitas originalmente para o Multiplexador e para
o Demultiplexador.
4.2.1 Projeto do Multiplexador e do Demultiplexador (primeira versão)
4.2.1.1 Circuitos de entrada/saída conversores ECL-CMOS e CMOS-ECL
Os circuito de entrada/saída conversores ECL-CMOS e CMOS-ECL foram desenvolvidos para
permitir testes nos C.I.s encapsulados. Na Figura 45(a) é mostrado o circuito de entrada para conversão
ECL-CMOS [Na95]. Ele é composto por um seguidor de fonte, transistores Mi1 e Mi2, e inversores. A
função do seguidor de fonte é assegurar que a entrada do primeiro inversor, OSF, tenha valor em torno
de -2,5V quando o sinal de entrada, in, tem valor de -1,22V (valor médio entre os níveis lógicos ECL).
Neste caso poderemos usar os inversores para amplificar os sinais da entrada.
Para manter a operação do circuito em quaisquer circunstâncias, independente das variações
normais que ocorrem nos parâmetros dos transistores, é necessário um circuito de polarização especial
[St91]. O circuito aqui empregado está apresentado na Figura 45(b). Neste circuito uma cópia do
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
135
seguidor de fonte, transistores M'i1 e M'i2, e uma cópia do primeiro inversor, M'i3 e M'i4, são utilizadas.
O inversor tem ligadas sua entrada e saída, fazendo com que ele vá estabilizar na região de transição,
caracterizada por ter alto ganho. Com auxílio do par diferencial MP1 e MP2, a tensão de polarização
VBiasI é ajustada para que a saída do seguidor de fonte M'i1/M'i2 seja igual a saída do inversor M'i3/M'i4.
Assim, aplicando-se em VREF -1,2V, garantimos que o seguidor de fonte desloca a entrada de -1,2V até
a região de alto ganho do primeiro inversor. O circuito de polarização funciona corretamente mesmo
com variações na tecnologia, desde que estas não sejam muito grandes.
in
VBiasI
Mi1
Mi2
Mi3
Mi4
Tapered buffernão faz parte do
conversor
out
VDD
VSS
a) b)
VDD
VSS
OSF
VREFM'i1
M'i2VBiasI
M'i3
M'i4
MP2MP1
Figura 45. Circuito conversor de alta velocidade ECL-CMOS (a) e seu circuito de polarização (b).
O circuito de saída para conversão CMOS-ECL é, por sua vez, apresentado na Figura 46(a)([Na96],
[Na97a]). Este circuito necessita uma carga resistiva de 50Ω externa ao C.I. (resistor de casamento). O
conversor é baseado em fontes de corrente chaveadas. A descrição do circuito segue: quando o sinal de
entrada é baixo, in=VSS (=-5V), o transistor MO1 é cortado. Neste caso, o nó de saída será puxado para
o nível VH(ECL) pelo resistor de casamento (resistor externo de 50Ω). Na entrada contrária, in=VDD
(=0V), MO1 estará conduzindo e uma corrente de valor fixo é forçada através do resistor de 50Ω pelo
transistor MO2. A tensão de polarização VBiasO é ajustada para assegurar, neste caso, o nível correto na
saída (VL(ECL)).
Também aqui é necessário um circuito especial de polarização para o conversor, de forma a garantir
que o nível baixo seja sempre correto, não dependendo das variações dos parâmetros dos transistores.
Ele é mostrado na Figura 46(b); seu funcionamento é baseado em comparações e realimentação
([Na96], [Na97a]), similarmente ao que acontece no conversor ECL-CMOS. É importante observar,
neste caso, que são necessários dois PADs para o circuito de polarização: um fornecendo a tensão
VH(ECL) (PAD extra 1) e outro fornecendo a tensão VL(ECL) (PAD extra 2).
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
136
in
R=50Ω
VBiasO
Trans. line
Externo ao CIVH(ECL)
CL
MO1 (120µm/1,0µm)
MO2 (280µm/1,0µm)
saída
VDD
R=50Ω
VBiasO
Externo ao CIVH(ECL)
CL
M'O1 (120µm/1,0µm)
M'O2 (280µm/1,0µm)+
-
nível baixo(referência)
-1,8V
PADextra 2
PADextra 1
a) b)
VSSVSS
Figura 46. Circuito conversor de alta velocidade CMOS-ECL (a) e seu circuito de polarização (b).
Encerrando esta seção sobre os circuitos de entrada/saída, façamos um último comentário: neles,
todos os resistores para casamento de impedância são externos. Foram desta forma projetados para
reduzir os riscos de erros na implementação. Resistores internos, por outro lado, apesar do consumo de
área, são melhores para os circuitos de entrada, resultando num casamento de impedância superior e,
como conseqüência, reduzindo as reflexões dos sinais.
4.2.1.2 Principais células TSPC
Na Figura 47 estão apresentadas as células TSPC usadas na construção do Multiplexador e do
Demultiplexador. Também estão indicados na figura quais os blocos que avaliam quando o clock tem
nível baixo, blocos hachurados, e quais avaliam quando o clock tem nível alto. A descrição das células
segue:
• circuitos D-flip-flops sensíveis à borda de subida: Figuras 47(a) e 47(c), este último com estágio
de saída duplicado;
• circuitos D-flip-flops sensíveis à borda de descida: Figuras 47(b) e 47(d), este último com estágio
de saída duplicado;
• circuitos D-flip-flops sensíveis à borda de subida, com atraso de meia fase: Figuras 47(f) e 47(e),
este último com estágio de saída duplicado;
• circuito D-flip-flop sensível à borda de descida, com atraso de meia fase: Figura 47(g).
A grosso modo podemos ver estas células como associações de p-data chains, blocos hachurados
que formam latches sensíveis ao clock baixo, com n-data chains, que formam latches sensíveis ao
clock alto (não hachurados). Assim, a célula da Figura 47(f) é um p-data chain + n-data chain + p-
data chain.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
137
Uma característica importante em todas células, explorada no circuito Multiplexador, é a presença
de um bloco dinâmico seguido de um bloco latch, formando o data chain n ou p dependendo do caso,
na saída. O último bloco latch, durante a fase de holding, fica com a saída em alta impedância.
Pela figura podemos observar ainda que as dimensões usadas para os transistores são pequenas,
próximas das mínimas permitidas pela tecnologia.
D
Cl Cl
Cl Cl
Qb
D
ClQb
a)
D
Cl
Cl
Cl
Cl
Qb
D
ClQb
b)
D
Cl
Cl
Cl
D
Cl
Qb
d)
Cl
Qb
Cl
Qb
Cl
Cl
D
Cl Cl
Cl Cl
f)
Cl
Cl
ClQb
D
ClQb
e)
Cl
Cl
Cl
D
Cl Cl
Cl Cl
Qb
Cl
Cl
ClD
Cl
Qb
Qb
Cl
Cl Cl
Qb
D
Cl
Cl
Cl
Cl
g)
D
Cl
Qb
D
Cl Cl
Cl
D
Cl
Qb
c)
Cl
Qb
Cl
Qb
Cl
Cl
4,8 4,8
4,8
4,8 4,8
4,8
4,8
4,8
4,8
4,8
4,8
4,8
4,8
4,8 4,8
4,8
4,8
4,8
4,8
4,8
VSS
VDD
Figura 47. Células básicas empregadas no projeto do Multiplexador 8:1 e do Demultiplexador 1:8.
Estão representados tanto o diagrama de transistores como o símbolo de cada célula. Os blocos
hachurados avaliam quando o sinal de clock (Cl) é baixo; os outros blocos, quando o sinal de clock é
alto. Todos os transistores usados aqui têm comprimento de canal L=0,8µm. A largura de canal, para
a maioria, é W=2,4µm; para os transistores onde isso não é verdade, o valor da largura do canal, em
µm, está indicado na figura.
4.2.1.3 Multiplexador 8:1
A arquitetura do circuito Multiplexador é baseada em células multiplexadoras 2:1 síncronas, como
indicado na Figura 48 [Ro96]. O sinal de clock da entrada do Multiplexador é dividido por 2 e por 4,
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
138
internamente, sendo posteriormente aplicado a estes multiplexadores 2:1. A primeira coluna de
multiplexadores, aquela que está mais à esquerda na figura, é sincronizada pelo sinal clock/4. Aí
chegam, numa taxa igual a freqüência do sinal clock/4, os oito dados de entrada, bit0, ..., bit7, que
devem ser multiplexados. A partir deles são gerados os sinais m1, ..., m4. Estes sinais têm taxa igual ao
dobro dos anteriores, sendo que m1 resulta da multiplexação de bit0 e bit1, m2, da multiplexação de bit2
e bit3 e assim por diante. A segunda coluna de multiplexadores é sincronizada por clock/2 e recebe os
sinais m1, ..., m4, gerando m5 e m6. A taxa destes últimos é igual ao dobro da taxa dos anteriores, ou
seja, igual a freqüência do clock que entra no circuito. Por fim, os sinais m5 e m6 são unidos no último
multiplexador 2:1, gerando o sinal de saída do Multiplexador 8:1. A taxa do sinal multiplexado final é
o dobro da freqüência do sinal de clock da entrada (aplicado externamente). Esta característica é
vantajosa pois facilita a distribuição do sinal de clock dentro do C.I. e reduz, também, o consumo de
potência.
Note que no último multiplexador 2:1, são utilizados três D-flip-flops. Com isso uma maior
velocidade foi atingida.
Os multiplexadores 2:1 são construídos com a união de dois D-flip-flops sensíveis à borda de
subida, um flip-flop convencional e outro que tem meia fase de atraso. No D-flip-flop convencional, o
dado de entrada, amostrado durante a borda de subida do clock, aparece na saída imediatamente após
esta borda; no D-flip-flop com meia fase de atraso, o dado, amostrado também durante a borda de
subida, vai aparecer na sua saída apenas meia fase após a amostragem. Como nestes D-flip-flops a
saída, ora de um ora de outro, está em alta impedância, podemos uni-las e assim obter o multiplexador
2:1 síncrono.
No Multiplexador são usados vários tapered buffers. Três deles, os mais críticos por onde passam
os sinais de maior freqüência, estão indicados no diagrama esquemático. Também está indicado
quantos inversores em série são usados em cada um destes buffers.
Um sinal externo para sincronização, select, está ainda presente no circuito. Ele servirá para inverter
o sinal clock/4 quando sua borda de subida estiver muito próxima da transição dos dados da entrada
(bit0, ...,bit7).
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
139
m 6
m 5
m 4
m 3
m 2
m 1
C o n v e rs o rE C L -C M O S
c lo c k
C o n v e rs o rC M O S -E C L
s a íd a d oM u lt ip le x a d o r
D a d o M
c lo c k /2c lo c k /4
b u ffe r 25 in v e rs o re s
b u ffe r 14 in v e rs o re s
b i t0
b i t1
b i t2
b i t3
b i t4
b i t5
b i t6
b i t7
s e le c t
b u ffe r 33 in v e rs o re s
b u ffe r s d ee n tra d a
Figura 48. Diagrama esquemático da primeira versão do circuito Multiplexador 8:1.
4.2.1.4 Demultiplexador 1:8
As seguintes características marcam o circuito Demultiplexador ([Ro95a], [Ro95b]):
• o sinal de clock vem de fora do circuito e deve estar sincronizado com o meio do dado a ser
demultiplexado;
• é implementado um detetor para byte alignment [Ko91]. Desta forma toda vez que é recebido o
byte de alinhamento A1 (a seqüência "11110110" na entrada), se o detetor estiver habilitado, a
saída será resincronizada;
• trabalhou-se com as duas bordas do sinal de clock. Isto faz com que a taxa de operação dos flip-
flops seja reduzida a metade, facilitando o projeto e reduzindo o consumo de potência.
A Figura 49 mostra o núcleo do Demultiplexador. Nela não é mostrado como é feita a distribuição
do clock principal do circuito; também não são indicadas as entradas de clock dos D-flip-flops que
trabalham sincronizados com este clock principal. Para que haja atrasos iguais entre o sinal de dados,
DadoM, e o sinal clock, desde a entrada externa até as células internas, estes dois sinais passam por
circuitos, conversor ECL-CMOS e tapered buffers, similares e que têm as cargas casadas.
O Demultiplexador é composto por dois registradores de deslocamento, shift registers, um deles
trabalhando com a borda de subida do clock e outro, com a borda de descida. Assim o sinal de dados é
amostrado em ambas as bordas do clock. O flip-flop Lsinc, Figura 49, sincroniza os dois shift registers.
Dois blocos de circuitos, um na parte superior e outro na inferior, detectam a chegada do byte A1,
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
140
ativando os sinais fn1, fn2, fp1 e fp2. Os sinais fp1 e fn1 serão levados para nível alto se o A1 detectado
tem seu primeiro bit armazenado no registrador superior; por outro lado, fp2 e fn2 serão levados para
nível alto se o primeiro bit foi armazenado no registrador inferior. Não sendo encontrado o byte de
alinhamento, então fp1 ou fn1 e fp2 ou fn2 terão nível baixo.
A partir dos sinais fn1, fn2, fp1 e fp2 são gerados os sinais df1 e df2 (ver Figura 50); estes servirão, por
sua vez, para iniciar/reiniciar a geração do sinal CA (Figura 51), utilizado como clock nos D-flip-flops
da saída (Figura 49), e para gerar os sinais de seleção dos demultiplexadores 2:1 da saída (Figuras 49 e
52). O sinal CA é obtido a partir do clock principal do circuito, com a divisão deste por quatro em um
contador síncrono (Figura 51).
I1
D1
H1
C1
G1
B1
F1
A1
E1
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
S SB
Lsinc
clock/4CA
Registrador dedeslocamento
inferior
Registrador dedeslocamento
superior
fn1
fn2
F1
G1
H1
I1
E1
fp2
fp1 A1
B1
C1
D1
ConversorECL-CMOS
DadoM
ConversorECL-CMOS
clock
Taperedbuffer
Taperedbuffers
Din
clk1
clk2
clk27
clk26
Buffersde saída
Figura 49. Diagrama esquemático do núcleo do circuito Demultiplexador 1:8 da primeira versão.
fn1
fp1
enable enable
fp2
fn2df1
df2
Figura 50. Circuito para gerar sinais de alinhamento de byte.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
141
Se1
Se0
CA
df1
df2
Se0
Se1 Se1_i
Se0_i
Figura 51. Circuito para gerar o clock que sincroniza a saída (CA).
SB
Sdf1
df2 Se1_i
Se0_i
Figura 52. Circuito para gerar sinais de seleção para os multiplexadores 2:1 da saída.
Nos testes destes C.I.s, as taxas máximas de operação alcançadas pelos protótipos foram inferiores a
1,1Gbit/s, para alimentação de 5V.
4.2.2 Projeto do Multiplexador e do Demultiplexador (nova versão)
Analisando-se o desempenho dos circuitos anteriores, Multiplexador e Demultiplexador, verificou-
se que a velocidade máxima era limitada por três fatores:
• o circuito de entrada conversor ECL-CMOS (principalmente no caso do Demultiplexador);
• a velocidade de operação de certas células TSPC, principalmente aquelas onde se empregam p-
data chains com mais de um bloco (Figura 47, células b, d, e, f e g);
• a velocidade de operação dos tapered buffers que fazem a distribuição do clock e também por
onde passa o sinal DadoM, tanto na saída do Multiplexador como na entrada do Demultiplexador.
Para contornar estes fatores, foram tomadas as seguintes providências:
• melhora dos conversores ECL-CMOS;
• estudo e modificação das células TSPC;
• estudo e modificação dos tapered buffers.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
142
Do estudo das células TSPC resultou a teoria apresentada no capítulo dois, em suma, a estratégia
E-TSPC; do estudo dos tapered buffers resultaram as discussões apresentadas no capítulo três e o novo
critério de otimização. Vê-se, portanto, que esta tese originou-se do desenvolvimento e otimização de
circuitos Multiplexador e Demultiplexador.
Abaixo daremos detalhes do novo circuito de entrada conversor, das novas células empregadas e,
por fim, das modificações aplicadas ao Multiplexador e ao Demultiplexador.
4.2.2.1 Novo circuito conversor ECL-CMOS [Na98b]
A Figura 53 mostra o novo circuito conversor ECL-CMOS. A modificação mais significativa foi
feita no circuito de polarização. No circuito conversor propriamente dito foi introduzido apenas um
capacitor de acoplamento entre in e OSF, o capacitor CI com valor de 0,1pF (Figura 53(a)). A função
dele é fazer com que o sinal OSF siga a entrada mais rapidamente. No circuito de polarização, não é
mais utilizado o par diferencial para a realimentação mas sim inversores (Figura 53(b)). A tensão de
polarização VBiasI irá se ajustar de forma que o inversor formado por M'i3 e M'i4, transistores similares a
Mi3 e Mi4, esteja trabalhando em sua região de alto ganho, não dependendo dos valores assumidos
pelos parâmetros tecnológicos. Fazendo VREF=-1,22V, valor médio entre os níveis ECL alto e baixo,
teremos que o seguidor de fonte da entrada fornece o necessário deslocamento aos sinais para que os
inversores trabalhem como amplificadores. A capacitância CX é acrescentada para dar estabilidade ao
circuito de polarização (desloca os pólos para a esquerda).
in
V B iasI
M i1
M i2
M i3
M i4
T ap ered bu ffer
ou t
V D D
V S S
a ) b )
V R E F
V B iasI
M ’i1
M ’i2
M ’i3
M ’i4
C XV D D
V S S
C I
O S F
Figura 53. Circuito modificado conversor de alta velocidade ECL-CMOS (a) e seu circuito de
polarização (b).
4.2.2.2 Células com blocos N-MOS like
Das células originais, as que trabalhavam no limite da velocidade foram alteradas para os novos
circuitos. Basicamente as modificações ficaram restritas aos blocos p-latches e p-dinâmicos, sendo eles
substituídos por seus equivalentes N-MOS like. Os blocos p-latches substituídos são, sobretudo,
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
143
aqueles colocados na saída das células. Estes blocos, no geral, têm que trabalhar com capacitâncias de
carga maiores e são, em grande parte, responsáveis pelas limitações de velocidade.
Na Figura 54 estão apresentadas as novas células usadas na construção do Multiplexador e do
Demultiplexador. Os blocos hachurados, como antes, são aqueles que avaliam quando o clock tem
nível baixo.
e )
a )
D
C l C l
C l
D
C l
Q b
C l
Q b
C l
Q b
C l
C l
b )
D
C l
C l
C l
D
C l
Q b
C l
Q b
C l
Q b
C l
C l
c )
C l
C l
D
C l C l
C l C l
Q b
C l
C lD
C l
Q b
Q b
d )
C l
C l
D
C l C l
C l C l
Q b
C l
C lD
C l
Q b
Q b
D
C l C l
C l C l
C l
C l
C l
Q b
D
C lQ b
C l
C l C l
Q b
D
C l
C l
C l
C l
f )
D
C l
Q b
4 , 8
4 , 8
3 ,0
4 , 0
4 , 8
4 , 8
4 , 8
4 , 8
3 ,0
4 ,0
3 ,0
4 ,0
3 , 0
4 ,0
4 ,0
3 , 0
4 ,0
4 , 0
4 ,0
3 , 0 4 , 8
4 ,0
4 , 0
4 , 0
4 , 0
3 ,0
3 ,0
4 , 8
4 , 8 4 , 8
4 , 8
3 , 0
4 , 0
4 ,8
4 ,8
4 , 83 ,0
4 ,0
Figura 54. Novas células básicas que empregam blocos N-MOS like. Estão representados tanto o
diagrama de transistores como o símbolo de cada célula. Os blocos hachurados avaliam quando o
sinal de clock (Cl) é baixo; os outros blocos, quando o sinal de clock é alto. Todos os transistores
usados aqui têm comprimento de canal L=0,8µm. A largura de canal, para a maioria, é W=2,4µm;
para os transistores onde isso não é verdade, o valor da largura do canal, em µm, está indicado na
figura.
A descrição das células segue:
i. circuito D-flip-flop sensível à borda de subida: Figura 54(a), circuito com saída duplicada onde o
primeiro bloco foi modificado reduzindo a carga na entrada;
ii. circuito D-flip-flop sensível à borda de descida: Figura 54(b), circuito com saída duplicada onde
os últimos blocos foram modificados para aumentar a velocidade;
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
144
iii. circuitos D-flip-flops sensíveis à borda de subida, com atraso de meia fase: Figura 54(c), circuito
com saída duplicada e últimos blocos modificados; Figura 54(d), igual ao anterior mas com o
bloco de entrada também modificado; Figura 54(e), com apenas o último bloco modificado;
iv. circuito D-flip-flop sensível à borda de descida, com atraso de meia fase: Figura 54(f), onde o
bloco p-latch intermediário foi alterado.
Uma vez que as novas células usam blocos N-MOS like, é natural que tenham um consumo de
potência maior que as originais. Em vista disso, elas são aplicadas somente onde há necessidade. Por
outro lado, como pode ser visto na Figura 54, as dimensões dos transistores usados nestas células não
diferem muito daquelas dos transistores das originais. Isso faz com que as células modificadas e
originais tenham dimensões similares, tornando simples a substituição de umas pelas outras.
4.2.2.3 Novo Multiplexador 8:1
O novo Multiplexador tem a mesma arquitetura e princípio de funcionamento que a versão original,
como pode ser visto no seu diagrama esquemático, Figura 55. As mudanças feitas são de três tipos:
• uso do novo conversor ECL-CMOS;
• uso de novas células com blocos N-MOS like. Estas novas células, dado que têm um maior
consumo de potência, são empregadas apenas nos pontos críticos do Multiplexador;
• uso do novo critério, capítulo três, na otimização dos tapered buffers críticos usados com o sinal
de clock, buffer 1, buffer 2 e buffer 3 (Figura 55), e com o sinal multiplexado da saída (buffer 5).
m 6
m 5
m 4
m 3
m 2
m 1
n o v oC o n v e r s o r
E C L -C M O S
c lo c k
C o n v e r s o rC M O S - E C L
s a íd a d oM u l t ip le x a d o r
D a d o M
c lo c k /2c lo c k /4
b u f fe r 26 in v e r s o r e s
b u f fe r 11 in v e r s o r
s e le c tb u f fe r 4
2 in v e r s o r e s
b u f fe r 52 in v e r s o r e s
b u f fe r 34 in v e r s o r e s
b i t 0
b i t 1
b i t 2
b i t 3
b i t 4
b i t 5
b i t 6
b i t 7
b u f fe r s d ee n t r a d a
Figura 55. Diagrama esquemático do novo circuito Multiplexador 8:1.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
145
As células que foram alteradas aparecem hachuradas na figura (compare com Figura 48). Veremos
que estas três modificações permitiram uma melhora considerável na performance do Multiplexador.
4.2.2.4 Novo Demultiplexador 1:8
Da mesma forma que no Multiplexador, são aplicados neste circuito três tipos de mudanças, a saber,
o uso do novo conversor ECL-CMOS, o uso das células modificadas e, por fim, o uso do novo critério
para otimização dos tapered buffers utilizados na distribuição do sinal de clock e pelo sinal de dados
multiplexado (DadoM).
A arquitetura do Demultiplexador, embora mantendo as caraterísticas mais importantes, sofreu
várias alterações. A maior é feita no núcleo do circuito, Figura 56. Neste novo circuito, o registrador
de deslocamento inferior, que antes funcionava praticamente todo com a borda de descida do clock,
tem colocado, na sua entrada, um D-flip-flop sensível à borda de descida e com atraso de meia fase.
Ele executa a função que antes era feita pelo flip-flop Lsinc (Figura 49). Devido a este flip-flop na
entrada, todos os outros que o seguem são sensíveis à borda de subida. A causa desta alteração é
explicada: foi observado que os D-flip-flops sensíveis à borda de descida são os que maiores
problemas causaram para o funcionamento do circuito original. Desta forma, a melhora na
performance do circuito poderia ser conseguida ou com a troca deles por flip-flops modificados, ou
com a sua eliminação. Como as células modificadas aumentam o consumo de potência, a melhor
solução é a eliminação dos flip-flops sensíveis à borda de descida. Assim foi feito sempre que possível,
mantendo-se apenas aqueles flip-flops que não podem ser eliminados sem causar grandes alterações na
arquitetura do Demultiplexador. Na Figura 56, os D-flip-flops modificados/substituídos estão
hachurados (compare com Figura 49). Note que apenas uma célula com blocos N-MOS like foi usada
aí.
O circuito que gera sinais para alinhamento de byte sofreu uma pequena alteração, gerando um novo
sinal df1a, como pode ser visto na Figura 57. O bloco aí hachurado é o que foi modificado.
Os D-flip-flops sensíveis à borda de descida usados no circuito gerador do clock CA não puderam
ser eliminados. Foram, portanto, substituídos pelas versões modificadas que são mais velozes. A
Figura 58 mostra como ficou o novo circuito gerador de CA.
O circuito para gerar os sinais de seleção para os multiplexadores da saída, Figura 52, permaneceu
igual.
Junto com a modificação dos tapered buffers do sinal de clock e do sinal de dados, DadoM, foi
tomado o cuidado em manterem iguais os atrasos destes dois sinais.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
146
I1
D1
H1
C1
G1
B1
F1
A1
E1
S SB
clock/4CA
Registrador dedeslocamento
inferior
Registrador dedeslocamento
superior
fn1
fn2
F1
G1
H1
I1
E1
fp2
fp1 A1
B1
C1
D1
ConversorECL-CMOS
DadoM
ConversorECL-CMOS
clock
Taperedbuffer
Taperedbuffers
Din
clk1
clk2
clk29
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
Buffersde saída
Figura 56. Diagrama esquemático do núcleo do novo circuito Demultiplexador 1:8. Os blocos
hachurados são aqueles que foram alterados.
fn1
fp1
enable enable
fp2
fn2df1
df2
df1a
Figura 57. Modificações no circuito para gerar sinais para alinhamento de byte. Os blocos
hachurados são aqueles que foram alterados.
A Figura 59 mostra, de forma simplificada, a estrutura de tapered buffers usada na distribuição do
sinal de clock no Demultiplexador, na primeira e na nova versão. Há aí três níveis de tapered buffers: o
primeiro nível possui apenas um tapered buffer; o segundo, seis buffers; o terceiro, vinte e sete ou
vinte e nove buffers. A carga capacitiva para cada um dos sinais clki, Figuras 56 e 59, varia entre 88pF
a 140pF. Para determinação do fator de aumento dos buffers do novo multiplexador foi usada, como
entrada para os testes, uma seqüência de pulsos "0s" e "1s" e, como critério de análise da saída, a
verificação tanto dos níveis alcançados como da largura dos pulsos. Como resultado das análises, os
buffers foram implementados com fator de aumento de 1,4, em uma parte, e de 2, em outra. Estes
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
147
fatores garantem, dessa forma, a passagem de sinais rápidos e, também, a simetria entre os pulsos alto
e baixo.
Se1
Se0
CA
df1a
df2
Se0
Se1 Se1_i
Se0_i
Figura 58. Modificações no circuito gerador do clock CA. Os blocos hachurados são aqueles que
foram alterados.
clock
ckli
sinais para as célulasinternas do circuito
88pF<CL<140pF
Figura 59. Configuração dos tapered buffers para a distribuição do sinal de clock no
Demultiplexador 1:8.
O efeito da alteração do circuito de entrada, da melhora dos buffers de clock e dados, e da
equalização dos atrasos pode ser visto comparando as Figuras 60 e 61. Elas apresentam resultados de
simulação SPICE do circuito extraído a partir do layout; é usado o level 2 e parâmetros slow. São
mostrados nestas figuras os sinais
• Din: sinal de dados após passar pelo circuito de entrada (conversor ECL-CMOS) e pelo tapered
buffer (ver Figuras 49 e 56);
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
148
• clk1,2,..,27 e clk1,2,...29: sinais de clock após passarem pelo circuito de entrada (conversor ECL-
CMOS) e pelos tapered buffers (ver Figuras 49 e 56).
Na simulação é aplicada uma onda quadrada nos circuitos de entrada de dados e do clock, com as
seguintes características: freqüência de 625MHz, tempo de subida e descida de 0,2ns e níveis de tensão
de 4,0V a 3,2V (alimentação de 5V/0V).
O sinal de dados e o sinal de clock são aplicados em fase para melhor comparar os atrasos. Não é
esta, no entanto, a situação que deve ocorrer durante a operação do Demultiplexador (o dado deve ter
atraso de ¼ do período clock).
Na Figura 60 vemos que existem, na primeira versão do Demultiplexador, problemas de simetria no
clocks (não duty cycle) além de atrasos diferenciados entre estes e o sinal de dados. Os dois problemas
foram sensivelmente reduzidos na segunda implementação, como poder ser verificado pela Figura 61.
Antes de falarmos dos resultados experimentais, um último esclarecimento deve ser feito sobre as
novas implementações do Multiplexador e do Demultiplexador. As novas células, Figura 54, e o novo
conversor de entrada têm dimensões quase idênticas a dos circuitos originais; também os diagramas
esquemáticos, os das primeiras implementações e os das novas, são bastante similares. Isso permitiu
que o layout das novas implementações fosse feito a partir do layout das primeiras. Praticamente
houve apenas a substituição de algumas células. O posicionamento destas, tão bem como o roteamento
nos circuitos, permaneceu quase inalterado. Dessa forma, os ganhos em velocidade, conseguidos
nestes novos circuitos, devem pouco ou nada às melhoras de placement e de routing.
Din clk1,2,..,27
tempo (ns)
(V)
Figura 60. Sinal DadoM e clock, no primeiro Multiplexador fabricado, após passarem pelo circuito
conversor ECL-CMOS da entrada e tapered buffers (ver Figura 49). Os sinais na entrada têm
freqüência de 625MHz, tempo de subida/descida de 0,2ns e níveis de tensão de 4,0V/3,2V. Os
resultados são obtidos a partir de simulação SPICE, level 2 e parâmetros slow.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
149
Din
clk1,2,...,29
tempo (ns)
(V)
Figura 61. Sinal DadoM e clock, no novo Multiplexador, após passarem pelo circuito conversor
ECL-CMOS da entrada e tapered buffers (ver Figura 56). Os sinais na entrada têm freqüência de
625MHz, tempo de subida/descida de 0,2ns e níveis de tensão de 4,0V/3,2V. Os resultados são
obtidos a partir de simulação SPICE, level 2 e parâmetros slow.
4.2.3 Resultados Experimentais do Multiplexador 8:1 e do Demultiplexador 1:8
As novas versões do circuito Multiplexador 8:1 e do Demultiplexador 1:8 foram fabricadas na
tecnologia CMOS 0,8µm. Ambos os circuitos foram encapsulados em Quad Flat Packs (QFP) de 40
pinos. Na Figura 62 está o layout do circuito Multiplexador com seus PADs identificados. A Tabela 14
descreve a função dos sinais de cada um destes PADs. Na Figura 63, por sua vez, está o layout do
circuito Demultiplexador com seus PADs identificados. A Tabela 15 descreve a função dos sinais de
cada um destes PADs.
Duas características importantes na implementação destes dois circuitos são:
• vários PADs para alimentação do circuito (VDD e VSS) são empregados. Com isto procuramos
evitar que porções do circuito que geram maior ruído, tipicamente os circuitos de saída, causem
problemas nos circuitos digitais internos;
• toda a área livre do C.I. é aproveitada para a formação de capacitores de desacoplamento entre
o VDD e o VSS. Estes capacitores são formados com o polisilício e com as duas camadas de metal.
Capacitores internos desse tipo são ideais para desacoplamento por duas razões: primeiro porque
não apresentam resistências/indutâncias em série, como é o caso de qualquer capacitor externo;
segundo, que por serem internos, as indutâncias dos pinos do encapsulamento não interferem na
sua operação.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
150
Na Figura 62, podemos observar algumas linhas horizontais, logo abaixo dos PADs bit0 a bit7, que
parecem não ter função. Estas linhas servem para igualar a carga dos buffers de entrada (Figuras 48 e
55) e, em conseqüência, o atraso dos sinais de entrada (dados). Tal cuidado foi tomado em todas as
versões do Multiplexador.
bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7
VDD
VDD
VSSVSS
VSS
sw_selsw_sel
InTest
OuTest VH(ECL) DadoM selextVL(ECL) clock VREF
equalizaçãode atrasos
Figura 62. Layout do novo circuito Multiplexador 8:1. As dimensões deste circuito (incluindo os
PADs) são 1,68mm por 0,94 mm.
Tabela 14. PADs de entrada/saída do novo circuito Multiplexador 8:1 e sua descrição.
PADs de entrada/saída
Descrição
VSS terra do circuito (são três terras ao todo) VDD alimentação de 5V (duas entradas)
DadoM sinal multiplexado na saída sw_sel sinal para seleção de sincronismo (interno ou externo) selext sinal externo para sincronizar dados e clock. Este sinal é composto com
sw_sel para gerar o sinal select da Figura 48 clock sinal de clock do circuito
bit7-bit0 sinais de entrada para serem multiplexados VREF sinal de referência para ajuste da polarização do circuito conversor
ECL-CMOS (Figura 53(b)) VL(ECL) nível baixo ECL para ajuste da polarização do conversor CMOS-ECL
(Figura 46(b)) VH(ECL) nível alto ECL para ajuste da polarização do conversor CMOS-ECL
(Figura 46(b)) InTest, OuTest PADs para testes dos conversores de níveis ECL-CMOS e CMOS-ECL
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
151
VDD VSS bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
VSS
VSS
VSS
VSS
VDD
VDD VDD
VDD
VDD
clockDadoM enable VREF
Figura 63. Layout do novo circuito Demultiplexador 1:8. As dimensões deste circuito (incluindo os
PADs) são 1,90mm por 1,08mm.
Tabela 15. PADs de entrada/saída do novo circuito Demultiplexador 1:8 e sua descrição.
PADs de entrada/saída
Descrição
VSS terra do circuito (são cinco terras ao todo) VDD alimentação de 5V (cinco entradas)
DadoM sinal de entrada para ser demultiplexado enable sinal de habilitação para o byte alignment (Figura 57) clock sinal de clock do circuito
bit7-bit0 sinais demultiplexados na saída VREF sinal de referência para ajuste da polarização do circuito conversor
ECL-CMOS (Figura 53(b))
Na Figura 64 estão apresentadas as fotografias dos dois novos circuitos, Multiplexador e
Demultiplexador, fabricados. O C.I. Multiplexador tem dimensões de 1,68mm X 0,94mm; o C.I.
Demultiplexador, dimensões de 1,90mm X 1,08mm.
Devido à importância dos circuitos conversores da entrada e da saída, foi colocado junto ao circuito
Multiplexador uma estrutura que permite a avaliação destes conversores. A estrutura é composta do
PAD InTest, Figura 62, de um conversor ECL-CMOS, ligado a este PAD, de um conversor CMOS-
ECL, que por sua vez tem sua entrada ligada a saída do conversor anterior, e do PAD OuTest que
recebe o sinal do conversor CMOS-ECL. Podemos, dessa forma, verificar a performance dos
conversores injetando no C.I. um sinal, pelo PAD InTest, e recuperando-o no PAD OuTest. A
comparação entre a entrada e a saída mostrará como eles estão funcionando.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
152
a)
b) Figura 64. Fotografias dos C.I.s fabricados (nova versão). Em (a) está o circuito Multiplexador 8:1 e
em (b), o circuito Demultiplexador 1:8.
Para o teste dos C.I.s encapsulados foi necessário o desenvolvimento de placas de PCB (Printed
Circuit Board). Usaram-se inicialmente placas de vibra de vidro, FR4, com 1,5mm de espessura e duas
camadas de metal. Para as linhas que transportam sinais de alta freqüência, por exemplo o sinal de
clock, foram usadas microlinhas com impedância característica de 50Ω ([Si96], [Jo93]), que é obtida
com o uso de trilhas de 2,8mm de largura. Tais trilhas, por serem muito largas, dificultaram bastante o
projeto destas placas.
Uma segunda placa foi desenvolvida com uma tecnologia que permitia quatro camadas de metal.
Neste caso, a primeira camada e a segunda ou a terceira camada e a quarta são isoladas por 0,4mm de
FR4. Com este valor de espessura de isolante, microlinhas com impedância característica de 50Ω são
construídas com trilhas de largura de apenas 0,7mm. O aumento no número de camadas de metal e a
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
153
redução da largura das trilhas simplificou bastante o projeto. Diferente das placas de duas camadas,
que foram confeccionada em nosso laboratório, as placas de quatro camadas foram fabricadas por uma
empresa especializada, elevando bastante seu custo. Os resultados experimentais, por outro lado,
mostraram que as duas soluções apresentam efeitos semelhantes.
Observemos que os C.I.s foram alimentados com 5V/0V durante os testes e, portanto, os valores
ECL nas entradas e saídas foram deslocados para 4,1V, para o nível alto, e 3,2V, para o nível baixo.
Estes níveis são os que deveriam ter sido aplicados nos testes mas, como pode ser visto nas figuras
abaixo, foram empregados, na realidade, valores inferiores. Duas são as razões para isto:
• o gerador de sinais usado tem como limite de valor na saída 4V (HP Pulse Generator 8133A);
• para o casamento de impedância foram usados resistores SMD (surface monted devices) de
47Ω, valores encontrados comercialmente, em vez de 50Ω. Isso fez com que as tensões na entrada
do C.I. fossem inferiores às fornecidas pelo gerador.
Resultou disso, para o circuito conversor de entrada, um comportamento inferior ao projetado.
4.2.3.1 Testes dos conversores ECL-CMOS e CMOS-ECL
Para avaliar o funcionamento destes dois circuitos foi aplicado um sinal no conversor de entrada e
observada a saída do conversor de saída. Duas classes de medidas foram feitas: determinação da
máxima velocidade em que os circuitos operavam (Figura 65); verificação, através de diagramas de
olho, do ruído/jitter introduzido pelo conversores (Figura 66).
Figura 65. Resultado do teste nos conversores ECL-CMOS e CMOS-ECL. É mostrado o sinal na entrada do
PAD InTest, INPUT, que está a taxa de 2,4Gbit/s, e no PAD OuTest, OUTPUT. Os sinais INPUT e OUTPUT
são invertidos. A seqüência que aparece na figura, sinal de entrada, é "1111010000000100101010".
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
154
Na Figura 65 é mostrado que os conversores de entrada/saída ainda operam com sinais a taxas de
2,4Gbit/s. Os sinais da figura são observados com osciloscópio Tektronix, modelo 11801B Digital
Sampling.
Na Figura 66 são apresentados os diagramas de olho em várias taxas de operação para avaliação dos
circuitos conversores. Vemos que para a taxa de 622,1Mbit/s (taxa de transmissão para STS12/STM4
[St92]) o sinal de saída quase não apresenta jitter; isso já não é verdade para a taxa de 1244,2Mbit/s
(ST24/STM8), e menos ainda para 1,6Gbit/s.
a) b)
c) Figura 66. Diagrama de olho para avaliação dos conversores ECL-CMOS e CMOS-ECL. O sinal de
entrada é Pseudo-Randon-Bit-Sequence 223-1 (HP Pulse Generator 8133A). Em (a) o sinal aplicado
tem taxa de 622,1Mbit/s(STS12/STM4 [St92]) em (b), taxa de 1244,12Mbit/s (STS24/STM8 [St92])
e em (c), taxa de 1,6Gbit/s.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
155
Contribui também para aumento do ruído/jitter a própria placa. O diagrama de olho do sinal na
entrada do C.I., vindo do gerador de sinais, está apresentado na Figura 67. Nota-se que existem várias
reflexões que deformam o sinal na entrada.
a) b) Figura 67. Diagrama de olho do sinal na entrada do C.I.: (a) para o sinal com taxa de 1244,1Mbit/s e
(b), para o sinal a 1,6Gbit/s. O sinal é Pseudo-Randon-Bit-Sequence 223-1.
4.2.3.2 Testes do Circuito Multiplexador 8:1
O circuito Multiplexador operou corretamente até a taxa de 1,7Gbit/s (sinal na saída). Na Figura 68
são apresentados o sinal de clock e o sinal de saída, "01100101", do circuito operando nessa taxa. Para
cada borda do sinal de clock um novo dado é colocado na saída uma vez que as duas bordas são
utilizadas na operação.
Os principais resultados obtidos com este circuito estão resumidos na Tabela 16, junto com os
dados referentes a primeira implementação do circuito. As diferenças entre os dois projetos são
indicadas na última coluna. Comparando os resultados, vemos que tanto a área como a potência
consumida são praticamente iguais. Por outro lado, o novo circuito teve um aumento de quase 70% na
velocidade, mostrando a importância das técnicas aplicadas.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
156
Figura 68. Sinal de clock e da saída do Multiplexador 8:1 funcionando a taxa de 1,7Gbit/s. O sinal
de saída é "01100101". A posição relativa no tempo, entre o clock e o sinal de saída, foi ajustada para
facilitar a visualização.
Tabela 16. Resultados experimentais da primeira versão do circuito Multiplexador 8:1 e de sua nova
implementação. Também são apresentadas as diferenças entre eles.
Circuito Área (apenas o núcleo do
Multiplexador) (103µm2)
Consumo de potência
(VDD=5V) (µW/Mbit/s)
Tecnologia Máxima taxa de
operação (Gbit/s)
Diferenças entre as duas implementações
primeira versão
60,0 41,85 0,8µm CMOS (ES2/ATMEL)
1,05 • conversor ECL-CMOS da Figura 45; • apenas flip-flops da Figura 47.
nova versão
70,0 51,6 0,8µm CMOS (ES2/ATMEL)
1,7 • uso de novo conversor ECL-CMOS (Figura 53);
• uso de novos flip-flops com blocos N-MOS like (Figura 54).
• otimização para máxima taxa de vários buffers do circuito (Figura 55).
Dados tecnológicos e resultados experimentais de implementações de Multiplexadores CMOS
recentemente publicados, junto com os resultados aqui obtidos, são apresentados na Tabela 17. Devido
às diferenças entre as tecnologias, principalmente entre aquela usada aqui e aquelas usadas nas outras
implementações, não é razoável a comparação direta dos resultados. Podemos, no entanto, usar a teoria
de escalonamento para estimar, ao menos em primeira ordem, os resultados que seriam obtidos com
nosso circuito em uma tecnologia mas avançada. Consideremos o Constant-Field Scaling [Mu86].
Para um fator de escala K temos que:
• as dimensões de superfície escalarão por 1/K;
• as tensões escalarão por 1/K;
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
157
• os atrasos do circuito escalarão por 1/K;
• a dissipação de potência escalará por 1/K2.
Na última linha da Tabela 17 são mostrados os resultados do escalonamento aplicado ao nosso
Multiplexador, para um fator K=2,5. Vemos que o "circuito" assim obtido tem desempenho bastante
superior as outras implementações tanto na potência consumida como na velocidade.
Naturalmente esta análise, via teoria de escalonamento, serve apenas como indicativo do que pode
acontecer. Por outro lado, o aumento da velocidade do circuito causa o aparecimento de uma série de
dificuldades, principalmente devido ao ruído e a propagação de sinais, que não foram nela
consideradas.
Tabela 17. Tecnologia, potência consumida e máxima taxa de operação de diversas implementações
de Multiplexadores.
Multiplexador Tecnologia (µm)
Alimentação(V)
Potência consumida
(µW/Mbit/s)
Máxima taxa de operação
(Gbit/s) [Ku96]5 (8:1) 0,15 (CMOS) 2,0 39,3 3,0 [Oh97] (16:2) 0,25
(CMOS/SIMOX) 2,0 68,0 (≈ 34,0 para
8:1) 2,5
este trabalho (nova versão) (8:1)
0,8 (CMOS; 0,7 efetivo)
5,0 42,6 1,7
este trabalho escalon. (constant-field scaling)
0,32 (CMOS; 0,28 efetivo)
2,0 6,8 4,25
4.2.3.3 Testes do Circuito Demultiplexador 1:8
O circuito Demultiplexador, por sua vez, operou corretamente até taxas de 1,38Gbit/s (velocidade
do sinal de entrada). Está máxima taxa é conseguida com alimentação VDD=4,7V e não com VDD=5V.
Para entender a razão disso devemos lembrar que, devido à limitação do gerador e aos resistores de
casamento de 47Ω usados, os valores ECL na entrada do C.I. são inferiores aos esperados. O circuito
conversor de entrada é bastante sensível a essa redução, principalmente o seguidor de fonte (Figura
53). Nele o transistor Mi1 trabalha com uma tensão gate-fonte pequena e que fica menor quando as
tensões de entrada são diminuídas, dificultando sua operação. Com a redução do valor de VDD, é
aumentado o deslocamento de nível necessário entre in e OSF (Figura 53), o que compensa a redução
dos níveis ECL da entrada. Dessa forma, o circuito funciona melhor com um valor de VDD menor.
Na Figura 69 estão mostrados o sinal de clock e o sinal de dados multiplexado, observados na
entrada do C.I., com o sinal DadoM a taxa de 1,38Gbit/s. Na figura são ainda indicados, com linhas
5 Este trabalho foi também apresentado no ISSCC de 1996, p.122-124.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
158
horizontais, os níveis de tensão 3,8V e 2,74V, mostrando que os sinais ECL de entradas estão longe de
atingir os valores que esperamos deles (4,1V e 3,2V). O valor de 3,3V foi usado para VREF no circuito
de polarização do conversor de entrada (Figura 53) neste caso.
É importante ter em mente que o Demultiplexador é mais sensível as entradas de alta velocidade, o
dado multiplexado e o clock, que o Multiplexador onde os dados de entrada são "lentos". Em vista
disso, acreditamos que os problemas com os níveis de entrada são, em boa parte, responsáveis pela
velocidade final alcançada neste Demultiplexador.
Os principais resultados obtidos com esta implementação estão resumidos na Tabela 18, junto com
os dados referentes a primeira implementação. Também são indicadas as diferenças entre elas. As
potências indicadas nessa tabela levam em consideração os buffers do dado e do clock. Comparando os
resultados vemos que o novo circuito é melhor que o anterior em todos os aspectos. Em particular, a
área foi reduzida em razão dos novos buffers usarem fator de ganho menor. O aumento da velocidade é
de 29%.
3,8V
2,74V
Figura 69. Sinal de dados, DADO, e sinal de clock nas entradas do circuito Demultiplexador 1:8
(versão nova). O sinal de dados tem valor "101011" e taxa de 1,38Gbit/s.
Dados tecnológicos e resultados experimentais de implementações de Demultiplexadores CMOS
recentemente publicados, junto com os resultados aqui obtidos, são apresentados na Tabela 19. Ainda,
a última linha da tabela apresenta estimativas de primeira ordem, usando teoria de escalonamento
(Constant-Field Scaling), dos resultados que seriam obtidos com uma tecnologia mais avançada. O
fator de escala usado é K=2,35.
Tabela 18. Resultados experimentais da primeira versão do circuito Demultiplexador 1:8 e de sua
nova implementação. Também são apresentadas as diferenças entre eles.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
159
Circuito Área (apenas o núcleo do
Demultiplexador) (103µm2)
Consumo de potência
(µW/Mbit/s)
Tecnologia Máxima taxa de
operação (Gbit/s)
Diferenças entre as duas implementações
primeira versão
602,0 395 (VDD=5V)
0,8µm CMOS (ES2/ATMEL)
1,06 • conversor ECL-CMOS da Figura 45;
• apenas flip-flops da Figura 47. Nova
versão 563,0 253
(VDD=4,7V) 0,8µm CMOS
(ES2/ATMEL)1,38 • uso de novo conversor ECL-CMOS
(Figura 53); • uso de novos flip-flops com blocos
N-MOS like (Figura 54); • otimização para máxima taxa de
vários buffers do circuito; • substituição de flip-flops sensíveis
à borda de descida por flip-flops sensíveis à borda de subida (Figura 56).
Os resultados previstos pelo escalonamento para nosso Demultiplexador são bastante favoráveis: é
ele que apresenta maior velocidade e, no que toca a potência, perde para o circuito em [Oh97],
fabricado com tecnologia SOI. Lembremos, por outro lado, que nosso circuito faz também a detecção
do byte alignment, e que boa parte dos D-flip-flops operando em alta freqüência estão presentes devido
a esta característica.
Tabela 19. Tecnologia, potência consumida e máxima taxa de operação de diversas implementações
de Demultiplexadores.
Demultiplexador Tecnologia (µm)
Alimentação (V)
Potência consumida
(µW/Mbit/s)
Máxima taxa de operação
(Gbit/s) [Tan96] (1:8) 0,35 (CMOS, 0,15
efetivo) 2,0 71,43 2,8
[Oh97] (2:16) 0,25 (CMOS/SIMOX)
2,0 43 (≈ 21,5 para 1:8)
2,5
este trabalho (nova versão) (1:8)
0,8 (CMOS; 0,7 efetivo)
4,7 253 1,38
este trabalho escalon. (constant-field scaling)
0,34 (CMOS; 0,30 efetivo)
2,0 45,8 3,22
4.2.4 Multiplexador e Demultiplexador: conclusões
O estudo, a implementação e os testes dos circuitos Multiplexador 8:1 e Demultiplexador 1:8
mostraram que a aplicação do E-TSPC, mais especificamente os blocos N-MOS like, e do novo critério
de otimização de tapered buffers trazem melhoras consideráveis. Em termos de velocidade de
operação, que tem sido a nossa maior preocupação, obtivemos ganhos de 62% no Multiplexador e 29%
no Demultiplexador, quando comparamos implementações onde tais técnicas foram ou não aplicadas.
Em termos de área e potência as variações são pequenas.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
160
Ainda, a análise das várias implementações de Multiplexadores e Demultiplexadores que aparecem
na literatura recente mostra que os resultados obtidos por nós são bastante bons: em termos de
velocidade os circuitos são superiores e em termos de potência, no mínimo, comparáveis.
4.3 Circuito Dual-Modulus Prescaler
Dual-Modulus Prescalers são, a grosso modo, divisores de freqüência programáveis. Um sinal de
controle seleciona se o sinal de entrada é dividido por ND ou por (ND+1). Estes circuitos, junto com
PLLs (phase-locked loop) são utilizados em sintetizadores de freqüência RF (Radio Frequency),
sobretudo, em telefonia celular ([Co88], [Fo95], [Ch96], [Cr96], [Hu96], [La96] e [Le97]).
C o m p a ra d o rd e fa se
L o o p F ilte rO scila d o r
co n tro la d o p o rten sã o (V .C .O .)
P resca ler/N D
/N D + 1
C o n tro la d o rd o m o d o
fo u t
Dm
F inF o u t
fre f
fd iv
S e leção (d iv id e p o rN D o u p o r N D + 1 )
Figura 70. Diagrama de blocos de sintetizador de freqüência RF empregando PLL e Prescaler.
Na Figura 70 está o diagrama de blocos de um sintetizador de freqüência RF que emprega PLL e
Prescaler. No diagrama o Prescaler tem seu modo de divisão dado pelo sinal Seleção: quando
Seleção="0" a freqüência do sinal Fout (do Prescaler) é igual a do sinal Fin dividida por ND; quando
Seleção="1" a freqüência do Fout é igual a do Fin dividida por (ND+1). A função do controlador de
modo é, para uma entrada D, gerar na saída um sinal que tem valor "1" durante D/2m do tempo e "0"
no restante. Em vista disso a freqüência média do sinal fdiv será dada por
ff
N Ddivout
D m
=+ 2
onde fdiv é a freqüência média do sinal fdiv;
fout é a freqüência do sinal fout, saída do sintetizador;
D é a entrada digital com valor entre 0 e (2m-1);
m é um número inteiro.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
161
O comparador de fase e o Loop Filter irão ajustar o V.C.O. (voltage-controlled oscillator) até que
fdiv se torne igual a freqüência do sinal fref. Como conseqüência, a freqüência na saída fout do
sintetizador terá valor
( )f N D fout D m ref= + 2
onde fref é a freqüência do sinal fref.
Conseguimos assim, através da entrada digital D, sintetizar 2m freqüências, desde NDfref, para D=0,
até N fD
m
m ref+−
2 12
, para D=(2m-1). Repare que apenas o V.C.O. e o Prescaler trabalham com
freqüências iguais à do sinal de saída. Os outros blocos trabalham com sinais bem mais lentos. Esta
característica torna a configuração da Figura 70 atraente para geração de sinais RF.
Não obstante a importância dos circuitos Prescalers, este não foi o principal motivo para a sua
implementação neste trabalho. Estes mesmos circuitos têm sido utilizados em várias implementações
de testes tanto de circuitos TSPC, ([Ch96], [Hu96]), como de outras técnicas ([Co88], [Fo95] [Cr96],
[La96], [Le97]). Portanto podemos, através da implementação do Prescaler com o emprego da
estratégia E-TSPC, comparar os resultados conseguidos com os de outros trabalhos, e melhor avaliar o
E-TSPC.
4.3.1 Circuito Dual-Modulus Prescaler (divide por 128/129)
O Prescaler que estudamos e implementamos faz a divisão por 128 ou 129 conforme o valor do
sinal de seleção de modo [Na99]. Seu diagrama esquemático está apresentado na Figura 71. Neste
circuito podemos distinguir duas porções: a porção hachurada compõe um contador síncrono que conta
até 4 ou 5, dependendo do valor do sinal div32; os outros D-flip-flops compõe um contador assíncrono
que conta até 32. O contador 4/5 gera o clock do primeiro D-flip-flop do contador assíncrono.
O sinal SM seleciona se o Prescaler irá dividir o sinal clock por 128 ou 129. Assim quando SM="0",
não será possível que o contador assíncrono modifique o sinal div32 e o contador 4/5 contará sempre
até 4. Resulta que a saída do Prescaler terá freqüência igual a do sinal clock dividida por 128. Por
outro lado, se SM="1", o valor do sinal div32 dependerá do estado do contador assíncrono. Como
conseqüência, a cada 32 ciclos o contador 4/5 contará 31 vezes até 4 e uma vez até 5. A saída do
Prescaler terá agora a freqüência do sinal de clock dividida por 129.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
162
D-FF
Q
D Q D-FF
Q
D Q D-FF
Q
D Q D-FF
Q
D Q D-FF
Q
D Q
D-FFD Q D-FF
D Q D-FFD Q
SM
div32
clock
saída128/129
Divide por 4/5 (contador)
Figura 71. Diagrama esquemático do Dual-Modulus Prescaler (divide por 128/129).
No circuito do Prescaler, apenas os blocos que compõe o contador 4/5, que recebem como clock o
próprio sinal a ser dividido, trabalham com a velocidade máxima. Os outros blocos recebem sinais
mais lentos. Em vista disto, o contador síncrono constitui-se no elemento crítico para o desempenho
em termos de velocidade.
4.3.2 Estudo preliminar dos contadores síncronos
Num estudo preliminar do Prescaler, tratamos de implementar o contador síncrono com estratégias
diferentes para compararmos os resultados. Quatro diferentes layouts foram projetados e desenhados
com a tecnologia 0,8µm CMOS; seus circuitos foram extraídos e então simulados no SPICE. Os
contadores síncronos projetados são enumerados e descritos abaixo:
DG1: projetado utilizando D-flip-flops convencionais sensíveis à borda de subida do clock;
DG2: projetado utilizando D-flip-flops sensíveis à borda de subida e otimizado através da aplicação
da estratégia E-TSPC;
DG3: projetado utilizando D-flip-flops sensíveis à borda de descida modificados conforme
apresentado em [Ch96];
DG4: projetado utilizando D-flip-flops sensíveis à borda de descida e otimizado através da aplicação
da estratégia E-TSPC.
A Figura 72 apresenta o diagrama de transistores e o layout para estes quatro projetos.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
163
c l k
d i v 3 2
c l o c k p a r a oc o n t a d o r
a s s í n c r o n o
4 , 0 4 , 0 4 , 0
4 , 0
4 , 0 4 , 04 , 0 2 , 4
C 1 C 2a )
c l k
2 , 42 , 4
c l k
2 , 42 , 4
c l k
2 , 42 , 4
c l k
2 , 4
2 , 4 2 , 4
2 , 4 2 , 4
2 , 4
4 , 8
2 , 4 2 , 4 2 , 4
2 , 4 2 , 4 2 , 4
c l k c l kc l k
c l k c l k
c l k
c l k
2 , 4
2 , 4 2 , 4
2 , 4
4 , 8
4 , 8
2 , 4
2 , 4
2 , 4
2 , 4
2 , 4
2 , 4
c l k
c l k
4 , 8
D G 1
c l k
d i v 3 2c l o c k p a r a o
c o n t a d o ra s s í n c r o n o
3 , 0
4 , 0 4 , 0 4 , 04 , 0
C 1 C 2
b )
c l k
2 , 43 , 0
c l k
2 , 43 , 8
c l k
2 , 4
c l k
2 , 4
2 , 4
2 , 4 2 , 4
2 , 4
4 , 8
2 , 4 2 , 4
4 , 0 2 , 4 2 , 4
c l k c l kc l k
c l k c l k
c l k
c l k
2 , 4
2 , 4 2 , 4
2 , 4
4 , 8
4 , 8
2 , 4
2 , 4
2 , 4
2 , 4
c l k
c l k
4 , 85 , 7
3 , 1
D G 2
c lk
d iv 3 2c lo c k p a ra o
c o n ta d o ra s s ín c ro n o
4 ,0 4 ,0 4 ,0
4 ,0
4 ,0 4 ,04 ,0
2 ,4
C 1 C 2
c )
c lk
3 ,02 ,4
c lk
3 ,02 ,4
c lk
2 ,42 ,4
c lk
3 ,0
2 ,44 ,0 4 ,0
3 ,0
2 ,4
2 ,4
4 ,0 4 ,0
c lk
c lk c lk
c lk
4 ,0 4 ,0
3 ,0
3 ,0
2 ,4
2 ,4
4 ,0 4 ,0
c lk
c lk3 ,0
D G 3
c l k c l k
c l k
c l k c l k
c l k
c l k c l k
c l k
d i v 3 2c l k
c l k
c l o c k p a r a oc o n t a d o r
a s s í n c r o n o
8 , 5 8 , 5 3 , 0 3 , 0 5 , 0 3 , 0 3 , 0 3 , 0 3 , 08 , 0 8 , 04 , 0
3 , 0 3 , 0
2 , 4 / 1 , 1 4 , 0 4 , 0 4 , 0 4 , 0
4 , 0 4 , 0
4 , 0 4 , 04 , 0 4 , 02 , 4 2 , 4 / 1 , 1 2 , 4 / 1 , 1
C 1 C 2d )
D G 4
Figura 72. Diagrama de transistores e layout dos quatro projetos do contador síncrono 4/5: em (a) está o projeto DG1; em (b), DG2; em (c), DG3; em (d), DG4. Na representação de transistores também estão indicados a largura e, quando diferente de 0,8µm, o comprimento do canal de cada transistor (largura/comprimento). No layout, a moldura em torno do circuito tem dimensões de 100µm X 70µm (praticamente as dimensões de DG1), para os quatro casos.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
164
Algumas observações acerca dos quatro projetos devem ser feitas para melhor compreensão das
comparações exibidas:
i. em todos os projetos foram usados transistores com pequenas dimensões, normalmente as
mínimas permitidas pela tecnologia;
ii. o diagrama esquemático da Figura 71 é alterado em cada uma das implementações visando ao
melhor aproveitamento de suas características. Apenas em DG1 é seguido o diagrama original;
iii. a porta lógica NOR, Figura 71, é implementada de forma semelhante a uma porta N-MOS, mas
com um transistor P como carga. A porta assim construída é mais veloz que uma porta estática
complementar CMOS. Esta configuração para o NOR aparece em DG1, DG3 e DG4;
iv. os blocos C1 e C2, Figura 72, geram o sinal de clock para o primeiro D-flip-flop do contador
assíncrono. Com esta configuração, as cargas ligadas a estes sinais de clock não interferem na
velocidade dos contadores. Ela foi usada nos quatro projetos.
Através dos layouts mostrados, podemos verificar que a área ocupada por cada um dos circuitos é
bastante próxima. A Tabela 20, por sua vez, mostra os resultados de velocidade e potência consumida,
para os diferentes projetos do contador 4/5. Estes dados foram obtidos a partir de simulações dos
netlists extraídos dos layouts (SPICE, parâmetros slow).
Tabela 20. Resultados de máxima velocidade e potência consumida para os quatro contadores
síncronos 4/5 projetados (simulação SPICE com parâmetros slow).
Projeto Velocidade (GHz) Potência consumida (µW/MHz)
DG1 0.98 3.27
DG2 1.28 4.45
DG3 1.39 4.85
DG4 1.67 5.62
Comparando os resultados vemos as vantagens do E-TSPC. Um aumento superior a 70% na
velocidade é conseguido do projeto DG1 para o DG4, e da ordem de 20% do DG3 para o DG4. Por outro
lado, a potência consumida aumenta 72% do DG1 para o DG4. Como o circuito DG4 utiliza apenas
blocos N-MOS like, este aumento não é surpreendente e confirma que tais blocos devem ser usados
apenas nas partes críticas das implementações. Desde que as regras de composição favorecem as trocas
entre os blocos convencionais e os blocos N-MOS like, os circuitos E-TSPC podem alcançar altas
velocidades mantendo o consumo de potência tão baixo quanto possível para o objetivo desejado.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
165
4.3.3 Resultados Experimentais do Dual-Modulus Prescaler
O Dual-Modulus Prescaler (divide por 128/129) completo foi implementado utilizando a
configuração de DG4. No contador assíncrono foram usados D-flip-flops convencionais TSPC (capítulo
dois) sensíveis à borda de subida. As dimensões usadas para estes blocos são iguais àquelas usadas
pelos D-flip-flops do projeto DG1, Figura 70(a). A área total ocupada pelo Prescaler é de 0,0126 mm2.
Uma alteração ainda foi acrescentada ao circuito: o sinal de clock gerado pelo contador síncrono é
invertido antes de ser ligado ao contador módulo 32. Este expediente permite maior tempo para a
preparação do sinal div32.
As simulações do circuito completo mostraram que ele deveria atingir freqüências de operação
superiores a 1,5GHz. Ainda, verificamos que o buffer para o clock (sinal de entrada de alta freqüência)
é um dos limitadores da velocidade final do circuito.
O C.I. foi projetado para testes com técnicas de chip-on-bord, pois, se fosse encapsulado, as
indutâncias e capacitâncias parasitas, associadas ao pino do sinal de clock, impossibilitariam que o
Prescaler alcançasse as velocidades previstas ([Ki93], [Ve95], [Li98]). Foram colocados no mesmo
C.I. três versões do Prescaler (Figura 73(a)): duas versões para serem testadas em alta freqüência e
que diferem no buffer do clock (implementação 1 e implementação 2, Figura 73(a)) e uma para ser
encapsulada para testes preliminares de baixa freqüência (implementação 3).
Foram utilizados, para a fabricação do C.I., os serviços do Circuits Multi-Projects (CMP) francês
que, para a tecnologia empregada, cobra, no mínimo, 2mm2 de área. Como as três implementações
juntas ocupam uma área pequena, grande parte do C.I. foi utilizada para a colocação de capacitores de
desacoplamento entre VDD e VSS que reduzem o ruído interno. As dimensões totais do C.I. são de
aproximadamente 1,6mm X 1,3 mm.
Para os testes aqui foi confeccionada uma placa em alumina e o C.I., colado sobre ela. Com exceção
do PAD de clock, e seus dois PADs de terra (Figura 73(b)), todos os outros, que não recebem sinais de
alta velocidade, são ligados diretamente a placa. Na Figura 73(a) estão mostrados os fios que ligam os
PADs do circuito a placa. O sinal de clock é injetado no C.I. por meio de ponta de prova RF coplanar
do tipo GSG, ground-signal-ground, com impedância característica de 50Ω. O resistor para casamento
de impedância é construído interno ao chip por meio da camada de difusão (dois resistores de 100Ω,
ver Figura 73(b)). Como o sinal de clock não passa por nenhum conversor de nível, deve, quando
possível, ter os mesmos níveis de tensão usados na lógica interna do C.I..
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
166
Implementação 1
Implemetação 2
Implementação 3
a)
output128/129
clockGnd Gnd
VSS
SM
VDD
VDD
b)
resistor de 100Ω resistor de 100Ω
Figura 73. Fotografia do C.I. fabricado. Em (a) aparece o C.I. completo, com três diferentes
Prescalers; também são mostradas as conexões do C.I. com placa de teste. Em (b), estão detalhes do
Prescaler que foi testado em alta freqüência (implementação 1).
Devido às dificuldades para execução dos testes (necessidade de confecção de placas) apenas a
implementação mais promissora, de acordo com as simulações, foi testada em alta freqüência. A
Figura 73(b) mostra em detalhes o circuito testado e a Tabela 21 dá a descrição de cada um de seus
PADs.
Tabela 21. PADs de entrada/saída do Prescaler testado e sua descrição (Figura 73(b)).
PADs de entrada/saída Descrição
clock sinal de alta freqüência para ser dividido pelo Prescaler
output 128/129 sinal de saída resultante da divisão do sinal de clock
SM sinal que determina se o circuito divide por 128 ou 129
VDD Alimentação do circuito (5V). São duas entradas de VDD, uma para o
Prescaler propriamente dito, e outra para o buffer do clock
VSS sinal de terra para o circuito Prescaler
Gnd terra para ponta de prova coplanar usada no sinal de clock
Na Figura 74 estão apresentadas a máxima freqüência de operação e a corrente consumida no
Prescaler como função da tensão VDD, medidas experimentalmente. Uma vez que o gerador de sinais
usado tem sua excursão de saída limitada a 3V (HP Pulse Generator 8133A), acreditamos que o
Prescaler funcione em velocidades um pouco superiores àquelas encontradas quando VDD é maior que
3V (veja linha tracejada na curva de máxima freqüência de operação, Figura 74).
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
167
2 2.5 3 3.5 4 4.5 50.4
0.6
0.8
1
1.2
1.4
1.6
VDD (V)
Máximafreqüência
deoperação
(GHz)
0
0.5
1
1.5
2
2.5
3
Correnteconsumidana máximafreqüência
(mA)
Figura 74. Resultados experimentais do Prescaler. A curva (*), eixo à esquerda, fornece a máxima
freqüência de operação em função da tensão de alimentação (VDD); a curva (o), eixo à direita, fornece
a corrente consumida na freqüência máxima.
Resultados de performance de nossa implementação, de três outras implementações recentemente
publicadas e que usam D-flip-flops TSPC e de uma nova arquitetura para Prescalers são sumariados na
Tabela 22. Em [Hu96], o Prescaler foi construído com D-flip-flops TSPC sensíveis à borda de subida e
que foram otimizados para atingir máxima velocidade; em conseqüência, tanto a velocidade como a
potência consumida são elevadas. D-flip-flops TSPC sensíveis à borda de descida com transistores de
pequenas dimensões e com alguns blocos N-MOS like foram empregados em [Ch96]. O circuito
resultante tem pequena área, baixo consumo de potência mas a máxima freqüência de operação não é
das maiores. No Prescaler proposto em [Ya98], um novo D-flip-flop TSPC sensível à borda de subida
é utilizado, resultando em alta velocidade e elevado consumo de potência (o que sugere o uso de
transistores grandes). Uma arquitetura alternativa é proposta e aplicada em [Cr96]; D-flip-flops
diferenciais substituem os TSPC nos pontos críticos. O resultado é uma altíssima velocidade e baixa
potência. Nossa implementação, com a estratégia E-TSPC e transistores de pequenas dimensões,
fornece a menor área e o menor consumo de potência, quando comparado com as versões anteriores;
adicionalmente, sua velocidade é comparável a [Cr96].
Por fim, para comparações entre as cinco implementações, foi empregado como índice de mérito
dos Prescalers o valor calculado pela relação
ITec F
PotM =3
max
onde IM é o índice de mérito;
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
168
Tec é o comprimento mínimo de canal para a tecnologia, em µm (Tabela 22, segunda coluna);
Fmax é a máxima freqüência de operação do circuito, em MHz (Tabela 22, quinta coluna);
Pot é a potência por MHz, em µW/MHz (Tabela 22, sexta coluna).
A última coluna da Tabela 22 apresenta o valor de IM. Observe que o expoente 3, para o parâmetro
Tec, é necessário para que o índice de mérito permaneça invariável quando é aplicado o Constant-
Field Scaling. O circuito aqui projetado é o que maior valor de IM apresenta6.
Tabela 22. Resultados de área, velocidade e potência para cinco diferentes implementações do
Prescaler.
Prescaler Tecnologia
(µm)
Tensão de
alimentação (V)
Área
(10-3mm2)
Velocidade
(GHz)
Potência
(µW/MHz)
IM
(µm3MHz2/ µW)
[Hu96] 1,0 5 39.1 1,6 31,2 51,3
[Ch96] 0,8 5 13,7* 1,22 20,9 29,9
[Cr96] 0,7 3 632** 1,75 13,7 43,8
[Ya98] 0,8 5 - 1,80 29,34 31,41
(este trabalho) 0,8 5 12,6 1,59 8,0 101,8
* unicamente o contador módulo 4/5 e o contador módulo 32 são considerados. ** inclui PADs e buffers.
4.3.4 Dual-Modulus Prescaler: conclusões
O estudo, a implementação e os testes do Dual-Modulus Prescaler confirmam algumas das
principais características da estratégia E-TSPC. São elas:
• as regras de composição permitem que o projetista utilize todo o potencial dos blocos
disponíveis;
• os blocos N-MOS like podem aumentar a velocidade em todos os pontos onde for necessário.
Ainda, desde que os blocos convencionais e os blocos N-MOS like devem seguir as mesmas regras
de composição, eles podem ser substituídos, uns pelos outros, com custos, em termos de tempo de
projeto, pequenos;
6 Podemos, a partir da Figura 74, determinar o valor de IM para várias tensões VDD. O menor valor é obtido quando
VDD=5V, que é o usado na Tabela 22.
Circuitos de testes para a estratégia E-TSPC e para os Tapered Buffers
169
• p-data chains usando predominantemente p-latches N-MOS like, onde a função lógica é
executada por transistores N, são mais velozes que os n-data chains. Em conseqüência, n e p-data
chains podem ser igualmente aplicados em circuitos de alta velocidade.
Conclusões e futuros trabalhos
171
5. Conclusões e futuros trabalhos Nossa atenção, neste trabalho, esteve voltada para o projeto de circuitos de alta velocidade em
tecnologias CMOS. Como vimos, o aumento das freqüências de operação dos C.I.s, (NTRS-97
[Se97]), e a demanda crescente, em diversas áreas de aplicação, por circuitos mais rápidos, fizeram
com que a velocidade se tornasse um importante fator de desempenho mas criaram, todavia, novas
dificuldades para os projetos de C.I.s.
No capítulo dois, desenvolvemos uma estratégia para o projeto de Register Transfer Systems os
quais utilizam um único clock para sincronismo (True Single Phase Clock). A estratégia foi
denominada Extended-TSPC. Nela são utilizadas portas lógicas complementar CMOS, CMOS
dinâmicas e data pre-charged, blocos n-latches e blocos p-latches. Ainda, são permitidas
modificações em algumas destas portas e blocos, formando os blocos N-MOS like. Um conjunto de
regras de composição é fornecido, r1 a r5 (ou apenas rG) além de rE, para determinar como estes blocos
podem ou não ser ligados. Uma vez obedecidas a tais regras, garantimos, como mostram os teoremas
apresentados e provados no capítulo dois, que diferentes problemas, referentes ao funcionamento das
portas e dos blocos usados, não ocorrerão.
A otimização de tapered buffers, para obter máxima taxa de operação, foi então tratada no capítulo
três. A partir de simulações com diversas tecnologias verificamos que com a minimização do atraso do
buffer não obtemos, necessariamente, a máxima taxa de operação para ele. Os resultados mostraram
que valores pequenos de fator de aumento entre inversores, inferiores a dois, é que proporcionam as
maiores taxas. Como conseqüência, o uso de valores pequenos do fator de aumento, para aplicações
onde atrasos maiores no buffer podem ser suportados, é recomendado para melhora do desempenho.
Aumentos superiores a 20% na máxima taxa de operação têm sido alcançados dessa forma.
A estratégia E-TSPC, parcialmente, e os novos critérios para otimização de tapered buffers foram
empregados no desenvolvimento de versões de alta performance de dois circuitos: um Multiplexador
8:1 e um Demultiplexador 1:8 com byte alignment. Os resultados obtidos com testes nestes circuitos
foram descritos em detalhes no capítulo quatro. O novo Multiplexador operou a taxas de 1,7Gbit/s e o
novo Demultiplexador, a 1,38Gbit/s, valores excelentes para a tecnologia utilizada (CMOS 0,8µm). O
ganho de velocidade conseguido em relação a primeira versão destes mesmos circuitos, efeito do
emprego das técnicas aqui propostas, foi de 62% para o Multiplexador e de 29% para o
Demultiplexador.
Um outro circuito, um Dual Modulus Prescaler, foi também desenvolvido. Nele, a estratégia E-
TSPC foi empregada de forma mais ampla, mostrando-se vantajosa para se atingir tanto altas
freqüências de operação como baixos consumos de potência. O protótipo caracterizado do Prescaler
Conclusões e futuros trabalhos
172
operou na freqüência de 1,58GHz (tecnologia CMOS 0,8µm). O índice de mérito utilizado para
comparação de diferentes implementações de Prescalers, índice que leva em conta a freqüência de
operação, o consumo de potência e a tecnologia utilizada, foi, para nosso circuito, quase duas vezes
superior ao melhor resultado encontrado nas implementações de outros trabalhos.
5.1 Futuros trabalhos sobre o E-TSPC
O trabalho apresentado aqui é a base para futuros desenvolvimentos. Para sua utilização em
circuitos de média e grande complexidade, ele precisa ser complementado com bibliotecas de células e
com uma série de ferramentas de auxílio a projetos (ferramentas de CAD).
A biblioteca de células deve possuir vários blocos da estratégia, em todas as suas variantes, para as
funções lógicas mais comuns. Ainda, é essencial que cada bloco esteja devidamente caracterizado em
termos de velocidade e consumo de potência. Dessa forma, o projetista, ou a ferramenta de CAD,
poderá estimar o custo, em termos de potência, da substituição de um bloco mais lento por outro mais
veloz. Também é interessante que estejam disponíveis várias células D-flip-flops otimizadas para
atingir máxima taxa de operação. Nessa direção, alguns trabalhos estão sendo executados ([Gri98]).
A aplicação com sucesso do E-TSPC em circuitos maiores dependerá, em parte, da existência de
ferramentas que possam ser empregadas com ele. A ferramenta mais simples que pode ser concebida é
para verificação das regras de composição. Essa verificação será trivial uma vez identificados os data
chains do circuito, sendo esta identificação, por sua vez, uma tarefa fácil (no capítulo dois é sugerido
como). Outra ferramenta, mais sofisticada, pode ser construída para determinação dos caminhos
críticos de um circuito, esteja ele descrito por meio de conexões entre células de uma biblioteca, esteja
ele descrito na forma de layout. Tal ferramenta seria bastante útil para otimizações de velocidade e
consumo de potência, pois permitiria identificar as posições onde blocos N-MOS like são mais
necessários.
Para tirar maior proveito das potencialidades do E-TSPC, uma ferramenta completa para síntese
lógica é desejável. Esse é, por sua vez, o objetivo do Ambiente de Síntese de Circuitos de Alto
Desempenho (ASCAD) que vem sendo estudado dentro do LSI/USP [Rom98].
5.2 Futuros trabalhos sobre otimização de tapered buffers
Para aprofundamento do trabalho sobre tapered buffers, várias questões devem ser investigadas. A
primeira diz respeito aos problemas de mismatch entre inversores. Foi feita, no capítulo três, uma
análise teórica sobre a questão no entanto faltam resultados experimentais relativos a diferentes
tecnologias. Para isso várias estruturas com osciladores em anel, formados por inversores, devem ser
Conclusões e futuros trabalhos
173
fabricadas e caracterizadas. Na Figura 75 está exemplificado um oscilador para testes de um buffer
com fator de aumento χ.
Também estudos sobre a área ocupada e a potência consumida pelo tapered buffer, em função do
fator de aumento empregado, devem ser acrescentados àqueles efetuados no capítulo três.
Inv. 1Wn=W
Inv. 2Wn=χW
Inv. 3Wn=χ2W
Inv. NWn=χN-1W
Inv. N+1Wn=(χN-1)W
Figura 75. Estrutura para caracterizar mismatch em buffers com fator de aumento χ. Wn indica a
largura de canal do transistor N.
Por fim, como exemplificado no APÊNDICE C, novos modelos para determinação da largura
mínima do pulso que atravessa um buffer devem ser tentados. O desejável é obter relações fechadas
que possam ser usadas para a previsão desta.
APÊNDICE A
175
APÊNDICE A Apresentamos uma síntese das principais regras de composição da estratégia E-TSPC. As regras r1
a r5, discutidas no capítulo 2, podem ser associadas para constituir a regra geral dada abaixo, que é
mais simples de ser empregada.
Regra de Composição Geral (rG): Em qualquer data chain deve haver uma das duas configurações:
rGa. ao menos um bloco dinâmico e um latch e um número par de blocos (número par de inversões)
entre eles;
rGb. ao menos dois latches e um número par de blocos (número par de inversões) entre eles.
No data chain, além de ocorrer uma das configurações acima, os blocos adjacentes não devem
desobedecer às restrições dadas na Tabela A1 (os blocos são adjacentes quando entre eles existem
apenas blocos estáticos).
Tabela A1. Número de blocos que pode haver entre as entradas e saídas de blocos adjacentes dentro
de um data chain.
entrada de latch
pc-entrada de bloco
PH
não pc-entrada de bloco PH
pc-entrada de bloco
PL
não pc-entrada de bloco PL
entrada de bloco n-
dinâmico
entrada de bloco p-
dinâmicoentrada do data chain7
s.r. n.p. s.r. n.p. s.r. s.r. s.r.
saída de latch
s.r. n.p. n.p. n.p. n.p. n.p. n.p.
saída de bloco PH
s.r. ímpar ímpar par par par ímpar
saída de bloco PL
s.r. par par ímpar ímpar ímpar par
saída de bloco n-
dinâmico
s.r. par par ímpar ímpar ímpar n.p.
saída de bloco p-
dinâmico
s.r. ímpar ímpar par par n.p. ímpar
s.r.: ligações que são permitidas, a princípio, sem nenhuma restrição; n.p.: ligações não permitidas; par: deve haver um número par de blocos; ímpar: deve haver um número ímpar de blocos.
7 A entrada do data chain é tratada como se fosse a saída de um bloco.
APÊNDICE B
177
APÊNDICE B Apresentamos abaixo os modelos para transistores da tecnologia CMOS 0,8µm da ES2/ATMEL e
da tecnologia CMOS 0,35µm do IMEC/Bélgica ([Es94] e [Hu97]), usados nas simulações.
B.1 Modelos para a tecnologia 0,8µm da ES2/ATMEL
B.1.1 Modelo level 2 para SPICE3d2 Modelo Típico para Transistores (0,8)
.Model NT0.7 NMOS (LEVEL=2 TOX=1.50E-08 VTO=0.906 LD=0.075U NSUB=2.35E16 + GAMMA=0.807 UO=554 UEXP=0.195 UCRIT=50K VMAX=68.15K DELTA=3.8 RSH=178.4 + NEFF=50 NFS=3.1 XJ=0.055U CJ=486U MJ=0.43 + CJSW=223P MJSW=0.43 PB=0.675 CGDO=200P CGSO=200P JS=2U) .Model PT0.7 PMOS(LEVEL=2 TOX=1.50E-08 VTO=-0.92 LD=0.021U NSUB=20E16 + GAMMA=0.62 UO=220 UEXP=0.217 UCRIT=17.6K VMAX=70K DELTA=2.85 RSH=220 + NEFF=1.0 NFS=1.0 XJ=0.5U CJ=600U MJ=0.51 + CJSW=820P MJSW=0.51 PB=0.70 CGDO=200P CGSO=200P JS=20U)
Modelo Slow para Transistores
.Model NS0.7 NMOS (LEVEL=2 TOX=1.65E-08 VTO=1.056 LD=0.075U NSUB=2.35E16 + GAMMA=0.93 UO=530 UEXP=0.195 UCRIT=50K VMAX=68.15K DELTA=3.8 RSH=120 + NEFF=50 NFS=3.1e11 XJ=0.055U CJ=535U MJ=0.43 + CJSW=245P MJSW=0.43 PB=0.675 CGDO=180P CGSO=180P JS=2U) .Model PS0.7 PMOS(LEVEL=2 TOX=1.65E-08 VTO=-1.07 LD=0.021U NSUB=20E16 + GAMMA=0.67 UO=208 UEXP=0.217 UCRIT=17.6K VMAX=70K DELTA=2.85 RSH=253 + NEFF=1.0 NFS=1.0e11 XJ=0.5U CJ=640U MJ=0.51 + CJSW=900P MJSW=0.51 PB=0.70 CGDO=180P CGSO=180P JS=20U)
Modelo Fast para Transistores
.Model NF0.7 NMOS (LEVEL=2 TOX=1.35E-08 VTO=0.756 LD=0.075U NSUB=2.35E16 + GAMMA=0.68 UO=580 UEXP=0.195 UCRIT=50K VMAX=68.15K DELTA=3.8 RSH=155 + NEFF=50 NFS=3.1 XJ=0.055U CJ=437U MJ=0.43 + CJSW=200P MJSW=0.43 PB=0.675 CGDO=220P CGSO=220P JS=2U) .Model PF0.7 PMOS (LEVEL=2 TOX=1.35E-08 VTO=-0.77 LD=0.021U NSUB=20E16 + GAMMA=0.56 UO=232 UEXP=0.217 UCRIT=17.6K VMAX=70K DELTA=2.85 RSH=190 + NEFF=1.0 NFS=1.0 XJ=0.5U CJ=440U MJ=0.51 + CJSW=740P MJSW=0.51 PB=0.70 CGDO=220P CGSO=220P JS=20U) B.1.2 Modelo level 6 para HSPICE
Modelo Típico para Transistores (0,8)
.Model NT08 NMOS (LEVEL = 6.0 UPDATE=1.0 NSUB=1.965e+16 TOX=150.0 BETA=97e-6 + XJ=0.25u RSH=65 MOB=2 F1=372k F2=200m UTRA=563m XL=0.04u LD=0.1u + XW=0.9u WD=0.45u VTO=815m NSS=0.0 NWE=193.7n UFDS=99.5m VFDS=0.2 FDS=84m + VB0=1.50 GAMMA=764m LGAMMA=705m VSH=650m NWM=-197m SCM=1.733
APÊNDICE B
178
+ WIC =2 NFS=5E11 WEX=17 LAMBDA=10.63u NU=1 KU=1.405 ECRIT=87k MBL=555m + KA=974m MAL=295m CLM=3 KCL=1.08 MCL=4.63 TLEV=1 BEX=-1.5 TCV=-2m + CAPOP=2.0 ACM=2.0 CJ=503u MJ=0.43 CJSW=109p MJSW=0.43 PB=0.675 + CGDO=200p CGSO=200p JS=2u) .Model PT08 PMOS (LEVEL=6.0 UPDATE=1.0 NSUB=2.5e+16 TOX=150.0 BETA=30.16e-6 + XJ=0.5u RSH = 80 MOB=2 F1=483k F2=320m UTRA=-197m XL=0.042u LD=0.1u + XW=0.9u WD=0.45u VTO=-1 NWE=56.1n UFDS=331m VFDS=0.5 FDS=286m + VB0 =1.5 GAMMA=587m LGAMMA=653m VSH=-116m NWM=-442m SCM=1.01 + WIC=2 NFS=6E11 WEX=14.3 LAMBDA=14u NU=1 KU=9.871 ECRIT=486k MBL=803m + KA=1.082 MAL=0 CLM=3 KCL=41.91m MCL=6.97 TLEV=1 BEX=-1.0 TCV=1.52m + CAPOP=2.0 ACM=2.0 CJ=776u MJ=0.51 CJSW=572p MJSW=0.51 PB=0.7 + CGDO=200p CGSO=200p JS=20u)
Modelo Fast para Transistores
.Model NF08 NMOS (LEVEL=6.0 UPDATE=1.0 NSUB=1.965e+16 TOX=135.0 BETA=107e-6 + XJ=0.25u RSH=55 MOB=2 F1=372k F2=200m UTRA=563m XL=-0.08u LD=0.1u + XW=1.08u WD=0.45u VTO=715m NSS=0.0 NWE=193.7n UFDS=99.5m VFDS=0.2 FDS=84m + VB0=1.50 GAMMA=714m LGAMMA=655m VSH=650m NWM=-197m SCM=1.733 + WIC=2 NFS=5E11 WEX=17 LAMBDA=10.63u NU=1 KU=1.405 ECRIT=87k MBL=555m + KA=974m MAL=295m CLM=3 KCL=1.08 MCL=4.63 TLEV=1 BEX=-1.5 TCV=-2m + CAPOP=2.0 ACM=2.0 CJ=453u MJ=0.43 CJSW=90p MJSW=0.43 PB=0.675 + CGDO=220p CGSO=220p JS=2u) .Model PF08 PMOS (LEVEL=6.0 UPDATE=1.0 NSUB=2.5e+16 TOX=135.0 BETA=33.4e-6 + XJ=0.5u RSH=70 MOB=2 F1=483k F2=320m UTRA=-197m XL=-0.078u LD=0.1u + XW=1.08u WD=0.45u VTO=-0.9 NWE=56.1n UFDS=331m VFDS=0.5 FDS=286m + VB0=1.5 GAMMA=537m LGAMMA=603m VSH=-116m NWM=-442m SCM=1.01 + WIC=2 NFS=6E11 WEX=14.3 LAMBDA=14u NU=1 KU=9.871 ECRIT=486k MBL=803m + KA=1.082 MAL=0 CLM=3 KCL=41.91m MCL=6.97 TLEV=1 BEX=-1.0 TCV=1.52m + CAPOP=2.0 ACM=2.0 CJ=706u MJ=0.51 CJSW=522p MJSW=0.51 PB=0.7 + CGDO=220p CGSO=220p JS=20u)
Modelo Slow para Transistores
.Model NS08 NMOS (LEVEL=6.0 UPDATE=1.0 NSUB=1.965e+16 TOX=165.0 BETA=88e-6 + XJ=0.25u RSH=75 MOB=2 F1=372k F2=200m UTRA=563m XL=0.16u LD=0.1u + XW=0.72u WD=0.45u VTO=915m NSS=0.0 NWE=193.7n UFDS=99.5m VFDS=0.2 FDS=84m + VB0=1.50 GAMMA=814m LGAMMA=755m VSH=650m NWM=-197m SCM=1.733 + WIC=2 NFS=5E11 WEX=17 LAMBDA=10.63u NU=1 KU=1.405 ECRIT=87k MBL=555m + KA=974m MAL=295m CLM=3 KCL=1.08 MCL=4.63 TLEV=1 BEX=-1.5 TCV=-2m + CAPOP=2.0 ACM=2.0 CJ=553u MJ=0.43 CJSW=130p MJSW=0.43 PB=0.675 + CGDO=180p CGSO=180p JS=2u) .Model PS08 PMOS (LEVEL=6.0 UPDATE=1.0 NSUB=2.5e+16 TOX=165.0 BETA=27.4e-6 + XJ=0.5u RSH=90 MOB=2 F1=483k F2=320m UTRA=-197m XL=0.162u LD=0.1u + XW=0.72u WD=0.45u VTO=-1.1 NWE=56.1n UFDS=331m VFDS=0.5 FDS=286m + VB0=1.5 GAMMA=637m LGAMMA=703m VSH=-116m NWM=-442m SCM=1.01
APÊNDICE B
179
+ WIC=2 NFS=6E11 WEX=14.3 LAMBDA=14u NU=1 KU=9.871 ECRIT=486k MBL=803m + KA=1.082 MAL=0 CLM=3 KCL=41.91m MCL=6.97 TLEV=1 BEX=-1.0 TCV=1.52m + CAPOP=2.0 ACM=2.0 CJ=846u MJ=0.51 CJSW=622p MJSW=0.51 PB=0.7 + CGDO=180p CGSO=180p JS=20u)
B.2 Modelos para a tecnologia 0,35µm do IMEC/Bélgica
B.2.1 Modelo level 3 para HSPICE Modelo Slow para Transistores (0,35)
.Model NS035 NMOS (level=3 VT0=0.733 Kp=218.2u Kappa=0.16 tox=7.5n Vmax=132.16K + Ld=0.01u Ldif=0.15u Hdfi=0.4u ACM=2 Xj=0.1u Wd=-0.01u Theta=0.24 U0=426.98 + Delta=-0.5 ETA=0 Gamma=0.629 NSUB=2.9e17 PHI=0.905 TPG=+1 JS=0.34e-6 + JSW=3.3e-13 N=1.05 CJ=102E-5 CJSW=4.1E-10 MJ=0.364 MJSW=0.255 PB=0.776 + PHP=0.757 RSH=2.0 RDC=0 RSC=0 RD=1990 RS=1990) *+ RDC=2.6 RSC=2.6 RD=1990 RS=1990) .Model PS035 PMOS (level=3 VT0=-0.726 Kp=46.3u Kappa=2 tox=7.5n Vmax=104.47K + Ld=0.01u Ldif=0.15u Hdif=0.4u ACM=2 Xj=0.1u Wd=-0.06u Theta=0.199 U0=100 + Delta=-0.56 ETA=0 Gamma=0.618 NSUB=2.8e17 PHI=0.895 TPG=+1 JS=0.29e-6 + JSW=2.8e-13 N=1.05 CJ=111E-5 CJSW=3.6E-10 MJ=0.453 MJSW=0.267 PB=0.894 + PHP=0.616 RSH=1.8 RDC=0 RSC=0. RD=4960 RS=4960) *+ RDC=2.4 RSC=2.4 RD=4960 RS=4960)
APÊNDICE C
181
APÊNDICE C Tentaremos aqui um modelamento alternativo para determinar a largura mínima do pulso que
propaga por um tapered buffer. Vamos considerar, para o problema, que os inversores são sistemas
lineares invariantes, com uma entrada que é VGS (tensão gate-fonte) e uma saída (tensão dreno-fonte),
sendo a fonte, a do transistor N. Poderemos então escrever a função de transferência do buffer ([Or85],
[De79]):
H s H sii
i N
( ) ( )==
=
∏1
onde H(s) é a função de transferência do buffer;
N é o número de inversores do buffer;
Hi(s) é a função de transferência do i-ésimo inversor do buffer.
Chamaremos a máxima taxa de transmissão de dados possível no buffer, em bit/s, de fm. Vamos
supor que, nessa freqüência máxima, o ganho da função de transferência seja KA, ou seja
H H Kc i ci
i N
A( ) ( )ω ω= ==
=
∏1
e fmc= 2
2ωπ
onde ωc será chamada de freqüência angular de corte do buffer;
KA é uma constante onde 0 0< <K HA ( ) .
O modelo aceitável mais simples para o inversor é dado na Figura C1. Neste modelo há um circuito
RC na saída que será responsável pelo único pólo da função de transferência. Para o i-ésimo inversor
será válido então
H s GsR Ci Ai
Ei Li( ) = −
+1
1
onde GAi é o ganho DC do inversor, GAi≥1;
REi é a resistência equivalente do i-ésimo inversor (Figura C1);
CLi é a capacitância de carga do i-ésimo inversor (Figura C1). REi
VGS
CLi
GAiVGSVDSVDSVDS
Figura C1. Modelo de primeira ordem para um inversor.
Por fim, a função de transferência do buffer será
H s GsR CAi
Ei Lii
i N
( ) = −+
=
=
∏ 111
APÊNDICE C
182
e, portanto, a freqüência angular de corte ωC será aquela que satisfaz a relação
111
1
ωc Ei Lii
i NA
Aii
i NR CK
G+
=
=
=
=
=∏∏ ( )
; observe que K
G
A
Aii
i N
( )=
=
∏<
1
1.
As seguintes simplificações serão ainda aplicadas:
• os ganhos GAis iguais para todos os inversores e com valor de GA. Observemos que o ganho do
inversor, quando os dois transistores estão na saturação, depende da relação entre gm,
transcondutância do transistor, e gd, a condutância de dreno. Pode ser mostrado que esta relação é
independente da largura do canal do transistor, ao menos em uma análise de primeira ordem
[Gr86]. De forma semelhante, supomos ser GAi;
• R Ct
Ei LiI= 0
π para todo 1≤i<N. As razões para justificar isso são similares àquelas apresentadas
para mostrar que t0i, expressão (12), capítulo 3, é constante para todo 1≤i<N;
• R C
KC K
EN LN
IN L I
=+
−
11 2χπ
,
onde KI1 é uma constante que depende dos parâmetros da tecnologia, do layout e das dimensões
do primeiro inversor do buffer;
KI2 é uma constante que depende dos parâmetros da tecnologia e do layout;
CL é a capacitância de carga do buffer.
As razões para justificar tal relação são similares àquelas usadas com toN, expressão (12), capítulo
3, que também é função linear de CL.
A partir das expressões acima podemos obter, para o buffer, o resultado:
1
1
1
1
02
1
11 2
2
2
2tt
KC K
t
KG
I
m
N
IN L I
m
A
AN
+
+
+
=
−
−χ
(C1)
onde tm é a mínima largura de um pulso que passa pelo buffer (tm=1/fm).
Vejamos se esta equação serve para modelar os resultados obtidos. Primeiro lembremos que,
conforme encontrado no capítulo 3, as assíntotas do gráfico largura mínima de um pulso que passa
pelo tapered buffer em função da carga capacitiva CL da saída, para valores grandes de CL, são retas
APÊNDICE C
183
cujas inclinações são inversamente proporcionais as dimensões do último inversor do buffer. Por (C1),
fazendo CL tender a infinito, determinamos que GA=1 é necessário para tal.
Por outro lado, quando CL=0 e adotando GA=1, podemos escrever
1
102
1
2
22
tt
KG
KI
m
N
A
AN A
+
≈ =
−
o que implica tt
Km
I
AN
≈
−−
−
02
12 1
.
A derivada de tm em relação a N pode ser calculada a partir dessa relação. Podemos verificar que
∂∂tNm
CL=0
tende a infinito quando N cresce. Os gráficos largura mínima de um pulso que passa pelo
tapered buffer em função do número de inversores, que são apresentados no capítulo 3, indicam que
isso não está correto. As derivadas devem sim tender a zero.
Essas considerações indicam que a expressão (C1) não é adequada para o modelamento.
Podemos escolher outras funções de transferência para o inversor e examinar os resultados. Em
[Pa97], para determinação do atraso do inversor, foi usada uma função de transferência cuja resposta
ao impulso é um sinal trapezoidal.
Este estudo, no entanto, será feito em futuros trabalhos.
APÊNDICE D
185
APÊNDICE D A comparação entre os resultados de simulação e as relações semi-empíricas para a tecnologia
CMOS 0,8µm da AMS, [Am95], é apresentada aqui.
D.1 Condições para a simulação
As condições para as simulações executadas com a tecnologia da AMS são semelhantes às usadas
nos exemplos do capítulo 3. Elas são resumidas na tabela D1.
Tabela D1. Condições para obtenção dos resultados de simulação para a tecnologia CMOS 0,8µm da
AMS.
Condições de simulação simulador HSPICE
modelo usado level 47, típico (BSIM3, versão 2) alimentação do buffer 5,0V
sinal de entrada do buffer “010001111011100101101” e o seu complemento (“101110000100011010010”)
tempos de subida e descida iguais a 20% da largura de um pulso mínimo critério de análise da saída todas os pulsos da entrada chegam a saída e atingem níveis
mínimos adotados níveis mínimos da saída VHM=4,0V
VLM=1,0V comprimento de canal dos
transistores L=0,8µm
largura de canal dos trans.
do primeiro inversor trans. P Wp1=8µm trans. N Wn1=5µm
configuração do transistor em pente com dois ramos dimensões de dreno
empregadas área=1,3Wµm2
perímetro= W+5,2µm
Dadas estas condições, as constantes necessárias para a expressão (16), capítulo 3, são determinadas
e seus valores são indicados abaixo:
K1=3,45ns/pF, K2=46ps e K4=0,62.
Na Figura D1 são mostrados os resultados simulados e a aproximação das equações semi-empíricas.
Para fator de ganho χ=3,0, a máxima taxa de operação é de 2,05Gbit/s; para χ=1,8, a máxima taxa é
de 2,53 Gbit/s que também é a máxima possível com o buffer (seis inversores). O aumento entre um e
outro caso é de 23%.
APÊNDICE D
186
1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 50
0 . 5
1
1 . 5
2
2 . 5
3
f a t o r d e a u m e n t o d o t a p e r e d b u f f e r
m a x . t a x a ( G b i t / s )
C L = 1 p F0 , 8 µ m C M O SA M S
2 i n v .3 i n v .4 i n v .5 i n v .6 i n v .7 i n v .
s i m u l a ç ã o
Figura D1. Comparação entre os pontos obtidos por simulação (o buffer com dois inversores é
apresentado com ‘x’, três com ‘+’, quatro com ‘o’, cinco com ‘*’, seis com 'x', sete com 'o') e
equações dadas por (16) (linhas contínuas). A tecnologia é CMOS 0,8µm da AMS e a capacitância de
carga de 1pF.
D.2 Modelos para a tecnologia 0,8µm da AMS
Abaixo estão descritos os parâmetros do modelo level 47 para o HSPICE, BSIM3, versão 2
(Berkeley Short-Channel IGFET Model), usado. Lembramos que este modelo é o melhor entre os
empregados neste trabalho.
Modelo Típico para Transistores (0,8).
.MODEL nmos NMOS (LEVEL=47 * ---------------------------------------------------------------------- * format : HSPICE * model : MOS BSIM3v2 * extracted : CYB J010JR00; 1995-12; ese (-487) * doc# : 9933006 REV_A * created : 1995-12-19 * *** Flags *** + SUBTHMOD=2.000e+00 SATMOD =2.000e+00 BULKMOD =1.000e+00 * *** Threshold voltage related model parameters *** + K3 =2.849e+00 K3B =1.503e+00 NPEAK =1.021e+17 VTH0 =8.089e-01 + VOFF =-5.599e-02 DVT0 =4.668e-01 DVT1 =2.826e-01 + DVT2 =-3.650e-01 KETA =-7.230e-03 PSCBE1 =1.894e+08 PSCBE2 =9.574e-07 * *** Mobility related model parameters *** + UA =4.621e-10 UB =1.000e-22 UC =7.399e-03 U0 =4.789e+02 * *** Subthreshold related parameters *** + DSUB =1.000e+00 ETA0 =1.000e-02 ETAB =-9.720e-03 + NFACTOR =9.000e-01 VGHIGH =1.500e-01 VGLOW =-1.200e-01 * *** Saturation related parameters *** + ETA =3.000e-01 PCLM =1.236e+00 + PDIBL1 =1.012e-02 PDIBL2 =5.930e-04 DROUT =6.838e-02 + A0 =6.471e-01 A1 =0.000e+00 A2 =1.000e+00 + PVAG =1.964e-01 VSAT =8.981e+06
APÊNDICE D
187
* *** Geometry modulation related parameters *** + W0 =1.069e-12 * *** Temperature effect parameters *** + AT =3.300e04 UTE =-1.763 KT1 =-0.385 KT2 =0.013 KT1L =0.000 + UA1 =1.460e-09 UB1 =-7.610e-18 UC1 =-0.056 * *** Overlap capacitance related and dynamic model parameters *** + CGDO =0.350e-09 CGSO =0.350e-09 CGBO =0.150e-09 + XPART =1.000e+00 * *** Parasitic resistance and capacitance related model parameters *** + RDS0 =0.000e+00 RDSW =9.178e+02 + CDSC =2.065e-05 CDSCB =0.000e+00 CIT =0.000e+00 * *** Process and parameters extraction related model parameters *** + TOX =1.557e-08 NSUB =72.74e+15 NLX =0.000e+00 * *** Noise effect related model parameters *** + AF =1.451e-00 KF =0.233e-25 NLEV =0 * *** Common extrinsic model parameters *** + ACM =2 RD =0.000e+00 RS =0.000e+00 RSH =2.400e+01 + RDC =0.000e+00 RSC =0.000e+00 LD =1.137e-07 WD =5.290e-07 + LDIF =0.000e+00 HDIF =0.000e+00 WMLT =1.000e+00 + LMLT =1.000e+00 XJ =4.000e-07 + JS =0.010e-03 JSW =0.000e+00 IS =0.000e+00 + N =1.000e+00 NDS =1.000e+12 VNDS =-1.00e+00 + CBD =0.000e+00 CBS =0.000e+00 CJ =0.29e-03 + CJSW =0.230e-09 FC =0.000e+00 + MJ =0.460e-00 MJSW =0.330e-00 TT =0.000e+00 PB =0.88 PHP =0.88)
.MODEL pmos PMOS (LEVEL=47 * ---------------------------------------------------------------------- * format : HSPICE * model : MOS BSIM3v2 * extracted : CYB J010JR00; 1995-12; ese (-487) * doc# : 9933006 REV_A * created : 1995-12-19 * NOTE: Only for use in AMS-approved simulators. * *** Flags *** + SUBTHMOD=2.000e+00 SATMOD =2.000e+00 BULKMOD =2.000e+00 * *** Threshold voltage related model parameters *** + K3 =4.504e+01 K3B =-1.998e+01 NPEAK =2.933e+16 VTH0 =-7.736e-01 + VOFF =-7.207e-02 DVT0 =9.784e+00 DVT1 =7.501e-01 + DVT2 =1.102e-01 KETA =-5.641e-03 PSCBE1 =6.321e+09 PSCBE2 =1.081e-08 * *** Mobility related model parameters *** + UA =2.220e-09 UB =1.000e-23 UC =-2.055e-03 U0 =2.170e+02 * *** Subthreshold related parameters *** + DSUB =2.095e-01 ETA0 =6.638e-02 ETAB =-3.357e-03 + NFACTOR =1.864e+00 VGHIGH =1.500e-01 VGLOW =-1.200e-01 * *** Saturation related parameters *** + ETA =3.000e-01 PCLM =2.439e+00 + PDIBL1 =4.354e+00 PDIBL2 =6.428e-03 DROUT =9.730e-01 + A0 =4.858e+00 A1 =8.543e-01 A2 =1.648e-02 + PVAG =-2.390e-01 VSAT =4.204e+06
APÊNDICE D
188
* *** Geometry modulation related parameters *** + W0 =1.553e-05 * *** Temperature effect parameters *** + AT =3.300e+04 UTE =-1.040 KT1 =-0.482 KT2 =0.013 KT1L =0.000 + UA1 =6.990e-09 UB1 =-7.610e-18 UC1 =-0.056 * *** Overlap capacitance related and dynamic model parameters *** + CGDO =0.350e-09 CGSO =0.350e-09 CGBO =0.150e-09 XPART =1.000e+00 * *** Parasitic resistance and capacitance related model parameters *** + RDS0 =0.000e+00 RDSW =2.119e+03 + CDSC =1.102e-02 CDSCB =1.000e-04 CIT =0.000e+00 * *** Process and parameters extraction related model parameters *** + TOX =1.557e-08 NSUB =2.764e+16 + NLX =4.846e-07 * *** Noise effect related model parameters *** + AF =1.279 KF =6.314e-29 NLEV =0 * *** Common extrinsic model parameters *** + ACM =2 RD =0.000e+00 RS =0.000e+00 RSH =4.200e+01 + RDC =0.000e+00 RSC =0.000e+00 LD =1.352e-08 WD =2.348e-07 + LDIF =0.000e+00 HDIF =0.000e+00 WMLT =1.000e+00 + LMLT =1.000e+00 XJ =4.000e-07 + JS =0.040e-03 JSW =0.000e+00 IS =0.000e+00 + N =1.000e+00 NDS =1.000e+12 VNDS =-1.00e+00 + CBD =0.000e+00 CBS =0.000e+00 CJ =0.490e-03 + CJSW =0.210e-09 FC =0.000e+00 + MJ =0.470e+00 MJSW =0.290e+00 TT =0.000e+00 + PB =0.800e+00 PHP =0.800e+00)
Referências Bibliográficas
189
Referências Bibliográficas [Aa93] AASERUD, O.; DANIELSEN, H. CMOS driver for 50Ω Load. Electronics Letters, v.29,
n.10, p.876-878, 1993.
[Am95] AUSTRIA MIKRO SYSTEME INTERNATIONAL AG (AMS). 0.8µm CMOS design
rules. revision A, Aústria, 1995.
[Af90] AFGHAHI, M.; SVENSSON, C. A unified single-phase clocking schema for VLSI systems.
IEEE J. Solid-State Circuits, v.25, n.1, p.225-235, 1990.
[Af92] AFGHAHI, M.; SVENSSON, C. Performance of synchronous and asynchronous schemes for
VLSI systems. IEEE Trans. Comput., v.41, n.7, p.858-872, 1992.
[An88] ANTOGNETTI, P.; MASSOBRIO, G., ed. Semiconductor device modeling with SPICE.
New York, McGraw-Hill, 1988.
[Bl88] BLOOD JR., W.R. MECL system design handbook. 4.ed., Motorola Inc., 1988.
[Bo98] BONDYOPADHYAY, P.K. Moore's Law Governs the silicon revolution. Proceedings of the
IEEE, v.86, n.1, p.78-81, 1998.
[Br98] BREWER, J.E. A new and improved roadmap. IEEE Circuits & Devices, v.14, n.2, p.13-18,
1988.
[Ch88] CHAPPELL, B.A. et al. Fast CMOS ECL receivers with 100-mV worst-case sensitivity. IEEE
J. Solid-State Circuits, v.23, n.1, p.59-67, 1988.
[Ch95] CHERKAUER, B.S.; FRIEDMAN, E.G. A Unified Design Methodology for CMOS Tapered
Buffers. IEEE Trans. Very Large Scale Integration (VLSI) Systems, v.3, n.1, p.99-111,
1995.
[Cha95] CHANDRAKASAN, A.P.; BRODERSEN, R.W. Low power digital CMOS design. Boston,
Kluwer Academic, 1995.
[Ch96] CHANG, B. et al. A 1.2 GHz CMOS dual-modulus prescaler using new dynamic D-type flip-
flops. IEEE J. Solid-State Circuits, v.31, n.5, p.749-752, 1996.
[Co77] COSTA NETO, P.L.O. Estatística. São Paulo, Edgard Blücher, 1977.
[Co88] CONG, H.-I. et al. Multigigahertz CMOS dual-modulus Prescaler IC. IEEE J. Solid-State
Circuits, v.23, n.5, p.1189-1194, 1988.
[Cr96] CRANINCKX, J.; STEYAERT, M.S.J. A 1.75-GHz/3-V dual-modulus divide-by-128/129
prescaler in 0.7-µm CMOS. IEEE J. Solid-State Circuits, v.31, n.7, p.890-897, 1996.
[De79] DESOER, C.A.; KUH, E.S. Teoria básica de circuitos. Rio de Janeiro, Guanabara Dois,
1979.
[Do92] DOBBERPUHL, D. et al. A 200-MHz 64-b dual-issue CMOS microprocessor. IEEE J.
Referências Bibliográficas
190
Solid-State Circuits, v.27, n.11, p.1555-1567, 1992.
[Es94] EUROPEAN SILICON STRUCTURES, MANUFACTURING TECHNOLOGY DIV.
ECPD07 Dual layer Metal 0.7 micron layout rules. rev. B, France, 30th Oct. 1994.
[Fo95] FOROUDI, N.; KWASNIEWSKI, T.A. CMOS high-speed dual-modulus frequency divider
for RF frequency synthesis. IEEE J. Solid-State Circuits, v.30, n.2, p.93-100, 1995.
[Fr95] FRIEDMAN, E.G., ed. Clock Distribution Networks in VLSI Circuits and Systems: a
selected reprint volume. Piscataway, IEEE, 1995.
[Ga96] GAYLES, E. Building high speed, energy efficient CMOS circuits using variations in
circuit techniques. EUA, 1996. Ph.D. Thesis - Department of Computer Science and
Engineering, The Pennsylvania State University.
[Go83] GONÇALVES, N.F.; DE MAN, H.J. NORA: A racefree dynamic CMOS technique for
pipelined logic structures. IEEE J. Solid-State Circuits, v.18, n.3, p.261-266, 1983.
[Go84] GONÇALVES, N.F. NORA: a racefree CMOS technique for register transfer systems.
Leuven, Bélgica, 1984. Ph.D. Thesis - Katholieke Universiteit Leuven.
[Gr86] GREGORIAN, R.; TEMES, G.C. Analog MOS integrated circuits for signal processing.
New York, John Wiley & Sons, 1986.
[Gr98] GRONOWSKI, P.E. et al. High-performance microprocessor Design. IEEE J. Solid-State
Circuits, v.33, n.5, p.676-686, 1998.
[Gri98] GRIMALD, M.; NAVARRO, J.; VAN NOIJE, W. Otimização em freqüência de circuitos
CMOS sincronizados por bordas de sinal de clock. São Paulo, LSI, Escola Politécnica
da USP, 1996. (Relatório interno)
[Gu96] GU, R.X. et al. High-performance digital VLSI circuit design. Boston, Kluwer Academic,
1996.
[Ha96] HANSON, D.A. et al. Analysis of mixed-signal manufacturability with statistical technology
CAD (TCAD). IEEE Trans. Semicond. Manufact., v.9, n.4, p.478-488, 1996.
[He87] HEDENSTIERNA, N.; JEPPSON, K. CMOS circuit speed and buffer optimization. IEEE
Trans. Computer-Aided Design, v.6, n.2, p.270-281, 1987.
[Hu93] HUANG, Q. Speed optimization of edge-triggered nine-transistor D-flip-flop for gigahertz
single-phase clocks. In: INTERNATIONAL SYMPOSIUM ON CIRCUITS AND
SYSTEMS, Chicago, 1993. Proceedings. Chicago, IEEE, 1993. p.2118-2121.
[Hu96] HUANG, Q. et al. Speed optimazation of edge-triggered CMOS circuits for gigahertz single-
phase clocks. IEEE J. Solid-State Circuits, v.31, n.3, p.456-465, 1996.
[Hu97] HUYLENBROECK, S.V.; LIETAER, N. Electrical Parameters CD035P and CA035P:
prototyping C035. Leuven, Bégica, IMEC, 12th Mar. 1997.
Referências Bibliográficas
191
[Is92] ISHIBE, M. et al. High-speed CMOS I/O buffer circuits. IEEE J. Solid-State Circuits, v.27,
n.4, p.671-673, 1992.
[Jo93] JOHNSON, H.W.; GRAHAM, M. High-speed digital design: a handbook of black magic.
Englewood Cliffs, Prentice-Hall, 1993.
[Ki93] KIM, O. et al. Settling time reduction technique for high speed DACs. Electronics Letters,
v.29, n.25, p.2191-2192, 1993.
[Ko91] KONG, D.T. 2.488 Gb/s SONET multiplexer/demultiplexer with frame detection capability.
IEEE J. Selected Areas in Comunications, v.9, n.5, p.726-731, 1991.
[Kr82] KRAMBECK, R.H. et al. High-speed compact circuits with CMOS. IEEE J. Solid-State
Circuits, v.17, n.3, p.614-619, 1982.
[Ku86] KUMAMOTO, T. et al. An 8-bit high-speed CMOS A/D converter. IEEE J. Solid-State
Circuits, v.21, n.6, p.976-982, 1986.
[Ku96] KURISU, M. et al. 2.8-Gb/s 176-mW byte-interleaved and 3.0-Gb/s 118mW bit-interleaved
8:1 multiplexers with a 0.15-µm CMOS technology. IEEE J. Solid-State Circuits, v.31,
n.12, p.2024-2029, 1996.
[La86] LAKSHMIKUMAR, K.R. et al. Characterization and modeling of mismatch in MOS
transistors for precision analog design. IEEE J. Solid-State Circuits, v.21, n.6, p.1057-
1066, 1986.
[La88] LAI, F.S. A generalized Algorithm for CMOS circuit delay, power and area optimization.
Solid-State Electronics, Pergamon Press, v.31, n.11, p.1619-1627, 1988.
[La94] LARSSON, P; SVENSSON, C. Impact of clock slope on true single phase clocked (TSPC)
CMOS circuits. IEEE J. Solid-State Circuits, v.29, n.6, p.723-726, 1994.
[La95] LARSSON, P. Skew safety and logic flexibility in a true single phase clocked system. In:
INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, Seattle, 1995.
Proceedings. IEEE Circuits and Systems Society, 1995. p.941-944.
[La96] LARSSON, P. High-Speed architecture for a programmable frequency divider and a dual-
modulus prescaler. IEEE J. Solid-State Circuits, v.31, n.5, p.744-748, 1996.
[Le97] LEE, S.-J. et al. A fully integrated low-noise 1-GHz frequency synthesizer design for mobile
communication application. IEEE J. Solid-State Circuits, v.32, n.5, p.760-765, 1997.
[Li75] LIN, H.C.; LINHOLM, L.W. An optimized output stage for MOS integrated circuits. IEEE J.
Solid-State Circuits, v.10, n.2, p.106-109, 1975.
[Li98] LIN, J. Chip-package codesign for high-frequency circuits and systems. IEEE Micro, v.18,
n.4, p.24-32, 1998.
[Ma96] MACII, E.; PONCINO, M. Power consumption of static and dynamic CMOS circuits: a
Referências Bibliográficas
192
comparative study. In: INTERNATIONAL CONFERENCE ON ASIC, 2., 1996. IEEE.
p.425-427.
[Me80] MEAD, C.; CONWAY, L. Introduction to VLSI systems. 2.ed. Reading, Addison-Wesley,
1980.
[Me95a] META-SOFTWARE, INC. Analysis and Methods: HSPICE user's manual. Campbell,
1995.
[Me95b] META-SOFTWARE, INC. Elements and Models: HSPICE user's manual. Campbell,
1995.
[Me98] MELLIAR-SMITH, C.M. et al. The transistor: an invention becomes a big business.
Proceedings of the IEEE, v.86, n.1, p.86-110, 1998.
[Mo65] MOORE, G.E. Cramming more components onto integrated circuits. Electronics, v.38, n.8,
p.114-117, 1965.
[Mu86] MULLER, R.S.; KAMINS, T.I. Device electronics for integrated circuits, 2.ed. New York,
John Wiley & Sons, 1986.
[Na95] NAVARRO, J. et al. A high speed CMOS ECL-compatible input circuit. In: CONGRESS OF
THE BRAZILIAN MICROELECTRONICS SOCIETY, 10.; IBERO AMERICAN
MICROELECTRONICS CONFERENCE, 1., Canela, 1995. Proceedings, Porto Alegre,
UFRGS/SBMICRO, 1995. v.1, p.197-204.
[Na96] NAVARRO, J. et al. Circuito "buffer"-conversor CMOS/ECL In: SIMPÓSIO BRASILEIRO
DE CONCEPÇÃO DE CIRCUITOS INTEGRADOS, 9., Recife, 1996. Anais. Recife,
SBC/SBMICRO/ UFPE, 1996. p.247-258.
[Na97a] NAVARRO, J. et al. A 1.4Gbit/s CMOS driver for 50Ω ECL systems. In: GREAT LAKES
SYMPOSIUM ON VLSI, 7., Urbana-Champaign, 1997. Proceedings. Los Alamitos, IEEE
Computer Society, 1997. p.14-18.
[Na97b] NAVARRO, J.; VAN NOIJE, W. E-TSPC: Extended True Single-Phase-Clock CMOS circuit
technique. In: IFIP TC10 WG10.5 INTERNATIONAL CONFERENCE ON VLSI.
Gramado, 1997 VLSI: Integrated Systems on Silicon. London, Chapman & Hall, 1997.
p.165-176.
[Na97c] NAVARRO, J.; VAN NOIJE, W. E-TSPC: Extended True Single-Phase-Clock CMOS circuit
technique for high speed applications. SBMICRO J. Solid-State Devices and Circuits,
v.5, n.2, p.21-26, 1997.
[Na98a] NAVARRO, J.; VAN NOIJE, W. CMOS tapered buffer design for small width clock/data
signal propagation. In: GREAT LAKES SYMPOSIUM ON VLSI, 8., Lafayette, 1998.
Proceedings. Los Alamitos, IEEE Computer Society, 1998. p.89-94.
Referências Bibliográficas
193
[Na98b] NAVARRO, J.; VAN NOIJE, W. Design of an 8:1 MUX at 1.7Gbit/s in 0.8µm CMOS
technology. In: GREAT LAKES SYMPOSIUM ON VLSI, 8., Lafayette, 1998.
Proceedings. Los Alamitos, IEEE Computer Society, 1998. p.103-107.
[Na99] NAVARRO, J.; VAN NOIJE, W. A 1.6GHz dual modulus prescaler using the Extended True
Single-Phase-Clock CMOS circuit technique (E-TSPC). IEEE J. Solid-State Circuits,
v.34, n.1, 1999. /No prelo/
[No98] VAN NOIJE, W.; NAVARRO, J. SDHGCMOS: Implementation of CMOS circuits for
SDH/SONET systems applications with GigaBits rates. In: WORKSHOP OF
INTERNATIONAL EVALUATION OF THE PROTEM-CC PROGRAM, Belo
Horizonte, 1998, Proceedings. Brasília, CNPq, 1998. p.118-137.
[Oe93] OEHM, J.; SCHUMACHER, K. Quality assurance and upgrade of analog characteristics by
fast mismatch analysis option in network analysis environment. IEEE J. Solid-State
Circuits, v.28, n.7, p.865-871, 1993.
[Oh97] OHTOMO, Y. et al. A 40Gb/s 8x8 ATM switch LSI using 0.25um CMOS/SIMOX. In:
INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE, 40., Sao Francisco,
1997. ISSCC Digest of Technical Papers. IEEE Solid-State Circuits Council, 1997.
p.154-155.
[Or85] ORSINI, L.Q. Introdução aos sistemas dinâmicos. Rio de Janeiro, Guanabara Dois, 1985.
[Ot98] OTSUJI, T. et al. An 80-Gbit/s multiplexer IC using InAlAs/InGaAs/Inp HEMT's. IEEE J.
Solid-State Circuits, v.33, n.9, p.1321-1327, 1998.
[Pa91] PAPOULIS, A. Probability, random variables, and stochastic process, 3.ed. New York,
McGraw-Hill, 1991.
[Pa97] PARK, H.-J.; SOMA, M. Analytical model for switching transitions of submicron CMOS
logics. IEEE J. Solid-State Circuits, v.32, n.6, p.880-889, 1997.
[Pe89] PELGROM, M.J.M. et al. Matching Properties of MOS transistors. IEEE J. Solid-State
Circuits, v.24, n.5, p.1433-1440, 1989.
[Po94] POWER, J.A. et al. Relating statistical MOSFET model parameter variabilities to IC
manufacturing process fluctuations enabling realistic worst case design. IEEE Trans.
Semicond. Manufact., v.7, n.3, p.306-318, 1994.
[Ra96] RABAEY, J.M. Digital Integrated Circuits: a design perspective. Upper Saddle River
Prentice Hall, 1996. (Electronics and VLSI series)
[Ro95a] ROMÃO, F.L.; NAVARRO, J.; SILVEIRA, R.; VAN NOIJE, W. Projeto do circuito
DEMUX 8:1 com byte align no padrão SONET/SDH a taxas de 1,25Gb/s Tecnologia
CMOS. In: THE PRIMER WORKSHOP IBERCHIP, Cartagena de Indias, Colombia,
Referências Bibliográficas
194
1995. Memórias. 1995. p.153-163.
[Ro95b] ROMÃO, F.L.; NAVARRO, J.; SILVEIRA, R.; VAN NOIJE, W. 1.2Gb/s SONET/SDH
Demux in CMOS Technology. In: INTERNATIONAL MICROWAVE AND
OPTOELECTRONICS CONFERENCE, Rio de Janeiro, 1995. Proceedings. Rio de
Janeiro, SBMO/IEEE MTT-S, 1995. v.1, p.52-57.
[Ro96] ROMÃO, F.L.; NAVARRO, J.; SILVEIRA, R.; VAN NOIJE, W. Projeto do circuito MUX
8:1 no padrão SONET/SDH a taxas de 1,25Gb/s na tecnologia CMOS 0.7µm. In:
SIMPÓSIO BRASILEIRO DE CONCEPÇÃO DE CIRCUITOS INTEGRADOS, 9.,
Recife, 1996. Anais. Recife, SBC/ SBMICRO/UFPE, 1996. p.201-211.
[Ro98a] ROFOUGARAN, A. et al. A single-chip 900-MHz spread-spectrum wireless transceiver in 1-
µm CMOS-Part I: Architecture and transmitter design. IEEE J. Solid-State Circuits,
v.33, n.4, p.515-534, 1998.
[Ro98b] ROFOUGARAN, A. et al. A single-chip 900-MHz spread-spectrum wireless transceiver in 1-
µm CMOS-Part II: Receiver design. IEEE J. Solid-State Circuits, v.33, n.4, p.535-547,
1998.
[Rom98] ROMÃO, F.L. Ambiente de síntese de circuitos de alto desempenho. São Paulo,
Departamento de Engenharia Eletrônica, EPUSP, ago. 1998. 79p. /exame de Qualificação
para doutorado/
[Rs98] ROSS, I.M. The invention of the transistor. Proceedings of the IEEE, v.86, n.1, p.7-28,
1998.
[Sa88] SAH, C.-T. Evolution of the MOS transistor-from conception to VLSI. Proceedings of the
IEEE, v.76, n.10, p.1280-1326, 1988.
[Sa90] SAKURAY, T.; NEWTON, R. Alpha-power law MOSFET model and its application to
CMOS inverter delay and other formulas. IEEE J. Solid-State Circuits, v.25, n.2, p.584-
594, 1990.
[Sc90] SCHUMACHER, H.-J. et al. CMOS subnanosecond true-ECL output buffer. IEEE J. Solid-
State Circuits, v.25, n.1, p.150-154, 1990.
[Se92] SEMICONDUCTOR INDUSTRY ASSOCIATION (SIA), The national technology
roadmap for semiconductors. EUA, 1994.
[Se94] SEMICONDUCTOR INDUSTRY ASSOCIATION (SIA), The national technology
roadmap for semiconductors. San Jose, Dec. 1994.
[Se97] SEMICONDUCTOR INDUSTRY ASSOCIATION (SIA), The national technology
roadmap for semiconductors. San Jose, Nov. 1997.
Referências Bibliográficas
195
[Sh92] SHOJI, M. Theory of CMOS digital circuits and circuit failures. Princeton, Princeton
University, 1992.
[Sh98] SHEU, B.J. et al. Higher education for the information age. IEEE Circuits & Devices, v.14,
n.3, p.23-28, 1998.
[Si96] SILVEIRA, R. Placa de teste para um circuito integrado de alta velocidade. São Paulo,
LSI, Escola Politécnica da USP, 1996. (Relatório interno)
[St91] STEYAERT, M.S.J. et al. ECL-CMOS and CMOS-ECL interface in 1.2-µm CMOS for 150-
MHz digital ECL data transmission systems. IEEE J. Solid-State Circuits, v.26, n.1,
p.18-24, 1991.
[St92] STALLINGS, W. ISDN and Broadband ISDN. 2.ed. New York, Macmillan, 1992.
[Ta96] TANENBAUM, A.S. Computer Networks. 3.ed. Upper Saddle River, Prentice Hall, 1996.
[Tan96] TANABE, A. et al High performance CMOS for GHz communication IC. In: SYMPOSIUM
ON VLSI TECHNOLOGY, Honolulu, 1996. Digest of Technical Papers. 1996. p.134-
135.
[Ve95] VERGHESE, N.K. Simulation techniques and solutions for mixed-signal coupling in
integrated circuits. Boston, Kluwer Academic, 1995.
[Vi89] VITESSE SEMICONDUCTOR CORPORATION 1989 product data book. Camarillo,
1989.
[Vl80] VLADIMIRESCU, A.; LIU, S. The simulation of MOS integrated circuits using SPICE2.
Berkeley, Col. of Eng., Univ. of California, 1980. (Memorandum UCB/ERL M80/7)
[We93] WESTE, N.H.E.; ESHRAGHIAN, K. Principles of CMOS VLSI design. 2.ed. Reading,
Addison-Wesley, 1993.
[Ya90] YANO, K. et al. A 3.8-ns CMOS 16X16-b Multiplier Using Complementary Pass-Transistor
Logic. IEEE J. Solid-State Circuits, v.25, n.2, p.388-395, 1990.
[Yu87] YUAN, J.-R. et al. A true single-phase-clock dynamic CMOS circuit technique. IEEE J.
Solid-State Circuits, v.22, n.5, p.899-901, 1987.
[Ya98] YANG, C.-Y. et al. New dynamic flip-flop for high-speed dual-modulus prescaler. IEEE J.
Solid-State Circuits, v.33, n.10, p.1568-1571, 1998.
[Yu89] YUAN, J.-R., SVENSSON, C. High speed CMOS circuit technique. IEEE J. Solid-State
Circuits, v.24, n.1, p.62-70, 1989.
[Yu93] YUAN, J.-R. et al. New domino logic precharged by clock and data. Electronics Letters,
v.29, n.25, p.2188-2189, 1993.