Discusión: El proyecto OpenROAD pretende resolver el problema de la automatización del diseño de procesadores.

Discusión: El proyecto OpenROAD pretende resolver el problema de la automatización del diseño de procesadores.
Фото - Pexels — CC POR

En Según PWC, el mercado de la tecnología de semiconductores está creciendo: el año pasado alcanzó los 481 mil millones de dólares. Pero su tasa de crecimiento recientemente disminución. Las razones del declive incluyen procesos de diseño de dispositivos confusos y una falta de automatización.

Hace unos años, ingenieros de Intel escribióque al crear un microprocesador de alto rendimiento es necesario utilizar entre 100 y 150 herramientas de software independientes (EDA). La situación puede agravarse en el caso de dispositivos heterogéneos cuya arquitectura incluye varios tipos diferentes de chips: ASIC, FPGA, CPU o GPU. Como resultado, se producen errores de diseño que retrasan el lanzamiento de los productos.

A pesar de la gran cantidad de herramientas auxiliares, los ingenieros todavía se ven obligados a realizar algunos trabajos manualmente. Los autores del libro "Síntesis lógica avanzada"Dicen que a veces los diseñadores tener que escribir scripts en Skill o Python de dos millones de líneas para crear bibliotecas con células.

También se escriben scripts para analizar informes generados por sistemas EDA. Cuando se desarrolla un chip utilizando una tecnología de proceso de 22 nm, estos informes pueden ocupar hasta 30 terabytes.

DARPA decidió corregir la situación e intentar estandarizar los procesos de diseño. En la agencia también considerarque los métodos existentes para crear chips están obsoletos. Organización запустила programa de cinco años Camino abierto, cuyo objetivo es desarrollar nuevas herramientas para automatizar los procesos de diseño de chips.

¿Qué tipo de programa

El programa incluye varios proyectos que utilizan el aprendizaje automático y tecnologías de la nube para automatizar etapas individuales de la creación de chips. Como parte de la iniciativa siendo desarrollado (diagrama 1) más de diez instrumentos. A continuación hablaremos con más detalle de algunos de ellos: Flow Runner, RePlAce, TritonCTS, OpenSTA.

Corredor de flujo es una herramienta para gestionar bibliotecas RTL y GDSII. Estos últimos son archivos de bases de datos que son un estándar industrial para intercambiar información sobre circuitos integrados y sus topologías. La solución se basa en la tecnología de contenedores Docker. Puedes ejecutar Flow Runner tanto en la nube como localmente. La guía de instalación está en el repositorio oficial. en GitHub.

Reemplazar es una solución en la nube basada en aprendizaje automático, que se encarga de colocar componentes en un chip y automatizar el enrutamiento. Por algunos datos, los algoritmos inteligentes aumentan la eficiencia de la herramienta entre un 2% y un 10% en comparación con los sistemas clásicos. Además, la implementación en la nube facilita el escalado. También está disponible una guía de instalación y configuración. en el repositorio.

TritónCTS — una utilidad para optimizar los pulsos de reloj suministrados al chip. Ayuda a enrutar las señales del reloj a todas las partes del dispositivo con los mismos retrasos. El principio de funcionamiento se basa en árboles H. Este enfoque aumenta Eficiencia de distribución de señal en un 30% en comparación con los métodos tradicionales. Los desarrolladores afirman que en el futuro esta cifra se podrá aumentar hasta el 56%. Código fuente y scripts de TritonCTS disponibles en GitHub.

OpenSTA — un motor para análisis de sincronización estática. Le da al diseñador la oportunidad de comprobar la funcionalidad del chip antes de ensamblarlo. Código de ejemplo en OpenSTA parece como este

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

La utilidad admite descripciones de listas de red de código Verilog, bibliotecas de formato Liberty, archivos SDC, etc.

Ventajas y desventajas

Expertos de IBM e IEEE celebrarque las tecnologías de la nube y el aprendizaje automático deberían utilizarse desde hace mucho tiempo en la producción de chips. En su opinión, el proyecto DARPA puede convertirse en un ejemplo exitoso de la implementación de esta idea y pondrá el comienzo de cambios en la industria.

También se espera que la naturaleza abierta de OpenROAD cree una comunidad poderosa en torno a las herramientas y atraiga nuevas empresas.

Discusión: El proyecto OpenROAD pretende resolver el problema de la automatización del diseño de procesadores.
Фото - Pexels — CC POR

Ya hay participantes: un laboratorio que desarrolla chips con sede en la Universidad de Michigan, será el primero, quien probará las herramientas de código abierto OpenROAD. Pero todavía no se sabe si las nuevas soluciones podrán tener un efecto notable en el coste de los productos finales.

En general, se espera que las herramientas que se están desarrollando bajo el liderazgo de DARPA tengan un impacto positivo en la industria de procesadores, y comenzarán a surgir más proyectos nuevos en esta área. Un ejemplo sería una herramienta GEDA — le permite diseñar chips con un número ilimitado de componentes. gEDA incluye utilidades para editar y modelar microcircuitos y enrutamiento de placas. La solución fue desarrollada para plataformas UNIX, pero varios de sus componentes también funcionan en Windows. Puede encontrar una guía para trabajar con ellos. en la documentación en el sitio web del proyecto.

Las herramientas disponibles de forma gratuita brindan más opciones a las organizaciones independientes y a las nuevas empresas. Es posible que con el tiempo, los nuevos enfoques de OpenROAD para el desarrollo de herramientas EDA y el diseño de chips se conviertan en un estándar de la industria.

Sobre qué escribimos en nuestro blog corporativo:

Fuente: habr.com

Añadir un comentario