Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

Embed Size (px)

Citation preview

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    1/10

    Implantacin en silicio

    5

    PRCTICA 5.1: COMPARATIVA DE TAMAOS DEIMPLANTACIN EN SILICIO DE

    DIFERENTES OPERADORES DE SUMA

    5.1.1.OBJETIVOS

    Cualquier diseo de un componente de un computador tiene uncoste que es necesario contrastar con el rendimiento computacionalobtenido. Dicho coste es la resultante de varias partidas: el coste dedesarrollo, el coste de fabricacin, el coste de verificacin, el coste decomercializacin, el coste de distribucin, etc. Una primera

    aproximacin a la evaluacin de este precio es examinar la cantidad derea de silicio consumida en su implantacin fsica. El gasto en rea desilicio no es el nico trmino a tener en cuenta pero s resulta muyrepresentativo si consideramos que el rea total disponible estlimitada y que utilizarla en un elemento supone, posiblemente,negrsela a otro. En resumidas cuentas, la cantidad de transistoresest acotada y puede emplearse en diferentes elementos asumiendoun cierto compromiso entre unos y otros pues todos ellos aportan algngrado de inteligencia al procesamiento.

    Se pretende en esta prctica comparar los diferentes tamaosde rea de silicio empleados en implantar dos tipos diferentes deoperadores de suma: el sumador con propagacin de acarreo y elsumador con anticipacin de acarreo. Con anterioridad hemosestudiado su comportamiento temporal. Sabemos que el anticipador esms rpido que el propagador y que su retardo es independiente delnmero de bits que estemos sumando. Esta caracterstica representauna gran ventaja pero como contrapartida tenemos que su coste entrminos de rea de silicio es mucho mayor.

    Utilizaremos dos herramientas freeware para llevar a cabo estaprctica: la aplicacin de captura de esquemticos Dsch y la aplicacinde diseo de circuitos integrados CMOS Microwind.

    5.1.2.INTRODUCCIN TERICA

    Vamos a trabajar con operadores de suma de 4 bits para nocomplicar excesivamente los diseos. A continuacin tenemos elesquema del sumador con propagacin de acarreo de 4 bits.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    2/10

    Simulacin de Arquitecturas de Computadores

    6

    Figura 1.1. Sumador con propagacin de acarreo.

    El esquema se ha obtenido del propio editor del Dsch.Obsrvese como cada bit de suma se obtiene a partir de un sumadorcompleto de 1 bit que se repite de manera modular por cada bit de losoperandos de entrada. El acarreo es una seal que a partir del acarreoentrante (seal Carry in) se va encadenando de modulo en mdulohasta alcanzar el de mayor peso. Su propagacin corrige losresultados de las sumas hasta alcanzar el acarreo de salida (sealCarry out). Como sabemos, la propagacin del acarreo determina elretardo total del operador que viene a ser aproximadamente igual a 2nsiendo n el nmero de bits de los operandos de entrada. En cuanto altamao del circuito implementado en silicio sabemos que no es muygrande: 5 puertas lgicas por cada sumador completo de 1 bit.

    El sumador con anticipacin de acarreo genera la suma con unretardo fijo independiente del tamao de los operandos. Dicho retardoes el correspondiente a atravesar 4 niveles de puertas lgicas. Siembargo, el tamao crece con el nmero de bits de los operandos yaque la generacin de los bits de acarreo se hace ms compleja cuantomayor es su peso. En la figura siguiente tenemos el esquema de esteoperador para 4 bits.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    3/10

    Implantacin en silicio

    7

    Figura 1.2. Sumador con anticipacin de acarreo.

    En el esquema, obtenido del editor del Dsch, se puedecomprobar como segn aumenta el peso del acarreo se requieren mspuertas lgicas para evaluarlo. En dicho circuito vemos, adems, queal disponer tan slo de puertas de 2 y 3 entradas, cuando es necesario

    trabajar con ms entradas, se deben introducir niveles adicionales.Resulta obvio que este operador de suma consumir mayor superficiede silicio que el precedente.

    5.1.3.DESARROLLO DE LA PRCTICA

    El procedimiento genrico a seguir con Dsch y Microwind es elsiguiente: construir los circuitos de ambos sumadores, simular elfuncionamiento para comprobar que son correctos, generar el fichero

    Verilog de cada uno de ellos y compilar dicho fichero para obtener loslayouts de los circuitos integrados.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    4/10

    Simulacin de Arquitecturas de Computadores

    8

    En primer lugar hay que editar los esquemas de ambossumadores. Podemos utilizar los esquemas dados anteriormente.Aadiremos dispositivos de entrada (teclados hexadecimales) y de

    salida (display de 7 segmentos) para poder visualizar el funcionamientodurante la simulacin en Dsch. A continuacin se dan los esquemasde ambos operadores tal y como quedan con los elementos de E/Sdurante una simulacin.

    Figura 1.3. Ambos operadores de suma durante sendas simulaciones en Dsch.

    El operador de suma basado en propagacin de acarreo es undiseo jerrquico que incorpora un mdulo creado con anterioridad: elsumador completo de 1 bit (fichero fadd.sym correspondiente alsmbolo del full adder o sumador completo). Para insertar un smbolocreado anteriormente utilizaremos Insert User Symbol (.SYM).

    Los esquemas de los operadores se salvan en ficheros bajo laextensin .sch (File Save As).

    Los diseos se simularn para comprobar su correctofuncionamiento. La aplicacin Dsch permite dicha simulacin sobre elpropio esquema. Utilizando los dispositivos de E/S es muy sencillocomprobar rpidamente si el comportamiento se ajusta a lo esperado.

    Crearemos el fichero Verilog de cada uno de ellos. Verilog es unlenguaje de descripcin de hardware que es admitido por la aplicacinde diseo CMOS Microwind para generar los layouts de circuitointegrado de una manera automatizada. El mecanismo es muy sencillo:File Make Verilog File. Este fichero Verilog es de texto y tiene

    extensin .txt.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    5/10

    Implantacin en silicio

    9

    Seguidamente compilaremos los operadores de suma escritosen Verilog en Microwind para crear los layouts automticos. En laficha de propiedades de cada circuito integrado podemos ver lasdimensiones del mismo una vez implantado en silicio utilizando la

    tecnologa indicada. Salvaremos cada circuito en sendos ficheros deextensin .msk.

    Resulta muy interesante comparar los resultados de ambosesquemas y, a su vez, comparar el layout del operador de suma conpropagacin generado automticamente con el generado de maneramanual que se ofrece entre los ficheros de la aplicacin (Add4.msk).Podemos comprobar como el diseo realizado a mano consumemenos rea que el automtico.

    En resumen, los pasos a seguir se dan a continuacin:

    1. Creacin de los esquemas de ambos operadores de suma ysalvaguarda en ficheros de extensin .sch en la aplicacinDsch2.

    2. Simulacin de los operadores sobre el propio esquema paracomprobar que funcionan correctamente.

    3. Crear los ficheros Verilog de los operadores de suma.

    4. Compilar en Microwind las descripciones de los circuitos enVerilog y salvar los layouts en ficheros de extensin .msk.

    5. Tomar nota de las dimensiones en silicio de la fichapropiedades de cada layout. Observar esta mismainformacin para el caso del circuito integrado del sumador de4 bits realizado a mano que se incluye en la documentacinde la propia aplicacin.

    6. Realizar la comparativa de tamaos.

    5.1.4.SOLUCIN

    Una vez realizados los esquemas y comprobado su correctofuncionamiento pasamos a generar los ficheros Verilog que damosseguidamente.

    El modelo Verilog del sumador con propagacin de acarreo ser:

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    6/10

    Simulacin de Arquitecturas de Computadores

    10

    // DSCH 2.2a , Flat Verilog// RCA.sch

    module RCA( Y1,Y2,Y3,Y4,X1,X2,X3,X4,InitialCarry,i3,Add4Carry,i2,i1,i0);

    input Y1,Y2,Y3,Y4,X1,X2,X3,X4;input InitialCarry;output i3,Add4Carry,i2,i1,i0;wire i0w1,i0w2,i0w3,i0w4,i0w5,i0w6,i0w7,i0w8;wire i0w9,i0w10,i0w11,i0w12,i0w13,i0w14,i0w15,i0w16;wire i0w17,i0w18,i0w19,i0w20;

    xor xor21_fadd1(i0,i1w1,InitialCarry);xor xor22_fadd1(i1w1,X1,Y1);nand nand21_fadd1(i1w4,Y1,X1);nand nand22_fadd1(i1w3,Y1,InitialCarry);nand nand23_fadd1(i1w2,X1,InitialCarry);nand nand31_fadd1(i0w4,i1w4,i1w3,i1w2);xor xor21_fadd2(i1,i2w1,i0w4);xor xor22_fadd2(i2w1,X2,Y2);nand nand21_fadd2(i2w4,Y2,X2);nand nand22_fadd2(i2w3,Y2,i0w4);nand nand23_fadd2(i2w2,X2,i0w4);

    nand nand31_fadd2(i0w3,i2w4,i2w3,i2w2);xor xor21_fadd3(i2,i3w1,i0w3);xor xor22_fadd3(i3w1,X3,Y3);nand nand21_fadd3(i3w4,Y3,X3);nand nand22_fadd3(i3w3,Y3,i0w3);nand nand23_fadd3(i3w2,X3,i0w3);nand nand31_fadd3(i0w2,i3w4,i3w3,i3w2);xor xor21_fadd4(i3,i4w1,i0w2);xor xor22_fadd4(i4w1,X4,Y4);nand nand21_fadd4(i4w4,Y4,X4);nand nand22_fadd4(i4w3,Y4,i0w2);nand nand23_fadd4(i4w2,X4,i0w2);nand nand31_fadd4(Add4Carry,i4w4,i4w3,i4w2);

    endmodule

    // Simulation parameters// InitialCarry CLK 10 10

    Modelo 1.1. Descripcin de un sumador RCA de 4 bits en Verilog.

    // DSCH 2.2a , Flat Verilog// CLA.sch

    module CLA( kbd11,kbd12,kbd13,kbd14,kbd21,kbd22,kbd23,kbd24,in1,out1);input kbd11,kbd12,kbd13,kbd14,kbd21,kbd22,kbd23,kbd24;input in1;output out1;wire i0w1,i0w2,i0w3,i0w4,i0w5,i0w6,i0w7,i0w8;wire i0w9,i0w10,i0w11,i0w12,i0w13,i0w14,i0w15,i0w16;wire i0w17,i0w18,i0w19,i0w20,i0w21,i0w22,i0w23,i0w24;wire i0w25,i0w26,i0w27,i0w28,i0w29,i0w30,i0w31,i0w32;wire i0w33,i0w34,i0w35,i0w36;

    and and21(i0w25,i0w15,i0w14);and and22(i0w24,i0w21,i0w20);and and23(i0w23,i0w19,i0w18);and and24(i0w22,i0w8,in1);and and25(i0w20,i0w8,in1);and and26(i0w19,i0w7,i0w9);and and27(i0w18,i0w6,i0w3);and and28(i0w16,i0w7,i0w5);and and29(i0w15,i0w9,i0w6);and and210(i0w14,i0w8,in1);and and211(i0w12,i0w9,i0w4);and and212(i0w10,i0w6,i0w3);and and213(i0w5,kbd23,kbd13);and and214(i0w4,kbd22,kbd12);and and215(i0w3,kbd21,kbd11);and and216(i0w2,kbd24,kbd14);xor xor21(i0w36,i0w32,i0w7);

    xor xor22(i0w35,i0w30,i0w9);xor xor23(i0w34,i0w31,i0w6);xor xor24(i0w33,in1,i0w8);xor xor25(i0w9,kbd13,kbd23);

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    7/10

    Implantacin en silicio

    11

    xor xor26(i0w8,kbd11,kbd21);xor xor27(i0w7,kbd14,kbd24);xor xor28(i0w6,kbd12,kbd22);and and31(i0w21,i0w6,i0w9,i0w7);and and32(i0w17,i0w4,i0w9,i0w7);and and33(i0w13,i0w3,i0w6,i0w9);and and34(i0w11,in1,i0w8,i0w6);

    or or21(i0w32,i0w27,i0w29);or or22(i0w31,i0w22,i0w3);or or23(out1,i0w26,i0w28);or or24(i0w29,i0w13,i0w25);or or25(i0w27,i0w5,i0w12);or or26(i0w26,i0w2,i0w16);or or31(i0w30,i0w10,i0w4,i0w11);or or32(i0w28,i0w17,i0w23,i0w24);

    endmodule

    // Simulation parameters// in1 CLK 10 10

    Modelo 1.2. Descripcin de un sumador CLA de 4 bits en Verilog.

    El resultado de compilar automticamente el primer diseo enMicrowind2 es el circuito integrado que presentamos a continuacin:

    Figura 1.4. Circuito integrado del operador de suma con propagacin de acarreo generadoautomticamente en Microwind.

    El circuito se ha compilado segn las reglas de diseoguardadas en el fichero default.rul que corresponden a una tecnologade 012m.

    Las propiedades de este circuito integrado son:

    Width: 49.1 m (818 lambda)Height: 12.2 m (204 lambda)Surf:600.7 m2Tecnologa: 0.12m

    El layout obtenido de manera manual para el sumador conpropagacin de acarreo de 4 bits que podemos encontrar entre losficheros facilitados con la propia aplicacin Microwind (archivoAdd4.MSK) es el siguiente:

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    8/10

    Simulacin de Arquitecturas de Computadores

    12

    Figura 1.5. Circuito integrado del operador de suma con propagacin de acarreo generadomanualmente en Microwind.

    Las propiedades de este circuito integrado son:

    Width: 12.3 m (205 lambda)Height: 19.4 m (324 lambda)Surf:239.1 m2Tecnologa: 0.12m

    Obsrvese como ha sido optimizado respecto al caso anterior yaque consume un rea de silicio menor (casi el 30%).

    El circuito integrado del operador de suma con anticipacin deacarreo es el siguiente:

    Figura 1.6. Circuito integrado del operador de suma con anticipacin de acarreo generadomanualmente en Microwind.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    9/10

    Implantacin en silicio

    13

    Las propiedades de este circuito integrado son:

    Width: 94.2 m (1570 lambda)Height: 18.5 m (308 lambda)Surf: 1740.8 m2Tecnologa: 0.12m

    Se comprueba que el tamao consumido es mayor. Tambin seobserva con facilidad la cantidad de pistas que hay. Las pistas sonconsumidoras de espacio adems de generar impedancias y retardos.

    La comparativa de tamaos la presentamos en la siguiente tabla:

    Tecnologa 012mdiseo CLA RCA automtico RCA manual

    Ancho (m) 942 491 123Largo (m) 185 122 194Superficie (m2) 17408 6007 2391Porcentaje(sobre el mximo) 100% 345% 137%

    La figura siguiente presenta el operador de suma conanticipacin de acarreo situado sobre el dado de silicio de un chip con16 patillas.

    Figura 1.7. Aspecto del dado de silicio de un chip de 16 patillas con el operador de suma conanticipacin de acarreo situado en el extremo inferior izquierdo.

  • 8/22/2019 Laboratorio Microwind Dsh2 Desarrollar e Imprimir Grupo de Dos

    10/10

    Simulacin de Arquitecturas de Computadores

    14

    5.1.5.PARA PENSAR

    1. Modificar las reglas de compilacin y observar de qu maneraafectan a los circuitos integrados generados a partir de ellas.

    2. La vista 3D de la aplicacin Microwind permite examinar unasimulacin del proceso de fotolitografa y las diferentes etapas delmismo. Podemos llegar a la conclusin de que tambin lamicroelectrnica tiene un impacto decisivo en el rendimiento finalde un procesador.