Transparents

publicité
Ethernet Interface
M. Taurigna, ,D. Charlet C. Paillé
But de la R & D : Intégrer un interface Ethernet dans un FPGA avec le minimum de composant externes. Il
pourra être implanté sur les différentes cartes de tests du service ainsi que pour l'acquisition de données sur des cartes
front-end.
Support financier : LAL
Shedule du projet : Fin 2012
Moyen mis en œuvre : Carte évaluation ALTERA à base
1) de Cyclone III A3C25
2) SRATIX II EP2SGX90
3) STRATIX IV.
Objectif : Implémenter les fonctions Ethernet de base, nécessaire pour autoriser des transactions entre un ordinateur
et FPGA, sur un réseau local.
Architecture : Implémentation d'un processeur pour la gestion des différentes fonctions.
1
Ethernet : principes de base
ETHERNET : Protocole de réseau local à commutation de paquets
Couche ISO
1) Physique : Transmission des donnés sous forme binaire (phy gestion hardware)
2) Liaison : Adresse physique MAC (Media Access control)
3) Réseau : Determine le parcours des données et l'adresse physique (protocole
IPV4,IPV6, ARP, ICMP....)
4) Transport Connexion bout a bout (UDP, TCP, …)
5) Session
6) Présentation
7) Application (FTP, HTTP, Telnet,....
Trame Ethernet
Longueur : 64 < nb octet < 1536 (taux de transfert maximum)
Max 64k => fragmentation.
Jumbo frame max 9k.
CRC non obligatoire (crc inclue dans le header en IPV4.
2
Ethernet : Réseau fonction de base
Couche réseau
1) ARP : Address Resolution Protocol (traduction MAC adresse à l' adresse IPV4)
2) IPV4 (Internet Protocol IP)
3) ICMP : Internet controle message protocole (routage, relayage, controle de flux)
encapsuler dans un datagrame IP ex de cde Ping
Encapsulation
IP datagramme
3
Ethernet : Transport fonction de base
Couche transport
1) UDP :User Datagramme Protocol : Transmission simple entre 2 entités définis par
leur adresse IP (encapsuler dans un paquet IP,sans négociation => sans garantie de
livraison
2) TCP : Transmission Control Protocol : Inclus un certain nb de mécanismes qui vont
assurer l' intégrité du transfert des donnée. (ordonnancement des segments, contrôle
de flux, numéro de séquence et acquittement, gestion congestion,....)
Datagramme UDP
Datagramme TCP
4
Ethernet : Réalisation Hardware 1
Internal transceiver
Utilisateur
Ethernet
Memory
SGDMA
MAC
TSE
SGMII
FPGA :
Stratix IV
Flash
Marvell,NS,..
CPU
NIOS
QDR/DDR
(Optionnelle)
Program
Memory
Resource : Alut s 9K
Register 9K
Memory : Ethernet 64kB
Program 226KB + xxxKB
(Interne ou externe )
PHY
5
Ethernet : Réalisation Hardware 2
6
Ethernet : Réalisation Sofware 1
Version base : Utilisation de programmes fournis : Altera et société tierces
Implémentation : 1) d'un noyau temps réel Linux (micro C linux)
2) des drivers pour les différents modules (TSE,SGDMA,...
3) du software de gestion de la couche réseau (Niche Stack).
Avantages :

autorise l'implémentation de la couche application (telnet, ssh, montage
nfs,...
Inconvénients :

Lent (10 % de la valeur max théorique)

Nécessite plus de mémoire programme ~ 500Kbyte
Version UDP_Monique : ré-écriture du programme de gestion de la couche réseau.
Avantages :

Rapide 110MByte/s en lecture écriture

Moins gourmand en mémoire ~ 250Kbyte.
Inconvénients :

Pas de protection sur les transferts, nécessite des programmes spécifiques
coté PC (contrôle de flux).

transfert bidirectionnel lent.

Pas de multi-tache (pour conserve la vitesse de transfert)
Ethernet : Réalisation Sofware 2
Version “mixte” : UDP FPGA → PC et TCP PC → FPGA
Avantage :

vitesse de transfert maximum FPGA vers PC.

Fiabilité des transferts PC vers FPGA.
Inconvénient :

Taille de la mémoire programme (si implanté dans la
mémoire interne)
Outils mis en oeuvre : Eclipse NIOS SBT (Equivalent de QUARTUS
pour le software)
8
Ethernet : Conclusion
Limitations :

Programmation “linéaire” mono tache.

Débit maximum pour des transfert mono directionnel.

Programme «UDP_Monique» limité au fonction minimum : ARP,ICMP(ping),
UDP.

Débit maximum nécessite une horloge CPU à 200MHz (FPGA de dernière
génération
Problème de mise en œuvre :

Firmware fournis par ALTERA liés a une version dédiée de QUARTUS (portage
compliqué)

Structure complexe pour obtenir les débits requis.
Prochaine étape :

Test pour évaluer la taille minimum de la mémoire programme.

Passage SOPC vers QSYS

Portage sur Q12

Insertion CRC hardware

Portage sur FPGA bas coup (cyclone IV)
9
Ethernet Interface
M. Taurigna, ,D. Charlet C. Paillé
But de la R&D: Intégrer un interface Ethernet dans un FPGA avec le minimum de composant externes. Il pourra être
implanté sur les différentes cartes de tests du service ainsi que pour l'acquisition de données sur des cartes frontend
Support finacier : LAL
Schedule du project: fin 2012
Protocoles implantés:
1) TransmissionControlProtocol : C'est un Protocole fiabilisé mais complexe
dans sa mise en œuvre et qui nécessite un applicatif local, ce qui implique
l'implémentation d'un processeur (niosII). La constitution de la trame ce
fait en software. Ce protocole sera utilisé pour les cartes de test car il offre
toute la richesse du protocole
2) UserDatagramProtocol : Principalement utilisé pour transfert de
données entre 2 points. La constitution de la trame est gérée en hardware,
(header, calcul src,..). Ceci afin d'atteindre les taux de transferts maximum.
Project status: Le protocole TCP à été intégré sur une carte d'évaluation à base de Cyclone III  débit = 8MOct/s .
Next steps :
•Évolution de l'architecture TCP ALTERA actuelle fin d'améliorer les débits et portage sur différent type de FPGA
•Implémentation du protocole UDP.
D. Charlet, Seillac 2012
10
Téléchargement