Licenciatura em Engenharia Informática e de omputação Electrónica igital (2/2) 2ª chamada 3/Janeiro/2 ORREÇÃO uração: 2 horas, sem consulta. ntes de começar, tenha em atenção as seguintes recomendações: Leia atentamente toda a prova antes de a iniciar. Mostre e justifique adequadamente todos os passos das suas respostas. Numere e assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. Num sistema digital para controlo de temperatura num processo industrial, pretende-se representar e processar em binário valores de temperatura compreendidos entre -7º e +º, utilizando uma representação em complemento para 2. onsiderando que se pretende efectuar operações de adição e subtracção entre 2 valores de temperatura sem que ocorra overflow, diga, justificando, qual é o número mínimo de bits necessário para representar essas grandezas. Se pretendermos representar em binário e complemento para dois, números que resultem da adição ou subtracção de dois valores do intervalo dado, então é necessário utilizar um número de bits que permita representar números no intervalo 7-=-7 ( mais negativo) e ++=+2 (mais positivo). omo numa representação em complemento para dois com N bits podemos representar números com sinal no intervalo [-2 N-,2 N- -], o mínimo valor de N que inclui o intervalo pretendido é N=9 que permite representar números no intervalo [-256,+255]. [2.5 valores] 2 [ valor] a) Suponha que X= e Y= representam dois números binários em complemento para dois, com 9 e 4 bits, respectivamente. Obtenha o resultado da adição de X com Y em 9 bits e complemento para dois, indicando se ocorre overflow. Para obter o resultado da adição de X com Y em 9 bits é necessário representar ambos os operandos em 9 bits antes de efectuar a operação de adição. O número X já está representado em complemento para 2 com 9 bits; o número Y apenas tem 4 bits pelo que é necessário estender a sua representação para 9 bits. omo Y também é dado em complemento para dois, isso faz-se replicando o bit de sinal de Y por forma a completar os 9 bits: Y=. Efectuando agora a adição binária entre X e Y: + obtém-se o resultado em 9 bits igual a (note que o carry-out é desprezado). omo o bit de sinal do resultado é igual ao bit de sinal dos operandos não ocorrer overflow.
b) onsidere o número 5.47. i) Represente-o em binário, usando uma codificação em sinal e grandeza com 5 bits para a parte inteira e 4 bits para a parte fraccionária. Para representar o número dado em sinal e grandeza, vamos representar primeiro o seu valor absoluto (sem sinal) e com o número de bits pretendido, e depois trocar o seu sinal colocando o bit mais significativo com : representando agora.47 em binário: e em sinal e grandeza: 5 =.47 x 2 =.94.94 x 2 =.88.88 x 2 =.76.76 x 2 =.52.47 =. 5.47 =. -5.47 =. ii) representação da parte fraccionária com 4 bits, pedida na alínea anterior, é aproximada. Qual é o erro absoluto cometido? O erro absoluto é a diferença entre.47 e o valor de.:.47 (2-2 +2-3 +2-4 ) =.325 [5.5 valores] 3 onsidere a função F(,,,), definida para valores de entre e 2 inclusivé (em binário e ), que assume o valor se representar um número ímpar e múltiplo de 3. [ valor] a) Represente a função F na forma de uma tabela de verdade.
Se a função F(,,,) não está definida para os valores, 3, 4 e 5, então podemos admitir que o seu valor é indiferente ( d na tabela) nesses casos, sendo quando representar um inteiro ímpar e múltiplo de 3: F(,,,) d d d d
b) Encontre uma expressão simplificada de F do tipo produto-de-somas. Use a forma do mapa de Karnaugh indicado. + d d d '+' ' F(,,,) =.'.('+').(+) c) Implemente a função F como um circuito lógico usando apenas portas do tipo NOR com 2 entradas (sugestão: comece por construir o circuito OR-N correspondente à expressão obtida em b) ). ' ' F(,,,) ' F(,,,) d) Implemente a função F recorrendo a um multiplexador com 4 entradas de dados e com as duas linhas de selecção actuadas pelas entradas e (ver figura), utilizando um número mínimo de portas lógicas adicionais. 2 Y 3 S S
Para construir o circuito pedido é conveniente reescrever a tabela de verdade da função dada colocando e nas posições mais significativas: F(,,,) d d d d nalisando a tabela de verdade podemos ver que quando = o valor de F é o resultado do OUexclusivo entre e, e nos outros casos F= ou indiferente. O circuito pedido é: gnd 2 Y 3 S S F(,,,) [4.5 valores] 4 Para realizar um circuito lógico que determine se um número de 3 bits X dado por x 2 x x pertence ao intervalo [2,5], Mr W. desenhou o circuito da figura baseado em multiplexers e descodificadores, reunindo as saídas de dois circuitos que realizam as comparações X>=2 e X<=5 com uma porta N (X pertence ao intervalo referido se for X>=2 e X<=5). 2 Y X>=2 3 S S (X>=2).(X<=5) x2 x x G G2 G2 Y Y Y2 Y3 Y4 Y5 Y6 Y7 74x38 X<=5
a) Verifique que os dois circuitos comparadores realizam as funções lógicas pretendidas. O circuito constituído pelo multiplexer realiza a função lógica representada pela tabela de verdade seguinte (note que como x não está ligado a nenhuma entrada do multiplexer, e sua saída é apenas função de x2 e x. Pela tabela de verdade pode-se confirmar que realiza a função pretendida, sendo quando o valor representado por x 2 x x é maior ou igual a 2. x2 x x F(x2,x,x) O circuito formado pelo descodificador e pela porta N associada implementa uma função na forma produto de somas, dos termos máximos correspondentes às saídas do descodificador que estão ligadas à entrada do N (termos 6 e 7 a função é zero quando x 2 x x = ou quando x 2 x x = e é nos casos restantes, i.e. quando X<=5). tabela de verdade é: x2 x x G(x2,x,x) b) omo os valores limites do intervalo pretendido são constantes, a solução apresentada pode ser muito simplificada. esenhe um circuito minimizado que realize essa função, usando os elementos lógicos que achar mais convenientes. função pretendida é o produto lógico das duas funções F() e G(). onstruindo a tabela de verdade: x2 x x F().G()=Z() Partindo desta tabela de verdade, podemos construir um circuito lógico, mais simples do que o apresentado, que realiza a função lógica Z() pretendida. Isso pode ser feito implementando a função mínima soma-de-produtos ou produtos-de-somas, ou então usando um multiplexer ou um descodificador. No entanto, analisando a tabela de verdade acima pode-se concluir que a tabela de verdade que representa Z() em função de x2 e x corresponde à função OU-exclusivo entre estas duas variáveis. ssim, basta uma porta XOR para realizar a função Z()=F().G():
x2 x F().G() c) dmita agora que os limites do intervalo a detectar não são constantes mas sim números inteiros com 3 bits, = 2 e = 2. Utilizando comparadores 74x85, desenhe agora um circuito lógico com 9 entradas que produza uma saída igual a quando X pertencer ao intervalo [,]. Na figura ao lado mostra-se o símbolo lógico do comparador 74x85 e as equações que descrevem o seu funcionamento. >in =in <in >out =out <out 2 3 2 3 74x85 >out = (>)+(=).(>in) =out = (=).(=in) <out = (<)+(=).(<in) O circuito pedido pode ser construído com dois comparadores 74x85, um que produza uma saída X> e outro que produza a saída X<, combinando essas duas saídas com uma porta N (do mesmo modo que no circuito apresentado): Vcc X X X2 2 2 >in =in <in >out =out <out 2 3 2 3 74x85 Vcc >in =in <in >out =out <out 2 3 2 3 74x85 (X>=2).(X<=5)
[4 valores] 5 O circuito da figura mostra uma porta lógica da família MOS com saída do tipo open-drain que está ligada à entrada de uma porta lógica X, com o circuito equivalente que se representa na figura. porta MOS coloca o nível lógico baixo na sua saída quando a rede de transistores N conduz, e quando está desligada o nível lógico alto é garantido pela resistência de pull-up R P. dmita que cada transistor NMOS tem uma resistência de condução R N e que a entrada do circuito X é caracterizada por V ILmax e V Ihmin. Vdd RP L RL Porta MOS open-drain Gnd ircuito X a) Obtenha expressões que permitam dimensionar o valor da resistência R P, de forma a garantir que os dois níveis lógicos são correctamente interpretados pela porta lógica X com margens de segurança não inferiores a.5v.
Para que os níveis lógicos sejam correctamente interpretados pelo circuito X com a margem de segurança referida (.5V), então o nível lógico alto tem de ser representado por uma tensão superior a VIHmin+.5V, e o nível lógico baixo por uma tensão inferior a VILmax-.5V. No nível lógico alto, todos os transistores NMOS estão desligados e o circuito equivalente resume-se ao divisor de tensão formado pelas duas resistências RL e RP: + Vdd - RP VH RL Para que nestas condições a tensão na entrada do circuito X seja > VIHmin+.5V: Vdd. RL / (RP+RL) > VIHmin+.5 RP < (Vdd.RL) / (VIHmin+.5) - RL No nível lógico baixo a situação mais desfavorável ocorre quando a resistência equivalente da rede de transistores NMOS é máxima e igual a 2RN ( desligado, e ligados): RP + Vdd - 2RN VL RL Neste caso pretendemos garantir que a tensão na entrada do circuito X seja < VILmax-.5V (2RN//RL representa o paralelo de 2RN com RL): Vdd. (2RN//RL) / (RP+(2RN//RL)) < VILmax-.5 RP > Vdd.(2RN//RL) / (VILmax-.5) (2RN//RL)
[ valor] b) Neste circuito, o tempo de descida da tensão eléctrica na entrada do circuito X é sempre inferior ao respectivo tempo de subida. Justifique esta afirmação. constante de tempo de subida é dada por (RL//RP).L e a constante de tempo de descida é (R//RL//RP).L, onde R representa a resistência equivalente aos transistores N que estão ligados quando a saída da porta MOS se encontra no nível lógico baixo. omo a constante de tempo de descida é sempre menor do que a constante de tempo de subida (note que a resistência R está associada em paralelo), também o tempo de descida será sempre inferior ao tempo de subida. c) dmita agora que o valor de RP garante as condições referidas em b). etermine a relação entre os tempos de subida e descida máximos na entrada do circuito X, medidos entre % e 9% das respectivas transições. Os tempos de transição medidos nas condições referidas são dados por 2.2xτ. ssim, a relação entre os tempos de transição pode resumir-se à relação entre as constantes de tempo respectivas: τr = L.(RP//RL) = L.(RP.RL)/(RP+RL) τf = L.((2RN)//RP//RL) = L/( (/(2RN))+(/RP)+(/RL) ) τr/τf = ((RP.RL)/(RP+RL)).( (/(2RN))+(/RP)+(/RL) ) [2 valores] 6 figura mostra uma porta lógica NN com duas entradas, realizada em tecnologia MOS. Portas NN com mais de duas entradas podem ser construídas associando mais transistores NMOS e PMOS, mas não é praticável construir NNs com um número muito grande de entradas. Explique em que medida o número de entradas afecta o comportamento estático e dinâmico desse circuito, admitindo que a sua saída alimenta uma carga equivalente ao paralelo de uma resistência R L com uma capacidade L. Vdd (.)' O número de entradas de uma porta NN em tecnologia MOS corresponde ao número de transistores PMOS ligados em paralelo e NMOS ligados em série. O comportamento (estático e dinâmico) de um circuito deste tipo piora com o aumento da resistência equivalente correspondente às redes de transistores NMOS e PMOS em condução (para os níveis baixo e alto, respectivamente). ssim, quantas mais entradas a porta NN tiver, maior será a resistência equivalente à rede de transistores NMOS (estão todos em série), e menor será a resistência equivalente à rede de transistores PMOS (estão todos em paralelo). Pode assim concluir-se o seguinte: omportamento estático: melhora o nível lógico alto porque é representado por uma tensão mais alta. não é afectado o nível lógico baixo porque nas condições referidas a tensão eléctrica correspondente é sempre zero (a carga é representada por um paralelo R e o circuito equivalente não tem fontes de tensão). omportamento dinâmico:! transição de L para H (subida) torna-se mais rápida porque decresce a resistência equivalente no nível lógico alto.! transição de H para L (descida) torna-se mais lenta porque aumenta a resistência equivalente no nível lógico baixo.