2012-04-02 24 views
0

einige Code Verilog Lesen, scheint es zwei Möglichkeiten zur Definition Argumente in Funktionsdeklaration zu sein:Funktionsargumente: zwei verschiedene Stile?

Methode 1:

function factorial; 
    input [3:0] operand; 
    // More code 
endfunction 

Methode 2:

function factorial(input [3:0] operand); 
    // More code 
endfunction 

Gibt es einen Unterschied zwischen der zwei? Sind beide Methoden gleich tragbar?

Antwort

0

Ich glaube, sie sind gleichwertig.

Von einem Handbuch der Definition einer Funktion:

function [automatic] [signed] [RangeOrType] functionName [(FunctionPorts)]; 
Declarations ... 
begin 
    ...code... 
end 
endfunction 

FunctioPort 
input [reg] [signed] [Range] names 
input [Type] names 

Declaration 
input [reg] [signed] [Range] names 
input [Type] names 
Variable 
Parameter 
Event 
1

ab Verilog 2001 Standards sind diese zwei gleichwertig. Einige alte Tools unterstützen Verilog 2001 nicht oder werden nicht standardmäßig unterstützt. Also Methode 1 ist ein wenig kompatibler.

Im Allgemeinen müssen Sie sich jedoch keine Gedanken darüber machen, da fast alle Tools, die Sie heute verwenden, Verilog 2001 standardmäßig unterstützen.

Verwandte Themen