VHDL рдкрд░ рджреЗрд░реА рддрддреНрд╡ред рдПрдХ рдФрд░ рд░реВрдк

рд╢реБрдн рджрд┐рди
FPGA рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рджреЗрд░реА рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рд╡рд┐рдЪрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП " рд╡реАрдПрдЪрдбреАрдПрд▓ рдкрд░ рджреЗрд░реА рддрддреНрд╡ " рд╡рд┐рд╖рдп рдХрд╛ рдЙрддреНрддрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

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

  1. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  2. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  3. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  4. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  5. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  6. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  7. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  8. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  9. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;
  10. process (clk20Mhz,reset,A) -- begin if reset = '1' then B <= '0'; C <= '0'; elsif (clk20Mhz'event and clk20Mhz = '1') then B <= A; C <= B; end if; end process;


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

рдбреАрд╕реАрдПрдо рдХреЗ рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЛрдЧреБрдиреА рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд╕рд┐рдЧреНрдирд▓ рдПрдЬ рд╕реНрдерд┐рддрд┐ (clk20Mhz'event рдФрд░ clk20Mhz = '1') рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╕рдВрдХреЗрдд рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реНрдерд┐рддрд┐ (clk20Mhz'vent), рдЬреЛ рдХрд┐ рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рдпрд╛ рдЧрд┐рд░рд╛рд╡рдЯ рдкрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдЕрд╡рдзрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрдЪреНрдЪ рд╕реНрддрд░ рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рдерд╛ред

рддреАрд╕рд░рд╛ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рдЕрд╡рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рджреЗрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рдВрдкреВрд░реНрдг DCM рдХреЛ "рдзреАрдореА" рдЖрд╡реГрддреНрддрд┐ рдмрдирд╛рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рдирд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдПрдХ рд░реАрд╕реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЧрд┐рдирддреА рдХрд┐рдП рдЧрдП рдЯрд┐рдХреНрд╕ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рддрд╛рд░реНрдХрд┐рдХ рд╡реЗрдХреНрдЯрд░ рддрдм рддрдХ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ 255 рдХреЗ рдмрд░рд╛рдмрд░ рд╕реНрдерд┐рд░ x "FF" рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдП рд╡рд┐рдкрд░реАрдд рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╣ 254 рдХреЗ рдПрдХ рдХрд╛рд░рдХ рдХреЗ рд╕рд╛рде рдЖрд╡реГрддреНрддрд┐ рдП рдХреЛ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рднрдХреНрдд рд╣реИред рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдУрд╕реЗрд▓реЙрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рднрдХреНрдд рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдЖрд╡реГрддреНрддрд┐ рдХреА рдЖрдзреА рдЕрд╡рдзрд┐ рдХреЗ 256 рдЕрдВрдХ рддрдХ рдЧрд┐рдирддреА рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдЖрд╡реГрддреНрддрд┐ рд╕рдВрджрд░реНрдн рд╕реЗ 512 рдЧреБрдирд╛ рдХрдо рд╣реЛрдЧреАред рдпрджреНрдпрдкрд┐ FPGA рдореЗрдВ рдмрд┐рдЯреНрд╕ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рдпрд░рд┐рдВрдЧ рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдпрд╣рд╛рдВ рдмрдврд╝ рдЬрд╛рдПрдЧреАред рдмреЗрд╣рддрд░ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХрд╛ рдПрдХ рдЭрд░рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

  1. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  2. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  3. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  4. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  5. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  6. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  7. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  8. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  9. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  10. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  11. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  12. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  13. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  14. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  15. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
  16. process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;
process (clk,reset) begin if reset = '1' then A <= '0'; count <= (others=>'0'); -- count else if rising_edge(clk) then if count=x"FF" then count <= (others=>'0'); A <= not A; else count <= count + 1; end if; end if; end if; end process;


рдЕрдВрдд рдореЗрдВ, FPGAs рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ, рджреЗрд░реА рд╣рдореЗрд╢рд╛ рдЖрд╡реГрддреНрддрд┐ рдЕрд╡рдзрд┐ рдХрд╛ рдПрдХ рдмрд╣реБ рд╣реИред рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреНрд░рд┐рдЧрд░ рдЪрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ FPGA рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдкреНрд░рд╕рд╛рд░ рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рджреЗрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рдХрдИ рд╕рдордп рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рджреЗрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╡рд┐рд▓рдВрдм рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реГрддреНрддрд┐ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдпрд╣ рд╕реНрд╡-рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ - FPGA рдЙрдирдХреЗ рдкреАрдЫреЗ рд╣реИред

рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж

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


All Articles