function

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ – ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ Π² Π½ΠΈΡ… нСльзя ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Из этого слСдуСт, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚.ΠΊ. Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ конструкции управлСния Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ модСлирования.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρƒ Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹.

Бинтаксис

function <type> <name> (<args>);
  <statements>
endfunction

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

module function_tb;
  int a, b;
  initial begin
    b = 1; a = sum(3, 6, b);
    $display("a = %0d, b = %0d ", a, b);
    $display("sum(3, 6, b) = %0d", sum(3, 6, b));
    $display("b = %0d", b);
  end

  function bit[7:0] sum (input int x, y, z);
    z++;
    return x+y;
  endfunction
endmodule

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния

a = 9, b = 1 
sum(3, 6, b) = 9
b = 1

Last updated