HDL et vérification
Quel est le rôle de l'instruction generate ci-dessus ?
genvar i;
generate
for (i = 0; i < 4; i = i + 1) begin : g
fifo u_fifo (.clk(clk), .din(din[i]), .dout(dout[i]));
end
endgenerate
- ARéutiliser une seule fifo quatre fois sur quatre cycles d'horloge
- BAfficher la fifo quatre fois uniquement en simulation
- CCréer quatre modules fifo et relier chacun à un élément différent de din et dout
Afficher la réponse et l'explication
Réponse : C. Créer quatre modules fifo et relier chacun à un élément différent de din et dout
La boucle for d'une instruction generate déroule son contenu pour chaque valeur de genvar et produit des descriptions de circuit répétées. Dans cet exemple, quatre instances de fifo sont créées, de g[0].u_fifo à g[3].u_fifo, reliées respectivement à din[i] et dout[i]. Le nombre d'instances suit le nombre de canaux ou de bits défini par parameter, ce qui permet d'écrire brièvement des circuits à structure régulière.