A
avimit
Guest
Alguém pode me sugerir como escrever uma função em Verilog que leva um vetor como entrada e produz como saída um vetor, ea função propriamente dita é independente da duração ou tamanho do vetor.I need a sintaxe da função.
Em VHDL posso fazê-lo muito eaisly
Myabs FUNÇÃO (S1: std_logic_vector) return std_logic_vector é
- esta função retorna absoluto da entrada std_logic_vector
Variável V: std_logic_vector (s1'low downto s1'high);
BEGIN
V: = s1;
for i in V'low para V'high loop
V (i): = V (i) XOR V (V'HIGH);
end loop;
V: = V V (V'HIGH);
return V;
myabs final; - Função final
Note que a função não faz qualquer menção a "dimensão de" ou a "largura" a entrada ou saída de vetores, em vez disso, "alta e baixa vhdl atributos são usados.
Pode alguém escrever isto em Verilog?
Em VHDL posso fazê-lo muito eaisly
Myabs FUNÇÃO (S1: std_logic_vector) return std_logic_vector é
- esta função retorna absoluto da entrada std_logic_vector
Variável V: std_logic_vector (s1'low downto s1'high);
BEGIN
V: = s1;
for i in V'low para V'high loop
V (i): = V (i) XOR V (V'HIGH);
end loop;
V: = V V (V'HIGH);
return V;
myabs final; - Função final
Note que a função não faz qualquer menção a "dimensão de" ou a "largura" a entrada ou saída de vetores, em vez disso, "alta e baixa vhdl atributos são usados.
Pode alguém escrever isto em Verilog?