Abstract | dc.description.abstract | Durante el proceso de diseño de un circuito integrado, la etapa de verificación formal es una de las más criticas, ya que permite garantizar que el diseño cumpla con todas las especificaciones funcionales, al emplear métodos matemáticos para analizar el comportamiento del circuito sin depender de pruebas exhaustivas.
Para llevar a cabo este proceso de verificación formal, existen empresas que se dedican al desarrollo de herramientas para ayudar con esta tarea, dentro de la cual se puede destacar Embedded Symbolic Processor o ESP, por sus siglas en inglés, la cual es desarrollada por Synopsys Inc. Este software permite garantizar la equivalencia funcional entre dos modelos circuitales descritos en distintos lenguajes, entre los cuales se destacan Verilog, RTL, Gate y SPICE, donde uno de estos es la referencia y el otro la implementación. Así, ESP ayuda a identificar posibles errores lógicos, violaciones de sincronización y discrepancias entre ambos, garantizando su equivalencia funcional.
El objetivo de este trabajo es diseñar e implementar una SRAM dual-port utilizando SPICE y Verilog, aplicando ESP como método de verificación formal. Por otro lado, este nuevo diseño servirá para actualizar la demo actualmente utilizada en la herramienta, permitiendo así proporcionar una referencia más representativa de las arquitecturas modernas para facilitar la integración de nuevos clientes y ayudar a la verificación de nuevas funcionalidades.
El trabajo mostrado a continuación aborda el diseño e implementación de una memoria de doble puerto utilizando SPICE y Verilog. Además, se utilizó la herramienta ESP para demostrar la equivalencia funcional entre ambos códigos, permitiendo así detectar y corregir discrepancias. Finalmente, se mitigaron errores relacionados con señales asíncronas y fallas en la integridad de potencia, obteniendo un diseño validado y funcional.
En conclusión, el trabajo desarrollado proporciona a la herramienta ESP una nueva referencia tanto para los clientes como para los equipos internos Research and Development (R&D) y Application Engineers (AE), permitiéndoles así contar con un diseño actualizado y más representativo de arquitectura modernas, con el cual pueden probar el software y las nuevas funciones que se implementen. Finalmente, en futuros trabajos se podrían explorar alternativas para optimizar el diseño en términos de consumo de energía, velocidad de operación y escalabilidad a una memoria multi-puerto, así como la incorporación de nuevos enfoques de verificación del sistema. | es_ES |