Comment écrire un verilog testbench à boucle à travers 4 entrées?
Je dois créer le code verilog et testbench pour ce schéma.
J'ai de la conception pour elle ici.
module prob1(input wire a,b,c,d, output wire out);
assign out = (a||d)&&(!d&&b&&c);
endmodule
Voici ce que j'ai pour le testbench jusqu'à présent.
module prob1_tb();
reg a,b,c,d;
wire out;
prob1 prob1_test(a,b,c,d, out);
initial begin
for(i=0; i=16; i=i+1)
<loop code here>
end
end
endmodule
Maintenant, je suppose que la partie que je vais avoir des problème avec est comment puis-je convertir ce nombre en ces 4 entrées, qui sont utilisés dans le schéma. Ou est-il une meilleure façon d'aller à ce sujet?
OriginalL'auteur | 2014-10-05
Vous devez vous connecter pour publier un commentaire.
Ici est une façon simple en utilisant l'opérateur de concaténation:
Oui, il y a de meilleures façons de vérifier la logique. La première chose à faire est d'introduire des valeurs aléatoires (reportez-vous à la
$urandom
fonctions dans la norme IEEE Std 1800-2009). Bien sûr, vous devez également effectuer des vérifications de votre sortie à l'aide d'un modèle, qui dans votre cas est trivial.En fonction de la façon dont beaucoup de temps (et de formation) que vous avez, vous pourriez adopter une norme de flux, tels que l'Universel Méthodologie de la Vérification (UVM). Les gens à construire une carrière autour de vérification.
OriginalL'auteur toolic