2017-05-10 2 views
0

Le stick a un oscillateur 12MHz intégré. J'ai réussi à écrire un code verilog pour diviser cette horloge et les LED de flash sont 1Hz. (Je commence juste à apprendre verilog.)Comment obtenir une horloge plus rapide dans Verilog sur un iCEstick Lattice?

Je crois que ce FPGA fonctionnera jusqu'à 133MHz.

Existe-t-il un moyen de générer un signal d'horloge plus rapide (en verilog) à partir de l'oscillateur 12MHz?

+1

est-il un DCM sur le FPGA? – noobuntu

+0

J'ai trouvé qu'il y a un PLL ... – fadedbee

+0

Excelllent .. Il devrait être assez facile à utiliser .. – noobuntu

Répondre

0

Réponse non encore testée.

Via https://www.reddit.com/r/yosys/comments/3yrq6d/are_plls_supported_on_the_icestick_hw/

De: https://github.com/SubProto/icestick-vga-test/blob/master/vga.v

wire clk; 

    SB_PLL40_CORE #(.FEEDBACK_PATH("SIMPLE"), 
        .PLLOUT_SELECT("GENCLK"), 
        .DIVR(4'b0001), 
        .DIVF(7'b1000010), 
        .DIVQ(3'b100), 
        .FILTER_RANGE(3'b001), 
       ) uut (
         .REFERENCECLK(pclk), 
         .PLLOUTCORE(clk), 
         .LOCK(D5), 
         .RESETB(1'b1), 
         .BYPASS(1'b0) 
); 

aussi:

ICE40 sysCLOCK PLL La phase ICE40 Locked Loop (PLL) offre une variété de fréquences d'horloge synthétisable par l'utilisateur, avec des retards de phase de toms. Le PLL dans le dispositif d'iCE40 peut être configuré et utilisé avec l'aide de softw sont des macros ou le générateur de module PLL. L'utilitaire PLL Module Generator permet aux utilisateurs de configurer rapidement les paramètres souhaités à l'aide d'une interface graphique et de générer du code Verilog qui configure les macros PLL. La figure 2 montre le schéma fonctionnel du système iCE40 sys- .

http://www.latticesemi.com/~/media/LatticeSemi/Documents/ApplicationNotes/IK/iCE40sysCLOCKPLLDesignandUsageGuide.pdf?document_id=47778