Desarrollo de diseño nanoelectrónico en celda de 160x100 micrómetros a través del proyecto open-source Tiny TapeOut y elaboración de material académico sobre el diseño de ASIC para el programa de ingeniería electrónica de la Universidad del Valle de Guatemala Gabriela Maria Alfaro Contreras UNIVERSIDAD DEL VALLE DE GUATEMALA Facultad de Ingeniería Desarrollo de diseño nanoelectrónico en celda de 160x100 micrómetros a través del proyecto open-source Tiny TapeOut y elaboración de material académico sobre el diseño de ASIC para el programa de ingeniería electrónica de la Universidad del Valle de Guatemala Trabajo de graduación presentado por Gabriela Maria Alfaro Contreras para optar al grado académico de Licenciada en Ingeniería Electrónica Guatemala, 02 de Diciembre del 2024 Vo.Bo.: (f) M. Sc. Carlos Esquit Tribunal Examinador: (f) M.Sc. Carlos Esquit (f) Dr. Luis Alberto Rivera Estrada (f) Ing. Kurt Emmanuel Kellner Fecha de aprobación: Guatemala, 02 de diciembre de 2024. Pencil Prefacio Quisiera expresar un gran agradecimiento a mi familia por proveer un apoyo incondi- cional, brindarme las oportunidades que me han permitido llegar hasta aquí y nunca dejar de con�ar en mis capacidades. Agradezco especialmente a mi hermana, quien siempre ha estado a mi lado, ofreciendo su apoyo y motivándome en cada paso del proceso de desarrollo de este trabajo. También quiero mencionar a mi gato Teo, quien brindó mucha felicidad en mi vida en los momentos que más lo necesitaba. Finalmente, quiero decir que sin el apoyo de todos, este logro no habría sido posible. iii Índice Prefacio iii Índice iv Lista de �guras vii Lista de cuadros x Resumen xii Abstract xiv 1 Introducción 1 2 Antecedentes 3 2.1 Proyecto Tiny TapeOut y chips desarrollados 3 2.1.1 Chips TT01, TT02, TT03, TT04, TT05, TT06 y TT07 4 3 Justi�cación 10 4 Objetivos 11 4.1 Objetivos generales 11 4.2 Objetivos especí�cos 11 5 Alcance 13 iv 6 Marco teórico 14 6.1 Verilog HDL 14 6.1.1 Principios básicos para programación en Verilog 15 6.2 Transistores MOSFET 16 6.3 Fabricación de Circuitos Integrados 17 6.4 Uso de Wokwi para el desarrollo de proyectos de ASIC 21 6.5 Uso de OpenLane para el desarrollo de proyectos de ASIC 22 6.6 Uso de Capcut para el desarrollo de material académico 23 7 Emisión de diseño electrónico a proyecto Tiny Tapeout 25 7.1 Desarrollo de proyecto ALU de 4 bits en Verilog 25 7.1.1 Acerca del diseño 25 7.1.2 Restricciones del diseño 26 7.2 Proceso de emisión del diseño de una ALU a Tiny Tapeout 26 7.2.1 Creación de repositorio y accesos a Github Actions 27 7.2.1.1 Modi�caciones en los archivos del repositorio 27 7.2.1.2 Ejecución de OpenLane mediante Github Actions 29 7.2.2 Caracterización del diseño electrónico �nal 30 8 Desarrollo de material académico 34 8.1 Guía para emisión de proyectos para Tiny Tapeout 34 8.1.1 Modos de emisión de proyectos: Simulador grá�co Wokwi ó HDL 34 8.1.1.1 Simulador grá�co Wokwi 34 8.1.1.2 HDL 35 8.1.2 Uso de software OpenLane 35 8.2 Material Académico para curso de Nanoelectrónica 36 9 Conclusiones 37 v 10 Recomendaciones 39 11 Referencias 41 12 Anexos 43 12.1 Código de Verilog a emitir para proyecto Tiny Tapeout 44 12.2 Proyecto ALU de 4 bits en datasheet o�cial del chip TT09 46 12.3 Guías académicas 48 12.3.1 Guías académicas para cursos de Electrónica Digital 48 12.3.1.1 Guía 1 - Introducción a simulador Wokwi 48 12.3.1.2 Guía 2 - Envío a Tiny Tapeout de diseño en Wokwi 52 12.3.2 Guías académicas para curso de Arquitectura de Computadoras 58 12.3.2.1 Guía 1 - Adaptación y veri�cación de diseños en HDL 58 12.3.2.2 Guía 2 - Emisión de diseños en HDL a Tiny Tapeout 61 12.3.3 Guías académicas para cursos de Nanoelectrónica 67 12.3.3.1 Guía 1 - Introducción a Siliwiz 67 12.3.3.2 Guía 2 - Transistores en Siliwiz 72 12.3.3.3 Guía 3 - Compuertas Lógicas en Siliwiz 77 12.3.3.4 Guía 4 - Introducción a Stixu 81 12.4 Videos académicos 85 13 Glosario 87 vi Lista de �guras Figura 1. Chip TT01 [3] 4 Figura 2. Chip TT02 [4] 5 Figura 3. Chip TT03 [5] 5 Figura 4. Chip TT04 [6] 6 Figura 5. Chip TT06 [7] 7 Figura 6. Chip TT06 [8] 8 Figura 7. Chip TT07 [9] 9 Figura 8. Ejemplo de código en Verilog de compuertas lógicas 15 Figura 9. Ejemplo de código en Verilog de un �ip �op 16 Figura 10. Composición de un MOSFET tipo N [15] 17 Figura 11. Fabricacion de circuitos integrados [16] 18 Figura 12. Boule [20] 18 Figura 13. Proceso de implantación iónica 19 Figura 14. Proceso de deposición química de vapor[23] 20 Figura 15. Fotolitografía [24] 20 Figura 16. Chip empaquetado [21] 21 Figura 17. Interfaz grá�ca de Wokwi con proyecto ALU de 1 bit [26] 22 Figura 18. Diagrama de �ujo funcionamiento OpenLane [27] 23 Figura 19. Interfaz de aplicación de escritorio Capcut 23 Figura 20. Repositorio ALU 4 bits en Github 26 vii Figura 21. Archivo realizado para ALU 4 bits en TT09 28 Figura 22. Flujo de trabajo seguido por OpenLane 29 Figura 23. Render GDS del diseño obtenido en OpenLane 32 Figura 24. Render GDS del diseño o�cial del chip TT09 32 Figura 25. Visualización 3D del diseño de la ALU de 4 bits 33 Figura 26. Render del chip TT09 y ubicación de ALU diseñada 33 Figura 27. Código de ALU 4 bits a enviar 44 Figura 28. Testbench de ALU 4 bits a enviar a TT09 45 Figura 29. Datasheet TT09 del proyecto ALU 4 bits - Página 1 46 Figura 30. Datasheet TT09 del proyecto ALU 4 bits - Página 2 47 Figura 31. Guía 1- Introducción a Wokwi - Página 1 48 Figura 32. Guía 1- Introducción a Wokwi - Página 2 49 Figura 33. Guía 1- Introducción a Wokwi - Página 3 50 Figura 34. Guía 1- Introducción a Wokwi - Página 4 51 Figura 35. Guía 2 - Emisión desde diseño en Wokwi - Página 1 52 Figura 36. Guía 2 - Emisión desde diseño en Wokwi - Página 2 53 Figura 37. Guía 2 - Emisión desde diseño en Wokwi - Página 3 54 Figura 38. Guía 2 - Emisión desde diseño en Wokwi - Página 4 55 Figura 39. Guía 2 - Emisión desde diseño en Wokwi - Página 5 56 Figura 40. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 1 58 Figura 41. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 2 59 Figura 42. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 3 60 Figura 43. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 1 61 Figura 44. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 2 62 Figura 45. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 3 63 Figura 46. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 4 64 Figura 47. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 5 65 viii Figura 48. Guía 1 - Introducción a Siliwiz - Página 1 67 Figura 49. Guía 1 - Introducción a Siliwiz - Página 2 68 Figura 50. Guía 1 - Introducción a Siliwiz - Página 3 69 Figura 51. Guía 1 - Introducción a Siliwiz - Página 4 70 Figura 52. Guía 1 - Introducción a Siliwiz - Página 5 71 Figura 53. Guía 2 - Transistores en Siliwiz - Página 1 72 Figura 54. Guía 2 - Transistores en Siliwiz - Página 2 73 Figura 55. Guía 2 - Transistores en Siliwiz - Página 3 74 Figura 56. Guía 2 - Transistores en Siliwiz - Página 4 75 Figura 57. Guía 2 - Transistores en Siliwiz - Página 5 76 Figura 58. Guía 3 - Compuertas Lógicas en Siliwiz - Página 1 77 Figura 59. Guía 3 - Compuertas Lógicas en Siliwiz - Página 2 78 Figura 60. Guía 3 - Compuertas Lógicas en Siliwiz - Página 3 79 Figura 61. Guía 3 - Compuertas Lógicas en Siliwiz - Página 4 80 Figura 62. Guía 4 - Introducción a Stixu - Página 1 81 Figura 63. Guía 4 - Introducción a Stixu - Página 2 82 Figura 64. Guía 4 - Introducción a Stixu - Página 3 83 Figura 65. Guía 4 - Introducción a Stixu - Página 4 84 ix Lista de cuadros Cuadro 1. Recursos utilizados en el diseño de la ALU de 4 bits 31 Cuadro 2. Compuertas lógicas utilizadas en el diseño de la ALU de 4 bits 31 x Resumen Este trabajo de graduación se centró en el diseño y la manufactura de un circuito digital, especí�camente, una unidad aritmética y lógica (ALU) de 4 bits, implementada en Verilog y manufacturada en una celda de 160x100 µm mediante la plataforma open-source Tiny Tapeout. El objetivo fue desarrollar un diseño digital funcional y realizar el proceso de manufacturación, con la elaboración de material de aprendizaje sobre las áreas básicas, intermedias y avanzadas de diseño ASIC mediante las herramientas Wokwi y OpenLane. El diseño de la ALU de 4 bits fue sintetizado y optimizado en OpenLane para su ma- nufactura, generando un archivo GDSII que cumplió con los estándares requeridos para su fabricación en Tiny Tapeout. Esta demostró un funcionamiento adecuado en la realización de operaciones aritméticas y lógicas básicas, lo que comprueba la viabilidad del �ujo de trabajo propuesto para el diseño y la manufactura de ASIC en celdas de tamaño reducido. Como parte de este proyecto, se desarrolló material académico incluyendo guías y videos educativos editados en la plataforma Capcut. Estos recursos cubrieron los aspectos bási- cos, intermedios y avanzados del diseño de ASIC, facilitando el aprendizaje autodirigido. Permitieron la comprensión de cada fase del proceso, desde la creación del diseño hasta su manufactura. Además, los videos proporcionaron una comprensión visual de conceptos en electrónica digital, arquitectura de computadoras y nanoelectrónica. En conclusión, se alcanzó el objetivo de diseñar y manufacturar un ASIC funcional en una plataforma accesible de código abierto, además de proporcionar materiales educativos que complementan la formación práctica de los estudiantes de ingeniería electrónica. Este proyecto fue considerado una contribución signi�cativa al programa académico que permite que los estudiantes adquirieran conocimientos aplicables en el diseño y la manufactura de circuitos integrados. Se recomienda el desarrollo de más proyectos con la plataforma de Tiny Tapeout con xi diseños más complejos con el �n de aprovechar al máximo los recursos educativos que ofrecen. Se sugiere evaluar cómo otras plataformas de simulación y síntesis se comparan con las herramientas open-source y si podrían complementarse en futuros proyectos. Palabras clave: ASIC, TinyTapeout, nanoelectrónica, ALU xii Abstract This graduation project focused on the design and manufacturing of a digital circuit, speci�cally, a 4-bit Arithmetic and Logic Unit (ALU), implemented in Verilog and fabricated in a 160x100 µm cell using the open-source Tiny Tapeout platform. The main objective was to develop a functional digital design and carry out the manufacturing process, along with the creation of educational material for learning on basic, intermediate, and advanced ASIC design using the Wokwi and OpenLane tools. The design of the 4-bit ALU was successfully synthesized and optimized in OpenLane for manufacturing, generating a GDSII �le that met the required standards for fabrication on Tiny Tapeout. The designed ALU demonstrated proper functionality in performing ba- sic arithmetic and logical operations, verifying the feasibility of the proposed work�ow for designing and manufacturing ASICs in reduced-size cells. Furthermore, as part of this project, academic material was developed, including detailed guides and educational videos edited on the Capcut platform. These resources covered the basic, intermediate, and advanced aspects of ASIC design, facilitating self-directed learning. The guides enabled the understanding of each phase of the process, from the creation of the digital design to its �nal manufacturing. Additionally, the videos provided a visual unders- tanding of key concepts in digital electronics, computer architecture, and nanoelectronics, enhancing the learning experience and accessibility to integrated circuit design. In conclusion, the objective of designing and manufacturing a functional ASIC on an accessible, open-source platform was achieved, as well as providing educational materials that complemented students' practical training in electronic engineering. This project was considered a signi�cant contribution to the academic program, allowing students to acquire applicable knowledge in integrated circuit design and manufacturing. It is recommended to develop more projects using the Tiny Tapeout platform, but with xiii more complex designs in order to fully take advantage of the educational resources it o�ers. It is suggested to evaluate how other simulation and synthesis platforms compare to the open-source tools and whether they could be integrated into future projects. Keywords: ASIC, TinyTapeout, nanoelectronics, ALU xiv CAPÍTULO 1 Introducción Este trabajo de graduación se centra en el desarrollo y manufactura de un diseño digital especí�co: una unidad aritmética y lógica (ALU) de 4 bits, implementada en Verilog y di- señada para una celda de 160x100 µm. Utilizando la plataforma open-source Tiny Tapeout (TT09), este proyecto se propone no solo para demostrar la viabilidad de crear un circuito digital funcional con herramientas accesibles, sino también explorar el proceso de manufac- tura de un ASIC (application-speci�c integrated circuit) desde el diseño hasta la fabricación y entrega del chip físico. El diseño de la ALU de 4 bits permite ejecutar operaciones aritméticas y lógicas básicas a través del lenguaje descriptivo de hardware (HDL) denominado Verilog. Por medio del uso de la herramienta OpenLane, se logra realizar el proceso de síntesis del diseño y la generación del archivo GDSII, indispensable en el �ujo de manufactura. Este trabajo aborda la problemática educativa en torno al acceso limitado a la manufac- tura de ASIC para estudiantes y profesionales interesados en la industria de semiconductores. Los altos costos y la complejidad de los procesos tradicionales di�cultan el acceso para dise- ñar y fabricar circuitos integrados. Por ello este trabajo busca aprovechar el proyecto Tiny Tapeout para superar estas limitaciones mediante el uso de herramientas accesibles como Wokwi y OpenLane, que permiten una aproximación práctica y asequible al diseño digital. El trabajo incluye la creación de material académico para el programa de ingeniería electrónica con el �n de cubrir los aspectos básicos, intermedios y avanzados del diseño de ASIC. Este material, permite aprender, de manera progresiva, el �ujo de diseño, conceptos de electrónica digital, arquitectura de computadoras y nanoelectrónica. Los primeros capítulos introducen el diseño de la ALU de 4 bits en Verilog, las he- 1 rramientas de simulación y síntesis utilizadas, así como el �ujo de trabajo en TT09. Los capítulos intermedios se enfocan en el desarrollo de material académico que complementa el aprendizaje práctico, creados para reforzar el conocimiento de ASIC. El último capítulo presenta las conclusiones y recomendaciones para expandir el acceso al diseño y manufactura de circuitos integrados en el entorno académico. 2 CAPÍTULO 2 Antecedentes 2.1. Proyecto Tiny TapeOut y chips desarrollados La industria de manufactura de chips desde sus principios ha sido inalcanzable para usuarios independientes debido a los altos costos que estos implican. Por ello, Tiny TapeOut es un proyecto educacional que ha permitido, de forma accesible y sencilla, convertir diseños digitales a circuitos integrados de aplicación especí�ca (ASIC (Application-speci�c integra- ted circuit):). Este proyecto esta diseñado para personas con conocimientos básicos de diseño de electrónica digital hasta aquellas con dominio de lenguaje de descripción de hardware. Tiny TapeOut ha otorgado mayor accesibilidad a usuarios fuera de grandes empresas de chips, a manufacturar sus propios diseños dentro de una celda de área de 150 x 170 µm en el caso del chip más próximo a lanzar TT06 [1]. El proyecto logra alcanzar el desarrollo de los chips, se inicia a partir de emisiones de distintos diseños realizados por estudiantes o entusiastas del diseño electrónico. Posterior- mente, administradoes de Tiny TapeOut, elaboran un microcontrolador que contiene el chip embebido al mismo y permite el acceso a los múltiples proyectos emitidos que se encuentran dentro del chip. Para poder participar en Tiny TapeOut, se debe de pagar $ 150.00 por emisión de diseño y para recibir un chip en un PCB, si se desean agregar pines analógicos o celdas extra se pagan $ 40.00 ó $ 50.00 respectivamente [1]. 3 2.1.1. Chips TT01, TT02, TT03, TT04, TT05, TT06 y TT07 Desde del año 2022, se han diseñado 7 distintos chips (TT01-TT07),de los cuales se esperan recibir en sus correspondientes PCBs, a lo largo del año 2024. Cada uno de ellos fueron realizados con la herramienta de Skywater open source PDK, la cual es una colabo- ración entre Google y SkyWater Technology Foundry para proporcionar un kit de diseño de procesos de código abierto y recursos relacionados, que se pueden utilizar para crear diseños fabricables con tecnología de 130nm. Sin embargo, cada uno de los proyectos emitidos para estos chips fueron diseñados desde el simulador Wokwi, a través de lenguajes de descripción de hardware (Verilog, Chisel, myhdl) ó a partir de lenguaje de lógica de circuitos desde python como lo es Amaranth [2]. A continuación se encuentra un poco acerca de cada uno de ellos: TT01: emitido a Efabless en septiembre del 2022, contiene 152 proyectos (cada uno de 100x100 µm), donde 115 personas realizaron sus diseños en el editor grá�co Wokwi, 31 en Verilog, 3 XLS, 2 Chisel y 1 Amaranth. Contiene una longitud de cableado de 772mm y utilizó 15 mil celdas estándar en total utilizadas en todos los proyectos. Es el único proyecto que no fue entregado a todo público [3]. Figura 1. Chip TT01 [3] TT02: emitido a Efabless en diciembre del 2022, contiene 165 proyectos (cada uno de 150x170 µm), donde 64 personas realizaron sus diseños en el editor grá�co Wokwi, 82 en Verilog, 5 Amaranth y 1 Chisel. Contiene una longitud de cableado de 2024mm y utilizó 39,935 celdas estándar entre todos los proyectos [4]. 4 Figura 2. Chip TT02 [4] TT03: emitido a Efabless en mayo del 2023, contiene 100 proyectos nuevos y 149 de TT02, donde 94 personas realizaron sus diseños en el editor grá�co Wokwi, 135 en Verilog, 7 Amaranth, 1 myhdl, 1 spade, 2 xls, 1 migen, 3 systemverilog, 1 mrcs y 1 Chisel. Contiene una longitud de cableado de 4079mm y utilizó 79,674 celdas estándar entre todos los proyectos [5]. Figura 3. Chip TT03 [5] TT04: emitido a Efabless en septiembre del 2023, contiene 143 proyectos nuevos y 149 de TT02, donde 46 personas realizaron sus diseños en el editor grá�co Wokwi, 92 en Verilog, 1 spade, 1 systemverilog, 1 mrcs, 1 SpinalHDL y 1 RustHDL. Contiene 5 una longitud de cableado de 2607mm y utilizó 82,126 celdas estándar entre todos los proyectos [6]. Figura 4. Chip TT04 [6] TT05: emitido Efabless en noviembre del 2023, los chips se esperan en abril de 2024 y los PCBs en junio de 2024 [7]. 6 Figura 5. Chip TT06 [7] TT06: emitido Efabless en abril del 2024, los chips se esperan en octubre de 2024 y los PCBs en diciembre de 2024 [8]. 7 Figura 6. Chip TT06 [8] TT07: emitido Efabless en junio del 2024, los chips se esperan en noviembre de 2024 y los PCBs en diciembre de 2024 [9]. 8 Figura 7. Chip TT07 [9] 9 CAPÍTULO 3 Justi�cación El desarrollo de esta investigación busca realizar una contribución al avance del cono- cimiento en el diseño de circuitos integrados a nivel de sistema (ASIC). Mediante el uso de la plataforma de código abierto Wokwi y OpenLane que proporciona el proyecto Tiny TapeOut, se desarrollará un diseño digital especí�co en una celda de tamaño reducido, lo que no solo fomentará la transparencia y la colaboración en el proceso de diseño de un chip, sino que también proporcionará recursos educativos para estudiantes y profesionales intere- sados en este campo dentro de la Universidad del Valle de Guatemala. Además, se espera que el diseño e�ciente propuesto tenga un impacto signi�cativo que motive a continuar el desarrollo de diseños digitales. Es importante recalcar que esta investigación busca fomentar la innovación y brindar oportunidades para que los estudiantes de ingeniería y cientí�cos, que no cuentan con ac- ceso a tecnologías de fabricación de circuitos integrados, exploren el potencial del silicio personalizado en aplicaciones de aprendizaje. Pues se busca aprovechar el proyecto de Tiny TapeOut como una plataforma de lanzamiento que permitirá a los futuros líderes tecnológi- cos lograr un impacto signi�cativo en el campo de desarrollo de ASIC y semiconductores. 10 CAPÍTULO 4 Objetivos 4.1. Objetivos generales Desarrollar un diseño digital funcional y realizar el proceso de manufacturación en una celda de 160x100 µm en el proyecto open-source Tiny TapeOut. Elaborar material de aprendizaje universitario de las áreas básicas, intermedias y avan- zadas de diseño ASIC mediante herramientas open-source Wokwi y OpenLane. 4.2. Objetivos especí�cos Investigar y comprender el uso de las herramientas open-source Wokwi y OpenLane. Investigar y comprender el proceso de emisión de diseño, manufactura, pago y entrega del proyecto a realizar en el proyecto open-source Tiny TapeOut. Elaborar un diseño digital en una celda de 160x100 µm para su manufactura en el proyecto open-source Tiny TapeOut. Desarrollar documentación académica para cursos universitarios básicos sobre diseño de circuitos integrados para aplicaciones especí�cas mediante la herramienta open- source Wokwi. Desarrollar documentación académica para cursos universitarios avanzados sobre dise- ño de circuitos integrados para aplicaciones especí�cas (ASIC) mediante la herramienta open-source OpenLane. 11 Editar y desarrollar videos intuitivos sobre electrónica digital y arquitectura de compu- tadoras, en la plataforma CapCut. 12 CAPÍTULO 5 Alcance Este trabajo de graduación tiene como alcance realizar un diseño nanoelectrónico, dentro el proyecto open-source Tiny Tapeout, que cumpla con los requisitos para emisión estable- cidos para su manufactura. Entre ellos, se encuentran las restricciones de tamaño, donde el diseño se encuentra dentro de una celda de 160x100 micrómetros. Además, los proyectos se realizan mediante un HDL(Hardware descriptive language) ó la herramienta de simulación visual Wokwi. Independientemente del método de emisión, el uso de la herramienta OpenLa- ne es clave para la generación de los archivos GDS, los cuales son necesarios para el proceso de fabricación. Este proyecto busca que el diseño sea manufacturado, por lo que �nalizar al momento de ser recibido y aprobado por Tiny Tapeout. Además será auto�nanciado por su desarrolladora. Debido a que Tiny Tapeout es un proyecto que se encuentra ligado con la enseñanza, aprendizaje y comprensión del desarrollo de ASIC, se busca la elaboración de material académico para 3 cursos de la carrera de Ingeniería Electrónica dentro de la Universidad del Valle de Guatemala. Es importante recalcar que este material etsá orientado al desarrollo, emisión y manufacturación de diseños dentro el proyecto Tiny Tapeout para los cursos de Electrónica Digital 1 y Arquitectura de Computadoras. Para el curso de Nanoelectrónica 1, se enfoca a que el estudiante tenga comprensión de los conceptos fundamentales del diseño de sistemas electrónicos a nanoescala. Cabe mencionar que el material académico consiste en elaboración de guías y videos breves de un máximo de 10 minutos para asegurar la retención y la atención del estudiante que lo utilice. Finalmente, es importante recalcar que el proyecto se realizó desde enero hasta noviembre de 2024. 13 CAPÍTULO 6 Marco teórico 6.1. Verilog HDL Verilog: es un lenguaje de descripción de hardware (HDL (Hardware description langua- ge):) que se utiliza para modelar sistemas electrónicos. Es un lenguaje poderoso y �exible que se puede utilizar para describir una amplia gama de sistemas, desde simples circuitos digitales hasta complejos procesadores de computadora [10]. Se utiliza principalmente para: Diseñar sistemas electrónicos: verilog se puede utilizar para describir la arquitec- tura y el comportamiento de un sistema electrónico. Esta descripción se puede utilizar para simular el sistema, veri�car su funcionamiento y generar el código necesario para fabricarlo [11]. Sintetizar circuitos: verilog se puede utilizar para sintetizar circuitos digitales a partir de una descripción de alto nivel. Esto signi�ca que puedes describir el compor- tamiento deseado del circuito en Verilog y luego usar una herramienta de síntesis para generar automáticamente el circuito digital correspondiente. Este proceso es indispen- sable para la optimización del diseño ya que permite reducir la cantidad de hardware utilizado [11]. Simulación y veri�cación de diseños: verilog se puede utilizar para veri�car el di- seño de un sistema electrónico. Esto se puede hacer mediante la simulación del sistema y la comprobación de que su comportamiento cumple con los requisitos especi�cados en el diseño [11]. 14 6.1.1. Principios básicos para programación en Verilog Módulos: debido a que el lenguaje de Verilog es de descripción de hardware, existen bloques de hardware con entradas y salidas llamados módulos. Una compuerta lógica AND ó un multiplexor, son ejemplos de módulos de hardware, pues estos siempre tendrán una función especí�ca que buscan realizar[12]. Existen dos formas generales para describir la funcionalidad de un módulo: estructural y procedimental. Mientras el primero busca describir cómo un módulo está construido de piezas más sencillas, el segundo describe únicamente lo que el módulo realiza. Lógica Combinacional: las salidas de la lógica combinacional dependen únicamente en las entradas actuales del módulo. Si se observa el Cuadro 1, se pueden identi�car los símbolos como & y |, estos son ejemplos de operadores. Mientras que a, b y y1, son ejemplo de operandos. La combinación de operadores y operandos, son llamados expresiones. Las asignaciones continuas terminan con un ; y cualquier momento en que la entrada que se encuentre a la derecha del = cambie, la salida será recalculada. Es por ello que las asignaciones continuas, describen la lógica combinacional a la perfección [12]. Figura 8. Ejemplo de código en Verilog de compuertas lógicas 1 module gates ( 2 input logic [3:0] a, b 3 output logic [3:0] y1, y2, y3, y4, y5); 4 5 assign y1 = a & b; // AND 6 assign y2 = a | b; // OR 7 assign y3 = a ^ b; // XOR 8 assign y4 = ~ (a & b); // NAND 9 assign y5 = ~ (a | b); // NOR 10 11 endmodule Nota. Adaptado de [12] Lógica Secuencial: un sistema secuencial dispone de elementos de memoria cuyo con- tenido puede cambiar a lo largo del tiempo.El estado de un sistema secuencial viene dado por el contenido de sus elementos de memoria. La salida en un instante concreto viene dada por la entrada y por el estado anterior del sistema. El estado actual del sistema, junto con la entrada, determinará el estado en el instante siguiente (retroali- mentación). Un ejemplo de lógica secuencial son los �ip �ops, como el observado en el Cuadro 2. También se puede evidenciar enunciados como always, los cuales ejecu- 15 tan instrucciones siempre que se cumpla alguna condición especi�cada, en el ejemplo inferior sería el cambio positivo de la señal de reloj [12]. Figura 9. Ejemplo de código en Verilog de un �ip �op 1 2 module flipflop ( 3 input logic clk 4 input logic [3:0] d 5 output logic[3:0] q ); 6 7 always_ff @ (posedge clk) 8 q <= d; 9 endmodule 10 Nota. Adaptado de [12] 6.2. Transistores MOSFET Un transistor MOSFET (Metal-oxide-semiconductor �eld-e�ect transistor): (Metal-oxide- semiconductor �eld-e�ect transistor) es un tipo de transistor utilizado en circuitos electró- nicos para ampli�cación o conmutación de señales. Su estructura básica consiste en tres regiones: la fuente (source), el drenaje (drain) y la compuerta (gate). Estas regiones están conectadas por un sustrato semiconductor [13]. La estructura interna de un MOSFET típico consiste en una capa de óxido de silicio (SiO2) entre la compuerta y el canal de conducción, que está formado en el sustrato semi- conductor. La compuerta está aislada eléctricamente del canal por este óxido. Hay dos tipos principales de MOSFETs: los de canal N y los de canal P, que se diferencian en el tipo de dopaje del sustrato semiconductor, en la Figura 5 se muestra un MOSFET tipo N [14]. 16 Figura 10. Composición de un MOSFET tipo N [15] El funcionamiento de un MOSFET se basa en la modulación del campo eléctrico a través del canal semiconductor inducido por la tensión aplicada a la compuerta. Por ello, existen tres posibles modos de operación dentro de un MOSFET: Lineal: en este modo, el MOSFET está parcialmente activado y actúa como un resistor variable. Se produce cuando se aplica una tensión intermedia a la compuerta, lo que resulta en un canal conductor parcial entre el drenaje y la fuente. En este estado, la corriente entre el drenaje y la fuente está controlada por el voltaje aplicado a la compuerta y la resistencia del dispositivo es variable. Este modo se utiliza típicamente en aplicaciones de ampli�cación de señales, donde se requiere una respuesta lineal a la entrada de señales analógicas [13]. Saturación: en este modo, el MOSFET está completamente activado y actúa como un interruptor cerrado. Se produce cuando se aplica un voltaje adecuado a la compuerta, lo que crea un canal conductor entre el drenaje y la fuente. En este estado, hay un �ujo máximo de corriente entre el drenaje y la fuente, y la resistencia entre estos dos terminales es mínima [13]. Corte: en este modo, el MOSFET está apagado y no hay �ujo de corriente entre el drenaje y la fuente. Se produce cuando la tensión aplicada a la compuerta no es su�ciente para crear un canal conductor entre el drenaje y la fuente. En este estado, el MOSFET actúa como un interruptor abierto y tiene una alta impedancia entre el drenaje y la fuente [13]. 6.3. Fabricación de Circuitos Integrados La litografía es una técnica utilizada para crear circuitos integrados depositando �nas capas de distintos materiales sobre una oblea de silicio. Estos materiales se eligen cuida- 17 dosamente en función de sus cualidades eléctricas e incluyen semiconductores como silicio, germanio y arseniuro de galio [16]. La preparación de las obleas, la deposición de las capas, el diseño de los circuitos y las pruebas son sólo algunas de las fases del proceso de fabrica- ción. Los circuitos integrados son los componentes básicos de la electrónica moderna y hacen funcionar desde teléfonos móviles hasta ordenadores y satélites [17]. Figura 11. Fabricacion de circuitos integrados [16] Los circuitos integrados se fabrican mediante un proceso complejo y preciso de creación de componentes electrónicos y sus interconexiones sobre un �no sustrato de silicio. Estos son algunos de los pasos necesarios para desarrollar un circuito integrado [18]: Preparación de Obleas: consiste en cortar, dar forma y pulir una �na lámina de silicio monocristalino denominada oblea. Los cristales de silicio utilizados en la fabri- cación de obleas son muy puros y se obtienen a partir de una masa fundida de silicio en forma cilíndrica denominada boule [19]. Figura 12. Boule [20] Oxidación: el proceso de oxidación puede describirse como un proceso destinado a aportar oxígeno a la oblea de silicio para generar una capa de óxido de silicio en la super�cie de los circuitos integrados. El proceso puede tener lugar en hornos a temperaturas muy elevadas. La oxidación puede ser húmeda o seca, dependiendo de si 18 se utiliza vapor de agua u oxígeno gaseoso como agente oxidante. La oxidación húmeda es más rápida, mientras que la seca tiene mejores propiedades eléctricas. La capa de SiO2 actúa como aislante y como máscara para las fases posteriores de procesamiento [21]. Difusión: la difusión es el proceso de introducir impurezas en zonas seleccionadas de la oblea de silicio para modi�car sus características eléctricas. Las impurezas se deno- minan dopantes y pueden ser de tipo n o de tipo p, según donen o acepten electrones en la red de silicio. La difusión se realiza calentando la oblea en un horno con una fuente de gas dopante, como la fos�na (PH3) para el tipo n o el tri�uoruro de boro (BF3) para el tipo p. Los átomos dopantes se difunden en el interior de la oblea. Los átomos dopantes se difunden en el silicio a través de aberturas en la capa de SiO2 creadas por fotolitografía [22]. Implantación Iónica: la implantación iónica es un método alternativo para dopar la oblea de silicio bombardeándola con un haz de iones de alta energía del elemento dopante deseado. Los iones penetran en el silicio y crean regiones de material tipo n o tipo p. La implantación de iones controla la concentración y distribución de dopantes con más precisión que la difusión. Sin embargo, también provoca más daños en la estructura cristalina del silicio que deben repararse mediante recocido [21]. Figura 13. Proceso de implantación iónica Deposición Química de Vapor (CVD): el método de formación de películas �nas de diversos materiales sobre una oblea de silicio exponiéndola a un gas que contiene el elemento o compuesto deseado se conoce como deposición química en fase vapor (CVD). El gas reacciona o se descompone en la super�cie de la oblea, generando una capa sólida. La CVD puede depositar materiales como polisilicio, nitruro de silicio (Si3N4), siliciuros metálicos (como el siliciuro de wolframio, WSi2) y metales (como el aluminio, Al). 19 Figura 14. Proceso de deposición química de vapor[23] Fotolitografía: la fotolitografía es el proceso de transferir un patrón de una máscara a la super�cie de una oblea utilizando materiales sensibles a la luz llamados fotorresis- tentes. El material fotorresistente se recubre sobre la oblea y luego se expone a la luz ultravioleta a través de una máscara que contiene el patrón deseado.La máscara puede ser positiva o negativa, dependiendo de si bloquea o deja pasar la luz a través de sus aberturas. Las zonas expuestas de la fotorresistencia se vuelven solubles o insolubles en una solución reveladora, dependiendo de si se trata de una fotorresistente positivo o negativo. El fotorresistente desarrollado forma una capa estampada que puede utili- zarse para otros pasos de procesamiento, como el grabado, el dopaje o la metalización [24]. Figura 15. Fotolitografía [24] Metalización: la metalización es el proceso de formación de interconexiones metálicas entre diferentes regiones o capas de un circuito integrado. El metal suele ser aluminio o cobre y se deposita en la super�cie mediante técnicas de CVD o evaporación. A continuación, la capa metálica se modela mediante fotolitografía y grabado para crear 20 cables y contactos que conecten los distintos componentes y terminales del circuito integrado. Embalaje: consiste en encerrar el chip de CI acabado en una carcasa protectora que proporciona soporte mecánico, conexiones eléctricas y protección medioambiental. El embalaje puede ser de plástico o de cerámica y tener diferentes formas y tamaños en función de la aplicación y los requisitos de rendimiento del CI. El embalaje también contiene pines o pistas (leads) que conectan el chip de CI a circuitos o dispositivos externos [21]. Figura 16. Chip empaquetado [21] 6.4. Uso de Wokwi para el desarrollo de proyectos de ASIC Wokwi es un simulador de electrónica en línea. Wokwi compila el código en un �rmware binario y luego este se ejecuta una instrucción a la vez, como lo haría un microcontrolador real. Contiene un editor de circuitos interactivo que proporciona una alternativa conveniente para editar el archivo diagrama .json directamente. Esta herramienta permite desarrollar proyectos también con lenguaje de programación C/C++ y cualquier lenguaje que compile a WebAssembly (Rust, AssemblyScript, etc.) [25]. 21 Figura 17. Interfaz grá�ca de Wokwi con proyecto ALU de 1 bit [26] Para el caso de desarrollo de ASICs en el proyecto de Tiny TapeOut se ha aprovechado de las utilidades del software posteriormente discutido OpenLane, el cual permite obtener los documentos GDS2 necesarios para la manufactura de los chips. Un ejemplo claro de su uso se observa en la Figura 6, donde se muestra el diseño de una ALU (Unidad Aritmetica Lógica) de 1 bit, encontrado en el primer chip TT01. Es importante recalcar que a partir de simulaciones interactivas es posible emitir diseños al proyecto Tiny TapeOut [25]. 6.5. Uso de OpenLane para el desarrollo de proyectos de ASIC OpenLane: es una herramienta open-source para el desarrollo de ASICs que permite convertir un archivo en lenguaje de descripción de hardware (HDL por sus siglas en inglés) a los archivos GDS2: necesarios para la manufactura de un ASIC. La Figura 13, muestra el �ujo de funcionamiento de esta herramienta al recibir los documentos en HDL hasta el resultado �nal de recibir los archivos GDS2. Los pasos fundamentales que ejecuta OpenLane es el proceso de síntesis, �oorplanning (área a utilizar para para poder distribuir el diseño en las celdas), colocación y ruteo (proceso automatizado para la conversión de los archivos a GDS2). Además, es importante mencionar que realiza un Static Timing Analysis (STA) y el chequeo de reglas en el diseño (DRC) [27]. 22 Figura 18. Diagrama de �ujo funcionamiento OpenLane [27] 6.6. Uso de Capcut para el desarrollo de material académico CapCut es una aplicación de edición de video desarrollada por ByteDance. Es conocida por su interfaz intuitiva y sus numerosas funciones, lo que la convierte en unaherramienta popular tanto para principiantes como para editores de video más avanzados. Capcut es una herramienta versátil que puede ser muy útil en el contexto educativo, permitiendo a los educadores crear contenido atractivo y efectivo para sus estudiantes. Su facilidad de uso y amplias funciones hacen que sea una opción excelente para mejorar el aprendizaje mediante el uso de recursos multimedia. Figura 19. Interfaz de aplicación de escritorio Capcut Permite realizar ediciones básicas como cortar, dividir y ajustar la velocidad del video, además de incluir �ltros, transiciones y efectos especiales. Ofrece herramientas para agregar texto y subtítulos con diversos estilos y animaciones, y facilita la incorporación de música, 23 efectos de sonido y narraciones de voz. También cuenta con herramientas de corrección de color y autocolores, así como plantillas prede�nidas y una biblioteca de recursos como stickers y clips de video. Estas características la convierten en una herramienta versátil para aplicar en los tutoriales a elaborar dentro del proyecto. 24 CAPÍTULO 7 Emisión de diseño electrónico a proyecto Tiny Tapeout En este proyecto, inicialmente se buscó el desarrollo de un diseño electrónico para ser emitido al proyecto de open-source Tiny Tapeout. Para ello, se optó por desarrollar un proyecto en el lenguaje de descripción de hardware Verilog, especi�camente, una Arithmetic logic unit (ALU) de 4 bits. 7.1. Desarrollo de proyecto ALU de 4 bits en Verilog 7.1.1. Acerca del diseño El diseño de la ALU que se decidió realizar es de 4 bits con las operaciones de suma, resta, multiplicación, división y 4 operaciones lógicas: AND, OR, NOT y XOR. El diseño cuenta con prevención de divisones por cero para evitar errores no deseados. El proyecto cuenta con 2 entradas de 4 bits para los operandos, 1 entrada de 3 bits para indicar la operación deseada a realizar, 1 salida de 8 bits para el resultado de las operaciones y 2 salidas de un bit que funcionan como indicadores de cero y carry out en caso sucedan. El código en Verilog del diseño y su respectivo testbench realizado se puede observar en los Anexos, donde se encuentra comentado el funcionamiento para mejor comprensión. 25 7.1.2. Restricciones del diseño Como diseño a emitir dentro del proyecto de Tiny Tapeout se decidió realizar una ALU de 4 bits. Detrás de la elección de este diseño, se encuentran ciertas restricciones presentadas por Tiny Tapeout que todo diseño debe cumplir. Entre ellas están los límites en las entradas y salidas a utilizar, las cuales se limitan a 8 pines de entradas, 8 pines de salidas y 8 pines bidireccionales I/O. Además, se encuentra la restricción de la frecuencia de reloj, con un valor mínimo de 50MHz. Finalmente, se cuenta con una restricción de una celda de 160x100 micrómetros, la cual es su�ciente para aproximadamente unas 1000 compuertas lógicas digitales dependiendo del tamaño. Es importante recalcar que se puede pagar un monto extra para añadir más celdas, sin embargo, se busca aprovechar y optimizar el diseño para evitar más gastos al momento de realizar el proyecto. 7.2. Proceso de emisión del diseño de una ALU a Tiny Tapeout Para poder enviar el diseño electrónico de una ALU sencilla en Verilog, se siguieron una serie de pasos para realizar los procesos síntesis, veri�cación de reglas de diseño (DRC), ruteo, colocación de cada elementos, hasta obtener los archivos GDSII necesarios para manufactura. Estos pasos se encuentran integrados en OpenLane el cual se ejecuta dentro de Github Actions, al crear un repositorio en el sitio web de Github a partir de una plantilla que provee Tiny Tapeout. A continuación se muestran los pasos que se siguieron para poder enviar el diseño electrónico. Figura 20. Repositorio ALU 4 bits en Github 26 7.2.1. Creación de repositorio y accesos a Github Actions Para poder utilizar la herramienta de OpenLane es necesario realizar un repositorio en Github por proyecto, derivado de una plantilla que se encuentra dada por Tiny Tapeout. Esta plantilla cuenta con una serie de archivos especí�cos y necesarios para diseños que se realizan a partir de cualquier variedad de HDL, en este caso Verilog. Para permitir que OpenLane logre acceder a los documentos y realice los pasos de síntesis, veri�cación de reglas de diseño (DRC), ruteo y colocación de elementos, es necesario habilitar Github Actions en el repositorio del proyecto. Para ello se debe acceder a los ajustes y dirigirse a la sección de páginas, donde se habilita que la fuente de ejecución de �ujos sea realizado por medio Github Actions en vez del uso de ramas con el que son creados por defecto los repositorios. 7.2.1.1. Modi�caciones en los archivos del repositorio Cuando se cuenta con el diseño en Verilog, es necesario adaptarlo a la plantilla que provee el sitio de Tiny Tapeout en su sitio web. Primero se debe editar el archivo info.yaml y actualizar la información sobre el proyecto, prestando atención a las propiedades source_- files y top_module. 27 Figura 21. Archivo realizado para ALU 4 bits en TT09 1 # Tiny Tapeout project information 2 project: 3 title: "4 bit ALU " 4 author: "Gabriela Alfaro" 5 discord: "N/A" 6 description: "A simple design of an Arithmetic Logic Unit 7 capable of basic operations: addition, substraction, multiplication, 8 division and some logic operations." 9 language: "Verilog" 10 11 tiles: "1x1" 12 top_module: "tt_um_alf19185_ALU" 13 14 source_files: 15 - "project_ALU.v" 16 17 # Inputs 18 ui[0]: "A[0]" 19 ui[1]: "A[1]" 20 ui[2]: "A[2]" 21 ui[3]: "A[3]" 22 ui[4]: "B[0]" 23 ui[5]: "B[1]" 24 ui[6]: "B[2]" 25 ui[7]: "B[3]" 26 27 # Outputs 28 uo[0]: "ALU_Out[0]" 29 uo[1]: "ALU_Out[1]" 30 uo[2]: "ALU_Out[2]" 31 uo[3]: "ALU_Out[3]" 32 uo[4]: "ALU_Out[4]" 33 uo[5]: "ALU_Out[5]" 34 uo[6]: "ALU_Out[6]" 35 uo[7]: "ALU_Out[7]" 36 37 # Bidirectional pins 38 uio[0]: "ZeroFlag" 39 uio[1]: "CarryOut" 40 uio[2]: "" 41 uio[3]: "" 42 uio[4]: "" 43 uio[5]: "" 44 uio[6]: "" 45 uio[7]: "" 46 47 yaml_version: 6 48 49 50 Nota. Adaptación propia 28 7.2.1.2. Ejecución de OpenLane mediante Github Actions Al adaptarse el programa de la ALU de forma adecuada al formato, se ejecutan las Github Actions permitiendo que OpenLane realice los procesos de síntesis, �oorplanning, colocación de elementos, ruteo, DRC, entre otros. Al �nalizar este proceso de forma correcta, se logra obtener una veri�cación simulada del funcionamiento del diseño elaborado, los archivos de manufactura GDSII y LEF, junto a imágenes visuales del render �nal, la hoja de datos del proyecto y estadísticas del diseño. A continuación en la Figura 16 se muestran con detalle los procesos que ejecuta OpenLane y las herramientas que utiliza para realizar cada uno de los pasos mencionados anteriormente. Figura 22. Flujo de trabajo seguido por OpenLane OpenLane es un �ujo automatizado de diseño de circuitos integrados que convierte una descripción de hardware en RTL (Register Transfer Level) en un archivo GDSII listo para fabricación. Este proceso se divide en varias etapas clave, cada una utilizando herramientas especí�cas para garantizar un diseño óptimo y funcional. A continuación, se presenta un resumen de cada etapa: Síntesis: Se transforma el código RTL en una netlist de puertas lógicas. Herramientas como Yosys y ABC realizan la síntesis y mapeo tecnológico, mientras que OpenSTA lleva a cabo análisis de temporización estática para generar informes de temporización. Floorplanning : Se de�ne el área del núcleo del chip, las �las para la colocación de celdas y las pistas para el ruteo. Las herramientas Init_fp, ioplacer, pdngen y tapcell se encargan de estas tareas, incluyendo la colocación de puertos de entrada y salida, 29 la generación de la red de distribución de energía y la inserción de celdas de tap y decoupling. Colocación: � Colocación Global : RePLace realiza la colocación inicial de las celdas en el diseño. � Optimización: Resizer lleva a cabo optimizaciones opcionales en el diseño. � Colocación Detallada: OpenDP legaliza la colocación global, asegurando que las celdas estén correctamente posicionadas. Clock Tree Synthesis - CTS: TritonCTS sintetiza la red de distribución del reloj, garantizando una distribución equilibrada y e�ciente del mismo. Ruteo: � Ruteo Global : FastRoute genera una guía para el ruteo detallado. � Ruteo Detallado: TritonRoute realiza el ruteo preciso de las conexiones. � Extracción de Parámetros Eléctricos: OpenRCX extrae los parámetros eléctricos del diseño para análisis posteriores. Generación de GDSII (Tapeout): Magic y KLayout generan el archivo GDSII �nal, que es el formato estándar para la fabricación de circuitos integrados. Veri�cación Final: � Veri�cación de Reglas de Diseño (DRC):Magic y KLayout veri�can que el diseño cumpla con las reglas de fabricación. � Veri�cación de Conectividad (LVS): Netgen asegura que la netlist coincide con el diseño físico. � Veri�cación de Antena: Magic veri�ca posibles problemas de antena en el diseño. � Veri�cación de Validez de Circuito: CVC realiza comprobaciones adicionales para garantizar la funcionalidad del circuito. 7.2.2. Caracterización del diseño electrónico �nal El diseño descrito en las secciones anteriores, se envía a fabricar a Efabless utilizando una tecnología de 130nm en el chip TT09 de Tiny Tapeout el día 11 de noviembre del 2024. A continuación, se detallan las estadísticas clave y las características del diseño obtenido tras el proceso que sigue OpenLane. Para más información del diseño en el chip, también se puede acceder al envío o�cial en Tiny Tapeout aquí. 30 https://tinytapeout.com/runs/tt09/tt_um_alf19185_ALU Recursos Utilizados A continuación se muestra en el Cuadro 3, el porcentaje de utilizadación de la celda y el largo de cable necesario para el diseño de la ALU de 4 bits. Es importante mencionar que estas estadísticas se obtienen sin considerar las celdas necesarias para alimentación tipo Tap ni aquellas tipo Fill. Estas últimas son celdas de capacitancia de desacople que se colocan como relleno luego del proceso de colocación y ruteo, por lo que no son consideradas dentro de las estadísticas. Cuadro 1. Recursos utilizados en el diseño de la ALU de 4 bits Porcentaje de utilización Largo del cable utilizado 9.715% 4199 µm Cuadro 2. Compuertas lógicas utilizadas en el diseño de la ALU de 4 bits Categoría de Celda Cantidad AND 13 NOT 8 MISC 18 BUFFER 21 OR 25 NAND 27 NOR 27 Tap (Alimentación) 225 Combo Logic 68 Fill 1444 Total (Excluyendo Fill y Tap) 207 31 Figura 23. Render GDS del diseño obtenido en OpenLane Figura 24. Render GDS del diseño o�cial del chip TT09 32 Figura 25. Visualización 3D del diseño de la ALU de 4 bits Figura 26. Render del chip TT09 y ubicación de ALU diseñada 33 CAPÍTULO 8 Desarrollo de material académico 8.1. Guía para emisión de proyectos para Tiny Tapeout El presente capítulo detalla la elaboración de material académico dirigido a facilitar el proceso de emisión de proyectos de diseño de circuitos digitales en el entorno de Tiny Tapeout. Con el objetivo de mejorar la accesibilidad al diseño de ASICs para estudiantes y profesionales, se han desarrollado guías que explican, paso a paso, los métodos de emi- sión mediante dos enfoques principales: el uso del simulador grá�co Wokwi para las guías de Electrónica Digital y el diseño de circuitos mediante HDL (Verilog) para las guías de Arquitectura de Computadoras. Además, se ofrece en ambas un entendimiento sobre la inte- gración de estos diseños con el software OpenLane para la síntesis y generación de archivos necesarios para la manufactura. 8.1.1. Modos de emisión de proyectos: Simulador grá�co Wokwi ó HDL 8.1.1.1. Simulador grá�co Wokwi Las primeras guías están orientadas al método de emisión mediante Wokwi, una herra- mienta que permite a los usuarios diseñar y simular circuitos digitales a través de una interfaz grá�ca intuitiva. Esta guía ha sido elaborada pensando en los estudiantes que inician en el ámbito del diseño digital y pre�eren un enfoque visual como aquellos que se encuentran en el curso de Electrónica Digital. En ellas, se describe el proceso completo para crear circuitos 34 en Wokwi, obtener el ID del proyecto y con�gurar los archivos necesarios para la emisión en Tiny Tapeout. La explicación incluye capturas de pantalla y descripciones detalladas de cada paso, permitiendo que los usuarios sigan el proceso de manera autónoma y logren emitir sus primeros diseños en un entorno profesional. Para comprender con mayor detalle, se pueden chequear las guías elaboradas para el curso de Electrónica Digital en la sección de Anexos. 8.1.1.2. HDL La segunda sección de guías se centra en la emisión de diseños mediante HDL, especí�- camente en Verilog, y está dirigida a estudiantes y profesionales que poseen un conocimiento intermedio o avanzado en lenguajes de descripción de hardware, como aquellos que se encuen- tran en el curso de Arquitectura de Computadoras. En estas guías, se detalla la con�guración de un proyecto en GitHub, y las modi�caciones necesarias dentro de los archivos del proyecto para obtener correctamente los archivos de manufactura, GDSII. Estas permiten a los estudiantes a familiarizarse con el �ujo de trabajo de OpenLane, lo cual resulta crucial para quienes buscan dominar las herramientas de diseño digital y optimizar sus proyectos. Estas guías muestran el proceso descrito a en el capítulo anterior, adaptado para el entorno académico y permitiendo a los estudiantes a desarrollar y com- prender con claridad el proceso de diseños electrónicos elaborados en código de descripción de hardware. Para comprender con mayor detalle, se pueden chequear las guías elaboradas para el curso de Arquitectura de Computadoras en la sección de Anexos 12.3.2. 8.1.2. Uso de software OpenLane Se incluye tanto en las guías de Electrónica Digital como en las de Arquitectura de computadoras, acerca del uso de OpenLane mediante Github Actions, que abarca desde la veri�cación inicial de reglas de diseño (DRC) hasta la generación del archivo GDSII, necesario para la manufactura del ASIC. Estas sección describe cada paso de manera práctica y técnica, incluyendo los pasos a tomar y los �ujos de trabajo que permiten sintetizar y optimizar el diseño para la manufactura. Las guías incluyen el como OpenLane representa un recurso fundamental para comprender cómo los diseños digitales pueden ser preparados para la fabricación en una plataforma accesible como Tiny Tapeout, constituyendo una experiencia educativa valiosa en el campo de la ingeniería electrónica. 35 8.2. Material Académico para curso de Nanoelectrónica Las guías y los videos desarrollados para el curso de Nanoelectrónica se encuentran orien- tados a la comprensión de los fundamentos de los componentes a un nivel nanoelectrónico y su implementación a nivel físico de semiconductores. Mediante ellas se busca que los estu- diantes aprendan sobre el comportamiento de los MOSFETs en escalas pequeñas y cómo su estructura afecta el funcionamiento de compuertas lógicas en diseño de ASICs. Estos videos también muestran cómo utilizar las herramientas que ofrece Tiny Tapeout como lo es Siliwiz, Stixu y un visualizador de diseños en 3D, proporcionando una experiencia interactiva que permite a los estudiantes explorar el diseño físico de sus circuitos y comprender con facilidad estos temas. Para observar con mayor detalle este material, se pueden chequear las guías elaboradas para el curso de Nanoelectrónica en la sección de Anexos 12.3.3 . 36 CAPÍTULO 9 Conclusiones Se logró implementar un �ujo de trabajo efectivo para el diseño y la manufactura de circuitos integrados mediante el uso de herramientas de Tiny Tapeout. Se diseñaron y simularon circuitos de lógica combinacional dentro de las restricciones de una celda de 160x100 micrómetros, accediendo a la manufactura real de un chip a través de una plataforma de bajo costo. Las guías elaboradas permiten que tanto estudiantes como profesionales accedan a procesos de manufactura de semiconductores sin necesidad de costosas herramientas o infraestructura especializada. Se crearon guías académicas paso a paso, detallando el proceso desde la simulación en Wokwi y la descripción en HDL (Verilog) hasta la emisión del diseño a Tiny Tapeout. Los materiales académicos desarrollados constituyen un recurso valioso para facili- tar la comprensión del �ujo de diseño, promoviendo el aprendizaje práctico sobre la construcción de circuitos lógicos y su implementación en chips físicos. Se logró la emisión exitosa del diseño HDL dentro de Tiny Tapeout, utilizando los �ujos de trabajo automáticos de OpenLane para veri�car el diseño y generar archivos GDSII listos para la manufactura en fábricas de semiconductores. Se documentó el proceso de veri�cación y optimización mediante OpenLane, lo que demostró que los circuitos diseñados pueden ser manufacturados cumpliendo con los estándares de la industria. Las simulaciones permitieron identi�car y corregir posibles errores en el diseño antes de enviarlo a manufactura, demostrando la efectividad del �ujo de trabajo y reduciendo 37 el riesgo de fallos en la etapa de fabricación. Se elaboraron guías que permiten desarrollar competencias clave en el diseño de cir- cuitos integrados, incluyendo el uso de lenguajes de descripción de hardware (Verilog) y la comprensión de conceptos de nanoelectrónica. 38 CAPÍTULO 10 Recomendaciones En primer lugar, sería recomendable profundizar en la creación de proyectos más com- plejos que integren una mayor cantidad de componentes lógicos, siempre ajustándose a las limitaciones físicas de la celda de 160x100 micrómetros. Esto podría incluir el diseño de módulos combinacionales y secuenciales más avanzados que puedan llevarse a manufactura, explorando cómo optimizar el espacio disponible para diseños más so�sticados. Sería bene�cioso extender la documentación y guías prácticas. Aunque se ha generado un material educativo útil, podría ampliarse para cubrir más áreas del diseño nanoelectrónico, como la optimización de temporización y consumo energético en los circuitos al contar con el chip físico. Las guías podrían incluir ejemplos más avanzados, como el uso de técnicas de minimización de área y rutas de señal, lo que ofrecería a los estudiantes y profesionales una comprensión más profunda del diseño e�ciente de ASIC. Un área clave de mejora sería explorar las limitaciones de las plataformas open-source en términos de fabricación de circuitos integrados más complejos y la posibilidad de superar estos desafíos. Esto incluiría investigar formas de escalar los proyectos a diseños de mayor complejidad o encontrar maneras de optimizar el uso del espacio físico disponible. También, sería interesante evaluar cómo otras plataformas de simulación y síntesis se comparan con las herramientas open-source y si podrían complementarse en proyectos futuros. Finalmente, se sugiere explorar otras herramientas open-source más allá de Tiny apeout para diversi�car las aplicaciones del �ujo de diseño hacia una línea de investigación avanzada. Herramientas como Magic VLSI, Q�ow, KLayout y la combinación de Yosys con OpenROAD ofrecen funcionalidades más amplias para la personalización de layouts, síntesis lógica y optimización de diseño físico. Estas plataformas permitirían investigar metodologías más 39 complejas de diseño y manufactura de circuitos integrados, impulsando así la innovación y contribuyendo al desarrollo de nuevos enfoques en el diseño de semiconductores. 40 CAPÍTULO 11 Referencias [1] T. Tapeout, From idea to design in minutes! Dirección: https://tinytapeout.com/. [2] T. Tapeout, Tiny Tapeout Chips. dirección: https://tinytapeout.com/runs/. [3] T. Tapeout, Tiny Tapeout 1. dirección: https://tinytapeout.com/runs/tt01/. [4] T. Tapeout, Tiny Tapeout 2. dirección: https://tinytapeout.com/runs/tt02/. [5] T. Tapeout, Tiny Tapeout 3. dirección: https://tinytapeout.com/runs/tt03/. [6] T. Tapeout, Tiny Tapeout 4. dirección: https://tinytapeout.com/runs/tt04/. [7] T. Tapeout, Tiny Tapeout 5. dirección: https://tinytapeout.com/runs/tt05/. [8] T. Tapeout, Tiny Tapeout 6. dirección: https://tinytapeout.com/runs/tt06/. [9] T. Tapeout, Tiny Tapeout 7. dirección: https://tinytapeout.com/runs/tt07/. [10] W.-L. Chin, �Principles of Verilog Digital Design,� CRC Press, 2022. [11] D. H. Sarah Harris, �Digital Design and Computer Architecture,� Elsevier Science, 2021. [12] J. L. H. David A. Patterson, �Computer Organization and Design MIPS Edition: The Hardware/Software Interface,� Elsevier Science, 2013. [13] B. Razavi, �Fundamentals of Microelectronics,� University of California, Los Angeles, 2016. [14] Z. to ASIC,MOSFET. dirección: https://www.zerotoasiccourse.com/terminology/ mosfet/. [15] C. 101, Fundamentals of MOSFETs and Their Working, T. M. Telegraph, ed. dirección: https://components101.com/articles/mosfet- symbol- working- operation- types-and-applications. 41 https://tinytapeout.com/ https://tinytapeout.com/runs/ https://tinytapeout.com/runs/tt01/ https://tinytapeout.com/runs/tt02/ https://tinytapeout.com/runs/tt03/ https://tinytapeout.com/runs/tt04/ https://tinytapeout.com/runs/tt05/ https://tinytapeout.com/runs/tt06/ https://tinytapeout.com/runs/tt07/ https://www.zerotoasiccourse.com/terminology/mosfet/ https://www.zerotoasiccourse.com/terminology/mosfet/ https://components101.com/articles/mosfet-symbol-working-operation-types-and-applications https://components101.com/articles/mosfet-symbol-working-operation-types-and-applications [16] A. W. Services, ¾Qué es un Chip de Computadora? A. W. Services, ed. dirección: https://aws.amazon.com/es/what-is/computer-chip/. [17] U. de los Andes, ¾Cómo Fabricar Chips? Dirección: https://electricayelectronica. uniandes.edu.co/es/preg%C3%BAntale-a-un-ingeniero-iele-como-fabricar- chip. [18] E. Corporation, Chip Design, Fabrication and Bring-up for Product Companies, E. Corporation, ed. dirección: https://efabless.com/chipignite. [19] Z. to ASIC, Wafer. dirección: https://www.zerotoasiccourse.com/terminology/ wafer/. [20] PAM-XIAMEN, Silicon Ingot. dirección: https://www.powerwaywafer.com/it/ silicon-ingot.html. [21] A. LI, Semiconductor Manufacturing Process Steps. dirección: https://www.asml. com/en/news/stories/2021/semiconductor-manufacturing-process-steps. [22] Z. to ASIC, Wafer. dirección: https://www.zerotoasiccourse.com/terminology/ doping/. [23] Merck, Solution and Vapor Deposition Precursors. dirección: https://www.sigmaaldrich. com/IT/it/products/materials- science/energy- materials/solution- and- vapor-deposition-precursors. [24] Z. to ASIC, Photolithography. dirección: https : / / www . zerotoasiccourse . com / terminology/photolithography/. [25] C. LTD, Wokwi. dirección: https://docs.wokwi.com/. [26] A. S. Tanenbaum, �Structured Computer Organization,� Pearson, 2013. [27] T. Edwards y K. Farid, OpenLane. dirección: https://openlane.readthedocs.io/ en/latest/index.html. 42 https://aws.amazon.com/es/what-is/computer-chip/ https://electricayelectronica.uniandes.edu.co/es/preg%C3%BAntale-a-un-ingeniero-iele-como-fabricar-chip https://electricayelectronica.uniandes.edu.co/es/preg%C3%BAntale-a-un-ingeniero-iele-como-fabricar-chip https://electricayelectronica.uniandes.edu.co/es/preg%C3%BAntale-a-un-ingeniero-iele-como-fabricar-chip https://efabless.com/chipignite https://www.zerotoasiccourse.com/terminology/wafer/ https://www.zerotoasiccourse.com/terminology/wafer/ https://www.powerwaywafer.com/it/silicon-ingot.html https://www.powerwaywafer.com/it/silicon-ingot.html https://www.asml.com/en/news/stories/2021/semiconductor-manufacturing-process-steps https://www.asml.com/en/news/stories/2021/semiconductor-manufacturing-process-steps https://www.zerotoasiccourse.com/terminology/doping/ https://www.zerotoasiccourse.com/terminology/doping/ https://www.sigmaaldrich.com/IT/it/products/materials-science/energy-materials/solution-and-vapor-deposition-precursors https://www.sigmaaldrich.com/IT/it/products/materials-science/energy-materials/solution-and-vapor-deposition-precursors https://www.sigmaaldrich.com/IT/it/products/materials-science/energy-materials/solution-and-vapor-deposition-precursors https://www.zerotoasiccourse.com/terminology/photolithography/ https://www.zerotoasiccourse.com/terminology/photolithography/ https://docs.wokwi.com/ https://openlane.readthedocs.io/en/latest/index.html https://openlane.readthedocs.io/en/latest/index.html CAPÍTULO 12 Anexos 12.1. Código de Verilog a emitir para proyecto Tiny Tapeout Figura 27. Código de ALU 4 bits a enviar 1 2 `default_nettype none 3 4 module tt_um_alf19185_ALU ( 5 input wire [7:0] ui_in, // Dedicated inputs 6 output wire [7:0] uo_out, // Dedicated outputs 7 input wire [7:0] uio_in, // IOs: Input path 8 output wire [7:0] uio_out, // IOs: Output path 9 output wire [7:0] uio_oe, // IOs: Enable path (active high: 0=input, 1=output) 10 input wire ena, // Always 1 when the design is powered, so you can ignore it 11 input wire clk, // Clock (not used for combinational ALU) 12 input wire rst_n // Reset (not used for combinational ALU) ); 13 14 // Map the ALU inputs and outputs to the provided ports 15 wire [3:0] A = ui_in[3:0]; // Lower 4 bits of ui_in are A 16 wire [3:0] B = ui_in[7:4]; // Upper 4 bits of ui_in are B 17 wire [2:0] Opcode = uio_in[2:0]; // Use lower 3 bits of uio_in for Opcode 18 reg [7:0] ALU_Result; 19 reg Carry; 20 reg Zero; 21 22 // Assign ALU outputs to uo_out 23 assign uo_out[7:0] = {Zero, Carry, ALU_Result[5:0]}; // Concatenate Zero, Carry, and the lower 6 bits of ALU_Result 24 // Set unused outputs and IOs to 0 25 assign uio_out = 8'b0; 26 assign uio_oe = 8'b0; 27 // ALU Logic 28 always @(*) begin 29 // Default flags 30 Carry = 1'b0; 31 Zero = 1'b0; 32 ALU_Result = 8'b0; 33 case (Opcode) 34 3'b000: begin // Addition 35 {Carry, ALU_Result} = {1'b0, A} + {1'b0, B}; 36 Zero = (ALU_Result == 8'b0); 37 end 38 3'b001: begin // Subtraction 39 ALU_Result = A - B; 40 Zero = (ALU_Result == 8'b0); 41 end 42 3'b010: begin // Multiplication 43 ALU_Result = A * B; 44 Zero = (ALU_Result == 8'b0); 45 end 46 3'b011: begin // Division 47 if (B != 0) begin 48 ALU_Result = A / B; 49 Zero = (ALU_Result == 8'b0); 50 end else begin 51 ALU_Result = 8'b00000000; // Set result to zero on division by zero 52 Zero = 1'b1; // Set ZeroFlag to indicate division by zero 53 end 54 end 55 3'b100: begin // AND 56 ALU_Result = A & B; 57 Zero = (ALU_Result == 8'b0); 58 end 59 3'b101: begin // OR 60 ALU_Result = A | B; 61 Zero = (ALU_Result == 8'b0); 62 end 63 3'b110: begin // NOT 64 ALU_Result = ~A; 65 Zero = (ALU_Result == 8'b0); 66 end 67 3'b111: begin // XOR 68 ALU_Result = A ^ B; 69 Zero = (ALU_Result == 8'b0); 70 end 71 default: begin 72 ALU_Result = 8'b00000000; 73 Zero = 1'b1; 74 end 75 endcase 76 end 77 // List all unused inputs to prevent warnings 78 wire _unused = &{ena, clk, rst_n, 1'b0}; 79 endmodule Nota. Adaptación propia 44 Figura 28. Testbench de ALU 4 bits a enviar a TT09 1 2 `default_nettype none 3 `timescale 1ns / 1ps 4 module tb (); 5 // Declare continuous signals for power and ground 6 wire VPWR = 1'b1; // Power supply 7 wire VGND = 1'b0; // Ground 8 // Dump the signals to a VCD file. You can view it with gtkwave. 9 initial begin 10 $dumpfile("tb.vcd"); 11 $dumpvars(0, tb); 12 #1; 13 end 14 // Wire up the inputs and outputs: 15 reg clk; 16 reg rst_n; 17 reg ena; 18 reg [7:0] ui_in; 19 reg [7:0] uio_in; 20 wire [7:0] uo_out; 21 wire [7:0] uio_out; 22 wire [7:0] uio_oe; 23 // Clock generation 24 initial begin 25 clk = 0; 26 forever #5 clk = ~clk; // 10 ns clock period 27 end 28 // Reset and enable signals 29 initial begin 30 rst_n = 0; 31 ena = 0; 32 #10 rst_n = 1; // Release reset after 10ns 33 #10 ena = 1; // Enable after 20ns 34 end 35 // Instantiate your ALU module 36 tt_um_alf19185_ALU U1 ( 37 `ifdef GL_TEST 38 .VPWR(VPWR), // Connect to power using wire 39 .VGND(VGND), // Connect to ground using wire 40 `endif 41 .ui_in (ui_in), 42 .uo_out (uo_out), 43 .uio_in (uio_in), 44 .uio_out(uio_out), 45 .uio_oe (uio_oe), 46 .ena (ena), 47 .clk (clk), 48 .rst_n (rst_n) ); 49 endmodule 50 Nota. Adaptación propia 45 12.2. Proyecto ALU de 4 bits en datasheet o�cial del chip TT09 Figura 29. Datasheet TT09 del proyecto ALU 4 bits - Página 1 46 Figura 30. Datasheet TT09 del proyecto ALU 4 bits - Página 2 47 12.3. Guías académicas 12.3.1. Guías académicas para cursos de Electrónica Digital 12.3.1.1. Guía 1 - Introducción a simulador Wokwi Figura 31. Guía 1- Introducción a Wokwi - Página 1 48 Figura 32. Guía 1- Introducción a Wokwi - Página 2 49 Figura 33. Guía 1- Introducción a Wokwi - Página 3 50 Figura 34. Guía 1- Introducción a Wokwi - Página 4 51 12.3.1.2. Guía 2 - Envío a Tiny Tapeout de diseño en Wokwi Figura 35. Guía 2 - Emisión desde diseño en Wokwi - Página 1 52 Figura 36. Guía 2 - Emisión desde diseño en Wokwi - Página 2 53 Figura 37. Guía 2 - Emisión desde diseño en Wokwi - Página 3 54 Figura 38. Guía 2 - Emisión desde diseño en Wokwi - Página 4 55 Figura 39. Guía 2 - Emisión desde diseño en Wokwi - Página 5 56 12.3.2. Guías académicas para curso de Arquitectura de Computadoras 12.3.2.1. Guía 1 - Adaptación y veri�cación de diseños en HDL Figura 40. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 1 58 Figura 41. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 2 59 Figura 42. Guía 1 - Adaptación y veri�cación de diseños en HDL - Página 3 60 12.3.2.2. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout Figura 43. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 1 61 Figura 44. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 2 62 Figura 45. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 3 63 Figura 46. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 4 64 Figura 47. Guía 2 - Emisión de diseños en HDL a Tiny Tapeout - Página 5 65 12.3.3. Guías académicas para cursos de Nanoelectrónica 12.3.3.1. Guía 1 - Introducción a Siliwiz Figura 48. Guía 1 - Introducción a Siliwiz - Página 1 67 Figura 49. Guía 1 - Introducción a Siliwiz - Página 2 68 Figura 50. Guía 1 - Introducción a Siliwiz - Página 3 69 Figura 51. Guía 1 - Introducción a Siliwiz - Página 4 70 Figura 52. Guía 1 - Introducción a Siliwiz - Página 5 71 12.3.3.2. Guía 2 - Transistores en Siliwiz Figura 53. Guía 2 - Transistores en Siliwiz - Página 1 72 Figura 54. Guía 2 - Transistores en Siliwiz - Página 2 73 Figura 55. Guía 2 - Transistores en Siliwiz - Página 3 74 Figura 56. Guía 2 - Transistores en Siliwiz - Página 4 75 Figura 57. Guía 2 - Transistores en Siliwiz - Página 5 76 12.3.3.3. Guía 3 - Compuertas Lógicas en Siliwiz Figura 58. Guía 3 - Compuertas Lógicas en Siliwiz - Página 1 77 Figura 59. Guía 3 - Compuertas Lógicas en Siliwiz - Página 2 78 Figura 60. Guía 3 - Compuertas Lógicas en Siliwiz - Página 3 79 Figura 61. Guía 3 - Compuertas Lógicas en Siliwiz - Página 4 80 12.3.3.4. Guía 4 - Introducción a Stixu Figura 62. Guía 4 - Introducción a Stixu - Página 1 81 Figura 63. Guía 4 - Introducción a Stixu - Página 2 82 Figura 64. Guía 4 - Introducción a Stixu - Página 3 83 Figura 65. Guía 4 - Introducción a Stixu - Página 4 84 12.4. Videos académicos En la �nalización del desarrollo de este trabajo, se entregó al Departamento de Ingenie- ría Electrónica de la Universidad del Valle de Guatemala una serie de videos académicos correspondientes a los temas tratados en las guías adjuntas en la sección anterior. 85 CAPÍTULO 13 Glosario ALU (Arithmetic logic unit): unidad aritmética y lógica encargada de realizar opera- ciones matemáticas y lógicas en un procesador. 41 ASIC (Application-speci�c integrated circuit): circuito integrado diseñado para una tarea especí�ca, en lugar de ser de propósito general. 3, 41 Compuerta Lógica: elemento básico en un circuito digital que realiza operaciones lógicas sobre una o más señales de entrada. 41 Célula Estándar: bloque de construcción básico utilizado en el diseño de circuitos inte- grados, que puede ser repetido para crear circuitos más grandes. 41 Fotolitografía: técnica utilizada para transferir patrones a la super�cie de una oblea de silicio durante la fabricación de circuitos integrados. 41 GDS2: formato de archivo utilizado para la descripción física de un diseño de circuito integrado. 24, 41 HDL (Hardware description language): lenguaje de descripción de hardware utilizado para modelar circuitos electrónicos, como Verilog y VHDL. 17, 41 MOSFET (Metal-oxide-semiconductor �eld-e�ect transistor): tipo de transistor uti- lizado para ampli�car o conmutar señales electrónicas. 19, 41 OpenLane: herramienta open-source que facilita la conversión de diseños en HDL a los archivos GDS2 necesarios para la manufactura de ASICs. 24, 41 87 PCB (Printed Circuit Board): tablero utilizado para conectar electrónicamente com- ponentes mediante pistas conductoras grabadas en su super�cie. 41 Simulación: proceso de modelado del comportamiento de un sistema electrónico mediante herramientas de software antes de la fabricación. 41 Sintetización: proceso de convertir una descripción de alto nivel en un diseño físico real de un circuito integrado. 41 Tiny TapeOut: proyecto educacional que permite convertir diseños digitales en circuitos integrados de aplicación especí�ca (ASICs) de manera accesible. 41 Verilog: lenguaje de descripción de hardware utilizado para modelar y diseñar sistemas electrónicos. 17, 41 Wokwi: simulador de electrónica en línea que permite la creación y prueba de circuitos electrónicos. 41 88 b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf a46dfceae18e69ff6b9bfff337e0d0a84aa1e64ae5c6ef4b71240c8ab0bcf414.pdf b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf Prefacio Índice Lista de figuras Lista de cuadros Resumen Abstract Introducción Antecedentes Proyecto Tiny TapeOut y chips desarrollados Chips TT01, TT02, TT03, TT04, TT05, TT06 y TT07 Justificación Objetivos Objetivos generales Objetivos específicos Alcance Marco teórico Verilog HDL Principios básicos para programación en Verilog Transistores MOSFET Fabricación de Circuitos Integrados Uso de Wokwi para el desarrollo de proyectos de ASIC Uso de OpenLane para el desarrollo de proyectos de ASIC Uso de Capcut para el desarrollo de material académico Emisión de diseño electrónico a proyecto Tiny Tapeout Desarrollo de proyecto ALU de 4 bits en Verilog Acerca del diseño Restricciones del diseño Proceso de emisión del diseño de una ALU a Tiny Tapeout Creación de repositorio y accesos a Github Actions Modificaciones en los archivos del repositorio Ejecución de OpenLane mediante Github Actions Caracterización del diseño electrónico final Desarrollo de material académico Guía para emisión de proyectos para Tiny Tapeout Modos de emisión de proyectos: Simulador gráfico Wokwi ó HDL Simulador gráfico Wokwi HDL Uso de software OpenLane Material Académico para curso de Nanoelectrónica Conclusiones Recomendaciones Referencias b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf Anexos Guías académicas Guías académicas para cursos de Nanoelectrónica Guía 1 - Introducción a Siliwiz Guía 2 - Transistores en Siliwiz Guía 3 - Compuertas Lógicas en Siliwiz Guía 4 - Introducción a Stixu Videos académicos b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf b3f1b92a224d40d78cd0af68e9d1c58167659d32fd2bce812c4a974dde3316dd.pdf Glosario