рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ рдореЗрдВ FPGAs рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП VHDL рдФрд░ рд╡реЗрд░рд┐рд▓реЙрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рдХрдореА

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдирдИ рдиреМрдХрд░реА рдкрд░ FPGAs рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдпреЗ рдЕрд▓реНрдЯрд░рдирд╛ FPGAs рдереЗред

рд╡рд░рд┐рд╖реНрда рд╡реНрдпрд╡рдзрд╛рди рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдиреЗ рдЗрди рдЪрд┐рдкреЛрдВ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП AHDL рдФрд░ VHDL рджреЛрдиреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреАред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ VHDL рднрд╛рд╖рд╛ рдкрд░ рдмрд╕ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ ADHL рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмрд╛рдж рдХреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдЬреНрдпрд╛рджрд╛ рдЕрдЪреНрдЫреА рдереАред

рдФрд░ рдореИрдВрдиреЗ рд╡реАрдПрдЪрдбреАрдПрд▓ рднрд╛рд╖рд╛ рдХреА рд╕рднреА рдЪрд╛рд▓ рдФрд░ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдирддреАрдЬрддрди, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗрд╡рд▓ рднрдпрд╛рдирдХ рд╣реИрдВ, рдФрд░ рдЙрдкрдХрд░рдг рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдз рдЕрддреНрдпрдзрд┐рдХ рд╣реИрдВред

рдореИрдВ "рдПрдХ рдЯрд╛рдЗрдорд░ рдпрд╛ рдкрд╣рд▓реА FPGA рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛" рд▓реЗрдЦ рд╕реЗ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред


VHDL рд╕реНрд░реЛрдд рдХреЛрдб
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity Div_27Mhz_to_1Hz is   port    (     clk   in   std_logic;     clk_out   out   std_logic    ); end Div_27Mhz_to_1Hz; architecture div_behavior of Div_27Mhz_to_1Hz is Begin   process(clk)    variable cnt : integer range 0 to 27000000;   begin    if (clk'event and clk = '1') then     if (cnt   >= 13500000) then      clk_out   <= '1';     else      clk_out   <= '0';     end if;     if (cnt   = 27000000) then      cnt   := 0;     else      cnt   := cnt + 1;     end if;    end if;  end process; end div_behavior; 



рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдмрд╕ рдореВрд▓ рд▓реЗрдЦ рдкрдврд╝реЗрдВред рдореИрдВ рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдзрд╛рд░рдгрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд╕рдВрднрд╡ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдмреНрд▓реЙрдХред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдХреНрд╕рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ (std_logic) рдпрд╛ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдмрдирд╛рдУ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдЪрд░ std_logic_vector рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдорд╛рди рдХреЛ рдмрд╛рд╣рд░реА рдкреЛрд░реНрдЯ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ!
рдФрд░ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ? рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрджрдирд╛рдХ рдЦреЛрдЬ рдХреЗ рдХреБрдЫ рдШрдВрдЯреЛрдВред
рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
1. рдХрдиреЗрдХреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ:
 use ieee.std_logic_1164.ALL; use ieee.std_logic_unsigned.all; use ieee.numeric_std.ALL; 

2. std_logic_vector рдкреЛрд░реНрдЯ рдкрд░ рдкреВрд░реНрдгрд╛рдВрдХ рд▓рд┐рдЦрдирд╛ рд╕реАрдзреЗ рдЕрд╕рдВрднрд╡ рд╣реИред рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! (рдореИрдВ рд╣рдореЗрд╢рд╛ FPGA рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЯрд╛рдЗрдк рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдирд╛рд░рд╛рдЬ рдерд╛)
std_logic_vector (to_unsgined (,))
рдпрд╣ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдХреЛ std_logic_vector рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИ ред
рдФрд░ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 4 рд▓рд╛рдЗрдиреЗрдВред

рдореЗрд░реЗ рд▓рд┐рдП рднреА рдбрд░рд╛рд╡рдиреА рдПрдХ рд╡реЗрдХреНрдЯрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдШрдЯрдирд╛ рдереА:
рд╡реЗрдХреНрдЯрд░ (рдПрдо рдбрд╛рдЙрдиреЛ рдПрди)
рдпрд╛
рд╡реЗрдХреНрдЯрд░ (рдПрдо рддрдХ рдПрди)

рдиреАрдЪреЗ рддрдХ рдФрд░ рдмрд╕ рд╢рдмреНрджреЛрдВ рдиреЗ рдореБрдЭреЗ рдЙрдирдХреЗ рдЕрддрд┐рд░реЗрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрддреБрд▓рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╡реЗ рдмреЗрдорд╛рдиреА рд╣реИрдВред
рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪреБрдк рд╣реВрдВред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ:
рдкреВрд░реНрдгрд╛рдВрдХ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ - 1, 2, 3, 4, 5
рд▓реЗрдХрд┐рди std_logic_vector рдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред
рдПрдХ рдпреВрдирд┐рдЯ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ '1' рдФрд░ '0' рдлреЙрд░реНрдо рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рджрд╢рдорд▓рд╡ рдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ 2 рдпрд╛ рдЕрдзрд┐рдХ рдмрд┐рдЯреНрд╕ рдХреЗ рд╡реИрдХреНрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреЗред рдХреЗрд╡рд▓ рд╣реЗрдХреНрд╕ рдпрд╛ рдмрд┐рди ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд░рд┐рдЪрдп рдЗрд╕ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореИрдВ рд╡реЗрд░рд┐рд▓реЛрдЧ рдФрд░ рд╕рд┐рд╕реНрдЯрдорд╡рд┐рд░реЛрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдзрд░реНрдо рдореЗрдВ рдбреВрдм рдЧрдпрд╛ред

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рдерд╛!
рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВред рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕рд╛рдл рдФрд░ рд╕реАрдзреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд┐рдиреНрд╣ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рдЕрд░реНрде рдФрд░ рд╕реНрдерд╛рди рд╣реЛрддрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, FPGAs рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рд╕рдВрдХрд▓рдХ рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдорд╛рдирдХ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХреНрд╡рд╛рд░реНрдЯреНрд╕ II рдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрд╛ред
рд╡рд╣ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдерд╛ (рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛; рдореБрдЭреЗ рдЕрдм рдпрд╛рдж рдирд╣реАрдВ рд╣реИ)ред
рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз SystemVerilog рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

SystemVerilog рд╕реНрд░реЛрдд рдХреЛрдб
 module Div_27Mhz_to_1Hz (  input     CLK,  output logic    CLK_OUT,  output logic[7:0]    CNT_OUT ); integer cnt = 0; always@(posedge CLK) begin  if (cnt >= 13500000) begin   CLK_OUT   <= 1;  end  else begin   CLK_OUT   <= 0;  end  if (cnt == 27000000) begin  cnt   <= 0; end else begin   cnt   <= cnt + 1; end  CNT_OUT   <= cnt; end endmodule 



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдореА рдЖрдИ рд╣реИред рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рд░рд▓ рд╣реИ рдФрд░ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА (рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣рд░ рдЬрдЧрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ)ред рд╕рд┐рдЧреНрдирд▓ рдПрдЬ рд╕рддреНрдпрд╛рдкрди рдЗрдХрд╛рдИ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдЪрд▓реА рдЧрдИ рдЬрд╣рд╛рдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЯреНрд░рд┐рдЧрд░ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рдереАред
рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд░реВрдкрд╛рдВрддрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╕рд░рд▓рддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдкреЛрд░реНрдЯ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрда-рдмрд┐рдЯ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ CNT_OUT рдкреЗрд╢ рдХрд┐рдпрд╛ ред рдкреЛрд░реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рддрд░реНрдХ рд╣реИ ред
рдпрд╣рд╛рдБ рдпрд╣ SystemVerilog рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИред
рдПрд╕рд╡реА рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╣реИрдВ:
рд╕рд░реНрдХрд┐рдЯ (рддрд╛рд░)
рд░рдЬрд┐рд╕реНрдЯрд░ (reg)
рдЕрдиреНрдп рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд╡рд╛рд░реНрдЯрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭреЗ рдирд╣реАрдВ рдЧрдП рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ (рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдорд╛рди рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

рддрд░реНрдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рдХ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ рдпрд╛ рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреНрд╡рд╛рд░реНрдЯрд╕ рдЖрдорддреМрд░ рдкрд░ рдПрд╕рд╡реА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рд╕рдВрдХрд▓рдХ рдЖрдкрдХреЛ рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдЗрд╕рд▓рд┐рдП, рддрд░реНрдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреБрдЫ рд╣рдж рддрдХ рдордирдорд╛рдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рдХрд╛рд░ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдЪрд░ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ 32 рдмрд┐рдЯреНрд╕ рд╣реИ) рдФрд░ рдкреНрд░рдХрд╛рд░ рддрд░реНрдХ рдХрд╛ рдПрдХ рдмрд╛рд╣рд░реА рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдФрд░ 8 рдмрд┐рдЯреНрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рдеред
рд╕реНрдЯреНрд░рд┐рдВрдЧ CNT_OUT <= cnt; рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:
рд╣рд░ рдШрдбрд╝реА рдЪрдХреНрд░, cnt рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдирд┐рдЪрд▓реЗ 8 рдмрд┐рдЯреНрд╕ рдХреЛ CNT_OUT рдкреЛрд░реНрдЯ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рд░рд┐рдХреЙрд░реНрдб рдкреЛрд░реНрдЯ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд╕ рдХреА рд╕реАрдорд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, 8 рдЫреЛрдЯреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрд╕рд╡реА рдХреЛ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрд╕рд╡реА рдореЗрдВ рднреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбреЗрдЯрд╛ рдмрд┐рдЯ рд╕рдВрд░реЗрдЦрдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИред
рдпрд╛рдиреА рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдп рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдореВрд▓реНрдп 255 (рджрд╢рдорд▓рд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ) рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ,
рдлрд┐рд░ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдпрд╣ рд░рдЬрд┐рд╕реНрдЯрд░ 8 рдмрд┐рдЯ рдХрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрд╕рд╡реА рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдордд рдПрдХ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ - рдЗрд╕рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд╕рдВрд░реЗрдЦрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, SystemVerilog рдХреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдЕрдзрд┐рдХ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рдФрд░ рдкрдардиреАрдп рд▓рдЧрддреА рд╣реИред рдпрд╣ рд▓рдВрдмреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдореЛрдВ рдФрд░ рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡реИрдХреНрдЯрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рдФрд░ рд╕рдЯреАрдХ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдмрд╣реБрдд рдЧрд╣рд░реА рдФрд░ рд▓рдВрдмреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рднреА рддреБрд▓рдирд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ, рдПрд╕рд╡реА рдЕрдкрдиреА рд╕реБрдВрджрд░рддрд╛, рдкрд╛рда рдХреА рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рджрд┐рдЦрд╛рдПрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, SystemVerilog рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рд╕реЗ рдЕрдкреАрд▓ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реИрдВ, рддреЛ рдЖрдк AHDL рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реВрдВ рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рд▓реЗрдЦ рдореЗрдВ рджреА рдЧрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдЕрд╕реЗрдВрдмрд▓рд░ рдФрд░ рд╕реА рдХреА рддреБрд▓рдирд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ ред

Source: https://habr.com/ru/post/In191606/


All Articles