2024-08-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Soumission de l'équipe ChipBench
Qubits | Compte public QbitAI
La disposition physique de la puce a une nouvelle norme d'évaluation qui pointe directement vers des indicateurs de performance !
Le laboratoire MIRA de l'Université des sciences et technologies de Chine et le laboratoire Noah's Ark de Huawei ont publié conjointement un nouveau cadre d'évaluation et un nouvel ensemble de données, entièrement open source.
Avec cet ensemble de normes, le problème des indicateurs de mise en page incohérents et des performances finales de bout en bout, des scores élevés mais de faibles performances PPA, devrait être résolu.
Dans la conception des puces,automatisation de la conception électronique(EDA) est un maillon crucial et est connue comme la « mère des puces » dans l'industrie, et la disposition physique des puces (placement) est une étape clé.
Le problème de la disposition physique des puces est un problème NP-difficile. Les gens ont essayé d’utiliser l’IA pour effectuer ce travail, mais il manque une norme d’évaluation efficace.
L'échelle d'évaluation traditionnelle, les mesures proxy, bien que faciles à calculer, diffèrent souvent considérablement des performances finales de bout en bout de la puce.
Afin de combler cette lacune, le laboratoire MIRA de l’Université des sciences et technologies de Chine et le laboratoire Noah’s Ark de Huawei ont lancé conjointement ce projet appeléBanc de ChiPBcadre d’évaluation et ensembles de données connexes.
Avec le lancement de ChiPBench, l'auteur a également découvert de nombreuses lacunes dans l'algorithme actuel de disposition des puces et a rappelé aux chercheurs concernés qu'il est temps de développer de nouveaux algorithmes.
Selon la « loi de Moore », la taille des circuits intégrés (CI) a connu une croissance exponentielle, posant des défis sans précédent à la conception de puces.
Afin de faire face à cette complexité croissante, des outils EDA ont vu le jour, apportant une aide précieuse aux ingénieurs matériels.
Les outils EDA peuvent effectuer automatiquement diverses étapes du flux de travail de conception de puces, notamment la synthèse de haut niveau, la synthèse logique, la conception physique, les tests et la vérification.
Parmi elles, la disposition des puces est une étape importante, et cette étape peut être divisée en deux sous-étapes : la disposition des macros et la disposition des cellules standard.
La disposition des macros est un problème clé dans la conception physique d'intégration à très grande échelle (VLSI), impliquant principalement la disposition de composants plus grands tels que la SRAM et les générateurs d'horloge, souvent appelés macros.
Cette étape a un impact significatif sur la disposition globale de la puce et sur des paramètres de conception importants tels que la longueur du fil, la consommation électrique et la surface.
Lors de l'étape suivante de configuration des unités standard, il faut s'occuper de la disposition des unités standard plus grandes et plus petites. Ces unités sont les composants de base de la conception numérique.
Habituellement, des méthodes telles que l'optimisation combinatoire et la résolution sont utilisées à ce stade pour optimiser le placement de la disposition, minimiser la distance entre les unités, établir une bonne base pour les travaux de câblage ultérieurs et optimiser dans une certaine mesure les performances de synchronisation d'interconnexion.
La disposition des puces est traditionnellement effectuée manuellement par des concepteurs professionnels, ce qui non seulement consomme beaucoup de main d'œuvre, mais nécessite également de nombreuses connaissances préalables d'experts.
Par conséquent, de nombreuses méthodes d’automatisation de la conception, notamment des algorithmes basés sur l’intelligence artificielle, ont été développées pour automatiser ce processus.
Cependant, en raison du long flux de travail de conception des puces, l'évaluation de ces algorithmes se concentre généralement sur des mesures proxy intermédiaires faciles à calculer (telles que la longueur de fil sur un demi-périmètre HPWL, la densité des cellules de disposition, etc.), mais ces mesures sont souvent corrélé aux performances de bout en bout (c'est-à-dire qu'il existe un certain degré d'écart dans le PPA final conçu).
D'une part, en raison du long flux de travail de conception de puces, l'obtention de performances de bout en bout pour une solution de configuration de puce donnée nécessite beaucoup de travail de conception technique. Dans le même temps, l'auteur a constaté que l'utilisation directe des outils EDA open source existants était nécessaire. et les ensembles de données ne peuvent souvent pas obtenir des performances de bout en bout.
Pour les raisons ci-dessus, les algorithmes de disposition de puces basés sur l'IA existants utilisent des métriques proxy intermédiaires simples et facilement disponibles pour entraîner et évaluer les modèles appris.
D’un autre côté, étant donné que l’indicateur PPA reflète de nombreux aspects qui n’ont pas été pleinement pris en compte lors des étapes précédentes,Écart sérieux entre les mesures de l'agence et les objectifs finaux du PPA。
Par conséquent, cette lacune limite considérablement l’application des algorithmes de configuration existants basés sur l’intelligence artificielle dans des scénarios industriels réels.
L'auteur estime que la raison de cet écart est queSimplification excessive des premiers ensembles de données。
Par exemple, l'utilisation généralisée du format Bookshelf est un exemple représentatif de « simplification excessive ». Les résultats de mise en page dans ce format ne conviennent pas aux étapes de conception ultérieures et ne permettent pas d'obtenir une conception finale efficace.
Bien que certains ensembles de données ultérieurs fournissent des fichiers LEF/DEF et les fichiers nécessaires à l'exécution des étapes ultérieures, ils contiennent toujours un nombre limité de circuits et ne disposent pas des informations requises par certains outils open source (tels qu'OpenROAD).
Par exemple, les définitions des éléments tampons nécessaires à la synthèse de l'arbre d'horloge manquaient dans les fichiers de bibliothèque et les définitions de couches dans les fichiers LEF étaient incomplètes, ce qui entravait le travail pendant la phase de routage.
Pour résoudre ces problèmes, les auteurs ont construit un ensemble de données contenant des informations complètes sur la mise en œuvre physique de l'ensemble du processus.
L'ensemble de données couvre des conceptions dans une gamme de domaines différents, y compris des composants tels que les processeurs, les GPU, les interfaces réseau, les technologies de traitement d'image, les dispositifs IoT, les unités cryptographiques et les microcontrôleurs.
Les auteurs ont exécuté six algorithmes de disposition physique de puces basés sur l'intelligence artificielle de pointe sur ces conceptions et ont connecté les résultats de chaque algorithme à point unique au flux de travail de mise en œuvre physique via des formats d'entrée/sortie standard pour obtenir les résultats finaux du PPA. .
L'ensemble de données initial est généré à l'aide de fichiers Verilog comme données brutes. OpenROAD effectue une synthèse logique et convertit ces descriptions de haut niveau en netlists, détaillant les connexions électriques entre les éléments du circuit.
L'outil de planification d'étage intégré d'OpenROAD utilise ensuite cette netlist pour configurer la disposition physique du circuit sur le silicium.
OpenROAD convertit la conception générée lors de la phase de planification de l'étage en fichiers LEF/DEF pour faciliter l'application d'algorithmes d'aménagement ultérieurs.
Dans le même temps, l'auteur a complété l'intégralité du processus de conception EDA via OpenROAD et généré des données, notamment la disposition, la synthèse de l'arbre de synchronisation et le câblage dans les étapes suivantes.
L'ensemble de données ChipBench contient toutes les boîtes à outils de conception nécessaires à chaque étape du processus de conception physique.
Lors de l'évaluation de l'algorithme pour la phase de mise en page, les fichiers de sortie de la phase précédente servent d'entrée à l'algorithme d'évaluation. L'algorithme traite ces fichiers d'entrée, génère les fichiers de sortie correspondants, puis intègre ces fichiers de sortie dans le flux de conception OpenROAD.
En fin de compte, l'ensemble de données rapportera des mesures de performances, notamment TNS, WNS, surface et consommation d'énergie, pour fournir une évaluation complète des performances de bout en bout.
Cette approche fournit un ensemble complet de métriques d'évaluation qui peuvent mesurer l'impact d'un algorithme d'étape spécifique sur l'effet final d'optimisation de la conception de la puce, garantissant ainsi la cohérence des métriques d'évaluation et évitant les limites liées au recours uniquement à des métriques simplifiées pour une seule étape.
Cette méthode d'évaluation facilite l'optimisation et le développement de divers algorithmes et garantit que les améliorations apportées aux algorithmes peuvent se traduire par de réelles améliorations des performances dans la conception des puces. Dans le même temps, grâce à un puissant cadre de test et d’amélioration, il favorise le développement d’outils EDA open source plus efficaces et efficients.
À l'aide du flux de travail ci-dessus, l'auteur a évalué divers algorithmes de disposition de puces basés sur l'intelligence artificielle, notamment SA, WireMask-EA, DREAMPlace, AutoDMP, MaskPlace, ChiPFormer et l'algorithme par défaut d'OpenROAD.
Les auteurs effectuent une évaluation de bout en bout de ces algorithmes et rapportent les mesures de performances finales.
De plus, les résultats de l'analyse de corrélation montrent que la corrélation entre MacroHPWL et les indicateurs de performance finaux est très faible, ce qui indique que l'optimisation de MacroHPWL a un impact très limité sur ces indicateurs de performance.
La corrélation de Wirelength avec WNS et TNS est également faible. Cela signifie que même si certains algorithmes à point unique parviennent à optimiser des indicateurs intermédiaires tels que Wirelength, ils ne peuvent améliorer qu'un certain aspect de l'indicateur PPA dans la mise en œuvre physique finale, mais ne peuvent pas l'optimiser complètement.
Il est donc nécessaire de trouver des indicateurs intermédiaires plus adaptés, mieux corrélés aux objectifs réels de l’APP.
Les résultats de l'évaluation de l'auteur révèlent l'incohérence entre les indicateurs intermédiaires soulignés par les algorithmes de mise en page courants actuels et les résultats de performance finaux. Ces résultats soulignent la nécessité de développer des algorithmes de mise en page dans une nouvelle perspective.
△Le pire chronogramme des différents algorithmes de mise en page
Adresse papier :
https://arxiv.org/abs/2407.15026
GitHub : https://github.com/MIRALab-USTC/ChiPBench
Ensemble de données :
https://huggingface.co/datasets/ZhaojieTu/ChiPBench-D