Discusión: el proyecto OpenROAD pretende resolver la tarea de automatizar el diseño de procesadores


Fotos - Pexels - CC BY

Según PWC, el mercado de tecnología de semiconductores está creciendo: el año pasado alcanzó la barra de $ 481 mil millones. Pero su tasa de crecimiento ha disminuido recientemente. Entre las razones de la recesión están la complejidad de los procesos de diseño de dispositivos y la falta de automatización.

Hace unos años, los ingenieros de Intel escribieron que al crear un microprocesador de alto rendimiento, debe usar 100-150 herramientas de software separadas ( 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 aún se ven obligados a hacer parte del trabajo manualmente. Los autores del libro Advanced Logic Synthesis dicen que a veces los diseñadores tienen que escribir scripts en Skill o Python a partir de dos millones de líneas para formar bibliotecas con celdas .

Las secuencias de comandos también se escriben para analizar informes generados por los sistemas EDA. Cuando se desarrolla un chip utilizando una tecnología de proceso de 22 nm, estos informes pueden tomar hasta 30 terabytes.

Decidieron corregir la situación e intentar estandarizar los procesos de diseño en DARPA. La agencia también cree que los métodos existentes para crear chips están desactualizados. La organización lanzó el programa OpenROAD de cinco años, cuyo objetivo es desarrollar nuevas herramientas para automatizar los procesos de diseño de chips.

Que tipo de programa


El programa involucra varios proyectos que utilizan el aprendizaje automático y la tecnología en la nube para automatizar las etapas individuales de la creación de chips. Como parte de la iniciativa , se están desarrollando más de diez herramientas (Esquema 1). A continuación, hablaremos más sobre algunos de ellos: Flow Runner, RePlAce, TritonCTS, OpenSTA.

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

RePlAce es una solución de aprendizaje automático basada en la nube que se encarga de colocar componentes en un chip y automatizar el rastreo. Según algunos informes , los algoritmos inteligentes aumentan la eficiencia de la herramienta en un 2-10% en comparación con los sistemas clásicos. Además, la implementación en la nube simplifica el escalado. La guía de instalación y configuración también se encuentra en el repositorio .

TritonCTS es una utilidad para optimizar los pulsos de reloj suministrados al chip. Ayuda a enrutar los relojes a todas las partes del dispositivo con la misma latencia. El principio de funcionamiento se basa en H-trees . Este enfoque aumenta la eficiencia de la distribución de la señal en un 30%, en comparación con los métodos tradicionales. Los desarrolladores dicen que en el futuro esta cifra se puede aumentar al 56%. El código fuente y los scripts de TritonCTS están disponibles en GitHub .

OpenSTA es un motor de análisis de tiempo estático. Le da al desarrollador la oportunidad de verificar el rendimiento del chip incluso antes de su ensamblaje real. El código de muestra en OpenSTA se ve así.

@@ -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 netlist del código Verilog, bibliotecas en formato Liberty, archivos SDC, etc.

Ventajas y desventajas.


Los expertos de IBM e IEEE señalan que la computación en la nube y el aprendizaje automático se han utilizado durante mucho tiempo en la fabricación de chips. En su opinión, el proyecto DARPA puede ser un ejemplo exitoso de la implementación de esta idea e iniciará cambios en la industria.

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


Fotos - Pexels - CC BY

Ya hay participantes: el laboratorio involucrado en el desarrollo de chips basados ​​en la Universidad de Michigan será el primero en probar las herramientas abiertas de OpenROAD. Pero aún se desconoce si las nuevas soluciones podrán tener un efecto notable en el costo de los productos finales.

En general, se espera que las herramientas desarrolladas bajo el liderazgo de DARPA tengan un impacto positivo en la industria de los procesadores, y cada vez más proyectos nuevos comenzarán a aparecer en esta área. Un ejemplo sería la herramienta gEDA : le permite diseñar chips con un número ilimitado de componentes. gEDA incluye utilidades para editar y modelar chips y tablas de rastreo. La solución se desarrolló para plataformas UNIX, pero algunos de sus componentes también funcionan en Windows. Puede encontrar orientación sobre cómo trabajar con ellos en la documentación en el sitio web del proyecto .

Las herramientas distribuidas libremente brindan a las organizaciones independientes y nuevas empresas más oportunidades. Es probable que con el tiempo, los nuevos enfoques de OpenROAD para desarrollar herramientas EDA y crear chips puedan convertirse en un estándar de la industria.



Sobre qué escribimos en nuestro blog corporativo:

Source: https://habr.com/ru/post/453200/


All Articles