Verilog funzioni

A

avimit

Guest
Qualcuno mi può suggerire come scrivere una funzione in Verilog che prende un vettore come input e produce un vettore di output, e la funzione propriamente detta è indipendente dalla durata o la dimensione del vettore.Ho bisogno la sintassi della funzione.
In VHDL che posso fare molto eaisly
Myabs FUNZIONE (S1: std_logic_vector) std_logic_vector di ritorno è
- la funzione restituisce assoluta dei std_logic_vector ingresso
VARIABILE V: std_logic_vector (s1'low downto s1'high);
BEGIN
V: = s1;
for i in V'low a V'high loop
V (i): = V (i) XOR V (V'HIGH);
end loop;
V: = V V (V'HIGH);
return V;
myabs fine; - end function

Si noti che la funzione non fa menzione da nessuna parte la 'dimensione' o la 'larghezza' l'ingresso o vettori di uscita, invece, 'alto e' a basso attributi VHDL vengono utilizzati.
Qualcuno può scrivere questo in Verilog?

 
In Verilog, è possibile utilizzare Alsto la funzione o il compito di finirlo.
E 'molto simile al VHDL sulla funzione.
Vi suggerisco di trovare un linguaggio Verilog far riferimento, allora si può ottenere presto

 
Non credo che Verilog ha niente di simile.Il migliore alternativa so che è quello di passare un parametro (probabilmente chiamato "lunghezza") per il modulo Verilog.
Codice:

Modulo top (in, out);

parametro della lunghezza = 16;

input [lunghezza-1: 0] a;

output [lunghezza-1: 0] out;# foo (. length (lunghezza)) U1 (. in (in),. out (out));

endmoduleModulo foo (in, out);

parametro della lunghezza = 0;

input [lunghezza-1: 0] a;

output [lunghezza-1: 0] out;assign out = a 1;

endmodule
 
Echo47 bene, grazie molto per la risposta.Ma ci sono funzioni incorporate in dire per esempio '& &' che non si conosce la 'lunghezza' o 'dimensioni' o 'width' di vettori passati a loro, ma il fare il lavoro.Mi chiedo come funzionano?
KR,
Aviral Mittal

 
Il compilatore conosce il valore internamente, ma gli autori di lingua semplicemente non ci ha dato un operatore di accedere a esso.Big controllo a mio parere.Immaginate il linguaggio C senza l'operatore sizeof.Credo che SystemVerilog fornisce la funzione $ bit.

 

Welcome to EDABoard.com

Sponsor

Back
Top