Upload
keely
View
65
Download
8
Tags:
Embed Size (px)
DESCRIPTION
SUNDANCE Multiprocessor Technology Ltd. Debug, Adaptation de Design, Test et Validation de la carte SMT336. - PowerPoint PPT Presentation
Citation preview
SUNDANCEMultiprocessor Technology Ltd.
Yann CLIN Stage effectué de février à juin 2002. 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 SMT336
7- 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 SMT336
7- 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
David MilsomProd. Manager
A Body'Helper'
Chris HamblinProd. Ass.
Julie PileProd. Ass.
Team P
Marketing
Mark AinsworthQuality Manager
Balbir MiddaQA Assistance
Production Team
Sina SeyfollahiTest Manager
Lynn CrawleySales
Administration
Balbir MiddaTest Engineer
Sales
An OtherInternal Sales
A BodySales Manager
FCMarCom Director
Quality Team
David MilsomProduction Director
Justin WheatleyWEB Manager
Chris HamblinInternal WEB
Designer
XYZExternal WEB
A Body'Helper'
Lynn CrawleyProduction
Administration
XZYAssembling
Justin WheatleyIT Manager
Ben LowellSystem Adm
IT Team
FCSales Director
FCQA Director
David MilsomIT Director
A BodyMarCom Manager
SundanceSales Offices
Legend:Blue = Extrernal Contractor.
Red = External possible vacancy.Purple = Internal possible vacancy.
Green = Sundance 'Clones'
Tony ParkinsonTest Engineer
Team T
Flemming ChristensenManaging Director
Flemming ChristensenManaging Director
Team F
Research & Development
Justin WheatleySystem Manager
Emilie AlvinJr. Design Eng.
Jeremie VeyretDesign Engineer
CAD SerivcesExternal
Contractor
Graeme ParkerR&D Manager
Team J
Team G
FCTechnical Director
Parsec DesignExternal Design
Peter RobertsonSoftware Manager
3LExternal
Contractor
Steve CarpenterExternal Design
Lynn CrawleyAccountant
Team M
David MilsomFinans Director
Team E
Emmanuel PuilletFPGA Manager
AVT Ltd.External
Contractor
ATTExternal Design
Hendri VeldmanSoftware Engineer
Aura MercedesJr. Design Eng.
RostaExternal
Contractor
Philippe RobertDesign Engineer
Yann ClinJr. Desing Eng,
XYZExternal
Contractor
Legend:Blue = Extrernal Contractor.Red = External possible vacancy.Purple = Internal possible vacancy.Green = Sundance 'Clones'
Emmanuel PuilletFPGA Manager
Flemming ChristensenManaging Director
Team F
Research & Development
Justin WheatleySystem Manager
Emilie AlvinJr. Design Eng.
Jeremie VeyretDesign Engineer
CAD SerivcesExternal
Contractor
Graeme ParkerR&D Manager
Team J
Team G
FCTechnical Director
Parsec DesignExternal Design
Peter RobertsonSoftware Manager
3LExternal
Contractor
Steve CarpenterExternal Design
Lynn CrawleyAccountant
Team M
David MilsomFinans Director
Team E
AVT Ltd.External
Contractor
ATTExternal Design
XYZExternal
Contractor
Hendri VeldmanSoftware Engineer
Aura MercedesJr. Design Eng.
RostaExternal
Contractor
Philippe RobertDesign Engineer
Yann ClinJr. Design Eng,
Legend:Blue = Extrernal Contractor.Red = External possible vacancy.Purple = Internal possible vacancy.Green = Sundance 'Clones'
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 SMT336
7- Résultats du projet
8- Comparaison entre Xilinx et Altera
2- Présentation du sujet
2- Présentation du sujet
2 types de cartes :
Les cartes mères Sundance (PCI)
2- Présentation du sujet Les modules
SMT 335 SMT 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 SMT336
7- 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
PRIMARY FPGA XILINX VIRTEX-EXCV600E
Com
port 5
Com
port 0
Com
port 1
Com
port 2
Com
port 3
Com
port 4
SDBASDBBGlobal BUS
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 SMT336
7- 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- SMT320
4.2- SMT335
4.3- SMT336
4-Les cartes utilisées pour mon design
4.1- SMT320
4.2- SMT335
4.3- SMT336
4.1- SMT320
C’est une des “carte mère” de Sundance :
Se connecte sur le PCIPossède 4 sites pour insérer les TIMs (Texas Instrument Module)
4.1- SMT320
4-Les cartes utilisées pour mon design
4.1- SMT320
4.2- SMT335
4.3- 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- SMT320
4.2- SMT335
4.3- SMT336
4.3- 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
DSPaddresses
Data
FIF
O S
DB
FIF
O G
lobal Bus
FIF
O C
omport
Décodeur d’adresses
FPGA
SD
RA
M
FL
AS
H R
OM
External Memory Interface (EMIF)
External Memory Interface (EMIF)Memory space Resource Address range
Internal program memory 0x00000000 -
CE0 Virtex 0x00400000 - 0x013FFFFF
CE1 Flash 0x01400000 - 0x017FFFFF
Internal peripherals 0x01800000 -
CE2 SDRAM bank 0 0x02000000 - 0x02FFFFFF
CE3 SDRAM bank 1 0x03000000 - 0x03FFFFFF
Internal data memory 0x80000000 -
Différences entre la SMT335 et la SMT336
BOARD SMT335 SMT336
FPGA (primary) XCV300EFG256 XCV600EFG656
DSP TMS320C6201 (200Mhz) TMS320C6203b (300Mhz)
SDRAM 16 Mbytes at 100 Mhz 32 Mbytes at 166 Mhz
Fast SBSRAM 512 Kbytes None
Flash PROM Flash 8 bits - 512 Kbyes Flash 16 bits - 2 Mbyes
Board FPGA System Gates
Logic Cells
User I/O BlockRam bits
SMT335 XCV300 322,970 6,912 316 65,536
SMT336 XCV600E 985,882 15,552 512 294,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 SMT336
7- Résultats du projet
8- Comparaison entre Xilinx et Altera
2- Présentation du sujet
5- Adaptation du design de la SMT335 pour la SMT336
5.2- 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 SMT336
5.2- Partie Hardware
5.1- Partie Software
5.4- Corrections du PCB
5.3- Test Réel
5.1.1- Code Composer Studio II
5.1- partie Software
5.1.2- Procédure de boot de la SMT336
5.1- partie Software
5.1.1- Code Composer Studio II
5.1.2- Procédure de boot de la SMT336
5.1.1- Code Composer Studio II
5.1.1- 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
CE2 SDRAM bank 0 0x02000000- 0x02FFFFFF
5.1.1- 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
5.1.1- Code Composer Studio II
5.1.2- Procédure de boot de la SMT336
5.1.2- Procédure de boot
FPGAVIRTEX E SLAVE SERIAL MODE
JTAG from PCIinterface
Controlled by CodeComposer
JTAG connectionSMT336
DSP
EM
IF IN
TE
RFA
CE
FLASH PROM
BOOT CODE
User Program
FPGA BIT STREAM
FLASH STRUCTURE
Flash.outInternal memory
Reset de la carte (SMT320 and SMT336)
Génération d’un reset pour initialiser la carte SMT336:
5.1.2- Procédure de boot
FPGAVIRTEX E SLAVE SERIAL MODE
JTAG from PCIinterface
Controlled by CodeComposer
JTAG connectionSMT336
DSP
EM
IF IN
TE
RFA
CE
FLASH PROM
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
5.2.1- Flot de Conception
5.2.2- Modification du VHDL, et résolution des problèmes temporels
5.2 Hardware
5.2.1- Flot de Conception
5.2.2- Modification du VHDL, et résolution des problèmes temporels
5.2.1- 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 VHDLContraintes temporelles et physiques relatives a la conception
Fichier au format Xilinx
VHDL verilog netlist
2- Analyse du code source3- Synthèse en éléments logiques4- Optimisation selon les options choisies5- Permet une analyse temporelle
Design ManagerContraintes Netlist
Traduction
Tracé
Placement/Routage
Configuration
Simulateur
5.2.2- 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?
Q
QSET
CLR
S
R
Q
QSET
CLR
S
R
In_blockA
out_blockB
CLK
Block B
Block A
BLOCK C
Net_A_B
PRESERVE HIERARCHY
Q
QSET
CLR
S
R Q
QSET
CLR
S
R
In_blockAout_blockB
CLK
BLOCK C
DON’T PRESERVE HIERARCHY
Net_$129
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
QSET
CLR
S
R Q
QSET
CLR
S
R
Input output
clk
Contrainte non respectée(11ns au lieu de 6.6 ns)
Q
QSET
CLR
S
R Q
QSET
CLR
S
R
Input output
clk
Group 1 Group 2
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
5.3.1- Test de l’interface SDB
5.3.2- Test de l’interface Comport
5.3.3- Test de l’interface Global Bus
5.3- Test Réel
5.3.1- Test de l’interface SDB
5.3.2- Test de l’interface Comport
5.3.3- Test de l’interface Global Bus
5.3.1- Test de l’interface SDB
5.3.1- Test de l’interface SDB
Automatique: en utilisant les “Test Software” de Sundance
DSP 6203
SDBA SDBB
INPUT FIFO
OUTPUT FIFO
OUTPUT FIFO
INPUT FIFO
Programme C chargé dans le DSP, qui va écrire et lire dans les FIFO SDBs
Bidirectionnel
5.3.1- Test de l’interface SDBManuellement: en lisant et en écrivant directement dans les FIFOs des SDBs
FIFO SDBA
FIFO SDBB
Status SDBA
Status SDBB
5.3.1- Test de l’interface SDBDSP 335 DSP 336
TDO
TDI
5.3- Test Réel
5.3.1- Test de l’interface SDB
5.3.2- Test de l’interface Comport
5.3.3- Test de l’interface Global Bus
5.3.2- 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
5.3.1- Test de l’interface SDB
5.3.2- Test de l’interface Comport
5.3.3- Test de l’interface Global Bus
5.3.3- 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
DSP FPGAG
LOB
AL
BU
SIN
TE
RF
AC
E
PCI BUSEMIF GLOBAL BUS
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ésProblè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