ENSSAT - EII3

TP de Systèmes sur Silicium (SOC)
 


Traduction et simulation de la DCT inverse en SystemC

Installation du TP

Modifiez votre fichier .cshrc en y écrivant la ligne suivante afin de configurer les outils Synopsys et BSS utilisés dans la suite du TP.

source /usr/local/synopsys/environ.csh

source /users/local/gaut/environ.csh

- Copiez le fichier DCT.tar à partir de http://r2d2.enssat.fr/enseignements/Cao/DCT.tar
- Décompressez le avec la commande : tar xfv DCT.tar
- Vous obtenez un répertoire DCTdans lequel vous vous placerez pour la suite de cette partie du TP.

1. Objectifs

La DCT inverse ayant été identifiée par le profiling comme un traitement critique du décodeur MPEG-2, il s’agit dans cette partie de l’extraire du code source en vue de le synthétiser. Pour cela, ce code doit être encapsulé dans un module SystemC et validé avant d’être transmis aux outils de synthèse.

Cette partie se concentre uniquement sur l’aspect encapsulation et simulation SystemC et occulte l’aspect synthèse, ce module étant trop complexe pour être synthétisé dans le cadre d’un TP de 4 heures.

2. Méthodologie

L’encapsulation de l’IDCT nécessite l’introduction de méthodes permettant de lire les Macroblocs, d’exécuter la transformation et de renvoyer les Macrobloc transformés. A ceci s’ajoute également une méthode chargée de réaliser les différentes initialisations utiles au traitement ainsi que deux nouvelles entités permettant d’envoyer des stimuli (données et contrôle) et de vérifier les résultats. Le système peut être modélisé de la manière représentée ci dessous.






Les fichiers nécessaires à cette modélisation sont inclus dans le fichier DCT.tar. Extrayez ces fichiers par la commande tar xvf DCT.tar. Vous allez générer les fichiers suivants :

3. Travail à réaliser

  1. Etudiez les fichiers évoqués précédemment et en particulier, décrivez le protocole de communication mis en place entre les différents modules. Le fichier Idct_fix.h, décrivant l’interface du module Idct est incomplet. Vous devez le modifier de manière a spécifier ces entrées/ sorties et les méthodes utilisées. Certaines d’entre elles devront être implémentées sous la forme de SC_CTHREAD et SC_METHOD. Justifiez les choix mis en œuvre, en tenant compte de la description des méthodes décrites dans le fichier Idct_fix.cc.
  2. Compilez la description (make) et lancez  la simulation par la commande IDCT.exe. L’exécution renvoie ces résultats sous deux formes.
  3. Vérifiez la fonctionnalité de votre design par l’intermédiaire de ces deux méthodes.