En raison d’une limitation du Quartus® ii version 13.1 du logiciel, il n’est pas possible de modifier les horloges utilisateur HPS à FPGA ou autres horloges HPS en Qsys.
Lorsque vous activez HPS à FPGA utilisateur 0/ utilisateur 1 / utilisateur 2 horloge dans Qsys et définissez sa fréquence d’horloge à une valeur personnalisée, le préchargeur aura une valeur d’horloge différente dans le fichier pll_config.h.
Pour contourner cette limitation, suivez les étapes ci-dessous dans la version 13.1 du logiciel Quartus II et les versions précédentes :
Si vous devez modifier d’autres paramètres d’horloge que les paramètres d’horloge SDRAM, le fichier pll_config,h généré par le générateur de pré-chargeur (bsp-editor) doit être édité manuellement.
le fichier pll_config.h est disponible dans le répertoire cible BSP : software\spl_\generated\ pll_config.h
Exemple de configuration: hpS-to-FPGA user clock 0 (h2f_user0_clock) = 40 MHz avec EOSC1 = 25 MHz
Le paramètre du diviseur C5 doit être modifié comme suit dans le pll_config.h
- CONFIG_HPS_CLK_OSC1_Hz = 25000000 (pour EOSC1 = 25 MHz)
- CONFIG_HPS_MAINPLLGRP_VCO_DENOM = 0 (pour le dénominateur PLL = 1)
- CONFIG_HPS_MAINPLLGRP_VCO_NUMER = 63 (pour le numérique PLL = 64)
- CONFIG_HPS_MAINPLLGRP_CFGS2FUSER0CLK_CNT = 39 (pour le diviseur C5 = 40)
Calculez à nouveau le paramètre de valeur d’horloge HPS-FPGA de l’utilisateur 0 pour ce qui précède :
h2f_user0_clock = horloge ESOC1 x (dénominateur PLL/ Numérique PLL) / Diviseur C5 = 25 MHz x (64/1) / 40 = 40 MHz
Pour plus d’informations, voir Preloader Clocking Customization - v13.1 sur www.Rocketboards.org qui contient un calculateur d’horloge
http://www.rocketboards.org/foswiki/Documentation/PreloaderClockingCustomization131
Le HPS Megawizard a été amélioré pour les versions 14.0 et ultérieures du logiciel Quartus II et permet de définir des horloges dans des Qsys.