Interfaces mémoire IP dans les dispositifs FPGA Intel®
📚 Table des matières
- Introduction
- Options pour l'implémentation d'interfaces mémoire externes
- Types de mémoire pris en charge dans les derniers dispositifs Intel FPGA
- Mémoire haute bande passante (HBM)
- Architecture des dispositifs FPGA Intel FPGA
- Architecture des E/S et ressources matérielles
- Utilisation d'une structure de colonne pour les cellules d'E/S
- Rôles des banques d'E/S et de l'interface I/O auxiliaire
- Contrôleur mémoire dur pour les mémoires externes
- Fonctionnalités du contrôleur mémoire dur
- Gestion de la phase de commandes pour optimiser les performances
- Réorganisation des données pour optimiser l'efficacité de l'accès à la mémoire
- Gestion de la consommation d'énergie avec le contrôleur mémoire dur
🖋️ Introduction
Dans cette formation en ligne, nous allons nous concentrer sur les interfaces mémoire à haute performance dans les dispositifs FPGA Intel FPGA. Nous commencerons par examiner les options disponibles pour l'implémentation d'interfaces mémoire externes, en mettant l'accent sur les types de mémoire pris en charge dans les derniers dispositifs FPGA Intel FPGA, tels que DDR4 et HBM. Ensuite, nous plongerons dans l'architecture des dispositifs FPGA Intel FPGA, en examinant comment les ressources matérielles sont organisées et comment les interfaces I/O sont utilisées. Enfin, nous découvrirons le contrôleur mémoire dur pour les mémoires externes, en explorant ses fonctionnalités et ses avantages pour optimiser les performances et la consommation d'énergie de votre interface mémoire.
📝 Options pour l'implémentation d'interfaces mémoire externes
Les dispositifs FPGA Intel FPGA offrent une large gamme d'options pour l'implémentation d'interfaces mémoire externes. Ces options comprennent des types de mémoire tels que DDR4, HBM, DDR3 et LPDDR3, chacun avec des caractéristiques de performances et des capacités différentes. Dans cette section, nous examinerons en détail les options disponibles et les spécifications maximales pour chaque type de mémoire.
Types de mémoire pris en charge dans les derniers dispositifs Intel FPGA
Les dispositifs FPGA Intel FPGA prennent en charge plusieurs types de mémoire, tels que DDR4, DDR3, LPDDR3 et HBM. Chaque type de mémoire a ses propres caractéristiques de performances et de capacités. Voici un aperçu des types de mémoire pris en charge et de leurs spécifications maximales :
- DDR4 : pris en charge par les dispositifs Intel Stratix 10, offre des vitesses d'horloge allant jusqu'à 1333 MHz et un débit maximal de 2 666 Gb/s.
- DDR3 : pris en charge par les dispositifs Intel Cyclone 10 GX, offre des performances élevées à un coût réduit.
- LPDDR3 : également pris en charge par les dispositifs Intel Cyclone 10 GX, offre une consommation d'énergie réduite par rapport au DDR3 tout en maintenant des performances raisonnables.
- HBM (High Bandwidth Memory) : pris en charge par les dispositifs Intel Stratix 10 MX, offre une bande passante élevée pouvant atteindre 256 Go/s et des vitesses d'horloge pouvant atteindre 1 GHz.
Cela donne aux concepteurs de nombreuses options pour choisir la mémoire externe qui convient le mieux à leurs besoins en termes de performances et de consommation d'énergie.
Mémoire haute bande passante (HBM)
La mémoire haute bande passante (HBM) est une solution de mémoire 3D utilisée dans les dispositifs FPGA Intel Stratix 10 MX. Elle offre une bande passante élevée et une faible consommation d'énergie, ce qui en fait un choix idéal pour les applications nécessitant un accès rapide à la mémoire. L'HBM2 peut fournir jusqu'à 256 Go/s de bande passante et fonctionne à des vitesses d'horloge allant jusqu'à 1 GHz.
La mémoire HBM est mise en œuvre directement sur la puce principale du dispositif, ce qui permet de réduire la consommation d'énergie et d'éliminer le besoin de pistes de carte de circuit imprimé externes. Elle utilise une interface parallèle large de 1024 bits pour un débit de données élevé.
Pour en savoir plus sur la mémoire HBM dans les dispositifs FPGA Intel Stratix 10 MX, vous pouvez consulter la page dédiée à l'HBM2 sur le site web d'Intel FPGA et vous inscrire à la formation en ligne gratuite disponible.
🏢 Architecture des dispositifs FPGA Intel FPGA
La première chose à comprendre lorsque vous travaillez avec les dispositifs FPGA Intel FPGA est leur architecture sous-jacente. Dans cette section, nous examinerons de plus près l'architecture des dispositifs FPGA Intel FPGA, y compris les ressources matérielles et les interfaces I/O utilisées pour implémenter les interfaces mémoire externes.
Architecture des E/S et ressources matérielles
La principale différence entre les dispositifs FPGA Intel et les familles de dispositifs précédentes réside dans leur architecture des E/S. Les dispositifs FPGA Intel utilisent une structure de colonnes pour organiser les cellules d'E/S, ce qui offre de nombreux avantages en termes de performances et d'utilisation des ressources matérielles.
Dans les dispositifs FPGA Intel FPGA, les cellules d'E/S sont organisées en colonnes d'E/S verticales, situées au centre de la puce. Chaque colonne d'E/S est divisée en plusieurs banques d'E/S, chacune connectée à 48 broches d'E/S réparties en quatre voies. Chaque voie contient de la logique tampon pour une utilisation en mode GPIO standard et prend en charge les signaux single-ended ou différentiels.
Chaque banque d'E/S dispose également de sa propre PLL et d'un bloc de contrôleur mémoire dur dédié. Le contrôleur mémoire dur regroupe toutes les ressources nécessaires pour mettre en œuvre une interface mémoire dans une banque, y compris le contrôleur lui-même, la logique de séquenceur utilisée pour le processus de calibration mémoire, un DLL pour l'alignement des signaux de lecture, de l'oct et du clock et un circuit d'alignement de phase des signaux d'horloge.
La structure des colonnes d'E/S facilite la création d'interfaces mémoire plus larges et plus complexes en permettant l'utilisation de plusieurs banques, si nécessaire. Cette architecture offre également des avantages en termes de routage et de synchronisation des signaux, ce qui se traduit par des interfaces mémoire plus rapides et plus fiables.
Rôles des banques d'E/S et de l'interface I/O auxiliaire
Chaque banque d'E/S dans les dispositifs FPGA Intel FPGA a un rôle spécifique dans l'implémentation d'interfaces mémoire externes. Les trois principales fonctions des banques d'E/S sont les suivantes :
-
Interfaces d'adresses et de commandes : Les signaux d'adresses et de commandes pour la mémoire externe doivent être associés à une seule banque d'E/S et ne peuvent pas être répartis sur plusieurs banques. Ces signaux ont des fonctions spécifiques et ne peuvent pas être assignés à d'autres broches d'E/S. Le positionnement des signaux d'adresses et de commandes dans une seule banque d'E/S garantit une communication fluide avec la mémoire externe.
-
Groupes de données : Les banques d'E/S sont utilisées pour les groupes de données, tels que les signaux de strobe d'écriture (DQS), les broches de données (DQ) et les broches de masque de données (DM). Ces signaux peuvent être assignés aux broches d'E/S disponibles dans une banque et peuvent être utilisés pour des opérations de lecture et d'écriture sur la mémoire externe. La logique du compilateur peut réorganiser les signaux DQ dans chaque voie si nécessaire.
-
Ressources dédiées : Chaque banque d'E/S comprend une PLL dédiée et un bloc de contrôleur mémoire dur, qui sont utilisés pour mettre en œuvre et contrôler l'interface mémoire. La PLL est utilisée pour fournir l'horloge du contrôleur mémoire et de l'interface mémoire, tandis que le bloc de contrôleur mémoire dur regroupe les ressources nécessaires pour l'implémentation de l'interface mémoire dans la banque, y compris le contrôleur lui-même, la logique de séquenceur pour la calibration mémoire et un circuit d'alignement de phase.
L'interface I/O auxiliaire (IOAUX) se trouve dans chaque colonne d'E/S et est utilisée pour gérer l'ensemble des banques d'E/S de la colonne. Elle comprend différents sous-systèmes tels que le clocking de l'interface, le calibrage de l'interface et les contrôles de niveau bas. L'IOAUX est responsable de la coordination et du contrôle de toutes les banques d'E/S d'une colonne pour assurer leur bon fonctionnement. Il s'agit d'une ressource dédiée utilisée uniquement pour les interfaces mémoire et ne peut pas être utilisée à d'autres fins dans la conception.
💽 Contrôleur mémoire dur pour les mémoires externes
Le contrôleur mémoire dur est une composante clé dans l'implémentation d'une interface mémoire externe dans les dispositifs FPGA Intel FPGA. Dans cette section, nous examinerons les fonctionnalités et les avantages du contrôleur mémoire dur pour le contrôle des mémoires DDR3, DDR4 et LPDDR3 externes.
Fonctionnalités du contrôleur mémoire dur
Le contrôleur mémoire dur comprend plusieurs fonctionnalités pour simplifier et optimiser l'implémentation de l'interface mémoire. Voici les principales fonctionnalités offertes par le contrôleur mémoire dur :
- Mode de contournement : permet une utilisation personnalisée du contrôleur en combinaison avec le PHI dur.
- Support de largeur de données : peut gérer une interface jusqu'à 72 bits de largeur pour les mémoires DDR4 et jusqu'à 64 bits pour les mémoires DDR3 et LPDDR3.
- Gestion de l'ODT externe : prend en charge le contrôle de l'ODT externe pour permettre différentes configurations de terminaison sur la mémoire externe.
- Options de rafraîchissement étendues : offre plusieurs options de rafraîchissement pour répondre aux exigences spécifiques de chaque mémoire.
- Modes d'économie d'énergie : prend en charge divers modes d'économie d'énergie tels que le mode de suspension partielle pour les mémoires compatibles.
- Support de lecture/écriture des registres de mode : permet la lecture et l'écriture des registres de mode de la mémoire DDR4.
Ces fonctionnalités facilitent la mise en œuvre d'interfaces mémoire rapides et fiables, tout en offrant des possibilités d'optimisation de la performance et de la consommation d'énergie.
Gestion de la phase de commandes pour optimiser les performances
Une des fonctionnalités les plus importantes du contrôleur mémoire dur est sa capacité à optimiser la séquence de commandes envoyées à la mémoire externe. En optimisant la séquence de commandes, le contrôleur peut minimiser les temps d'attente et maximiser l'efficacité de l'accès à la mémoire.
Le contrôleur effectue plusieurs opérations de réorganisation des commandes pour optimiser les performances :
- Réorganisation des commandes d'activation : le contrôleur peut réorganiser les commandes d'activation pour minimiser les temps d'attente entre les activations de différentes banques de mémoire. Cela permet de réduire le temps d'attente inutile sur le bus de données.
- Réorganisation des accès en lecture et en écriture : le contrôleur peut également réorganiser les accès en lecture et en écriture pour minimiser les temps de commutation entre les accès à la mémoire. Cette réorganisation permet de maximiser l'utilisation du bus de données et d'améliorer l'efficacité des accès mémoire.
Ces opérations de réorganisation des commandes permettent d'optimiser l'efficacité de l'interface mémoire et de minimiser les temps d'attente, ce qui se traduit par des performances améliorées.
Réorganisation des données pour optimiser l'efficacité de l'accès à la mémoire
En plus de la réorganisation des commandes, le contrôleur mémoire dur peut également réorganiser les données pour optimiser l'efficacité de l'accès à la mémoire. La réorganisation des données permet de minimiser les retards dus aux temps de commutation entre les différentes opérations d'accès à la mémoire.
La réorganisation des données consiste à regrouper les lectures et les écritures qui nécessitent un accès à différentes banques de mémoire. En regroupant les lectures ou les écritures de données vers les mêmes banques, le contrôleur peut réduire les temps d'attente et améliorer l'efficacité de l'accès à la mémoire.
La réorganisation des données, associée à la réorganisation des commandes, permet d'optimiser l'accès à la mémoire et d'améliorer les performances globales de l'interface mémoire.
Gestion de la consommation d'énergie avec le contrôleur mémoire dur
Le contrôleur mémoire dur comprend également des fonctionnalités pour gérer efficacement la consommation d'énergie de l'interface mémoire. Ces fonctionnalités permettent de réduire la consommation d'énergie lorsque la mémoire n'est pas utilisée.
L'une des fonctionnalités clés est le mode de mise en veille profonde, qui permet de mettre complètement hors tension la mémoire externe lorsque celle-ci n'est pas utilisée. Cela permet d'économiser de l'énergie en réduisant la consommation électrique à un minimum. Cependant, il est important de noter que ce mode de mise en veille profonde ne maintient pas le contenu de la mémoire, il est donc essentiel de prendre des mesures appropriées pour sauvegarder les données si nécessaire.
En plus du mode de mise en veille profonde, le contrôleur mémoire dur propose différents modes d'économie d'énergie pour les mémoires qui les prennent en charge. Ces modes d'économie d'énergie permettent de réduire la consommation d'énergie en ajustant les paramètres de l'interface mémoire pour réduire la fréquence d'horloge ou mettre des parties de la mémoire en mode économie.
La gestion de la consommation d'énergie avec le contrôleur mémoire dur permet d'adapter l'interface mémoire aux besoins spécifiques de votre application et d'optimiser l'efficacité énergétique globale de votre système.
🔖 Conclusion
Dans cette première partie de la formation, nous avons examiné les options disponibles pour l'implémentation d'interfaces mémoire externes dans les dispositifs FPGA Intel FPGA, ainsi que l'architecture des dispositifs FPGA Intel FPGA et les fonctionnalités du contrôleur mémoire dur. Nous avons vu que ces dispositifs offrent une large gamme de possibilités pour l'implémentation d'interfaces mémoire à haute performance, tout en offrant des fonctionnalités avancées pour optimiser les performances, la consommation d'énergie et l'efficacité de l'interface mémoire.
Dans les parties suivantes de la formation, nous approfondirons le processus de conception et d'implémentation d'une interface mémoire, en passant en revue les différentes étapes du flux de conception, les outils disponibles et les techniques de débogage et de vérification. Nous continuerons également à explorer les fonctionnalités et les avantages du contrôleur mémoire dur pour différents types de mémoire.
Restez à l'écoute pour la suite de la formation et n'hésitez pas à consulter les ressources supplémentaires fournies pour en savoir plus sur les interfaces mémoire dans les dispositifs FPGA Intel FPGA.
Ressources :