2017-08-28 2 views
2

J'essaie de me familiariser avec RISC-V ISA et Rocket Chip. J'ai mis le CONFIG=DefaultSmallConfig et généré le code Verilog en utilisant la commande make verilog dans le répertoire vsim. J'ai quelques questions sur les sorties et comment synthétiser le système en utilisant Design Compiler (DC).Comment synthétiser un système Rocket?

  1. Comment puis-je supprimer les ports et les fils liés au débogage? J'ai seulement besoin de synthétiser le noyau et ses périphériques, pas les modules/fils liés au débogage.

  2. Le module de niveau supérieur ExampleRocketSystem? Je dois définir current_design en DC et j'ai besoin de savoir ce qu'est le module de plus haut niveau.

  3. A part le fichier de sortie freechips.rocketchip.system.DefaultSmallConfig.v, de quoi ai-je besoin pour exécuter une synthèse CC complète? En supposant que j'utilise le fichier Verilog de sortie et aucun autre fichier pour la synthèse DC, je reçois beaucoup de références et de registres non résolus qui sont supprimés en raison de leur constante. Qu'est-ce que j'oublie ici?

Répondre

2

1) Il est difficile de supprimer les ports de débogage en général et je ne sais pas comment le faire proprement. Il est également intéressant de noter que si vous n'incluez pas de périphérique pour démarrer, vous devrez garder le port de débogage pour vous aider à charger les programmes de test.

2) Oui ExampleRocketSystem est le module de niveau supérieur

3) Vous aurez besoin d'une mise en œuvre des mémoires utilisées dans votre conception aussi bien. Par défaut, vous devriez avoir un fichier *.behav_srams.v dans généré-src qui a un modèle de comportement verilog simple des béliers que vous pouvez inclure et qui devrait se transformer en un groupe de flip-flops dans DC. Si vous avez accès aux SRAM, vous devrez probablement remplacer ces flip-flops par ceux-là.

4) Vous ne devriez pas obtenir de références non résolues, mais il est raisonnable de supprimer les registres en raison de leur constante.