
Outils open-source de RTL silicium et de simulation pour le SoC Baochip 1x, intégrant un processeur VexRiscv, une vérification basée sur Verilator, et une documentation pour le développement et le débogage matériels.
Ce dépôt contient les éléments open source du Baochip 1x. Ce dépôt se concentre sur les éléments matériels du Baochip 1x.
Les développeurs sont invités à consulter le SDK Rust officiel, situé dans le dépôt Xous. Il existe une extension vscode nommée baochip qui peut automatiser la construction et le flashage pour les cartes de développement officiellement supportées.
docs contient la source du livre Baochip 1x.rtl contient les éléments open source du RTL fabriqué (taped out).Vexriscv contient la configuration source pour le CPU Vexscripts contient des scripts d'aide pour la gestion du dépôtverilate contient les fichiers pour simuler un analogue RTL sous-ensemble du Baochip-1x en utilisant verilator.arty contient les fichiers pour construire des stubs SoC ciblant Arty-A7. Utile pour le débogage et le développement de futures extensions.La documentation extraite automatiquement à partir du RTL de ce dépôt a été téléchargée sur peripherals core cluster.
Ce dépôt tourne autour d'un artefact qui est fixe et non patchable. Par conséquent, la stratégie OSS typique consistant à « simplement mettre à jour vers HEAD » pour simplifier la gestion des versions ne s'applique pas.
tapeout-a0. Cela représente le point auquel le contenu du répertoire rtl correspond exactement à ce qui a été livré pour le tapeout.main est de faire évoluer les outils de simulation et la documentation autour de l'artefact rtl. L'artefact rtl perd de sa valeur s'il diverge fonctionnellement de ce qui se trouve réellement dans une puce. Ainsi, les futures demandes de fonctionnalités et corrections de bugs doivent être placées dans une branche différente ou un fork du dépôt.main suivra la dernière révision de puce, mais les branches tapeout-* précédentes contiendront des instantanés du répertoire rtl correspondant à l'ancienne révision de puce, permettant aux utilisateurs d'anciennes révisions de puce d'exécuter des outils de simulation/génération de documentation sur les anciennes révisions.La numérotation des révisions de puce prend la forme XY où X est un caractère alphabétique et Y un caractère numérique. Le caractère alphabétique représente un full-mask set ; le caractère numérique représente un metal-mask ou un final-test repair stepping.
