SUNDANCE Multiprocessor Technology Ltd. Yann CLIN Stage effectué de février à juin Superviseur technique: Jocelyn SEROT Superviseur industriel: Emmanuel PUILLET Debug, Adaptation de Design, Test et Validation de la carte SMT336
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
1.2- Organigrammes 1.1- Domaines de production de Sundance 1- Présentation de Sundance
1.2- Organigrammes 1.1- Domaines de production de Sundance 1- Présentation de Sundance
Sundance Technology Ltd.
1.1 Domaines de production de Sundance Le traitement des signaux numériques Les interfaces vidéo numériques Les plates-formes de traitement à base de DSP Les systèmes reconfigurables Les systèmes multiprocesseurs de traitement parallèle
1.2- Organigrammes 1.1- Domaines de production de Sundance 1- Présentation de Sundance
1.2 Organigrammes Tony Parkinson Test Engineer Team T Flemming Christensen Managing Director
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
2 types de cartes : Les cartes mères Sundance (PCI)
2- Présentation du sujet Les modules SMT 335SMT 336 Fabriquée en 1999 Prototype
2- Présentation du sujet Adapter la procedure de boot existante de la SMT335, pour la SMT336 Adapter le design VHDL de la SMT335, pour la SMT336 Tester et valider toutes les interfaces de communication
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
3- Les liens de communication SDB Global Bus PC PCI Bus Comport
3- Les liens de communication 3.2- Description générale de l’interface Comm-Port 3.1- Description générale de l’interface SDB 3.3- Description générale du Global Bus
3- Les liens de communication 3.2- Description générale de l’interface Comm-Port 3.1- Description générale de l’interface SDB 3.3- Description générale du Global Bus
3.1- Description générale des SDB Bus de 16 bits de données Transmission synchrone a 200Moctets/s Interface uni ou bi-directionnelle Utilisé pour les transferts haut débit entre modules
3- Les liens de communication 3.2- Description générale de l’interface Comm-Port 3.1- Description générale de l’interface SDB 3.3- Description générale du Global Bus
3.2- Description générale des Comm-Port Media pour transmettre 8 données en parallèle qui respecte le protocole de communication C4x établi par TI. 4 signaux de control pour une communication asynchrone et bi-directionnelle Transfert de 20Moctets/s maximum Utilisé pour les transferts de signaux de contrôle, ou données système
3- Les liens de communication 3.2- Description générale de l’interface Comm-Port 3.1- Description générale de l’interface SDB 3.3- Description générale du Global Bus
3.3- Description générale du Global BUS Interface mémoire qui respecte le protocole de communication C4x (Bus externe) établi par TI. Bus de 32 bits de données Transmission synchrone a 100Moctets/s maximum Utilisé pour envoyer et recevoir des données du PC
3- Les liens de communication
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
4-Les cartes utilisées pour mon design 4.1- SMT SMT SMT336
4-Les cartes utilisées pour mon design 4.1- SMT SMT SMT336
4.1- SMT320 C’est une des “carte mère” de Sundance : Se connecte sur le PCI Possède 4 sites pour insérer les TIMs ( Texas Instrument Module )
4.1- SMT320
4-Les cartes utilisées pour mon design 4.1- SMT SMT SMT336
4.2- SMT335 Un DSP TMS320C6201 fonctionnant a 200MHz, 16.5 Mo de mémoire (SBSRAM + SDRAM) ainsi que 1 Mo de Flash ROM, Un FPGA Virtex comprenant 6 Comm-ports, 1 Global Bus, 2 ports pour l’interface SDB a 200 Moctets/s
4.2- SMT335
4-Les cartes utilisées pour mon design 4.1- SMT SMT SMT336
Un DSP TMS320C6203b fonctionnant a 300MHz, 32 Mo de mémoire SDRAM, Un FPGA Virtex-E 600 comprenant 6 Comm-ports, 2 ports pour l’interface SDB a 200 Moctets/s, 1 GB 2 FPGA Virtex-E 300, pour 2 interfaces SDB 2 Mo de Mémoire Flash ROM,
4.3- SMT336 FPGA Virtex primaire SDRAM FPGA Virtex-E secondaires DSP Mémoire Flash au dos de la carte
Composant de la SMT336 FPGA Virtex-E XCV600E Plus rapide ( >300Mhz). Plus de block Select Ram. 8 DLL à la place de 4. Voltage de 1.8V à la place de 2.5V (faible consommation). 32 Mo de SDRAM (à 166 Mhz) 2 Mo de mémoire Flash ROM
Composant de la SMT336 DSP TMS320C6203b Fréquence max de 300 Mhz Instructions de 32 bits/cycle 6 ALU (40 bits) 2 multiplieurs de 16 bits Calcul en virgule fixe
DSP addresses Data FIFO SDB FIFO Global Bus FIFO Comport Décodeur d’adresses FPGA SDRAM FLASH ROM External Memory Interface (EMIF)
Memory spaceResourceAddress range Internal program memory0x CE0Virtex0x x013FFFFF CE1Flash0x x017FFFFF Internal peripherals0x CE2SDRAM bank 00x x02FFFFFF CE3SDRAM bank 10x x03FFFFFF Internal data memory0x
Différences entre la SMT335 et la SMT336 BOARDSMT335SMT336 FPGA (primary)XCV300EFG256XCV600EFG656 DSPTMS320C6201 (200Mhz)TMS320C6203b (300Mhz) SDRAM16 Mbytes at 100 Mhz32 Mbytes at 166 Mhz Fast SBSRAM512 KbytesNone Flash PROMFlash 8 bits KbyesFlash 16 bits - 2 Mbyes BoardFPGASystem Gates Logic Cells User I/OBlockRam bits SMT335XCV300322,9706, ,536 SMT336XCV600E985,88215, ,912
PLAN 3- Les liens de communication utilisés à Sundance 4- Les cartes utilisées pour mon projet 9- Conclusion 6- La gestion de projet 1- Présentation de l’entreprise 5- Adaptation du design de la SMT335 pour la SMT Résultats du projet 8- Comparaison entre Xilinx et Altera 2- Présentation du sujet
5- Adaptation du design de la SMT335 pour la SMT Partie Hardware 5.1- Partie Software 5.4- Corrections du PCB 5.3- Test Réel
5- Adaptation du design de la SMT335 pour la SMT Partie Hardware 5.1- Partie Software 5.4- Corrections du PCB 5.3- Test Réel
Code Composer Studio II 5.1- partie Software Procédure de boot de la SMT336
5.1- partie Software Code Composer Studio II Procédure de boot de la SMT336
Code Composer Studio II
Accès direct et contrôle du microprocesseur par la chaîne JTAG Le DSP est le seul composant sur la chaîne JTAG Debugage facile, mode pas-à-pas à travers les programmes chargés dans le DSP Utilise l’EMIF interface pour accéder au composants
CE2SDRAM bank 00x x02FFFFFF Code Composer Studio II Mapping mémoire défini Possibilité d’accéder a tous les composants, FPGA, DSP,FLASH, SDRAM
5.1- partie Software Code Composer Studio II Procédure de boot de la SMT336
Procédure de boot Flash.out Internal memory
Reset de la carte (SMT320 and SMT336) Génération d’un reset pour initialiser la carte SMT336:
Procédure de boot Internal memory
Modifications du boot Code en C Mapping mémoire différent (CE) Modification de l’accès en C a la Flash (16 bits au lieu de 8 bits)
Récapitulatif de la partie Software Etude du fonctionnement du DSP (EMIF, configuration registers) Compréhension du boot code de la SMT336 Modification et adaption de ce boot code pour la SMT336
5.2 Hardware Flot de Conception Modification du VHDL, et résolution des problèmes temporels
5.2 Hardware Flot de Conception Modification du VHDL, et résolution des problèmes temporels
Flot de conception Test matériel Code Composer II: Chargement de la configuration Contraintes temporelles matérielles Contraintes temporelles de post-synthèse Design manager: placement/routage EPD Innoveda: Simulation temporelle FPGA Express: synthèse EPD Innoveda: Simulation fonctionnelle Écriture VHDL
EPD Innoveda VHDL Manager pour la gestion des fichiers VHDL View Draw pour la conception au niveau porte State CAD pour la création et génération de FSM Fusion Speed-Wave pour la simulation
FPGA Express 1- Entrée VHDL Contraintes temporelles et physiques relatives a la conception Fichier au format Xilinx VHDL verilognetlist 2- Analyse du code source 3- Synthèse en éléments logiques 4- Optimisation selon les options choisies 5- Permet une analyse temporelle
Design Manager ContraintesNetlist Traduction Tracé Placement/ Routage Configuration Simulateur
Modification du VHDL, et résolution des problèmes temporels Modifications du VHDL Synthèse du Design Implementation du design: contraintes temporelles
Modifications du VHDL Division de la clock du design pour l’interface SDB Création d’un process pour diviser la clock 150MHz par 2. Possibilité d’instancier une DLL pour diviser par 1,5. Suppression et additions de signaux pour adapter le design Addition d’un signal “RDY<=‘1’ suite à une erreur PCB
Synthèse du Design Optimisé pour la vitesse Effort maximum Ne pas préserver la hierarchie
Préserver ou ne pas préserver la hierarchie? Facilité de retrouver les nets posant problème Timing optimisé Solution utilisée : ne pas préserver la hierarchie
Implementation du design: contraintes temporelles FPGA Express génère un fichier.ncf (Netlist Constraint file) Possibilité de créer un fichier.ucf (User contraint file), prioritaire sur le ncf, qui contiendra les allocations des pins, ainsi que les contraintes de temps. Pour ce design, le fichier ncf n’a pas été utilisé.
Timing Analysor Contraintes rouges : Contraintes spécifiées, non respectées
Constraints Editor Q Q SET CLR S RQ Q SET CLR S R Input output clk Contrainte non respectée (11ns au lieu de 6.6 ns)
FPGA Editor Possibilité de voir une net spécifique, de connaitre son délai, ainsi que son driver Possibilité de bouger ou de swapper les CLBs
Recapitulatif de la partie Hardware Modification du VHDL : peu de différences entre la SMT335 et la SMT336 Synthèse du design : option identique, mais fréquence du design différente (150 MHz au lieu de 100 MHz) Contraintes de temps: la partie la plus importante du projet, beaucoup de contraintes non respectées
5.3- Test Réel Test de l’interface SDB Test de l’interface Comport Test de l’interface Global Bus
5.3- Test Réel Test de l’interface SDB Test de l’interface Comport Test de l’interface Global Bus
Test de l’interface SDB
Automatique: en utilisant les “Test Software” de Sundance Programme C chargé dans le DSP, qui va écrire et lire dans les FIFO SDBs Bidirectionnel
Test de l’interface SDB Manuellement: en lisant et en écrivant directement dans les FIFOs des SDBs FIFO SDBA FIFO SDBB Status SDBA Status SDBB
Test de l’interface SDB
5.3- Test Réel Test de l’interface SDB Test de l’interface Comport Test de l’interface Global Bus
Test de l’interface Comport Meme procédure que pour le test de l’interface SDB : Automatiquement, avec le “Test Software” approprié Manuellement, en lisant et en écrivant dans les FIFOS comport
5.3- Test Réel Test de l’interface SDB Test de l’interface Comport Test de l’interface Global Bus
Transfert de données depuis un module (SMT336) vers le PC, et inversement Allocation d’un espace mémoire dans le PC
Recapitulatif de la partie Test Réel Toutes les interfaces de communication en VHDL ont été testées et validées Le firmware du FPGA a donc été validé et numéroté: Top336 version 1.0
5.4- Modification du PCB (Cadstar 4.0) Problème de Pull-up pour le bootcode du DSP (XD[4:0]) Problème de SDB, pin 1 et pin 2 inversées Problème de Pull-down sur certains bits du registre XD du DSP Mauvais package pour la SDRAM, 143 MHz au lieu de 166 MHz
6- Gestion de projet 6.1- WBS 6.2- Gant
6- Gestion de projet 6.1- WBS 6.2- Gant
6.1- WBS Software (DSP, Code C) Méthode de Co Design Spécification des limites Hardware/Software Hardware (Flot de conception, FPGA, VHDL) Test Réel
6- Gestion de projet 6.1- WBS 6.2- Gant
6.2- GANT
7- Résultats du projet Le boot-code est fonctionnel, tout les éléments de la carte sont initialisés Problème temporels résolu dans le FPGA Interfaces de communication validées, firmeware du FPGA validé Manuel d’utilisation de la carte, Documentation pour la modification du PCB A FAIRE : instantier une DLL pour la clock des SDB (diviser par 1,5) et implémenter les FPGAs secondaires
Comparaison Xilinx Altera Pour les CPLD (XCV9500 et MAX7000) : semblables Pour les logiciels : Web Pack chez Xilinx et Max2plus chez Altera Le Web Pack permet de procéder etape par étape dans la réalisation du design. Maxplus2 est plus facile d’utilisation, mais options de synthèse moins clair que le Web Pack
Conclusion Plan Technique Plan personnel
Sundance Multiprocessor technology Ltd Powered by