Si le contrôleur SDRAM DDR2(3) avec UniPHY installé dans Qsys, est configuré pour ne pas utiliser une alimentation à 2 Avalon® bus de données, une seule connexion peut être effectuée entre l’interface maître et l’interface esclave du contrôleur DDR2(3). Vous verrez le message ci-dessus si vous connectez 2 maîtres au contrôleur SDRAM DDR2(3).
Si plusieurs connexions sont nécessaires à l’interface esclave Avalon sur le contrôleur DDR2(3), augmentez la taille de l’écriture et de la lecture des signaux de données des maîtres vers une plus grande puissance d’un 2 et implémentez un simple étanchéité de bus (composant personnalisé) entre les connexions du Maître et l’interface esclave du contrôleur DDR2(3). Le joint passe simplement par tous les signaux, à l’exception des données d’écriture et de lecture.
Pour les données d’écriture, le étanchéité ne passe que par le nombre nécessaire de bits de données. Par exemple, si l’interface mémoire souhaitée est de 72 bits, la largeur de données du contrôleur à demi-taux est de 288. Le maître tournait le bus de données à 512 et tamponnait les données d’écriture avec des 224 « 0 » et le étanchéité passerait simplement par les 288 bits nécessaires.
- Envoyer les bits de données souhaités au DDR à l’aide de l’interface du maître du étanchéité
avm_m0_writedata <= avs_s0_writedata (287 jusqu’à 0) ;
Pour les données de lecture, le étanchéité couvre les 288 premiers bits avec les « 0 ».
-- créez une touche constante
PAD_DATA constant : std_logic_vector(287 downto 0) := (autres => « 0 ») ;
- Envoyer des données de lecture au maître à l’aide de l’interface esclave du étanchéité
avs_s0_readdata <= PAD_DATA et avm_m0_readdata