Développement de circuits et systèmes embarqués Michel MUR

publicité
Développement de circuits et
systèmes embarqués
Michel MUR
CEA/DSM/DAPNIA/SEDI
Systèmes sur puce
L’impact des FPGA
Quelques exemples
Méthodologie
Perspectives
[email protected]
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
1
Systèmes
électroniques
de l’ère
Post-PC »
Click
to edit Master
title «style
 Applications







Assistants numériques personnels (PDA)
Téléphonie mobile
Appareils photo numériques
Audiovisuel numérique fixe et portable, jeux
Biométrie
cartes à puce
Réseaux filaires/sans fil
 Besoins







Fonctionnalités croissantes
Puissance de calcul
Consommation réduite
Reconfigurabilité (adaptation aux standards)
Faible coût
Mise sur le marché rapide
Souci d’évolution (suivie des normes et standards)
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
2
Systèmes
Puce
(System
Chip)
Click tosur
edit
Master
titleOn
style
 Progrès technologiques


Nombre de transistors/puce: *2/2 ans
Fréquence d’horloge : *2/3ans (processeurs: *2/2 ans)
 Part croissante du traitement logiciel




Communication
Cryptage
Encodage/décodage
Logiciel radio
 Limitation des méthodes et outils de développement


Capacité d’intégration: *50 /10 ans
Capacité de conception: croissance 3 fois plus faible
 Architecture


Insertion de cœurs de processeurs prouvés
Insertion de blocs IP (Intellectual Property) prouvés



Développement de blocs propriétaires


Modules de traitement de signal
Modules d’entrée-sortie standard
Connexion sur interface interne prouvée
Réutilisation du logiciel
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
3
Systèmes
sur Master
puce : alternatives
Click to edit
title style
 ASIC
Applications grand volume





Performances
Consommation
Faible coût unitaire
Coût de développement élevé
Applications contraintes





Très basse consommation
Tenue aux radiations
Systèmes mixtes
Qualification spatiale
Systèmes forte puissance





Applications faible/moyen volume
Prototypage ASIC
Reconfiguration
Familles tolérantes aux radiations
Blocs performants





Caches, mémoire
IP
DSP
Mem
Proc soft
E/S
 FPGA
Processeur dur
E/S

E/S
Cœurs de processeurs (blocs durs) PowerPC, ARM
Interface bus interne CoreConnect, AMBA
Communications série Gbit/s (blocs durs)
Mémoires, opérateurs arithmétiques
Faible efficacité silicium


Coût unitaire élevé
Consommation
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
4
Exemples
d’applications
Click
to edit
Master titleFPGA
style
 Sonde de Test Usb Configurable: STUC



Personnalisation
Réutilisation
Coût
 D0 trigger 1: frontal calorimètre


Traitement de signal
filtrage numérique
 CMS Selective Readout Processor



Traitement rapide (convolution en place)
Liens de communications optiques multi-Gbit/s
Moniteur par processeur embarqué
 Antares, km3

Système sur puce: évolution du noyau d’acquisition
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
5
Sonde de Test
ClickUsb
to edit
Configurable
Master title(STUC):
style Concept
 Matériel




Carte mezzanine personnalisable, format carte de crédit
Connexion au circuit utilisateur par entrées/sorties flexibles FPGA
Alimentation progressive par USB
Synthèse d’horloges, ADC, …
STUC
m-contrôleur
PC (Hôte)
FPGA
Circuit utilisateur
Electronique en :
Interface humaine
Fichiers
Réseau
• Développement
USB
• Test
• Acquisition
(USB2.0 Hi Speed)
 Logiciel





Hiérarchie PC (C, C++) / Micro-contrôleur (C, assembleur) / FPGA (VHDL, …)
Configuration automatique (téléchargement contrôleur + FPGA)
Répartition de l’application en fonction de la performance attendue
Communication répartie sur flots USB indépendants (endpoints)
Support de modules multiples dans FPGA
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
6
Module
Click
STUC
to edit
: Générateur
Master titlede
style
stimuli
Stuc
FPGA
[Autres Modules]
PatGen
Mémoire Instructions
Cmnd
U
S
B
mC
OpCod OpVar
OpDat
Stuc Srvr
Mngr
Ai
Rply
JMP
@Aj
Pattern i
HLD
N
Pattern j
Sequenceur
Aj
PG Clk
Clk
Mux
Stimuli
Condition
Horloge
synthétisée
Div/n
Horloge externe
[Autres Modules]
 Programmation en assembleur, téléchargement et commande depuis PC
 Sauts, sous-routines & boucles imbriquées, attente & test conditionnels, …
 Génération jusqu’à ~200 MHz
 Applications: Emulation de protocoles, génération de signal arbitraire (avec
CNA rapide), séquenceur pour imageur CCD/IR
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
7
Applications
bancs
test
Click to editSTUC:
Master
titlede
style
Banc de test système
(Herschel SPIRE/SCU)
Banc de test de carte
(Herschel SPIRE/SCU)
Carte en test
Banc de validation
ASIC ATLAS-BiMux
USB
FPGA
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
8
Application
Click
STUC:
to editsystème
Master title
d’acq.
style
Tomo-EDF
 Collaboration avec CEA/DRT/LIST/DETECS/SSTM
 Instrumentation d’une conduite de réacteur nucléaire pour EDF


Mesure de la carte de température du fluide caloporteur
Mesure du champ de vitesse
 Tomographe d’émission gamma



Couronne de cristaux LSO
Photomultiplicateurs
Ampli filtre discri par ASIC SFE16 (développé pour CERN-COMPASS)
 Utilisation de STUC comme nœud d’acquisition




Configuration des SFE16 (64 canaux)
Balayage des seuils SFE16 et comptage (spectre obtenu par analyse)
Acq phase 1: Comptage simple au dessus d’un seuil
Acq phase 2: Mesure du temps au dessus du seuil (estim. énergie)
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
9
Traitement
Click
de signal:
to edit D0
Master
L1 Calorimeter
title style Trigger
D. Calvet, DAPNIA/SEDI
Système ADF
(Analog to Digital
converter and Filter)
•
•
Numérisation, estimation et transmission de ET à chaque croisement de faisceaux
(2560 canaux)
Délai ~1 µs
•
•
80 cartes ADF connectées à 8 cartes algorithme (TAB)
240 liens 2 Gbit/s
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
10
D0 L1 Trigger:
Clickcarte
to edit
A/DMaster
converter
title style
and filter (ADF)
 32 x (30 MHz ADC 10-bit + 15 MHz 8tap FIR filter + peak detector)
 3 ouptut links 2 Gbit/s; history buffers,
VME interface configuration/control
amplitude (LSB's)
12
 Algorithm: 8-tap matched filter; peakdetector turned off
10
8
raw
filtered
6
4
2
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
 Noise improvement and correct
identification of energy and time
position
 End-to-end latency: 0.87 µs to 1.23 µs
(depending on filter coefficients)
sample index
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
11
CMS ECal Selective
Processor
(SRP): système
Click toReadout
edit Master
title style
I. Mandjavidze, DAPNIA/SEDI
Front-ends
Partial trigger
primitives
Trigger Towers
108 TCC
L1 Trigger
L1 accept
Classification
flags: 3bit/TT
54 DCC
All event data
Input pipeline
delay of
6.4µs/RU
54 CCS
SRP
12 cartes
algorithme
L1 accept
L1 throttle
Read-out flags:
3bit/TT
TCC – Trigger Concentrator Card
DCC – Data Concentrator Card
CCS – Clock and Control System
SRP – Selective Read-out Processor
TCS – Trigger Control System
Selected
event data
HLT & DAQ
 108 entrées < TCCs
 54 sorties > DCCs
 Liens optiques 1.6 Gbit/s
M.Mur, La Colle sur Loup, 13 0ct. 2004
TCS
 Opération au taux du L1 (100 kHz)
 Temps de traitement < 4-5 µs
 Choix des algorithmes de sélection
Développement de circuits et systèmes embarqués
12
CMS
EcaltoSRP:
Board
(AB)
Click
editAlgorithm
Master title
style
P1
J0
P2
VME buffers
Power supply
Xilinx V2Pro
xc2vp70-6-ff1704
BS controller &
JTAG chain
Core FPGA
VME
Serial links
Algorithms
xcf32p PROMs
SNAP12 MSA pluggable
parallel optic modules
T
T
C
Rx
D
C
C
Tx
A
B
A
B
Rx
Tx
Clock synthesizers
TCS interface
QPLL
TTCrx
RJ45 connectors TrueLite Aux. connector
Cons., JTAG
TTS TTS TTS
O/E
Ethernet
IN IN OUT
Core FPGA
 20 transceivers 2.5 Gbit/s : 12 pour TCC / DCC links; 8 for liens AB-AB
 Processeur sur puce PowerPC 300 MHz : surveillance
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
13
CMS Click
Ecal SRP:
Communications
optiques
to edit
Master title style
 TCC-AB and AB-DCC links
TCC
Serializer
SFP
Tx
Individual
LC fibers
Distribution
modules
MTP fibers
Rx
AB
Up to 12
deserializers
SNAP12
DCC
SFP
Deserializer Rx
Tx
SFP – Small form factor pluggable
 AB-AB links
SNAP12 : 12 channel pluggable parallel optic
Passive optical cross-connect
SNAP12
Rx
AB3
SNAP12
Up to 12
Tx
Serializers
M.Mur, La Colle sur Loup, 13 0ct. 2004
Up to 12
serializers
Développement de circuits et systèmes embarqués
AB2
Up to 12
deserializers
14
Système
d’acquisition
Antares
Click
to edit
Master title
style
Exemple
Offshore
d’ANTARES
A terre
Câble
Electro-mécanique
(cas d’évaluation)
Nœuds
d’acquisition
 Offshore


Nœuds de
traitement
Acquisition en temps réel de ~2000
ASIC de numérisation
Réseau commuté Ethernet 100/1000 de
300 cartes processeur/FPGA/SDRam
 A terre







Calculs de déclenchement en temps
réel sur les données d’acquisition
Contrôle
de ligne
Ferme de ~100 stations PC-Linux
~10 lignes de détection (400 m)
~ 300 nœuds d’acquisition (30 / ligne)
~1000 photomultiplicateurs (3 / nœud)
~2000 sources de données à 20 Mb/s max
Système offshore réparti sur 30 000 000 m3
M.Mur, La Colle sur Loup, 13 0ct. 2004
Boîte de
jonction
Développement de circuits et systèmes embarqués
Détecteurs
Câble
électro-optique
Contrôle lent
Données
Horloge
Energie
15
Application
Cartetitle
DAQstyle
actuelle
Click toAntares:
edit Master
S. Anvar, H. Le Provost, DAPNIA/SEDI
FPGA
(600k gates)
Data from storey
(ASIC to digitalise)
Programmable
Logic
Processor
(Motorola MPC860P@80MHz)
Data
Processor
boot
RTOS
Slow
Control
Memory
Flash (4 MB)
Carte processeur
Data
Task
Slow
Control
Task
Memory
SDRAM (64 MB)
Slow Control for the Storey
Module de Contrôle
Local (LCM)
100Mb/s Ethernet Link
To shore station
Circuit Intégré frontal
(Analogue Ring Sampler)
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
16
Projet
intégrée
Click
tokm3:
edit Version
Master title
style
XILINX Virtex-2 Pro XC2VP40
Multiple TOT
ASIC
TOT Analysis/
Time Stamp
Buffer
Manager
Ref Clock
Processor
(IBM 405@400MHz)
PM signal
16 Mbit
FLASH
XILINX
Configuration
Data
Task
Slow
Control
Task
1Gb/s Ethernet Link
To shore station
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
Data
RTOS
Slow
Control
DDR Memory
(256 MB)
Slow-Control
for the Storey
17
Systèmes
spatiaux
Click to
edit Master
title style
 Processeurs …


Microcontrôleurs …
DSP 21020
 ASICs qualifiés

2000: Prédiffusés CMOS Rad Tol MHS/Temic/Atmel


Circuit traitement de bord INTEGRAL-SPI
2004: Précaractérisés Rad Tol Atmel 0.18 um, multiprojet
 FPGA

Actel Rad Tol, antifusibles, flip-flops durcis



Développements actuels Herschel
Nouvelle famille jusqu’à 2 million portes éqvt.
Xilinx VirtexII Qpro Rad Tol




Processeur « soft »
Jusqu’à 6 millions portes éqvt.
Système de redondance haut niveau
Reconfiguration après lancement …
 Croissance de la demande de traitement à bord

ECLAIRS


Détection à bord des sursauts gamma, alerte au sol
Gestion des mesures précédentes, zoom pour mesures postérieures
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
18
Système
puce:
Développement
Click tosur
edit
Master
title style
P. Kestener, H. Le Provost, DAPNIA/SEDI
Programme
(c/c++)
Description
du système
if (i==0)
then
IPs:
Serial Port
….
Couche
Ethernet
MAC…
OS
temps réel
Création du
noyau
Logique
spécifique
(VHDL,
verilog)
Process (clk)
Begin …
Système de développement
Non volatile
Memory
Simulation
Dynamic
Memory
Processor Bus
Network
Interface
Processor
Specific Logic
System On Chip
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
19
Résumé
Click to edit
Master title style
Maîtrise du développement

Co-design





Co-simulation




Recherche du partitionnement optimal matériel/logiciel
Description de tâches génériques
Allocation tardive
Langages uniformes (SystemC, …)
Modèle fonctionnel d’exécution du programme des processeurs
Spécialisation tardive des interfaces et transactions
Intégration et vérification des blocs IP
Portage des exécutifs temps réel

uLinux, VxWorks
 Contrôle du cycle du logiciel temps réel



Description en langage unifié
Test et validation sur machine générique
Déploiement sur cibles finales
 Accès aux blocs IP

Modèle commercial peu adapté
M.Mur, La Colle sur Loup, 13 0ct. 2004
Développement de circuits et systèmes embarqués
20
Téléchargement