Síntesis de un procesador digital elemental

June 15, 2017 | Autor: Ramón Chávez | Categoría: Kalman Filter, Digitlal Vlsi Design
Share Embed


Descripción

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

Síntesis de un procesador digital elemental C. S. Rodríguez Romano, R. Chávez Bracamontes, M. Bandala Sánchez

Resumen: Se presenta el diseño del núcleo de un procesador digital elemental, utilizando las herramientas Alliance CAD System. El artículo se enfoca a la metodología de diseño en el flujo de síntesis de circuitos integrados digitales, utilizando como ejemplo la arquitectura de un procesador tipo slice de 4 bits con modulo multiplicador. Se diseñó una arquitectura con la finalidad de optimizar el área requerida para la implementación de este módulo. El diseño del microprocesador fue implementado sobre tecnología CMOS AMI C5 con un proceso de 0.5 micras en un área de 2.2 mm2. La fabricación fue auspiciada por un programa educativo con MOSIS, y el circuito integrado obtenido permite evaluar la metodología utilizada y la arquitectura implementada en aplicaciones matemáticas para la solución de operaciones aritméticas matriciales. Palabras Clave: Circuitos Integrados Digitales, Alliance CAD System, Diseño VLSI, Síntesis VLSI. Abstract: A Core design of an elementary digital processor is presented using the Alliance CAD System tools. The article focuses on the design methodology in the synthesis flow of digital integrated circuits, using as an example the architecture of a 4-bit slice type processor with multiplier module. Architecture was designed in order to optimize the required area for this module implementation. The design was implemented on CMOS technology with an AMI C5 0.5 microns process over an area of 2.2 mm2. The manufacture was sponsored by an educational program through MOSIS, and the integrated circuit obtained allows evaluating the used methodology and the architecture implemented in mathematical applications for solving matrix arithmetic operations. Keywords: Digital Integrated Circuits, Alliance CAD System, VLSI Design, VLSI Synthesis.

Introducción La complejidad de los circuitos integrados digitales ha ido en aumento debido a la necesidad de los diseñadores para desarrollar sistemas tecnológicos más avanzados, teniendo como consecuencia el desarrollo de nuevas metodologías de diseño que faciliten el proceso con una mínima cantidad de errores. Debido a que el diseño de circuitos integrados VLSI [1] es una tarea con alta susceptibilidad de errores, existen metodologías que utilizan herramientas CAD semiautomatizadas que disminuyen estos errores. Alliance CAD System [2] son herramientas de síntesis para diseño de circuitos integrados, las cuales parten de la descripción de un sistema digital codificado en un lenguaje de descripción de hardware y una librería de celdas estándar para generar un listado estructural que es equivalente al circuito esquemático y que es usado con herramientas de Place & Route [3-6] para obtener los archivos de fabricación que se envían al fabricante. El propósito principal de este artículo es presentar los resultados obtenidos en el diseño de un procesador de 4 bits denominado PEM4, utilizando la herramienta de síntesis de Alliance, con la finalidad de validar las capacidades de dicha herramienta y presentar los resultados de la arquitectura del multiplicador diseñado para optimización de área. Partiendo de la implementación en el lenguaje de descripción de hardware VHDL [7] hasta la obtención de los archivos que describen la forma física y que se envían al fabricante. PEM4 es un procesador digital elemental de arquitectura tipo slice, diseñado para realizar operaciones matriciales básicas.

____________________________________________________ Claudia Socorro Rodríguez Romano, Centro de Ingeniería y Desarrollo Industrial (CIDESI), Av. Playa Pie de la Cuesta No. 702. Desarrollo San Pablo. Querétaro, México. [email protected] Ramón Chávez Bracamontes, [email protected] Manuel Bandala Sánchez, [email protected]

Number: 143 Track: Electrónica e Instrumentación

1

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

Metodología de Alliance para el flujo de síntesis y verificación La metodología de síntesis general fue basada en la descrita por Reyes et al. [8], usando las herramientas de Alliance, la cual se muestra en la figura 1.

síntesis, mientras que las herramientas ASIMUT, COUGAR Y LVX se utilizan para la verificación del circuito integrado, éstas nos permiten la detección de errores. Se puede simplificar el flujo de diseño si se conoce la lógica digital sin errores que compone al módulo descrita a partir de un archivo con extensión .c. La herramienta GENLIB toma como entrada el archivo mencionado generando un archivo .vst que corresponde a la descripción estructural del circuito. La aplicación de GENLIB evita el uso de las herramientas que se encuentran previas a la herramienta OCP y que son dedicadas específicamente para obtener el archivo estructural.

Arquitectura del PEM4 En la figura 2 se muestra el esquemático general de la arquitectura del PEM4

Fig. 2. Arquitectura del PEM4

Fig. 1. Metodología de síntesis con las herramientas de Alliance CAD System

Herramientas de Alliance Se clasifican en: herramientas para el flujo de síntesis y herramientas de verificación. Las herramientas usadas para el flujo de síntesis [4-7] permiten al diseñador generar los archivos físicos que describen de forma comportamental y estructural al circuito integrado y a partir de estos, obtener la síntesis lógica del circuito. La característica principal en el uso de estas herramientas, es que son secuenciales, es decir que el archivo de salida de cada herramienta es empleada como entrada para ejecutar la siguiente. Dentro de la metodología mencionada, las herramientas: VASY, BOOM, BOOG, LOON, OCP, NERO Y S2R son las utilizadas como herramientas de

De forma general la arquitectura está conformada por 5 módulos principales. 1) banco de registros, 2) selector, 3) Unidad Aritmética Lógica (ALU), 4) multiplicador y 5) unidad de control. El banco de registros contiene 16 registros de propósito general en los cuales se puede almacenar los datos o los resultados provenientes de la unidad aritmética lógica o del módulo multiplicador. La ALU de 4 bits y 8 funciones es la encargada de realizar las operaciones lógicas y aritméticas básicas. El módulo de Selector selecciona los operandos que serán las entradas al módulo multiplicador y a la ALU. En ésta arquitectura se tiene un módulo de corrimiento independiente de la ALU. El acumulador es un registro en el cual los resultados obtenidos de la ALU o del módulo multiplicador se almacenan temporalmente, y estos datos pueden ser usados como operando para las instrucciones. La unidad de control contiene los elementos necesarios para describir la conducta del sistema por medio del comportamiento de la máquina de estados.

2

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

Diseño del módulo multiplicador Los circuitos multiplicadores binarios se diseñan haciendo uso de medios sumadores y sumadores completos, bajo diferentes microarquitecturas que así como en el caso de los sumadores, nos permiten realizar la operación de multiplicación en forma combinacional o en forma secuencial, con el compromiso y restricciones entre área y tiempo. La implementación de sumadores carry-look-ahead (CLA) permite obtener sumadores más rápidos a expensas de una mayor área de silicio comparados con los sumadores ripple-carry (RCA). Para diseñar el módulo multiplicador se siguió una metodología jerárquica dividiendo una multiplicación de n bits en cuatro multiplicaciones de n/2 bits, y cinco sumas de n/2 bits. Para este caso el multiplicador contiene 4 multiplicadores de 2 bits y 5 sumadores de 2 bits. La Figura 3 muestra la arquitectura de un multiplicador de 2 bits. A partir del diseño del multiplicador de 2 bits, se implementó de manera jerárquica un multiplicador binario en forma estructural de 4 bits, el cual se presenta en la figura 3.

Fig. 4. Esquema del multiplicador estructural de 4 bits

Obtención del core del PEM4 Para el diseño con las herramientas de síntesis, se dividió la arquitectura en dos módulos, 1) CONTROL y 2) DATA-PATH los cuales se muestran en la figura 5.

Fig. 3. Esquema del multiplicador de 2 bits

La implementación del multiplicador del esquema de la figura 4 se puede sintetizar utilizando celdas de suma de la librería SXLIB al cual llamamos multiplicador estructural mientras que el tipo comportamental se implementa utilizando celdas de compuertas básicas en las topologías CLA, RCA y Wallace.

Fig. 5. Módulos que componen el core del PEM4

El DATA-PATH contiene las partes regulares del procesador, los registros y la unidad aritmética lógica, La parte de control contiene lógica irregular y el decodificador de instrucciones.

3

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

Instrucciones del PEM4

Resultados

La arquitectura del microprocesador está diseñada para ejecutar un número determinado de operaciones los cuales se muestran en la Tabla 1.

El diseño del PEM4 se definió de forma jerárquica y se realizó la síntesis y la verificación de cada módulo independientemente. Se utilizó la herramienta de GENLIB a partir de un archivo para cada módulo (archivos fuente en código c), teniendo como resultado los archivos estructurales (archivos .vst). En la figura 6 se visualiza el esquemático de la unión de los módulos.

Tabla 1: Tabla de control del PEM4 I543

I210 0

1

2

Cin=0 R+S Cin=1 Cin=0 S-R Cin=1 Cin=0 R-S Cin=1

0 A,Q A+Q

1 A,B A+B

2 Z,Q Q

3 Z,B B

4 Z,A A

5 D,A D+A

6 D,Q D+Q

7 D,Z D

A+Q+1 Q-A-1

A+B+1 B-A-1

Q+1 Q-1

B+1 B-1

A+1 A-1

D+A+1 A-D-1

D+Q+1 Q-D-1

D+1 -D-1

Q-A A-Q-1

B-A A-B-1

Q -Q-1

B -B-1

A -A-1

A-D D-A-1

Q-D D-Q-1

-D D-1

A-Q

A-B

-Q

-B

-A

D-A

D-Q

D

R or S

A or Q

A or B

Q

B

A

D or A

D or Q

D

R and S

A and Q

A and B

0

0

0

D and A

D and Q

D

not R and S

not A and Q

not A and B

Q

B

A

not D and A

not D and Q

D

R exor S

A exor Q

A exor B

Q

B

A

D exor A

D exor Q

D

RxS

AxQ

AxB

0

0

0

DxA

DxQ

0

3

4

5

6

7

En la Tabla 2 se muestran algunas funciones que se pueden implementar con el data-path de la arquitectura del PEM4, para la ejecución de dichas operaciones es necesario aplicar al bus de instrucción “ï” un código binario de 9 bits. Tabla 2: Códigos de instrucción instrucción (octal) 007 032 462

Descripción

Destino

Operación

Fuente

Escritura Q Lectura Q DesplazaQ

SUMA OR XOR

D,0 0,Q 0,Q

163 662

Lectura Ram DesplazaQ

XOR XOR

0,B 0,Q

337

Lectura y escritura de Ram Lectura D Lectura A Lectura B Lectura D Complemento 2 Lectura (D-0) (D EXOR 0) Multiplica D x A SUMA D + Q OPERACION Q-D OPERACION D-Q

QF QF BF/2, QQ/2 B(2F) Q(2Q) BF

OR

D,0

-

OR OR OR SUMA -D RESTA EXOR MULTI MULTI -D-1 -D -D

D,0 0,A 0,B D,0 D,0 D,0 D,0 D,A D,Q D,Q

137 134 133 107 117 127 167 175 106 116 126

-

Fig.6. Esquemático estructural del PEM4

Las figuras 7 y 8 contienen la descripción esquemática de los archivos estructurales de cada módulo.

D,Q

Fig. 7. Esquemático estructural del módulo control

4

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

identifiquen las conexiones al anillo de pads o terminales que permiten las conexiones externas al encapsulado del chip.

Fig. 8. Esquemático estructural del módulo datapath

Para la verificación de cada módulo se realizó un archivo de patrones que contiene las entradas utilizadas como señales de estímulo para verificar el comportamiento del diseño implementado. Este archivo de patrones es usado por la herramienta ASIMUT para la simulación del sistema y así proceder a realizar el flujo de diseño completo. Se creó un archivo de patrones usado para la simulación del circuito con la herramienta de verificación ASIMUT (figura 9), la cual permite verificar la correcta funcionalidad del diseño.

Fig. 6. Layout a nivel transistor.

En la figura 11 se muestra el layout generado por la herramienta NERO, en donde se observar las interconexiones entre todas las celdas.

Fig. 7. Interconexiones del PEM4

Fig. 5. Verificación del PEM4

Se procedió con la metodología aplicando la herramienta OCP el cual genera el plano que representa la colocación de celdas estándar a nivel transistor, definiendo la estructura física del procesador. Los archivos generados en esta etapa son los Layouts o mascarillas requeridas en el proceso de fabricación. La figura 10 representa el layout generado el cual definimos como core. Una vez colocadas las celdas fue necesario definir los puertos alrededor del core que

La verificación por la herramienta LVX permite comparar los archivos obtenidos con los definidos en la etapa lógica previa e identificar si es igual, lo cual indica un comportamiento correcto del circuito integrado. Con la herramienta S2R se produce un archivo (extensión .cif) listo para enviarse a manufactura. Es recomendable obtener únicamente el CORE con las herramientas de Alliance y poner el padring con algún editor de layouts como Magic [9]. En la figura 12 se muestra el resultado del layout, el cual tuvo una dimensión de 1.5mm x 1.5mm, una vez obtenido se volvió a realizar la verificación de reglas de diseño y colocación de pads.

5

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

Los resultados del flujo de síntesis utilizando las herramientas de síntesis de Alliance para el módulo del multiplicador se muestran en las figuras 14 y 15, en la cual se compara la integración de distintas técnicas de multiplicación paralelas como el diseño CLA, Wallace, Ripple (RCA) y estructural (E).

Fig. 12. Layout para fabricación del procesador

El diseño del procesador se envió a fabricar a través del programa educativo MEP [10] establecido en convenio con MOSIS (Metal Oxide Semiconductor Implementation Service) en julio del 2014 y se recibió en octubre del mismo año.

Fig. 14. Número de transistores para multiplicadores de 4 bits

1

En la figura 13 se muestra la imagen tomada del dado una vez fabricado.

Fig. 15. Área requerida para multiplicadores de 4 bits

Conclusión

Fig. 13. Microfotografía del dado ya fabricado

En la Tabla 3 se muestra los resultados de la síntesis para diferentes topologías de multiplicadores. Tabla 3: resultado de síntesis de multiplicadores TIPO

BITS

AREA Lambdas

L^2

TRANSISTORES

RUTA CRITICA (ps)

PEOR RC

C-Paral-CLA

4

660x650

429,000

1,748

5.047

857

C-Paral-Wallace

4

585x550

321,750

1,267

3,364

509

C.Paral-ripple

4

500x450

225,000

943

5,098

127

E

4

345x350

120,750

521

9,394

47

Los resultados obtenidos demostraron que la eficiencia de las herramientas de Alliance CAD System permiten un alto grado de confiabilidad tanto para la etapa de síntesis lógica y física como en la verificación de la síntesis de circuitos integrados digitales VLSI. Se puede confirmar que con Alliance se realiza el 90% de la metodología de diseño dejando un 10% para herramientas externas. Se sintetizaron diferentes multiplicadores con la finalidad de comparar y optimizar el área requerida para su implementación. En general pudimos comprobar que la síntesis del modelo estructural propuesto es

6

CIINDET 2015 XI Congreso Internacional sobre Innovación y Desarrollo Tecnológico, 25 al 27 de marzo, Cuernavaca Morelos, México

considerablemente más óptima en área que los multiplicadores sintetizados de modelos tradicionales. Actualmente el Centro de Ingeniería y Desarrollo Industrial (CIDESI), en su programa de posgrado en Ciencia y Tecnología, se desarrollan proyectos de investigación enfocados al desarrollo de tecnología propia en el diseño de circuitos integrados de aplicación específica con alta complejidad. Los resultados obtenidos como los mostrados en este artículo han sido muy satisfactorios ya que se han validado los chips diseñados y se ha comprobado que la metodología de diseño utilizada cumple con los altos estándares requeridos para el diseño de esta tecnología.

Referencias [1] Weste N-H. E., Harris D-M., CMOS VLSI Design a Circuit and Systems Perspective, 4th ed., U.S.A., Addison Wesley, 2011, pp. 615-657. [2] LIP6, Alliance vlsi cad System, [en línea], Pierre & Marie Curie University, Paris, France, 2014, Disponible en: https://socextras.lip6.fr/en/alliance-abstract-en/ [3] Chaput J-P., Pétrot F. GenLib User’s Manual [en línea], Pierre & Marie Curie University, LIP6 ASIM Department, 2002. Disponible en://ftp.lip6.fr/lip6/softs/alliance/latestcheckout/alliance/src/genlib/doc/genlib.pdf [4] Lam K-S. Ak F. Alliance Tutorial, Part 1 VHDL Modeling and Simulation [en línea], Pierre & Marie Curie University, France, 2004. Disponible en: http://wwwasim.lip6.fr/pub/alliance/distribution/latest/ [5] Lam K-S. Ak F. Alliance Tutorial, Part 2 Logic Synthesis [en línea], Pierre & Marie Curie University, France, 2004. Disponible en : http://www-asim.lip6.fr/pub/alliance/distribution/latest/ [6] Lam K-S. Ak F. Alliance Tutorial, Part 3 Place and Route [en línea], Pierre & Marie Curie University, France, 2004. Disponible en: http://www-asim.lip6.fr/pub/alliance/distribution/latest/ [7] Mealy B., Tappero F., Free Range VHDL [en linea], 2013, Disponible en: http://www.freerangefactory.org [8] Reyes B. J. R., Gurrola N. M. A., Ortega C. S., Raygoza P. J. J., Hierarchical Design Methodologies of VLSI Integrated Circuits using a set of free tools call Alliance, International Congress on Instrumentation and Applied Sciences, Puebla, Mexico, 2011 [9] Magic Development Team, Magic VLSI layout tool, version 7.5, [en línea], 2013, disponible en: http://opencircuitdesign.com/magic/ [10] The MOSIS Service, USC Information Sciences Institute, 2014, disponible en: http://www.mosis.com/pages/products/mep/mep-about.

Currículo de autores Claudia Socorro Rodríguez Romano Nació en Villa de Reyes, San Luis Potosí, el 18 de mayo de 1990. Obtuvo el grado de Ingeniera en Mecatrónica en el Instituto Tecnológico de Apizaco, en Apizaco, Tlaxcala en el año 2013. Actualmente es alumna del programa de maestría en Ciencia y Tecnología en CIDESI (Querétaro, México). Ha obtenido diferentes reconocimientos por la participación en diferentes programas, entre los cuales destacan, el segundo lugar en el concurso de robótica realizado en el ITA en el año del 2012. Ramón Chávez Bracamontes Nació en Ciudad Guzmán, Jal, México, el 22 de abril de 1970. Obtuvo el grado de Ingeniero Electrónico en Instrumentación en el Instituto Tecnológico de Ciudad Guzmán en el año de 1991 y el grado de Maestro en Ingeniería en el 2005. Actualmente es alumno de doctorado en Ciencia y Tecnología en el Programa PICYT, en el CIDESI (Querétaro, México). Ha impartido clases desde 1991 en los programas de Posgrado e Ingeniería Eléctrica y Electrónica, Mecánica y Sistemas en el Instituto Tecnológico de Ciudad Guzmán, en las áreas de Electrónica de Potencia, Instrumentación, Sistemas Digitales, Optoelectrónica, Procesadores Digitales de Señal, Diseño Electrónico, y Mediciones Eléctricas. Manuel Bandala Sánchez Nació en la ciudad de Puebla, el 14 de octubre de 1979. Obtuvo el grado de Ingeniero en Electrónica en el Instituto Tecnológico de Puebla, en Puebla, México en 2001. En el 2009 recibió el grado de MPhil/PhD Microsystems & Sensors Engineering en Lancaster University (Reino Unido). Su experiencia profesional incluye las compañías de Centro de Ingeniería y Desarrollo Industrial (CIDESI,Querétaro), Hybrid Instruments (Lancaster, Reino Unido), Grupo de Soluciones Integrales (GSI, Puebla), Ingeniería y Servicios de Instrumentación y Metrología (ISEYSA, Tlaxcala). Áreas de interés: Microsistemas, Programación de microcontroladores MC51, Motorola, Microchip, Atmel, Texas Instruments y Renesas. Diseño con VHDL, FPGA/GAL/CPLD y MEMS.

7

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.