2009-11-10 7 views

Répondre

4

Sérieusement, vous devriez vous procurer un manuel Verilog ou rechercher des ressources en ligne.

Quoi qu'il en soit, quelque chose comme cela devrait fonctionner:

module dff (
    input Clk, 
    input D, 
    output Q, 
    output Qbar 
); 

    wire q_to_s; 
    wire qbar_to_r; 
    wire clk_bar; 

    assign clk_bar = ~Clk; 

    D_latch dlatch (
    .D(D), 
    .Clk(Clk), 
    .Q(q_to_s), 
    .Qbar(qbar_to_r) 
); 

    RS_latch rslatch (
    .S(q_to_s), 
    .R(qbar_to_r), 
    .Clk(clk_bar), 
    .Qa(Q), 
    .Qb(Qbar) 
); 

endmodule 
0

Vous devrez créer un module externe, avec les ports indiqués sur votre schéma (D, Clk, Q, NQ). À l'intérieur de ce module, vous instanciez les deux sous-modules DLatch et RSLatch, et câblez les ports de manière appropriée. (Vous devrez déclarer des fils supplémentaires pour les interconnexions internes.)

+0

C'est le câblage des ports qui me donne les ennuis. Est-ce que je fais quelque chose comme assigner Qa = RSLatch (params). mais RSLatch renvoie 2 sorties,. Je suis juste confus entre la programmation impérative et HDL. –

+0

RSLatch n'est pas une fonction donc vous ne l'appelez pas de manière impérative. Quoi qu'il en soit, ce que dit Daniel. – ScottJ

Questions connexes