"Illégal de sortie ou inout port' erreur lorsque vous essayez de simuler compteur
Je suis nouveau sur le verilog HDL et j'ai zéro expérience en circuit numérique.
J'ai appris une ou deux choses sur internet, et maintenant, je suis en train d'écrire
un banc d'essai de script pour un compteur de script. J'ai obtenu compteur de script à partir du site web suivant:
http://www.asic-world.com/verilog/verilog_one_day2.html#Variable_Assignment
Compteur:
module counter(clk,rst,enable,count);
input clk, rst, enable;
output [3:0] count;
reg [3:0] count;
always @(posedge clk or posedge rst) begin
if (rst) begin
count <= 0;
end
else begin: COUNT
while (enable) begin
count <= count + 1;
disable COUNT;
end
end
end
endmodule
Puis j'ai écrit un banc d'essai suivantes:
Banc D'Essai
//counter test bench
`timescale 1ns/100ps
module counter_tb;
reg clk_in; //using wire won't let value to change inside initial blcok
reg rst_in;
reg enable_in;
reg[3:0] count_out;
counter counter_uut(.clk(clk_in), .rst(rst_in), .enable(enable_in), .count(count_out));
initial begin
//initialize clock, rst and others
clk_in = 1'b0; //clock toggles every 5 ns .... see REF_1
rst_in = 1'b0; //always NOT reseting
enable_in = 1'b1; //always counting
end
always begin
#5 clk_in =~ clk_in; //....saw REF_1
end
endmodule
Je reçois un message d'erreur:
# ** Error: (vsim-3053) C:/Users/Daniel/Desktop/Verilog_Practice/Couter/Counter_tb.v(10): Illegal output or inout port connection for "port 'count'".
J'ai été à la lutte pour des heures à essayer de résoudre l'erreur.
Quelqu'un peut me dire quel est le problème avec mon banc de test?
Merci
Utiliser le mot
N'avez-vous pas besoin d'utiliser la variable nombre de inout port ?
module
en place de script
.N'avez-vous pas besoin d'utiliser la variable nombre de inout port ?
OriginalL'auteur user3655233 | 2014-07-05
Vous devez vous connecter pour publier un commentaire.
Un
reg
est utilisé uniquement pour la procédure d'affectations d'un signal dans unalways
ouinitial
bloc. Continue attributions, telles que la connexion à un module de sortie, utilisez unwire
à la place. Modification::
Vous devez revenir sur votre question.
Ma question est,puisque l'on peut effectuer à la fois la lecture et l'écriture de l'opération sur la variable de comptage par ne l'utilise que comme port de sortie(Son travail très fin). Ainsi, lorsque nous utilisons bidirectionnel bus c'est à dire inout port explicitement ?
OriginalL'auteur toolic