[Verilog] problema con la función?

D

davyzhu

Guest
Hola a todos,

Quiero usar la función de escribir la lógica combinadas pequeñas.
Pero me di cuenta que parece alambre no puedo declear en la función, ¿por qué?
Cualquier sugerencia será apreciada!

El func_test tener algún error de compilación, ¿por qué?
//-------- func_test ---------------
func_test módulo (
IN_1,
IN_2,
in_3,
fuera,
);

input [5:0] IN_1;
input [5:0] IN_2;
input [5:0] in_3;

de salida [5:0] out;

asignar a cabo = plus_out (IN_1, IN_2, in_3);

función [5:0] plus_out;
input [5:0] IN_1;
input [5:0] IN_2;
input [5:0] in_3;
de cable [5:0], más;
empezar
más = IN_1 IN_2;
= plus_out Plus in_3;
final
endfunction

endmodule

Saludos cordiales,
Davy
Last edited by davyzhu el 04 de julio 2005 10:44, editado 1 vez en total

 
Hola,
En la definición de la función tiene que usar el mismo nombre de la o / p registrar como nombre de la función en sí.Usted ha declarado en nombre de la función asignada o plus_out y / p para "out".Cambiar esta situación y ver si funciona.

También se ha utilizado asignar dentro de una definición de función.¿Crees que esto es correcto?

Saludos cordiales,

 
Aquí está el código corregido este estudio y ver si puede obtener el
respuestas que está buscando!
Código:func_test módulo (

IN_1,

IN_2,

in_3,

fuera,

);input [5:0] IN_1;

input [5:0] IN_2;

input [5:0] in_3;de salida [5:0] out;función [5:0] plus_out;

input [5:0] IN_1;

input [5:0] IN_2;

input [5:0] in_3;

reg [5:0], más;

empezar

más = IN_1 IN_2;

= plus_out Plus in_3;

final

endfunctionasignar a cabo = plus_out (IN_1, IN_2, in_3);endmodule / / func_test

 
Hola,

He cambiado de alambre para reg en la función y todos pasaron!Gracias!
Pero estoy confundido acerca de eso.Porque en mi mente, reg se utiliza siempre en 'siempre' bloque como lógica secuencial!
Y en función no sólo es lógica combinatoria, ¿por qué?

Cualquier sugerencia será apreciada!

Saludos cordiales,
Davy

 
Hola,
Las funciones se define como bloque de procedimiento.También las funciones pueden ser llamados desde el bloque de comportamiento único, para lo que significa.Las funciones son como cualquier otro bloque de comportamiento.Por favor, consulte este enlace.Se menciona claramente que el alambre no puede ser definida dentro de una definición de función.
http://www.see.ed.ac.uk/ ~ gerard/Teach/Verilog/me5cds/me95cab0.html

Funciones útiles para el modelo lógico combinatorio.Eso es cierto, pero esto no significa que la definición de una variable como reg no modelo lógico combinatorio.

Saludos cordiales,

 

Welcome to EDABoard.com

Sponsor

Back
Top