UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Escola de Engenharia
Departamento de Engenharia Elétrica
ENG 04061 – Circuitos Eletrônicos Integrados – Atividade de Ensino à Distância Prof. Hamilton Klimach
PROJETO 1: BUFFER TRI-STATE EM TECNOLOGIA CMOS 0.35
1 Introdução
Este trabalho deve ser desenvolvido como um primeiro contato com as ferramentas e estratégias de projeto, relacionadas ao projeto de circuitos integrados VLSI (very large scale integration), de modo ao aluno adquirir alguma experiência nesta área. Para tanto, deve ser utilizada uma ferramenta de auxílio ao projeto de circuitos integrados. Este tipo de ferramenta é geralmente referido como CAD (Computer-Aided Design) ou EDA (Electronic Design Automation).
Neste projeto será utilizada a ferramenta computacional Microwind, desenvolvida pelo Dr. Etienne Sicard (http://intranet-gei.insa-toulouse.fr/~sicard/), que é professor e pesquisador no Institut National des Sciences Appliquées de Toulouse (INSA). A licença que será utilizada foi gentilmente cedida a mim pelo Prof. Sicard, para uso exclusivo em atividades acadêmicas na UFRGS. Peço que vocês reportem sugestões e defeitos (bugs) para mim por email, de forma que eu possa repassá-los ao Prof. Sicard, como forma de retribuição da gentileza.
O Microwind permite realizar o leiaute e a simulação elétrica de um circuito de forma conjugada, sem a necessidade de elaboração do diagrama esquemático. Antes do processo de simulação, a ferramenta extrai o netlist Spice do leiaute, incluindo nele diversos elementos parasitas do circuito, o que torna a simulação mais próxima do seu comportamento real.
Esta ferramenta não tem apelo profissional, mas auxilia no entendimento da estrutura dos dispositivos em tecnologia MOS, sua geometria e distribuição sobre o silício, além de realizar simulações com boa exatidão, tudo em um único ambiente. Ainda, a ferramenta permite a geração automática de diversas estruturas e visualização 2D e 3D de partes do circuito.
As etapas correspondentes à concepção e ao dimensionamento dos transistores já foram realizadas, ficando para o aluno apenas a elaboração do leiaute e as simulações elétricas, que incluirão efeitos parasitas.
Este trabalho deve ser desenvolvido individualmente.
2 Buffer Tri-state
Um buffer tri-state é um circuito de uso necessário na interface dos módulos de um circuito digital (memória, unidade lógico-aritmética, registrador, contador, etc) com um barramento que é compartilhado por diversos outros módulos (barramento de dados, de endereços, etc).
O buffer tri-state tem duas funções: reforçar a capacidade de corrente dos sinais do módulo, de forma a vencer as capacitâncias parasitas das linhas do barramento, e permitir que os sinais do módulo sejam ‘desconectados’ (modo alta-impedância) do
barramento, quando outro módulo o estiver excitando, evitando curto-circuitos entre as saídas de módulos diferentes.
Para tanto, o buffer tri-state pode operar em dois modos, controlados por um sinal de comando chamado enable (EN\):
quando EN\=0, o buffer opera em baixa impedância, como um circuito ‘transparente’, reproduzindo em sua saída DOUT o sinal aplicado em sua entrada DI;
quando EN\=1, o buffer opera em alta impedância, praticamente ‘desconectando’ o módulo das linhas do barramento.
3 Especificação de Projeto
O aluno deve desenvolver o leiaute e realizar a simulação de um buffer tri-state, (saída em nível alto, baixo ou em alta impedância) com capacidade de acionar uma carga de 2pF, que representa a capacitância parasita de uma linha do barramento onde este será ligado. O circuito deve operar de forma rápida no caminho do dado (DI=>DOUT), não impondo atrasos ao fluxo de sinal.
Assim, devem ser avaliados os tempos entre DI=>DOUT e EN\=>DOUT, e o consumo de potência em funcionamento, a partir da alimentação (VDD).
O circuito proposto para ser implementado é o que segue.
Pela análise do comportamento lógico deste circuito, percebe-se que o mesmo transfere o nível lógico de entrada (DI) para a saída (DOUT) quando a entrada EN\ estiver em nível baixo. Caso a entrada EN\ seja colocada em nível alto, ambos os transistores Q1 e Q2 permanecem cortados, mantendo a saída DOUT em alta impedância, independentemente do nível da entrada DI.
4 Implementação do Projeto
O projeto é iniciado transformando-se o diagrama lógico apresentado em um circuito descrito por transistores CMOS em lógica estática complementar (redes de pull-up e pull-down), constituindo as portas NOT, NAND e NOR. O esquemático deste circuito é apresentado a seguir.
5 Dimensionamento dos Transistores
Inicialmente, deve-se buscar implementar um inversor CMOS rápido para o acionamento da carga de 2pF e com comportamento elétrico relativamente simétrico quanto à subida e descida do sinal de saída (rise time e fall time).
Observe que a tecnologia CMOS 0.35 trabalha com alimentação de +3,5V.
Através da equação corrente-tensão do MOSFET (abaixo) tem-se um primeiro dimensionamento de Q1 e Q2.
2 2 1 t GS D V V L W Cox I Simulando-se o comportamento destes sobre a carga, chega-se a uma estimativa melhor de Wp entre 100 e 250 m. Para tanto, utiliza-se Lp,n = Lmín (em circuitos digitais, geralmente utiliza-se o menor comprimento possível para a tecnologia adotada; na tecnologia CMOS 0.35 Lmin= 0,4 m). Para que o circuito tenha um comportamento simétrico, observou-se que o Wp deveria ser entre 2 e 3 vezes o Wn. Isso decorre da diferença de valores que há entre a mobilidade de portadores dos elétrons e das lacunas.
Após alguma simulação, conclui-se que com Wp = 2,4xWn, o par de saída apresenta um comportamento bastante simétrico e que com Wp da ordem de 180 a 200 m, os tempos de subida e descida ficam da ordem de 200 ns sobre a carga.
A estratégia seguinte é implementar o circuito completo e simular seu comportamento. Para tanto, utiliza-se uma relação de progressão de dimensionamento de portas lógicas de cerca de 3 ou 4 (relação ótima), ou seja, os Wn e Wp de uma porta sendo cerca de 3 a 4 vezes os respectivos Wn e Wp da porta anterior, que a está acionando.
Assim, chega-se a uma primeira versão do dimensionamento do circuito como apresentada a seguir (dimensões em m).
Q1 Q2 Q3,4,5,6 Q7 Q10 Q8,9,11,12
Wp --- 180 --- --- 20 60
Wn 70 --- 20 7 --- ---
Após alguma simulação elétrica do circuito completo, observa-se que os resultados simulados apresentam um tempo de subida mais alto que o de descida, efeito que já era notado nas saídas das portas NAND e NOR (a descida da saída na NAND é muito mais lento que a descida da saída da NOR). A conclusão é que isto é causado por dois motivos: o empilhamento de dois transistores tipo N na NAND (aumento de impedância equivalente), e a maior capacitância de entrada do transistor Q2 (tipo P, e por isso maior que Q1). A estratégia utilizada para se melhorar a simetria do circuito é a de se aumentar a dimensão Wn dos transistores da porta NAND. Assim, chega-se ao seguinte dimensionamento final dos transistores, que apresenta um bom resultado (velocidade e simetria).
Q1 Q2 Q3,4 Q5,6 Q7 Q10 Q8,9,11,12
Wp --- 180 --- --- --- 60 60
Wn 72 --- 48 24 24 --- ---
Esta versão já foi feita pensando-se no leiaute, de forma que se tentou manter relações constantes de dimensionamento entre os transistores para facilitar sua distribuição na área ocupada pelo circuito. Em função disso também se manteve o dimensionamento dos transistores da porta NOT iguais aos da NOR.
Use os dimensionamentos desta última tabela em seu leiaute. 6 Leiaute
O leiaute deve ser realizado pelo aluno, com alguns princípios em mente:
devido à alta relação W/L, os transistores devem ser construídos na forma de arranjos compostos de transistores de menor W, em paralelo;
tente manter a razão de aspecto de cada arranjo (largura/comprimento total) não muito distante de 1;
deve-se utilizar as dimensões mínimas na estruturação das regiões de dreno e fonte dos transistores, de modo a se ter as menores capacitâncias parasitas possíveis destas junções (que ficam reversamente polarizadas);
nos arranjos compostos de transistores, a junção destes com drenos e fontes comuns reduz as dimensões destas regiões, reduzindo as capacitâncias parasitas;
a razão de aspecto (largura/comprimento) do circuito não deve ser muito distante de 1;
o capacitor de carga C1 não precisa ser desenhado no leiaute, podendo ser utilizado um capacitor “virtual” de 2 pF entre a saída e o terra.
7 Simulações
Após finalizado o leiaute, as simulações elétricas devem ser realizadas pelo aluno. Para tanto, defina os sinais DI e EN\ como sinais tipo ‘clock’, usando os seguintes parâmetros|:
DI: tl = 1.4ns; tr = tf = 50 ps; th = 1ns (400MHz)
EN\: tl= th= 5.5ns; tr = tf = 50 ps (90MHz)
Através destas simulações, o aluno deve estimar alguns parâmetros de desempenho do circuito:
Meça a largura e altura total de seu leiaute (em µm);
Meça os tempos de subida e descida de DOUT (tr e tf), mantendo EN\= ‘0’;
Meça os tempos de atraso do sinal entre DI e DOUT para subida e descida (tdLH e tdHL), mantendo EN\= ‘0’;
Estime o consumo dinâmico médio de potência (pW/Hz), considerando o sinal digital aplicado a DI e mantendo a saída do buffer habilitada (EN\= ‘0’). Usa-se o consumo dinâmico (W/Hz) porque o consumo dos circuitos digitais CMOS é proporcional à frequência de operação.
Ao final, apresente as curvas simuladas e preencha a tabela a seguir:
Área Total Resposta Dinâmica Consumo
Largura (µm) Altura (µm) tr [ps] tf [ps] tdLH [ps] tdHL [ps] td [ps] Pot / freq [pW/Hz]
Observações:
1. Tempos de subida e descida são os intervalos de tempo que o sinal de saída (DOUT) leva para variar desde 10% até 90% de seu valor máximo (no caso, 3,5V), quando está subindo (rise time - tr) ou descendo (fall time - tf).
2. Tempo de atraso é o tempo que transcorre entre o sinal de entrada (DI) cruzar 50% do seu valor máximo, e o sinal de saída (DOUT) cruzar 50% do seu valor máximo. Quando este tempo é medido para a transição do sinal de saída de baixo para cima (DOUT: L→H), é representado por tdLH (time delay from low to high). Caso contrário, é representado por tdHL (time delay from high to low). O tempo médio de atraso (td) é a média de tdLH e tdHL.
3. O consumo dinâmico de potência é medido através da medida da corrente média consumida pelo circuito, quando um sinal de determinada freqüência é aplicado à entrada DI (considerando a saída do buffer habilitada). O produto da corrente média pela tensão de alimentação, resulta na potência média consumida, que se dividida pela freqüência, resulta no consumo dinâmico em pW/Hz. Em um circuito digital CMOS, a potência consumida é proporcional à freqüência de operação do circuito, de forma que a razão P/f se mantém constante. Faça a simulação num intervalo de tempo maior, para reduzir o efeito do transitório inicial.
4. Inclua no relatório as curvas de simulação que julgar mais significativas, de forma a se poder observar o comportamento do circuito.
8 Anexos
8.1 Instalação e uso do Microwind
Basta descompactar o arquivo MicroWind.zip e seguir as instruções contidas no documento ‘Procedure to install Microwind35.doc’. Há uma cópia do manual do usuário, junto com outros documentos que podem servir de orientação inicial.
O projeto deve ser implementado e simulado selecionando-se o arquivo de parâmetros da tecnologia Cmos035.rul (selecione em file => select foundry), que é uma tecnologia padrão com comprimento mínimo de canal de 0,4 m (0,35 m efetivos).
Utilize o modelo BSim4 nas simulações (selecione no menu simulate => using model).
A ferramenta permite também que se simule as curvas de transistores N e P MOS (simulate => MOS characteristics).
8.2 Erros comuns observados em semestres anteriores
Transistores com razão de aspecto muito grande, que devem ser implementados através de transistores menores em paralelo, para melhorar o desempenho do circuito (reduz capacitâncias parasitas de dreno e fonte).
Muito espaço vazio deixado em volta dos dispositivos, o que representa desperdício de área de silício (custo!).
Trilhas muito estreitas e longas, representando alta resistência, o que aumenta a constante de tempo RC, devido às capacitâncias parasitas, tornando o circuito mais lento.
Trilhas muito largas (desnecessariamente), o que aumenta as capacitâncias parasitas.
Falta de polarização de substrato (body-ties) nos poços N e substrato P. Em alguns casos, havia polarização, mas pouca (apenas um body-tie para um enorme poço).
Simulações com processo errado ou usando o modelo errado do MOSFET.
Falta de planejamento e organização no leiaute (transistores “jogados” em qualquer posição e orientação). Um bom leiaute tem de ser planejado, com os transistores dispostos de forma a se economizar área e tornar as conexões mais curtas e simples.
Relatório confuso e de difícil entendimento: um relatório deve conter a descrição das etapas envolvidas no projeto, com figuras explicadas no texto, e numa ordem lógica, incluindo as conclusões que se tira do trabalho. Em alguns relatórios as figuras apareciam sem legenda e sequer eram citadas no texto (quando havia texto). Sempre que fizerem um relatório, se coloquem na posição de quem vai lê-lo depois, para ter uma idéia do que é importante ser acrescido e destacado. Para que um leitor entenda os motivos que levaram vocês a um determinado caminho, é preciso que vocês descrevam este processo.
Na vida profissional de vocês, um relatório mal elaborado vai representar duas coisas: trabalho dobrado, pois o chefe de vocês simplesmente vai mandar fazer outro; e menos oportunidades, pois isso cria uma imagem de que vocês não conseguem expressar suas idéias com clareza, coisa fundamental em cargos de maior responsabilidade.