Signaux Avalon-MM/Avalon-ST, handshakes et intégration dans Platform Designer.
Platform Designer utilise Avalon pour relier les IP. Avalon-MM transporte les accès aux registres et mémoires ; Avalon-ST transporte les flux audio, vidéo ou réseau. La famille comprend aussi les interfaces d'interruption, d'horloge et les conduits pour les signaux personnalisés.
Distinguer commande et retour de lecture
Signal
Direction (Maître)
Description
address
Sortie
Adresse ; unité définie dans les propriétés
read
Sortie
Demande de lecture
write
Sortie
Demande d'écriture
readdata
Entrée
Données lues (esclave → maître)
writedata
Sortie
Données écrites (maître → esclave)
byteenable
Sortie
Masque d'octets actifs
waitrequest
Entrée
L'esclave demande d'attendre
readdatavalid
Entrée
(pipeline) Les données lues sont valides
Dans le cas de base, avec waitrequestAllowance = 0, le maître maintient la commande et l'adresse tant que waitrequest est haut. Pour une écriture, il maintient aussi les données et les voies actives.
Un esclave à registres sans attente garde waitrequest bas et fournit les lectures avec la latence déclarée, qui peut être zéro pour une lecture combinatoire. Si la réponse arrive plus tard, readdatavalid peut indiquer sa validité indépendamment de l'acceptation de nouvelles commandes. waitrequest contrôle cette acceptation.
Respecte byteenable lorsque l'interface autorise les accès partiels. Une IP limitée aux mots complets doit déclarer et faire respecter cette restriction ; ignorer un masque partiel écraserait d'autres octets.
Transférer un flux
Signal
Direction (Source)
Description
data
Sortie
Données du flux
valid
Sortie
Les données sont valides
ready
Entrée
Le récepteur peut accepter
startofpacket
Sortie
Premier beat d'un paquet
endofpacket
Sortie
Dernier beat d'un paquet
empty
Sortie
Symboles inutilisés dans le dernier transfert
error
Sortie
Erreur associée au beat
Avec readyLatency = 0 et readyAllowance = 0, un transfert a lieu au front où valid et ready valent 1 :
Ce cas ressemble au handshake AXI-Stream. Les propriétés Avalon-ST peuvent cependant décaler la prise en compte de ready ou autoriser des transferts après sa désactivation. Vérifie leurs valeurs dans les interfaces connectées avant de reprendre cette règle.
Les signaux de début et de fin délimitent les paquets. empty compte les symboles inutilisés du dernier transfert ; ce sont des octets lorsque le symbole fait huit bits.
Déclarer une IP personnelle
Critère
Avalon-MM
AXI-Lite
Standard
Intel/Altera
ARM (AMBA)
Canaux séparés
Non
Oui (5 canaux)
Mécanisme d'attente
waitrequest
handshake valid/ready
Burst natif
Oui
Non (AXI4 full)
Génération automatique
Platform Designer
Vivado IP Integrator
Usage typique
Cyclone, Arria, Stratix
Zynq, UltraScale
Platform Designer génère l'interconnexion à partir des interfaces déclarées. Pour une IP personnelle, les ports et propriétés doivent correspondre au RTL. Cette déclaration présente une interface Avalon-MM adressée en mots :
Vérifie la polarité du reset : les exemples de la plateforme utilisent un reset actif haut, mais la convention dépend de l'IP. Pour une RAM ou un calcul retardé, déclare aussi correctement la latence et les signaux de réponse. Les quiz et exercices de protocoles permettent de pratiquer ces accès.