
рддреЛ,
рдЪрдХреНрд░ рдХреЗ
рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд░реЗрдб рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП FPGAs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рд▓реЗрдЦ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдЦреИрд░, рдпрд╣ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдХреБрдЫ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЧреБрдард▓реА рдХрд╛ рдЪрдпрди рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдХрд░реНрдиреЗрд▓ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реНрдиреЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рдЪрдХреНрд░ рдХреЗ рд╕рднреА рд▓реЗрдЦ:
Redd рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд FPGAs рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ "рдлрд░реНрдорд╡реЗрдпрд░" рдХрд╛ рд╡рд┐рдХрд╛рд╕, рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрдореЛрд░реА рдЯреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧрд┐рдВрдЧRedd рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд FPGAs рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ "рдлрд░реНрдорд╡реЗрдпрд░" рдХрд╛ рд╡рд┐рдХрд╛рд╕ред рднрд╛рдЧ 2. рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛрдбрдЖрдЬ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдПрд╡рд▓реЙрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдвреВрдВрдврдирд╛ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐
рдПрд╡рд▓реЙрди рдмрд╕ NIOS II рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдмрд╕ рд╣реИред рдореИрдВ 26 рд╕рд┐рддрдВрдмрд░, 2018 рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╛рдЧреЛрдВ, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдЖрдВрдХрдбрд╝реЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред
рд╣рдо рдореЗрдореЛрд░реА рдореИрдкреНрдб рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдЕрдиреБрднрд╛рдЧ 3 рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдпрд╛ - 3.2ред рддрд╛рд▓рд┐рдХрд╛ 9 рдмрд╕ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рд╕рднреА рд╕рдВрдХреЗрдд рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред рдореБрдЭреЗ рдПрдХ рднреА рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓рдо рдореЗрдВ "рд╣рд╛рдВ" рдерд╛ред рд╣рдо рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЗрд╕ рдпрд╛ рдЙрд╕ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлреЙрд░рд╡рд░реНрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╕ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

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

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

рдЬрдмрдХрд┐
WaitRequest рдХреЛ рдХреЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЙрдкрдХрд░рдг рд╡реНрдпрд╕реНрдд рд╣реИред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдпрджрд┐ рдпрд╣ рд╕рдВрдХреЗрдд рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдкреВрд░рд╛ рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВрдбрд▓ рдХрд░рдиреЗ рдкрд░ "рдлреНрд░реАрдЬ" рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ FPGA рдХрд╛ рдПрдХ рд░рд┐рдмреВрдЯ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред JTAG рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╣реИрдВрдЧ рд╣реЛрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдШрдЯрдирд╛ рдЗрд╕ рд▓реЗрдЦ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рдереА, рдЗрд╕рд▓рд┐рдП рдпрд╛рджреЗрдВ рдЕрднреА рднреА рдЬреНрд╡рд▓рдВрдд рд╣реИрдВред
рдХрдВрдкрдиреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЖрдЧреЗ рдбреЗрдЯрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рдФрд░ рдмреИрдЪ рд▓реЗрдирджреЗрди рдХреЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдорд╛рдорд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдХрд╛ рдХрд╛рд░реНрдп рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдкрд╛рдардХ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ, рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдХрд┐ рдпрд╣ рд╕рдм рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЦреБрдж рдХреЛ рдЗрди рджреЛ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд░рдЦреЗрдВрдЧреЗред
рдЖрдЗрдП рдХреБрдЫ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдмрд╕ рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдорди рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ рд╕реАрд░рд┐рдпрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред рдЬрдмрдХрд┐ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ, рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЬреАрд╡рди рдореЗрдВ, рдореИрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ: рдПрдХ рд╡реНрдпрд╕реНрдд рд▓реЗрдирджреЗрди рдХреЗ рдЕрдВрдд рддрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдорд╛рдорд▓рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ рдФрд░ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рджреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдФрд░ рдЪрд┐рдк рдЪрдпрди рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред

рдЪрд▓реЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЯрд╛рдпрд░ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓реЗ рдЬрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ AVALON_DEMO рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦреВрдВрдЧрд╛ред рдореИрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо рдирд╣реАрдВ рдмрджрд▓реВрдВрдЧрд╛ред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ,
my_cores рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрд░ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗред рд╕рдЪ рд╣реИ, рдЖрдЬ рдпрд╣ рдПрдХ рд╣реЛрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ
CrazySerial.sv рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
module CrazySerial ( input clk, input reset, input [1:0] address, input write, input [31:0] writedata, output reg [1:0] cs ); always @(posedge clk, posedge reset) begin if (reset == 1) begin cs <= 0; end else begin if (write) case (address) 2'h00: cs <= writedata [1:0]; default:; endcase end end endmodule
рдЪрд▓реЛ рдареАрдХ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЗрдиреЗрдВред
рдХреНрд▓рдХ рдФрд░
рд░реАрд╕реЗрдЯ рдШрдбрд╝реА рдФрд░ рд░реАрд╕реЗрдЯ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред
рдореЗрдореЛрд░реА рдореИрдкреНрдб рдЗрдВрдЯрд░рдлреИрд╕ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде
рдкрддреЛрдВ рдХреЗ рдирд╛рдо,
рд▓реЗрдЦрди рдФрд░
рд▓реЗрдЦрди рд▓рд╛рдЗрдиреЗрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд▓реА рдЧрдИ рд╣реИрдВред


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

рд╣рдо рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ
рдирдП рдШрдЯрдХ рдЖрдЗрдЯрдо рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдореЗрдВ, рдлрд╝реАрд▓реНрдб рднрд░реЗрдВред рдФрд░ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдШрдЯрдХ рдирд╛рдо рднрд░реЗрдВ:

рдЕрдм
рдлрд╛рдЗрд▓ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░
Add File рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ :

рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕реЗ рд╕реВрдЪреА рдореЗрдВ рдЪреБрдиреЗрдВ рдФрд░
рд╕рдВрд╢реНрд▓реЗрд╖рдг рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ :
SystemVerilog рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рд╡реИрдЪрд╛рд░рд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рд╡реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ рдХрд┐ рдХреБрдЫ рд▓рд╛рдЗрдиреЗрдВ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдЬреБрдбрд╝реА рдереАрдВред рд╣рдо
рд╕рд┐рдЧреНрдирд▓ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ:
рд╕реАрдПрд╕ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ
avalon_slave0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕,
рд░реАрдбрдбрд╛рдЯрд╛ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рддрдм рдЕрдиреНрдп рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдирд╛рдо рджрд┐рдПред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреИрд╕реЗ рдХрд┐
рдирд╛рд▓реА рдореЗрдВ рд╕реМрдВрдкрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдЯрдо "рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛрдбрд╝реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ рдореЗрдВ, рдЪрдпрди рдХрд░реЗрдВ:

рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдорд┐рд▓рддрд╛ рд╣реИ:

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

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

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдмреЛрдзрди рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╣реИред рдЦреИрд░, рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рдпрд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕ рд╕рдордп рдЖрд░реЗрдЦ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╣реБрдд рдиреАрдЪреЗ рдЦреАрдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛:

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

рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдШрдбрд╝реА рд╕рд┐рдЧреНрдирд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред рд╣рдо рдбреЗрдЯрд╛ рдмрд╕ рдХреЛ
рдбреЗрдЯрд╛ рдорд╛рд╕реНрдЯрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
Conduit_end рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░реА рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдПрдХ рдирд╛рдо, рдХрд╣реЗрдВ,
рд▓рд╛рдЗрдиреЗрдВ рджреЗрдВ ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ:

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

рдЬреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд╕рдВрдкрд░реНрдХ B22 рдФрд░ C22 рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рд╣рдо рдЕрдВрддрд┐рдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ FPGA рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧреНрд░рд╣рдг рдХрд╛ рд╢реБрднрд╛рд░рдВрдн рдХрд░реЗрдВред
рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд░реЗрдб рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЖрдЦрд┐рд░реА рдХрд╛рдо рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рднреНрд░рдорд┐рдд рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреЗрдбрд╝ рд╕реЗ рдкреБрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреВрдВрдЧрд╛ (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреЗрдбрд╝ рд╕реЗ, рдмрд┐рдирд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рдЯрд╛рдП)ред

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

рдЕрдЧрд▓рд╛ -
рд╕рд╛рдорд╛рдиреНрдп-> рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ :

рдФрд░ рдмрд╕ рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЪреБрдиреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ:


рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрдВрдЧреАред

рдореИрдВ рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ рдЕрдЧрд▓реЗ рдЖрдЗрдЯрдо рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реВрдВрдЧрд╛:
рд╣рд░ рдмрд╛рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, Nios II -> BSP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ BSP рдореЗрдиреВ рдЖрдЗрдЯрдо рдЬрдирд░реЗрдЯ рдХрд░реЗрдВред

рджрд░рдЕрд╕рд▓, рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ
\ AVALON_DEMO \ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ \ SDRAMtest_bsp \ system.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛:
/* * CrazySerial_0 configuration * */ #define ALT_MODULE_CLASS_CrazySerial_0 CrazySerial #define CRAZYSERIAL_0_BASE 0x4011020 #define CRAZYSERIAL_0_IRQ -1 #define CRAZYSERIAL_0_IRQ_INTERRUPT_CONTROLLER_ID -1 #define CRAZYSERIAL_0_NAME "/dev/CrazySerial_0" #define CRAZYSERIAL_0_SPAN 16 #define CRAZYSERIAL_0_TYPE "CrazySerial"
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд▓рдЧрд╛рддрд╛рд░
CRAZYSERIAL_0_BASE рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ
рдореБрдЦреНрдп () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
while (true) { IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x00); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x01); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x02); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x03); }
рд╣рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмрд╛рдЗрдирд░реА рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╣ рд╡рд╣рд╛рдБ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕рд┐рд░реНрдл рдЕрджреНрднреБрдд рд╣реИ:

рд▓рдЧрднрдЧ 25 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдЖрдзреА рдмрд╕ рдЖрд╡реГрддреНрддрд┐ (2 рдШрдбрд╝реА рдЪрдХреНрд░) рд╣реИред рдХрднреА-рдХрднреА рдкрд╣реБрдВрдЪ рдХрд╛ рд╕рдордп 2 рдЪрдХреНрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдВрдмрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╢рд╛рдЦрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрд╛рд░рдг рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд╣реБрдВрдЪ рд╣реИред
рдпрд╣ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд
рд╡реЗрдЯрд░реЗрдХреНрд╡реЗрд╕реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рд┐рдЧреНрдирд▓ рдФрд░ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреА рдПрдХ рдЬреЛрдбрд╝реА
рдЬреЛрдбрд╝реЗрдВ -
рдПрд╕рдХреЗ рдФрд░
рдПрд╕рдбреАрдУ ред рдХреБрд▓, рд╣рдореЗрдВ
systemverilog рдкрд░ рдирд┐рдореНрди рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

рдПрдХ рд╣реА рдкрд╛рда: module CrazySerial ( input clk, input reset, input [1:0] address, input write, input [31:0] writedata, output waitrequest, output reg [1:0] cs, output reg sck, output sdo );
рдЕрдЪреНрдЫреЗ рд░реВрдк рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ рдорд╢реАрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдЧреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд▓реЗрдЦ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╢реАрди рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдЧрд░ рдореИрдВ рдорд╢реАрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рдмрдврд╝рд╛рддрд╛ (рдФрд░ рдореИрдВ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ), рддреЛ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рд░рд╛рдЬреНрдп рд╣реЛрдВрдЧреЗ: рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдЪрд╛рд▓реВ рд╣реИ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдкреНрд░рдЧрддрд┐ рдкрд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп рдХреЛ рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
reg рднреЗрдЬрдирд╛ = 0;
рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдПрдХ рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░, рдПрдХ рдХреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрдбрд░ (рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдзреАрдорд╛ рдЙрдкрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдФрд░ рдкреНрд░реЗрд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрдкрдпреБрдХреНрдд рд░рдЬрд┐рд╕реНрдЯрд░ рдЬреЛрдбрд╝реЗрдВ:
reg [2:0] bit_cnt = 0; reg [3:0] clk_div = 0; reg [7:0] shifter = 0;
рдореИрдВ рдЖрд╡реГрддреНрддрд┐ рдХреЛ 10 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ ("рдХреНрдпреЛрдВ рдирд╣реАрдВ?") рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рддред рддрджрдиреБрд╕рд╛рд░, рдкрд╛рдВрдЪрд╡реЗрдВ рдЪрд░рдг рдкрд░ рдореИрдВ рдПрд╕рд╕реАрдХреЗ рдХреЛ рдореБрд░реНрдЧрд╛ рдХрд░реВрдВрдЧрд╛, рдФрд░ рджрд╕рд╡реЗрдВ рдкрд░ - рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж - рдЕрдЧрд▓реЗ рдбреЗрдЯрд╛ рдкрд░ рдЬрд╛рдПрдВред рдЕрдиреНрдп рд╕рднреА рдЙрдкрд╛рдпреЛрдВ рдкрд░, рдмрд╕ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдмрдврд╝рд╛рдПрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдЪреМрдереЗ рдЙрдкрд╛рдп рдкрд░ рдЖрдкрдХреЛ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдиреМрд╡реЗрдВ рдкрд░ - рдЗрд╕реЗ рд╢реВрдиреНрдп рдХрд░реЗрдВред рдпрджрд┐ рд╣рдо рдЕрдЧрд▓реЗ рдмрд┐рдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд░реНрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
if (sending) begin case (clk_div) 4: begin sck <= 1; clk_div <= clk_div + 1; end 9: begin sck <= 0; clk_div <= 0; // < > end default: clk_div <= clk_div + 1; endcase end else
рдЕрдЧрд▓реЗ рдмрд┐рдЯ рдкрд░ рдЬрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рдлрд┐рд░, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдмрд┐рдЯ рд╕рд╛рддрд╡реЗрдВ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдорд╢реАрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдЕрдиреНрдпрдерд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛ рджрд┐рдпрд╛ред
shifter <= {shifter[6:0],1'b0}; if (bit_cnt == 7) begin sending <= 0; end else begin bit_cnt <= bit_cnt + 1; end
рджрд░рдЕрд╕рд▓, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдЙрдЯрдкреБрдЯ рдмрд┐рдЯ рд╣рдореЗрд╢рд╛ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рдЙрдЪреНрдЪ рдмрд┐рдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
assign sdo = shifter [7];
рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрдВрдХреНрддрд┐ред
рд╡реЗрдЯрд░реЗрдХреНрд╡реЗрд╕реНрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдПрдХрддрд╛ рдореЗрдВ рд╣рдореЗрд╢рд╛
рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛред рдЕрд░реНрдерд╛рддреН, рдпрд╣
рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рдЧреНрдирд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдорд╢реАрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:
assign waitrequest = sending;
рдареАрдХ рд╣реИ, рдФрд░ рдЬрдм рдкрддрд╛ 1 рдкрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИ (рдпрд╛рдж рд░рдЦреЗрдВ, рдпрд╣рд╛рдВ рд╣рдореЗрдВ 32-рдмрд┐рдЯ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ), рд╣рдо рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдиреИрдк рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд╢реВрдиреНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
if (write) //... 2'h01: begin bit_cnt <= 0; clk_div <= 0; sending <= 1; shifter <= writedata [7:0]; end default:; endcase end
рдЕрдм рдореИрдВ рдПрдХ рд╣реА рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЕрдВрд╢реЛрдВ рдХреЛ рджреВрдВрдЧрд╛: module CrazySerial ( input clk, input reset, input [1:0] address, input write, input [31:0] writedata, output waitrequest, output reg [1:0] cs, output reg sck, output sdo ); reg sending = 0; reg [2:0] bit_cnt = 0; reg [3:0] clk_div = 0; reg [7:0] shifter = 0; always @(posedge clk, posedge reset) begin if (reset == 1) begin cs <= 0; sck <= 0; sending <= 0; end else begin if (sending) begin case (clk_div) 4: begin sck <= 1; clk_div <= clk_div + 1; end 9: begin clk_div <= 0; shifter <= {shifter[6:0],1'b0}; sck <= 0; if (bit_cnt == 7) begin sending <= 0; end else begin bit_cnt <= bit_cnt + 1; end end default: clk_div <= clk_div + 1; endcase end else if (write) case (address) 2'h00: cs <= writedata [1:0]; 2'h01: begin bit_cnt <= 0; clk_div <= 0; sending <= 1; shifter <= writedata [7:0]; end default:; endcase end end assign sdo = shifter [7]; assign waitrequest = sending; endmodule
рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирдпрд╛ рдХреЛрдб рд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдШрдЯрдХ рдмрдирд╛рддреЗ рд╕рдордп рдкрде рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЪрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рд╢реЛрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдкрд░ рдЬрд╛рдПрдВред рдпрджрд┐ рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╡реЗрд░рд┐рд▓реЙрдЧ рдХреЛрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рддреИрдпрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП
рдЬреЗрдирд░реЗрдЯ рдПрдЪрдбреАрдПрд▓ рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирдИ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ (рдЕрд░реНрдерд╛рдд, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ), рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкреЗрдбрд╝ рдореЗрдВ рдЪреБрдиреЗрдВ, рджрд╛рдПрдВ рдорд╛рдЙрд╕ рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░
рд╕рдВрдкрд╛рджрди рдЪреБрдиреЗрдВред

рд╣рдо рдПрдХ рдореМрдЬреВрджрд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╕рдВрдкрд╛рджрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рддреЛ рдмрд╕
рдлрд╛рдЗрд▓ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ :

рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реБрдИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЧрд▓рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЛрд╖ рджреЗрдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо
рд╕рд┐рдЧреНрдирд▓ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕реЗрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдПрдХ рд╣реА рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде
sck рдФрд░
sdo рдХреЛ рдЦреАрдВрдЪрдХрд░
avalon_slave_0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ
conduit_end рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрдХ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ:

рд╕рд╛рде рд╣реА рдЙрдирдХреЗ рд▓рд┐рдП
рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рдХрд╛рд░ рдлрд╝реАрд▓реНрдб рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рджрд░рдЕрд╕рд▓, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рд╕рдорд╛рдкреНрдд , рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП
рдЬреЗрдирд░реЗрдЯ рдПрдЪрдбреАрдПрд▓ рдлрд╛рдЗрд▓ рдХреЙрд▓
рдХрд░реЗрдВ , рдХреНрд╡рд╛рд░реНрдЯреНрд╕ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдорд╕реМрджрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ, рдирдП рдкреИрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ:

рдпреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд╕рдВрдкрд░реНрдХ A21 рдФрд░ A22 рд╣реИрдВ, рд╣рдо рдЕрдВрддрд┐рдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, FPGA рдореЗрдВ "рдлрд░реНрдорд╡реЗрдпрд░" рднрд░реЗрдВред
рд▓реЛрд╣рд╛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдм рдХрд╛рд░реНрдпрдХреНрд░рдоред рдЖрдЗрдП рдЧреНрд░рд╣рдг рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдХрд░рдирд╛ рдпрд╛рдж рд╣реИ? рдпрд╣ рд╕рд╣реА рд╣реИ,
Generate BSP рдХреЛ рдЪреБрдирдирд╛ рди рднреВрд▓реЗрдВред
рджрд░рдЕрд╕рд▓, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдЪрд▓реЛ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рд▓рд╛рдЗрди рдмрд╛рдЗрдЯ
[0] рджреНрд╡рд╛рд░рд╛ рдЪрдпрдирд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рднреЗрдЬреЗрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░рд╛ -
рд╕реАрдПрд╕ [1] ред
IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x01); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE+4,0x12); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x02); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE+4,0x34); IOWR_ALTERA_AVALON_PIO_DATA (CRAZYSERIAL_0_BASE,0x00);
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╣рд╛рдБ рдХреЛрдИ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЬрд╛рдБрдЪ рдирд╣реАрдВ рд╣реИред рдкрд╛рд░реНрд╕рд▓ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдЬрд╛рддреЗ рд╣реИрдВред рдлрд┐рд░ рднреА, рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдкрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд▓рдЧрд╛рддрд╛рд░ рдирд┐рдХрд▓рд╛

рдкреАрд▓рд╛ рдХрд┐рд░рдг
cs [0] рд╣реИ , рд╣рд░реА
рдХрд┐рд░рдг sdo рд╣реИ , рдмреИрдВрдЧрдиреА
рдХрд┐рд░рдг sck рд╣реИ , рдФрд░ рдиреАрд▓реА
рдХрд┐рд░рдг cs / 1 рд╣реИ ред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 0x12 рдХреЛрдб рдкрд╣рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЧрдпрд╛, 0x34 рджреВрд╕рд░реЗ рдореЗрдВред
рдкрдарди рд╡реИрд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдХрд┐рд╕реА рднреА рд╕реБрдВрджрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реВрдВ, рд╕рд┐рд╡рд╛рдп рдХрдиреЗрдХреНрдЯрд░ рдкреИрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рд╡рд╣ рдЙрджрд╛рд╣рд░рдг рдЗрддрдирд╛ рдкрддрд┐рдд рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рднреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп рдпрд╣ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

рдпрджрд┐ рдХреЛрдИ
рд░реАрдб рд▓рд╛рдЗрди рд╣реИ, рддреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдбрд╛рдпрд▓реЙрдЧ рдореЗрдВ рдПрдХ рд░реАрдбрд┐рдВрдЧ рдЯрд╛рдЗрдорд┐рдВрдЧ рдЪрд╛рд░реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдФрд░ рдпрд╣ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдкреИрд░реЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп, рдпрд╣ рдЕрднреА рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рдПрдлрдЖрдИрдПрдлрдУ рдпрд╛ рд░реИрдо рд╕реЗ рдкрдврд╝рдиреЗ рдкрд░ - рдкреВрд░реА рддрд░рд╣ рд╕реЗред рдкрддрд╛ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд░реИрдо рдХреЛ рдбреЗрдЯрд╛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдмрд╕ рдиреЗ рдкрддрд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛, рд╕реНрдЯреНрд░реЛрдм рд╕реЗрдЯ рдХрд┐рдпрд╛ ... рд▓реЗрдХрд┐рди рдШрдбрд╝реА рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдирд┐рдХрдЯрддрдо рдХрд┐рдирд╛рд░реЗ рдкрд░ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рдЗрд╕ рдореЛрд░реНрдЪреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ ... рдЕрд░реНрдерд╛рддреН, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ-рд╡рд┐рд▓рдВрдмрддрд╛ рд╡рд┐рд▓рдВрдмрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрджрд┐ рдЖрдк рд╡рд╣ рдирд╣реАрдВ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдБрдЪ рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдмрд╛рдХреА - рдкрдврд╝рдирд╛ рд▓реЗрдЦрди рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред
рдареАрдХ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреА рддрддреНрдкрд░рддрд╛ рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред рддреИрдпрд╛рд░ рд╕рдВрдХреЗрдд рдПрдХ рджреЛ рдШрдбрд╝реА рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, 80 рдШрдбрд╝реА рдЪрдХреНрд░ рддрдХ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдПрдХ рджрд┐рд╡рд╕реАрдп рдЧреБрдард▓реА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╡рдЧрдд рд╣реЛрдВрдЧреЗ рдФрд░ рдмрд╕ рдХреЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рдкрд░ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪреЗрдВрдЧреЗред рд╕рдЪ рд╣реИ, рдЕрдЧрд░ рдХреЛрд░ рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рддрдХ рдЬреАрд╡рд┐рдд рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдРрд╕реА рдзрд╛рд░рдгрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬреАрд╡рди рдХреЛ рдЦрд░рд╛рдм рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬрдм рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдм рдХреБрдЫ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рдж рдореЗрдВ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдордиреЗ рдХреЛрд░ рдХреЛ рд╣рдорд╛рд░реЗ рдХреЛрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрд╛ рд╣реИред рдкрддрд╛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЕрдм рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рджреБрдирд┐рдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрдИ рд▓реЗрдЦреЛрдВ рдкрд░ рднреАред
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдордирдорд╛рдирд╛ рд╡реЗрд░рд┐рд▓реЙрдЧ рдХрд░реНрдиреЗрд▓ рдХреЛ рдПрдирдЖрдИрдУрдПрд╕ II рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрд╡рд▓реЙрди рдмрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╡рд┐рдХрд▓реНрдк, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдЬрд┐рд╕рдореЗрдВ рдмрд╕ рд╡реНрдпрд╕реНрдд рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред рд╕рд╛рд╣рд┐рддреНрдп рдХреЗ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдирд╕реЗ рдЖрдк рдореЗрдореЛрд░реА рдореИрдкреНрдб рдореЛрдб рдореЗрдВ рдПрд╡рд▓реЙрди рдмрд╕ рдХреЗ рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред