Universidade Federal do Paran
ULA de 2 entradas de 4 bits e 4 operaes
Relatrio entregue para avaliao da disciplina Projeto de Circuitos Integrados Digitais da UFPR -1 semestre 2010.
Nomes : Rodrigo M. Da Silva Tiago A. Adamczevski
Professores : Mrlio Jos do Couto Bonfim Oscar Gouveia
Curitiba 2010
Sumrio
1 INTRODUO................................................................................................................... 1 2 DESENVOLVIMENTO ...................................................................................................... 2 2.1 Topologia..................................................................................................................... 2 2.2 Otimizao dos circuitos ................................................................................................ 5 3 SIMULAES ELTRICAS E LGICAS ........................................................................ 6 4 LAY-OUT .......................................................................................................................... 12 5-CONCLUSO .................................................................................................................. 19
INTRODUO
Uma Unidade Lgica Aritmtica (ULA) pode ser encontrada em diversos
processadores de dados. Esta a parte do processador que realmente efetua clculos aritmticos. A ULA foi proposta pelo matemtico John von Neumann em 1946.. Desde ento o desenvolvimento destas tem sido de vial importncia para o acelaramento do processamento de dados e a realizao de clculos matemticos mais rapidamente. Hoje em dia uma unidade lgica aritmtica pode realizar as seguintes operaes: Operaes aritmticas com inteiros Operaes lgicas bit a bit And, Not, Or, XOR Operaes de deslocamento de bits* (deslocamento, rotao por um nmero especfico de bits para esquerda ou direita, com ou sem sinal). Operaes de diviso e multiplicao. *Deslocamentos podem ser interpretados como multiplicaes ou divises por 2.
Figura 1: Diagrama de uma Unidade Lgico Aritmtica
A Figura 1 representa uma ULA com suas entradas A e B, seletor de funo F, sada R e D carry-out. O objetivo deste trabalho projetar uma ULA com entrada e sada com 4 bits, seletor de funes de 2 bits e funes : Soma, subtrao , and e or.
DESENVOLVIMENTO
2.1 Topologia
Inicialmente o projeto foi dividido em 4 mdulos um para cada operao, a sada de cada mdulo foi ligada a um multiplexador, que era controlado por duas entradas externas.
Figura 2: Diagrama de blocos da ULA projetada
O diagrama de blocos do circuito projetado encontra-se na Figura 2. Cada bloco foi projetado individualmente.
O mdulo da adio encontra-se na Figura 3. Como pode-se notar, foram utilizados trs tipos de portas : XOR, OR e AND. Foram utilizados 4 blocos desse, um para cada bit, sendo o pino de carry-out de cada um ligado no respectivo primeiro mais significativo aps ele. Sendo que o carry-in do bit menos-signitivo foi ligado ao terra.
Figura 3: Esquema de portas utilizado no bloco do somador
A 1 1 0 0 0 0
B 1 1 1 1 0 0
Cin 0 1 0 1 0 1
S 0 1 1 0 0 1
Cout 0 1 0 1 0 0
Tabela 1: Tabela verdade incompleta para o circuito somador.
O circuito de subtrao foi projetado utilizando o circuito de soma , prem com outra entrada chamada aqui de controle de modo.
Figura 4: Circuito subtrator implementado apartir do somador; Modo = 0 seleciona soma e Modo = 1 subtrao.
Modo 1 1 1 1
A 0 1 0 1
B 0 0 1 1
Cin 1 1 1 1
S 0 1 1 0
Cout 0 1 1 1
Tabela 2: Tabela verdade com algumas situaes para o crcuito de subtrao
Deve-se observar que ao usar o circuito somador como subtrator Cin deve ser iniciado com zero, e o valor de Cout no necessariamente representa o valor do empresta-um do circuito subtrator original. O circuitos utilizados para a operao AND e OR so as j conhecidas operaes , realizadas bit-a-bit .
Figura 5: Operao OR (direita) e AND (esquerda) efetuadas bit-a-bit
O Mux utilizado para seleo da funo ofi utilizado usando a tabela verdade da Tabela 3.
Tabela 3: Tabela verdade para o seletor de funes
SEL 1 0 0 1 1
SEL 2 0 1 0 1
SOMA 1 1 0 0
SUB 0 1 0 0
AND 0 0 1 0
OR 0 0 0 1
2.2 Otimizao dos circuitos
Para o projeto do circuito foram utilizadas somente portas AND, OR, XOR e NOT. Todas essa portas foram construdas utilizando a construo j otimizada que foi utilizada em aula. Para que o tempo de subida e descida da resposta do sistema seja igual, ou em outras palavras, a resistncia de entrada para cada canal na porta seja a mesma, deve-se ajustar a largura dos canais. Este clculo da largura do canal foi feita individualmente para cada porta. Os valores encontrados esto na tabela Partindo do fato de que :
Tabela 4:Valores de largura de canal para os transistores. Para que a entrada de cada canal tenha a mesma resistncia
Porta NOT AND OR XOR*
Rep / Ren 1 4 0.25 -
Wp / Wn 2 0.5 8 -
Wn usado 0.81 1.62 0.81 0.81
Wp usado 1.62 0.81 6.48 0.81
*Para esta porta os valores foram encontrados experimentalmente
3
3.1
SIMULAES ELTRICAS E LGICAS
Simulao Eltrica
Para verificar a funcionalidade da ULA bem como de seus sub-circuitos foi utilizado o simulador de circuitos da Mentor, que um software amplamente utilizado para simulaes eltrica e bem como simulaes lgicas como ser visto mais adiante. Com a simulao eltrica possvel verificar as principais caractersticas eltricas de um circuito como o tempo de subida, tempo de descida e tempo de propagao que so importantes para uma anlise de atraso, que apesar de pequenos, devem ser verificados e analisados para cada tipo de situao a fim de melhorar as caractersticas eltricas do circuito a ser projetado. As tabelas abaixo mostram os tempos de subida, descida e de propagao de cada uma das operaes efetuadas pela ULA, os tempos de subida e descida so medidos parada cada uma das sadas, j o tempo de propagao medido apenas para a sada que tem o maior atraso: OPERAO AND Sada Y0 Y1 Y2 Y3 Cout Tempo de Subida[os] 26,52 24,57 37,07 29,99 No medido Tempo de Descida[ps] 21,02 22,98 24,21 23,83 No medido 521,40 Tempo de Propagao[ps]
OPERAO OR Sada Y0 Y1 Y2 Tempo de Subida[os] 34,86 35,45 36,29 Tempo de Descida[ps] 20,84 22,72 20,04 322,35 Tempo de Propagao[ps]
Y3 Cout
30,79 No medido
19,75 No medido
OPERAO SOMA Sada Y0 Y1 Y2 Y3 Cout Tempo de Subida[os] 41,05 41,77 34,02 33,17 Tempo de Descida[ps] 15,54 18,83 18,48 20,15 21,27 999,00 Tempo de Propagao[ps]
OPERAO SUBTRAO Sada Y0 Y1 Y2 Y3 Cout Tempo de Subida[os] 46,74 40,17 40,52 39,21 Tempo de Descida[ps] 19,28 16,33 18,63 18,01 510,36 Tempo de Propagao[ps]
No anexo 1 esto as imagens de cada operao com o seus respectivos tempos de subida, descida e propagao.
3.2 Simulao Lgica
Na simulao eltrica estamos preocupados com os tempos de subida, descida e os atrasos contidos no circuito, j na simulao lgica so testadas as combinaes de entrada e sada que cada circuito tem, a fim de verificar a validade e a funcionalidade das operaes envolvidas que neste projeto so as operaes de soma e subtrao e as operaes lgicas and e or: As figuras abaixo mostram os resultados de algumas combinaes para cada uma das operao contidas na ULA: 7
OPERAO AND
OPERAO OR
OPERAO SOMA
10
OPERAO SUBTRAO
11
Como dito anteriormente, cada uma das imagens contm apenas algumas combinaes que comprovam a funcionalidade do circuito, pois o nmero de combinaes que utilizado em uma ULA com quatro operaes muito grande e levaria muito tempo de simulao, alm de termos um resultado muito grande, logo apenas algumas combinaes foram feitas para mostrar a funcionalidade do circuito.
LAYOUT
Para a concluso do projeto da ULA foi criado o layout das portas utilizadas no
projeto. Esta parte consiste elaborar em um conjunto de imagens para criao das portas a nveis de substrato e canais que compem os transistores, podendo desta forma da uma idia de como de fato o circuito elaborado. Para a confeco do layout deve-se respeitar um conjunto de regras e materiais a serem utilizados no processo, pois a partir do layout que se pode realmente fabricar a ULA ou qualquer outro circuito eletrnico, esta uma parte importante do projeto, pois requer cuidado e pacincia para que o circuito possa ser construdo com mxima preciso sem perder as caractersticas eltricas e lgicas previamente simuladas. A confeco do layout foi feita em um sistema bottom-up, ou seja, foi feito primeiramente o layout dos transistores utilizados, seguindo depois para a confeco de cada um dos circuitos que efetua cada uma das operaes e tambm circuitos internos em que no se tem acesso diretamente, como os MUX e os seletores de operaes e, por fim, a interligao de todas as funes da ULA. As figuras abaixo mostram as portas lgicas e as funes efetuadas pela ULA e seus respectivos layouts:
12
Layout porta NOT:
Layout porta AND2:
13
Layout da porta OR2:
Layout da porta OR3:
14
Layout da porta XOR
Layout do mdulo AND:
15
Layout do mdulo OR:
Layout do mdulo SUM/SUB
16
Layout do MUX ULA
Layout do MUX Func.
17
Layout do MUX 2-1
Layout da ULA
18
CONCLUSO
Para o desenvolvimento da ULA foram seguidas as regras e programas utilizados previamente em sala de aula, o circuito teve seu funcionamento satisfatrio tanto em nvel eltrico tempos de subida, descida e propagao quanto em nvel lgico que demonstra a funcionalidade da ULA. O layout tambm funcionou corretamente, seguindo cuidadosamente as regras de espaamento entre trilhas quanto o material a ser usado nos substratos e ligaes entre circuitos. O nmero de transistores utilizados no projeto foi de 316, a rea total do CI de 50,81nm2 e isto no da uma densidade de 6,22 transistores/ nm2. A largura do CI de 237,6um e a altura 213,84um.
ANEXOS
Anexo 1: Grficos com os tempos de subida, descida e de propagao de cada uma das operaes feitas pela ULA:
19
OPERAO AND:
Tempo de Subida
20
Tempo de Descida:
21
Tempo de Propagao
22
OPERAO OR Tempo de Subida
23
Tempo de Descida
24
Tempo de Propagao
25
OPERAO SOMA Tempo de Subida
26
Tempo de descida
27
Tempo de Propagao
28
OPERAO SUBTRAO Tempo de Subida
29
Tempo de Descida
30
Tempo de Propagao
31