Photo — — CC BY
Selon PWC, le marché des technologies des semi-conducteurs est en pleine croissance - l'année dernière, il a atteint 481 milliards de dollars. Cependant, son taux de croissance a récemment . Parmi les raisons de ce ralentissement figurent la complexité des processus de conception des dispositifs et le manque d'automatisation.
Il y a quelques années, des ingénieurs d'Intel , ont constaté que pour créer un microprocesseur haute performance, il fallait utiliser de 100 à 150 outils logiciels distincts (). La situation peut se détériorer dans le cas de dispositifs hétérogènes, dont l'architecture inclut plusieurs types de puces différentes - ASIC, FPGA, CPU ou GPU. Cela engendre des erreurs de conception qui retardent la sortie des produits.
Malgré le grand nombre d'outils auxiliaires, une partie du travail que les ingénieurs doivent tout de même réaliser manuellement. Les auteurs du livre «» affirment qu'il arrive parfois aux concepteurs d'écrire des scripts en Skill ou Python à partir de deux millions de lignes pour former des bibliothèques avec des .
. Des scripts sont également écrits pour analyser les rapports générés par les systèmes EDA. Lors de la conception d'une puce avec un processus technologique de 22 nm, ces rapports peuvent atteindre jusqu'à 30 téraoctets.
Pour corriger la situation et essayer de standardiser les processus de conception, DARPA a décidé de s'en occuper. L'agence constate également , que les méthodes existantes de création de puces sont obsolètes. L'organisation a lancé un programme quinquennal , dont l'objectif est de développer de nouveaux outils pour automatiser les processus de conception des puces.
Qu'est-ce que ce programme
Le programme comprend plusieurs projets qui utilisent l'apprentissage automatique et les technologies cloud pour automatiser certaines étapes de la création de puces. Dans le cadre de cette initiative (schéma 1), plus de dix outils. Nous allons maintenant vous parler plus en détail de certains d'entre eux : Flow Runner, RePlAce, TritonCTS, OpenSTA.
Flow Runner est un outil de gestion des bibliothèques RTL et GDSII. Ces dernières représentent des fichiers de base de données qui sont la norme industrielle pour l'échange d'informations sur les circuits intégrés et leurs topologies. La solution repose sur la technologie de conteneurisation Docker. Flow Runner peut être lancé à la fois dans un environnement cloud et localement. Le guide d'installation se trouve dans le dépôt officiel .
RePlAce — solution cloud basé sur l'apprentissage automatique, qui gère le placement des composants sur la puce et l'automatisation du routage. Selon , des algorithmes intelligents augmentent l'efficacité de l'outil de 2 à 10 % par rapport aux systèmes classiques. De plus, la mise en œuvre dans le cloud facilite l'évolutivité. Un guide d'installation et de configuration est également disponible .
TritonCTS — outil pour l'optimisation des impulsions d'horloge appliquées à la puce. Aide à router les signaux de synchronisation sur toutes les parties du dispositif avec des délais identiques. Le principe de fonctionnement est basé sur . Cette approche l'efficacité de la distribution des signaux de 30 % par rapport aux méthodes traditionnelles. Les développeurs affirment qu'à terme, ce chiffre pourrait atteindre 56 %. Le code source et les scripts de TritonCTS sont disponibles .
OpenSTA — moteur pour l'analyse temporelle statique. Il permet au développeur de vérifier le bon fonctionnement de la puce avant son assemblage réel. Un exemple de code dans OpenSTA est comme ceci.
@@ -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
L'outil prend en charge les descriptions de netlist en Verilog, les bibliothèques au format Liberty, les fichiers SDC, etc.
Avantages et inconvénients
Les experts d'IBM et de l'IEEE , estiment qu'il est grand temps d'utiliser les technologies cloud et l'apprentissage automatique dans la production de micropuces. Selon eux, le projet DARPA pourrait devenir un exemple réussi de cette idée et à des changements dans l'industrie.
Il est également attendu que la nature ouverte d'OpenROAD permette de créer autour des outils une communauté puissante et attire de nouvelles startups.

Photo — — CC BY
Il y a déjà des participants — un laboratoire de l'Université du Michigan qui développe des puces, , à tester les outils ouverts d'OpenROAD. Mais il reste à savoir si ces nouvelles solutions auront un impact significatif sur le coût des produits finis.
Dans l'ensemble, on s'attend à ce que les outils développés sous l'égide de la DARPA aient un impact positif sur l'industrie des processeurs, et de plus en plus de nouveaux projets commenceront à émerger dans ce domaine. Un exemple pourrait être l'outil — il permet de concevoir des puces avec un nombre illimité de composants. gEDA comprend des utilitaires pour l'édition et la modélisation de circuits intégrés ainsi que pour le traçage de cartes. La solution a été développée pour des plateformes UNIX, mais plusieurs de ses composants fonctionnent également sous Windows. Un guide d'utilisation est disponible .
Les outils open source offrent aux organisations indépendantes et aux startups plus de possibilités. Il est probable qu'avec le temps, les nouvelles approches d'OpenROAD en matière de développement d'outils EDA et de création de circuits intégrés pourraient devenir la norme de l'industrie.
De quoi écrivons-nous dans notre blog d'entreprise :
Source : habr.com
