рдПрдХ рдмрд╛рд░ рдлрд┐рд░ FPGA рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рджреЗрд░реА рдпрд╛ рдПрдХ FPGA рдбреЗрд╡рд▓рдкрд░ рдХреА рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреНрд░рд╢реНрди



рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдкреЗрд╢реЗрд╡рд░ FPGA рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдХрдВрдкрдиреА рдореЗрдВ рдПрдХ рдЪрд░реНрдЪрд╛ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╣реБрдИред рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХреНрдпрд╛ рдкреВрдЫреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рджреЛ рдкреНрд░рд╢реНрди рд╕реБрдЭрд╛рдП:

  1. рджреЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдВ, рдЬреЛ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛
  2. рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрд░реА рд╕реЗ рдареАрдХ рдХрд░реЗрдВред

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

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЫреБрдЖ рдерд╛ред рдЕрдм рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╛рда рд╣реИ:

library IEEE; use IEEE.STD_LOGIC_1164.all; entity delta_delay is end delta_delay; architecture delta_delay of delta_delay is signal clk1 : std_logic:='0'; signal clk2 : std_logic; alias clk3 : std_logic is clk1; --    clk1 signal a : std_logic; signal b : std_logic; signal c : std_logic; signal d : std_logic; begin ---    --- clk1 <= not clk1 after 5 ns; pr_a: process begin a <= '0' after 1 ns; wait until rising_edge( clk1 ); wait until rising_edge( clk1 ); a <= '1' after 1 ns; wait until rising_edge( clk1 ); wait until rising_edge( clk1 ); wait until rising_edge( clk1 ); wait until rising_edge( clk1 ); end process; ---   -    --- clk2 <= clk1; --    ,        ---  1 -     --- b <= a when rising_edge( clk1 ); c <= b when rising_edge( clk1 ); d <= b when rising_edge( clk2 ); ---  2 -     --- -- --clk2 <= clk1; --b <= a after 1 ns when rising_edge( clk1 ); --c <= b after 1 ns when rising_edge( clk1 ); --d <= b after 1 ns when rising_edge( clk2 ); ---  3 -          alias --- --b <= a when rising_edge( clk1 ); --c <= b when rising_edge( clk1 ); --d <= b when rising_edge( clk3 ); end delta_delay; 

рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╕рднреА рдХреЛрдб рдПрдХ рдШрдЯрдХ рдореЗрдВ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рд╕рд┐рдЧреНрдирд▓ clk1 рдФрд░ рдЯреЗрд╕реНрдЯ рдПрдХреНрд╕рдкреЛрдЬрд░ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВред clk1 100 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдПрдХ рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рд╣реИ, рд╕рд┐рдЧреНрдирд▓ 0 рдкрд░ рджреЛ рдШрдбрд╝реА рдЪрдХреНрд░ рд░рдЦрддрд╛ рд╣реИ рдФрд░ 1 рдкрд░ рдЪрд╛рд░ рдШрдбрд╝реА рдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИред рд╕рдВрдХреЗрдд 1, cl1 рдХреЗ рдмрдврд╝рддреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 1 nc рдХреА рджреЗрд░реА рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЗ рджреЛ рд╕рдВрдХреЗрдд рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд рдХреЛрдб рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдирд┐рдпреЛрдЬрд┐рдд рдФрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдпрд╣ рдмрд┐рдирд╛ рджреЗрд░реА рдХреЗ рдФрд░ рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд рдХреЛрдб рд╣реИред

рдпрд╣рд╛рдВ рд╡рд┐рдХрд▓реНрдк 1 рдХреЗ рд▓рд┐рдП рд╕рд┐рдореБрд▓реЗрд╢рди рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВ:



рдЖрд░реЗрдЦ рдиреЗрддреНрд░рд╣реАрди рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдШрдбрд╝реА рд╕рдВрдХреЗрдд clk1 рдФрд░ clk2 рд╕рдВрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ clk1 рджреЗрд░реА рджреЗрд░реА рдХреЗ рдореВрд▓реНрдп рд╕реЗ clk1 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред рд╕рд┐рдЧреНрдирд▓ c рд▓реИрдЧреНрд╕ рд╕рд┐рдЧреНрдирд▓ b рдХреЛ рдПрдХ рдШрдбрд╝реА рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ред рдпрд╣ рд╕рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рд╕рд┐рдЧреНрдирд▓ d рдХреЛ рд╕рдВрдХреЗрдд c рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рджреЗрд░реА рджреЗрд░реА рдХреНрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдореМрд▓рд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ, рдпрд╣ рдИрд╡реЗрдВрдЯ рд╕рд┐рдореБрд▓реЗрдЯрд░реЛрдВ рдХреЗ рдХрд╛рдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рд▓реЙрдЬрд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВред

рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдореЙрдбрд▓ рд╕рдордп рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдШрдЯрдирд╛рдПрдВ рдЗрд╕ рдореЙрдбрд▓ рд╕рдордп рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред рдЖрдЗрдП рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдЧрдарди рдХреЛ рджреЗрдЦреЗрдВ:

 clk1 <= not clk1 after 5 ns; 

рдорд╛рди рд▓реАрдЬрд┐рдП рдЕрдм рд╣рдо рдХреЗрд╡рд▓ clk1 рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИрдВред
рд╕рдордп рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд╖рдг рдореЗрдВ, clk1 0 рд╣реИ, рдпрд╣ рддрдм рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рд┐рдЧреНрдирд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкрд▓рдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдХреАрд╡рд░реНрдб рд╡рд░реНрддрдорд╛рди рдореЙрдбрд▓ рд╕рдордп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 5 ns рдореЗрдВ рдПрдХ рдирдпрд╛ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдордп 5 рдПрдирдПрд╕ рдХрд╛ рдореВрд▓реНрдп clk1 рд╣реЛрдЧрд╛ 1. рдЬрдмрдХрд┐ рдпрд╣ рдПрдХ рдореЙрдбрд▓ рднрд╡рд┐рд╖реНрдп рд╣реИ, рд╡реИрд╕реЗ рдпрд╣ рдЕрднреА рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╢реЗрд╖ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдореЙрдбрд▓ рд╕рдордп рдореЗрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдЕрдЧрд▓реЗ рдХреНрд╖рдг рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ - рдЕрдЧрд▓реЗ рдкрд▓ рдХреНрдпрд╛ рд╣реИ? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рдореБрд▓рд┐рдВрдХ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд┐рдЪ рдореЛрдб рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЙрдбрд▓ рдХрд╛ рд╕рдордп рдХреБрдЫ рд░рд╛рд╢рд┐ рд╕реЗ рдмрдврд╝реЗрдЧрд╛ рдФрд░ рдЧрдгрдирд╛ рдЬрд╛рд░реА рд░рд╣реЗрдЧреАред

рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЕрдЧрд▓реА рдШрдЯрдирд╛ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдкрдиреЗ рдореЙрдбрд▓ рд╕рдордп рдХреА рдзреБрд░реА рдкрд░ рд░рдЦрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ 5 ns рд╣реЛрдЧрд╛ред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ clk1 рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛, рдпрд╣ 0 рд╣реЛрдЧрд╛ рдЬреЛ рд╕рдордп рдЕрдХреНрд╖ рдкрд░ 5 ns рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рднреА рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╛рдиреА рдпрд╣ 10 ns рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдм рддрдХ рдЬрд╛рд░реА рд░рд╣реЗрдЧреА рдЬрдм рддрдХ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

рдЕрдм рд╕рдВрдХреЗрдд рдП рдФрд░ рдмреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓ рдмреА рдХреЗ рд▓рд┐рдП , рдЬрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕рд╢рд░реНрдд рдирд┐рд░реНрдорд╛рдг; рдЖрд░реЛрд╣_рдЧреЗрдЬ ( clk1 ) рдлрд╝рдВрдХреНрд╢рди parses clk1 рд╣реИ рдФрд░ рд╕рд╛рдордиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрддрд╛ рд╣реИ , рдЕрд░реНрдерд╛рддред рдкрд┐рдЫрд▓рд╛ рдорд╛рди 0 рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдорд╛рди 1 рд╣реИред

рдореЙрдбрд▓ рд╕рдордп 5 рдПрдирдПрд╕, clk1 рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ 10 рдПрдирдПрд╕ рдХреЗ рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ 0. рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдирд╛ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдЬрдмрдХрд┐ рд╣рдо рдЕрднреА рднреА 5 ns рдХреЗ рдХреНрд╖рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдЧрдгрдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд▓рд╛рдЗрди рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ
 b<=a when rising_edge(clk1); 
рдЪреВрдВрдХрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ clk1 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ , рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛, рдпрд╣ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдЧрд╛
 b<=a; 


рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ - рдЬрдм рдмреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп, рдЗрд╕ рд╕рдордп рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВред рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЕрднреА рднреА рдЕрдиреНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреА рдХреЗ рдореВрд▓реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рджреЗрд░реА рджреЗрд░реА рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрддреА рд╣реИред рдпрд╣ рдиреНрдпреВрдирддрдо рдореВрд▓реНрдп рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдореЙрдбрд▓ рд╕рдордп рдмрджрд▓рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рди рдореЗрдВ рд╕рдордп рдХрд╛ рдЖрдпрд╛рдо рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдбреЗрд▓реНрдЯрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЗрддрдирд╛ рдХрд┐ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЧрд▓рддреА рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИред
рддреЛ, b рдХрд╛ рдПрдХ рдирдпрд╛ рдорд╛рди 5 ns + 1 (1 рдкрд╣рд▓рд╛ рдбреЗрд▓реНрдЯрд╛ рд╡рд┐рд▓рдВрдм) рд╣реИред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 5 ns рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдХреНрд╖рдг рддрдХ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ 5 ns + 1 рд╣реЛрдЧрд╛; рдЗрд╕ рд╕рдордп, рд░рд╛рдЗрдЬрд┐рдВрдЧ_рдЧреЗрдЬ (ckl1) рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдмреА рдХрд╛ рдорд╛рди 1 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдкрд▓ 10 рдПрдирд╕реА рдкрд░ рдЬрд╛рдПрдЧрд╛ред

рдЕрдм рдЪрд▓реЛ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕реА , рдбреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реИрдВред
рдореЙрдбрд▓ рд╕рдордп 25 ns рдХреА рджреЗрд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдбреЗрд▓реНрдЯрд╛ рдХреЗ рд╕рдордп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ

рдбреЗрд▓реНрдЯрд╛clk1clk2рдкреБрдирдГ (clk1)рдкреБрдирдГ (clk2)рдЦрдЧрдШ
010рд╕рдЪрдЭреВрдард╛000
111рдЭреВрдард╛рд╕рдЪ100
210рдЭреВрдард╛рдЭреВрдард╛101

рдиреЛрдЯ: рдкреБрдирдГ

рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рд╕рдордп рд░рд╛рдЗрдЬрд┐рдВрдЧ_рдбреЗрдЬ ( clk2 ) рдлрд╝рдВрдХреНрд╢рди рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, b рдХрд╛ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 1. рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рд╕рд┐рдЧреНрдирд▓ d рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдХреЛрдб рд╕реЗ рдЙрдореНрдореАрдж рдереАред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдордиреЗ рдмрд╕ clk2 рдХреЛ рд╕рдВрдХреЗрдд clk1 рдХреЛ рдкреБрдирдГ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдФрд░ рдЙрдореНрдореАрдж рдХреА рдХрд┐ рд╕рдВрдХреЗрдд c рдФрд░ d рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ PRINCIPAL рдлреАрдЪрд░ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, FPGA рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╢реНрди рд╣реИред

рд╕рдВрд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд▓реЗрдХрд┐рди рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛, рдпрд╣ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ clk2 рдФрд░ clk1 рдХреЛ рдПрдХ рд╕рдВрдХреЗрдд рдмрдирд╛ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП c рдФрд░ d рднреА рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред рдФрд░ рдХреБрдЫ рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред

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

 clk2 <= clk1 

рдЕрдм рджреВрд╕рд░рд╛ рдкреНрд░рд╢реНрди рджреЗрд░реА рдХреЗ рд╕рд╛рде рдЗрд╕ рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╣реИред
рдпрд╣ рд╡рд┐рдХрд▓реНрдк 2 рд╣реИред рдЗрд╕реЗ рдЕрдирд┐рдпреЛрдЬрд┐рдд рдФрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИред



рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рд╣реИред рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛? рдЪрд▓реЛ 25 - 36 рдПрдирдПрд╕ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ
рд╕рдордпрдбреЗрд▓реНрдЯрд╛clk1clk2рдкреБрдирдГ (clk1)рдкреБрдирдГ (clk2)рдЦрдЧрдШ
25010рд╕рдЪрдЭреВрдард╛000
25111рдЭреВрдард╛рд╕рдЪ000
26011рдЭреВрдард╛рдЭреВрдард╛100
35010рд╕рдЪрдЭреВрдард╛100
35111рдЭреВрдард╛рд╕рдЪ100
36011рдЭреВрдард╛рдЭреВрдард╛111

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореЛрд░реНрдЪреЛрдВ clk1 , clk2 рдХреЗ рдХреНрд╖рдгреЛрдВ рдореЗрдВ b рдХрд╛ рдорд╛рди рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред 1 рдПрдирдПрд╕ рдХреА рджреЗрд░реА рд╕реЗ рдПрдЬ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдЬрд╝реЛрди рд╕реЗ рдкрд░реЗ рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рдХрд░реАрдм рд╣реЛ рд░рд╣рд╛ рд╣реИред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ, рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдордп рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреА рдЕрд╡рдзрд┐ рд╕реЗ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЕрдиреБрд░реЗрдЦрдХ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣реА рд╕рдордп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╕рд╛рдорд╛рдиреНрдп рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдШрдбрд╝реА рд╕рдВрдХреЗрдд рдХрд╛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рд╣реИ рдЬрд┐рд╕ рдкрд░ рдПрдХ рдбреЗрд▓реНрдЯрд╛ рд╡рд┐рд▓рдВрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, VHDL рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдШреЛрд╖рдгрд╛ рд╣реИ:

 alias clk3 : std_logic is clk1; 

рдЙрджрд╛рд╣рд░рдг рдкрд╛рда рдореЗрдВ, рдЖрдк рд╡рд┐рдХрд▓реНрдк 3 рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдЙрджрд╛рд╣рд░рдг VHDL рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдЗрд╕ рднрд╛рд╖рд╛ рдХреА рд╣реИ? рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╡реЗрд░рд┐рд▓реЙрдЧ рдореЗрдВ рдПрдХ рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 `timescale 1 ns / 1 ps module delta_delay_2 (); reg clk1 = 1'b0; reg clk2; wire clk3; reg a = 1'b0; reg b; reg c; reg d; initial begin forever clk1 = #5 ~clk1; end initial begin repeat(10) begin #20 a = 1'b1; #60 a = 1'b0; end end //   -    --- always @(clk1) clk2 <= clk1; //  1 -     always @(posedge clk2) d <= b; always @(posedge clk1) begin c <= b; b <= a; end //  2 -     //always @(posedge clk1) b = #1 a; // //always @(posedge clk1) c = #1 b; // //always @(posedge clk2) d = #1 b; //  3 -     //      assign //assign clk3 = clk1; // //always @(posedge clk3) d <= b; // //always @(posedge clk1) //begin // c <= b; // b <= a; //end endmodule 



  • рд╡рд┐рдХрд▓реНрдк 1 - рдХреЛрдИ рджреЗрд░реА рдирд╣реАрдВред рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • рд╡рд┐рдХрд▓реНрдк 2 - рджреЗрд░реА рдХреЗ рд╕рд╛рдеред рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  • рд╡рд┐рдХрд▓реНрдк 3 - рддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрдиред рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╡реЗрд░рд┐рд▓реЙрдЧ рдореЗрдВ рд░реЗрдЬ рдФрд░ рддрд╛рд░ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдбрд╝реА рд╕рдВрдХреЗрдд рдХрд╛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдЕрдзрд┐рдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ VHDL рдореЗрдВ рдПрдХ рдЙрдкрдирд╛рдо рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рддрдирд╛рд╡ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╡реЗрд░рд┐рд▓реЙрдЧ рдореЗрдВ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдФрд░ рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рднреА рд╣реИред рд╕рд┐рдЧреНрдирд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ b рдФрд░ c рдХреЛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 always @(posedge clk1) begin c = b; b = a; end 

рдФрд░ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 always @(posedge clk1) begin b = a; c = b; end 

рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкрд░рд┐рдгрд╛рдо рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред

рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпреЗ рдкреНрд░рд╢реНрди рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреА рд╕рдордЭ рд╕реЗ, рдХреЛрдИ рднреА рд╡рд┐рднрд┐рдиреНрди рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕ рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рд╣рдореЗрд╢рд╛ рджреЗрд░реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рд╕реИрдВрдкрд▓ рдлрд╛рдЗрд▓реЗрдВ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

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


All Articles