Présentation de SocLib

Logo SocLib
 

SocLib est une bibliothèque libre (GPL), de composants (IP) pour la modélisation de SoC. Ces modèles sont écrit en écrite en C++ et SystemC.

SocLib est le résultat d'un travail collectif réalisé par un ensemble de laboratoires universitaires et industriels.

Les composants de cette bibliothèque disposent d'un modèle de haut niveau, écrit en SystemC, destiné à des simulations rapides.

Pour accélérer les simulations, les modèles SystemC sont écrits sous forme de machines à états de Moore ou Mealy, utilisant au maximum trois processus :

  • un processus synchrone sur front montant de l'horloge, stockant l'état interne du système (généralement nommée transition).
  • un processus synchrone sur front descendant de l'horloge, générant les sorties qui ne dépendent que de l'état interne de la machine de Moore (généralement nommé genMoore).
  • un processus synchrone sur front descendant de l'horloge et sensibles aux entrées, générant les sorties dans pourune machine de Mealy (généralement nommé genMealy).

Style de mdélisation dans SocLib

Les IP disponibles sont nombreuses, on peut citer:

  • processeurs
    • sparc V8
    • MIPS
    • lm32
    • ARM
    • PPC405
    • ...
  • caches
    • cache générique instruction/data séparées configurable
    • ... Réseau d'interconnexion
    • crossbar VCI configurable
    • Bus multiplexé WB
    • réseau virtuel, configurable en terme de latence et de débit maximal
    • ...
  • Mémoires
    • RAM simple
    • RAM multisegments, pouvant être pré-chargées directement à partir d'un fichier ELF
  • divers
    • un port série virtuel (TTY), pour faciliter les interactons lors des simulations
    • Une interface vers un serveur gdb
    • une table de routage pour le bus VCI
    • ...

La majorité des composants utilisent l'interface VCI Advanced (VCI: Virtual Component Interface). La documentation de référence de l'interface VCI est accessible localement ici:

/comelec/softs/opt/soclib/TPT/doc/VCI.pdf

mais l'étude détaillée de son fonctionnement n'est pas indispensable pour ce projet.

Vous pouvez trouver plus d'informations sur les éléments disponibles dans la bibliothèque SocLib sur http://www.soclib.fr.