Lyoshenka, Lyoshenka, рдореБрдЭреЗ рдПрдХ рдПрд╣рд╕рд╛рди рдХрд░реЛ!
рдЬрд╛рдиреЗрдВ, рдПрд▓реЛрд╕реЗрдирдХрд╛, рдЧреБрдгрди рддрд╛рд▓рд┐рдХрд╛!рдЕрдЧрдирд┐рдпрд╛ рдмрд╛рд░реНрдЯреЛрдкрд╣рд▓рд╛ рдХрд╛рдо рдкрд╣рд▓реЗ рдПрдХ рдЧреНрд░реЗрдбрд░ рдХреЗ рд▓рд┐рдПред рдХреБрдЫ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рджреА рдЧрдИ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЕрдЬреНрдЮрд╛рдд рд╣реИред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд░рдИрд╕ рдбреЙрди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдХреИрд╕реЗ рджреЗрдЧрд╛ ??? рдПрдХ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣реЗрдВрдЧреЗ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрджрдореА, рдЧреБрдгрдХ рд░рдЦреЛ рдФрд░ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдХреА рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛред рдФрд░ рд╢рд╛рдпрдж рдпрд╣ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реЛрдЧрд╛!
рдПрд▓реНрдЯрд░реНрд░рд╛ рдФрд░
рдЬрд╝рд┐рд▓рд┐рдирдХреНрд╕ рдХреЗ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рдЕрджреНрднреБрдд рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐
рд▓реИрд╕реАрд╕ рд╕реЗ рдЖрдИрд╕реАрдИ -40 ред рдЕрд▓реНрдЯреНрд░рд╛ рдорд╛рдЗрдХреНрд░реЛ рдЦрдкрддред рдмрд╣реБрдд рд╕рд╕реНрддрд╛ рд╣реИред рд╣рд╛рдВ, рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рджрд░реНрдж рд╕реЗ рдЫреЛрдЯреЗ рд╣реИрдВ, рдФрд░ рдЕрдлрд╕реЛрд╕, рд╡рд╣рд╛рдБ рдХреЛрдИ рдЧреБрдгрдХ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ 4 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЖрдпрд╛ рдерд╛ рдЬрдм рдореИрдВрдиреЗ adsp-2185 рдХреЛрдбрд╛рдВрддрд░рдХ рд╕реЗ
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд ADPCM рдХреЛрдбреЗрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред
рдирд╣реАрдВ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдмрд┐рдирд╛ рдЧреБрдгрдХ (рджреЛ рдЪрд░ рдХреЗ рд▓рд┐рдП) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдореБрдЭреЗ рдЗрд╕реЗ рдкреЗрди рд╕реЗ рдмрдирд╛рдирд╛ рдерд╛ рдФрд░ рдЙрд╕рдиреЗ рдЖрдзрд╛ рдХреНрд░рд┐рд╕реНрдЯрд▓ рд▓реЗ рд▓рд┐рдпрд╛ред рдореБрд╕реАрдмрдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдореЗрд░реЗ рд╣рд░ рдХрджрдо рдореЗрдВ, рдпрд╛рдиреА рдХреЛрдИ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдирд╣реАрдВред рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЪрд░ рдХреЗ рдЧреБрдгрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд┐рд╢реНрдЪрд┐рдд рдЧреБрдгрд╛рдВрдХ рдереЗ, рдЬрд┐рдиреНрд╣реЗрдВ рднреА рдЧреБрдгрд╛ рдХрд░рдирд╛ рдерд╛ред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреБрдгрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛, рдмрд╕ рдХреЛрдИ рдЦрд┐рдбрд╝рдХреА рдирд╣реАрдВ рдмрдЪреА рдереАред рдФрд░ рдЬрдм рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдВрдШрд░реНрд╖ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдЪрдХрдорд╛ рджреЗрдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдФрд░ рдЗрди рдЧреБрдгрд╛рдВрдХреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрди рдХреА рдЗрд╖реНрдЯрддрдо рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ (рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЧреБрдгрдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг!)ред рдареАрдХ рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рдкреВрд░рд╛ рд╕рдкрдирд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ - рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЧреБрдгрд╛рдВрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдпреЛрдЬрдирд╛рдПрдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рд┐рд╕реНрдЯрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдЙрдард╛ рд╕рдХреЗрдВред
рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ-рдЧреНрд░реЗрдбрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╕реЗ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрдЬреАрдирд┐рдпрд░ рдФрд░ рдЧрдгрд┐рддрдЬреНрдЮ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкрд░ рдЪрд▓реЗ рдЧрдПред рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд╖реНрдЯрддрдо рдЧреБрдгрди рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдЖрдЗрдП рд╣рдо рдереЛрдбрд╝рд╛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рд╕рдВрдЦреНрдпрд╛
рдП рдХреЛ рдмреА рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВред
- рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
- рдЪрд▓реЛ рдмрд┐рдЯреНрд╕ рдП рдкрд░ рдЬрд╛рдПрдВ ред
- рдпрджрд┐ рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ 0 рдореЗрдВ, рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
- рдпрджрд┐ рдмрд┐рдЯ 1 рдореЗрдВ рд╣реИ, рддреЛ рд╣рдо рдмреА рдХреЛ рдмрд┐рдЯ рдХреА рдЗрд╕реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдХрдо рдЗрдХрд╛рдЗрдпрд╛рдВ
A рдЕрдВрдХреЛрдВ рдореЗрдВ рд╣реИрдВ, рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред 2, 4 рдпрд╛ 8 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рд╢рд┐рдлреНрдЯ рдХреА рдЬрд░реВрд░рдд рд╣реИред 3, 5 рдпрд╛ 10. рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдкрд░ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ред 11 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрдард┐рдиред рдЕрдзрд┐рдХ рдЗрдХрд╛рдЗрдпрд╛рдВ, рдХрдард┐рдиред
рдЦреИрд░, 255 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рдХреЗ рд░реВрдк рдореЗрдВ 8 рдЗрдХрд╛рдЗрдпреЛрдВ, рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ рдХрд╛рд░реНрдп, рд╕рд╣реА? рдФрд░ рдпрд╣рд╛рдБ рдореВрд░реНрддрд┐рдпрд╛рдБ рд╣реИрдВ! рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рдХрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдЭрдЧрдбрд╝рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ
рдмреА рдХреЛ 256 рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ (рдпрд╛рдиреА, рдЗрд╕реЗ 8 рдЕрдВрдХреЛрдВ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ) рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдШрдЯрд╛рдПрдВред рдпрд╣ рджреБрд░реНрдЬреЗрдп рджрд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ, 255 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ 10 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ 254 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ 240 рд╕реЗ, рдФрд░ 224 рд╕реЗ (рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ!)ред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдШрдЯрд╛рд╡ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдмрд╣реБрдореВрд▓реНрдп рд╡рд┐рдЪрд╛рд░ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВред рдЗрд╕ рдмреАрдЪ, рд╣рдо
рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреА
рдХрдард┐рдирд╛рдИ рдХреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝ (рдпрд╛ рдШрдЯрд╛рд╡) рд╕рдВрдЪрд╛рд▓рди рдХрд╣рддреЗ рд╣реИрдВред рд╢рд┐рдлреНрдЯреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрдХрд┐рдЯреНрд░реА рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд╣реАрдВ!) рд╡реЗ рдмрд┐рдирд╛ рдХреБрдЫ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдЗрдП рд╣рдо рдПрдХ рд╕реНрдкрд╖реНрдЯ рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧреА рдХрдерди рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреА рдХрдард┐рдирд╛рдИ рдЙрд╕рдХреЗ рдмрд╛рдЗрдирд░реА рдЕрдВрдХрди рдореЗрдВ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХрдо рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИредрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдЧрд░ рд╣рдо рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдШрдЯрд╛рд╡ рдХреА рдЪрд╛рд▓ рдХреЗ рдмрд┐рдирд╛ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд╕реНрдХреВрд▓ рдореЗрдВ рдкрдврд╝рд╛рдпрд╛ рд╣реИ, рддреЛ рдЬреЛрдбрд╝ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╛рдЗрдирд░реА
рдП рдореЗрдВ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА
ред рдФрд░ рдЕрдЧрд░ рд╣рдо рдЫрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рджреЗрдВрдЧреЗред
рдЗрд╕ рдХрдерди рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо:
рдХрд┐рд╕реА рднреА n-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА рдХрдард┐рдирд╛рдИ рд╣рдореЗрд╢рд╛ n рд╕реЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдХрдо рд╣реЛрддреА рд╣реИ ред
рдЖрдЦрд┐рд░рдХрд╛рд░,
n- рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛
n рд╣реИ , 255 рдЬреИрд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдПред рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдлреЛрдХрд╕, 255 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдХреЗ, рд╣рдо рдХрд┐рд╕реА рднреА рдХреНрд╖рдорддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХреЗ рдЧреБрдгрдХреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИред
рдЖрдЗрдП рд╣рдо рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдЕрдзрд┐рдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рджреЗрдВред рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
A рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЧреБрдгрди рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ
ред рд╣рдо рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╕рднреА рд╢рд░реНрддреЗрдВ рдЪрд▓рддреА рд╣реИрдВ, рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдШрдЯрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╣реА
рдП рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░,
A рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрди рдХреА рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рд╕рдВрдЦреНрдпрд╛
A рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдпреЛрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╢рдмреНрдж
+ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдФрд░ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЖрдк рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╢рдмреНрджреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ
A + рдФрд░
A- ,
A рдХреЗ рдмрд░рд╛рдмрд░ рдХреЗ рдЕрдВрддрд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
ред рдпрд╣ рдмреБрд░рд╛ рд╣реИ ... рдЕрдВрддрд░ рдХреЗ рд╕рджрд╕реНрдп рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдмрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рддреЛ рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреЛ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╢рдХреНрддрд┐ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдЧрд░ рд╡рд╣ рдПрдХ рд╣реА рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рджреЛ рдмрд╛рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рджреЛ рдХреА рд╢рдХреНрддрд┐ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЗрдХрд╛рдИ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рдиреНрд╣реЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рдмрд╛рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ, рддреЛ рд╡реЗ рдкрд░рд╕реНрдкрд░ рдШрдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпрд╣ рдпреЛрдЬрдирд╛
A рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдЗрдирд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рдорд╛рди рд╣реИ
ред рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ "рдмрд┐рдЯреНрд╕" (рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЙрдиреНрд╣реЗрдВ
рдЯреНрд░рд┐рдЯреНрд╕ рдХрд╣реЗрдВрдЧреЗ ) рджреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рддреАрди рдорд╛рди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ: 1, 0 рдФрд░ -1ред
рдХреБрд▓ред рдпрджрд┐
A рдПрдХ
n- рдмрд┐рдЯ рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХреА рдпреЛрдЬрдирд╛ рдХреЛ рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЬрд╣рд╛рдБ
- рдЯреНрд░рд┐рдЯреНрд╕, рдорд╛рди 1, 0 рдФрд░ -1, рдФрд░
рдПрдо рдХреБрдЫ рдЕрдЬреНрдЮрд╛рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ
рддреНрд░реИрдорд╛рд╕рд┐рдХ рдпреЛрдЬрдирд╛ рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ
рдпреЛрдЬрдирд╛ рдпрд╛ рд╕рдВрдЦреНрдпрд╛
рдП рдХреЗ рд▓рд┐рдП
рдЧреБрдгрди рдпреЛрдЬрдирд╛ рдХрд╣реЗрдВрдЧреЗ
редрдЖрдЗрдП
рдореА рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рд╕реЗ 255 рд╕реЗ рдЧреБрдгрд╛ рдХреЗ рд╕рд╛рде рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ,
рдПрдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ
n рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣
n + 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
A, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ
n- рдЕрдВрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред рдлрд┐рд░ рдЧреБрдгрди рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рдореНрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЙрд╕рдХреЛ рдпрд╛рдж рдХрд░реЛ
рдЗрд╕рд▓рд┐рдП, рдЙрдЪреНрдЪрддрдо рдЯреНрд░рд┐рдЯ -1 рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рднрд▓реЗ рд╣реА рдЕрдиреНрдп рд╕рднреА 1 рд╣реИрдВ, рдлрд┐рд░ рднреА рдпреЛрдЧ -1 рд╣реЛрдЧрд╛ред рдФрд░ рд╣рд╛рд▓рдд
рдП рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИред рдЕрдм рд╢реАрд░реНрд╖ рдЯреНрд░рд┐рдЯ рдХреЛ 1 рд╣реЛрдиреЗ рджреЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЧрд▓рд╛ рдЯреНрд░рд┐рдЯ -1 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рд░рд╛рд╢рд┐ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рдЬрд╛рдПрдЧреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЕрдЧрд▓рд╛ рдЯреНрд░рд┐рдЯ 0 рд╣реИ, рддреЛ рдпреЛрдЧ рдХрд┐рд╕реА рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реЛрдЧрд╛
рдЬрдмрдХрд┐
n -bit
A рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ
ред рд▓реЗрдХрд┐рди рдпрджрд┐ рд╢реАрд░реНрд╖ рдЯреНрд░рд╛рдЗрдЯ 1 рд╣реИ, рдФрд░ рдЕрдЧрд▓рд╛ -1 рд╣реИ, рддреЛ рджреЛ рд╢реАрд░реНрд╖ рд╕рджрд╕реНрдпреЛрдВ рдХрд╛ рдпреЛрдЧ рд╣реИ
ред рддреЛ рд╢реАрд░реНрд╖ рддреНрд░рд┐рдд 0 рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдерди рд╕рд┐рджреНрдз рд╣реЛрддрд╛ рд╣реИ:
m = n ред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ,
n- рдмрд┐рдЯ
A рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрди рдХреА рдХрд┐рд╕реА рднреА рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
n + рджреЛ рдХреА рджреЛ рд╢рдХреНрддрд┐рдпрд╛рдБ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ - 0 рд╕реЗ
n рддрдХ (рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ), рдЬреЛ рддреБрд░рдВрдд рд╣рдореЗрдВ рдЕрдирдВрддрддрд╛ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдЕрдм рдЖрдк рдХрд┐рд╕реА рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА
рдХрдард┐рдирд╛рдЗрдпреЛрдВ (рдКрдкрд░ рджреЗрдЦреЗрдВ) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд▓рд┐рдЦрдХрд░ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд┐рдЯреНрд╕ рдирд╣реАрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЯреНрд░рд╛рдЗрдЯреНрд╕ (рддреАрди рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп) рд╣реИрдВ, рджреВрд╕рд░реЗ, рдЯреНрд░рд╛рдЗрдЯреНрд╕ рдХреЗ рдХреБрдЫ рд╕рдВрдпреЛрдЬрди рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреАрд╕рд░рд╛, рдХреБрдЫ рд╕рдВрдпреЛрдЬрди рд╕рдВрдпреЛрдЧ рд╕рдВрдЦреНрдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред
рд╣рдо рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдореИрдВ рдЙрдирдХрд╛ рдРрд╕рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЬреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЯреНрд░рд╛рдЗрд╕реЗрдо рдХреНрд▓рд╛рд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдКрдкрд░ рд╢реБрд░реВ рдХреА рдЧрдИ рдЯрд░реНрдирд░реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдСрд▓рд╢реЗрдореЗрд╕ рдлрдВрдХреНрд╢рди, рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдиреНрдпреВрдорд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдмрд┐рдЯ рд╕рд╛рдЗрдЬ рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕реНрдХреАрдо, рдФрд░ рд░рд┐рдЬрд▓реНрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ:
TriSchemeclass TriScheme(): def __init__(self, buf:list):
рд╣рдо рд╕рднреА 4-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ:
0 0 1 [00000]
1 1 5 [0000+, 000 + -, 00 + -, 0 + ---, + ----]
2 1 4 [000 + 0, 00 + -0, 0 + - 0, + --- 0]
3 2 7 [000 ++, 00 + - +, 00 + 0-, 0 + - +, 0 + -0-, + --- +, + + -]
4 1 3 [00 + 00, 0 + -00, + - 00]
5 2 8 [00 + 0 +, 00 ++ -, 0 + -0 +, 0 + - + -, 0 + 0--, + - 0+, + - + - +, + -0--]
6 2 5 [00 ++ 0, 0 + - + 0, 0 + 0-0, + - + 0, + -0-0]
7 2 7 [00 +++, 0 + - ++, 0 + 0- +, 0 + 00-, + - ++, + -0- +, + -00-]
8 1 2 [0 + 000, + -000]
реп реи + [реж + режреж +, реж + реж + -, реж ++ -, + -00 +, + реж + +, + - + - +, +0 ---]
10 2 5 [0 + 0 + 0, 0 ++ - 0, + -0 + 0, + - + - 0, + 0-0]
11 3 8 [0 + 0 ++, 0 ++ - +, 0 ++ 0-, + -0 ++, + - + - +, + - + 0-, +0 - +, + 0-0 -]
12 2 3 [0 ++ 00, + - + 00, + 0-00]
13 3 7 [0 ++ 0 +, 0 +++ -, + - + 0+, + - ++ -, + 0-0 +, +0 - + -, + 00--]
14 2 4 [0 +++ 0, + - ++ 0, + 0- + 0, + 00-0]
15 2 5 [0 ++++, + - +++, +0 - ++, + 00- +, + 000-]
рдпрд╣рд╛рдВ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕рдХреА рдХрдард┐рдирд╛рдИ (рдпреЛрдЬрдирд╛ рдореЗрдВ рдЧреИрд░-рдПрд╕реНрдЯреЗрд░реЛ рддрддреНрд╡реЛрдВ рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛), рдлрд┐рд░ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
рдпреЛрдЬрдирд╛ рдореЗрдВ,
+ 1,
0 - 0, рдФрд░
- - -1 рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдмрд╛рдИрдВ рдУрд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рддреНрд░рд┐рд╢реВрд▓ (рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрддрдиреА рдореЗрдВ)ред
рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ 13 рдФрд░ 11 рдореЗрдВ рдХрдард┐рдирд╛рдИ 3 рд╣реИ (4-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИ)ред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИред рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЧреБрдгрди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреВрд▓ рдореЗрдВ рдкрдврд╝рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдСрдкрд░реЗрд╢рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рд┐рд╕реНрдЯрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рд╕реНрдерд┐рд░рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рдбреЗрдЯрд╛ рд╣реИред рддреЛ 14-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрддрдо рдХрдард┐рдирд╛рдИ 8 рд╣реИред рдФрд░ рд╕рд░реНрдХрд┐рдЯ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 937 рд╣реИред
рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред рдЗрд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрдврд╝рддреА рд╣реИ
рд╕рдВрдЦреНрдпрд╛
n рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред 8 рдЕрдВрдХ рдХреЗ рд▓рд┐рдП рддреБрд░рдиреНрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред 14 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдПред 16 рдХреЗ рд▓рд┐рдП - рдШрдВрдЯреЗред рдпрджрд┐ рдЖрдкрдХреЛ рд╕рднреА
n- рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдХрд┐рдЯ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ C рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрдкреНрдпреВрдЯрд░ рд▓реЗрдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ GPU рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЛрд╣реЗ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рдЖрдорддреМрд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреА рд╣реИред рдФрд░ рд╕рднреА рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рдЗрд╖реНрдЯрддрдоред рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдЪреБрдирдирд╛ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рд╕реНрдерд┐рд░рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг)ред рдФрд░ рдпрд╣рд╛рдВ рдЖрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рдирд╡реАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╣рдо рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕рдорд╛рдирддрд╛ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ:
ред
рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХрдИ рд╡рд░рд┐рд╖реНрда рдЯреНрд░рд┐рдЯ рдпреЛрдЬрдирд╛рдПрдВ рдЬреНрдЮрд╛рдд рд╣реИрдВред рд╕реНрдерд┐рддрд┐
k рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЫреЛрдЯреЗ рдЯреНрд░рд┐рдЯ рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рдиреЗ
рдЬрд╛рддреЗ рд╣реИрдВред рдлрд┐рд░, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдЬреНрдЮрд╛рдд рдЯреНрд░рд┐рдЯ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП, рд╣рдо рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд▓рд╕ / рдорд╛рдЗрдирд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдмрджрд▓ рджреЗрдВрдЧреЗ
ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдЪрд▓реЗ рдЯреНрд░рд┐рдЯреНрд╕ рдХреА рдЙрдиреНрдирддрд┐ рдХреЗ рд╕рд╛рде, рдЗрд╕ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХрд╛ рдореВрд▓реНрдп рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреНрд░рдорд┐рдХ рдЕрдиреБрдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЯреНрд░рд┐рдЯ рдХреЗ рдмрд╛рдж рдЯреНрд░рд┐рдЯред
рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛
A рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рдПред рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП
n- рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмреАрдЪ рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдП рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд╛ рдкреВрд░реНрдг рдореВрд▓реНрдп рд╕рд░реНрдХрд┐рдЯ рдХреА
рддреНрд░реБрдЯрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
n + рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдПрдХ
n + 1- рдмрд┐рдЯ рд╕реНрдХреАрдо рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдореЗрдВ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╕реЗрдЯ рд╣реИрдВред рдФрд░ рдЪрд▓рд┐рдП рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ, рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдХрд░рдХреЗ рдЯреНрд░рд┐рдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
K- th рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рд░реНрдХрд┐рдЯ рддреАрди рдирдП рдкреИрдЯрд░реНрди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ -
k- th trit 1, 0 рдФрд░ -1 рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рдеред рд╣рдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рддреНрд░реБрдЯрд┐ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ
ред рд╕рд░реНрдХрд┐рдЯ рдХреА рдкрд░рд┐рдгрд╛рдореА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде, рд╕реНрдерд┐рддрд┐
k-1 рдкрд░ рдХрджрдо
рдмрдврд╝рд╛рддреЗ рд╣реИрдВ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд░рд┐рдгрд╛рдореА рд╕реВрдЪреА рдореЗрдВ (рд╕реНрдерд┐рддрд┐ 0 рдкрд░) рд╕рднреА рд╕рдВрднрд╡ рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреА рдЬрд┐рдирдХрд╛ рдореВрд▓реНрдп
рдП рд╣реИ
ред рдЖрдЗрдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреИрд▓реНрд╕реЗрд╕рдо рдХреЛ рд▓рд┐рдЦреЗрдВред
calcSchemes def calcSchemes(a, n=-1): m=1 nn=1 while m < a: nn+=1 m=m*2 if n < nn: n=nn sch=[TriScheme([0]*n)] for i in range(0, n): tmp=[] pos=ni-1 for j in range(0, len(sch)): for k in range(-1, 2): ts=sch[j] ts.buf[pos]=k d=abs(a - int(ts)) if d <= (2**pos - 1): tmp.append(TriScheme(ts.buf)) sch=tmp return sch
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рдкрдиреЛрдВ рдХреА рдмрд┐рдХреНрд░реА рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ред
рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рджреЛ рдЧреБрдгрд╛рдВрдХ рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА: резремрейрелрез рдФрд░ резремрейрез wereред рдХреИрд▓реНрд╕реАрдХреЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЗрди рдЧреБрдгрд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдПрдБ рдЦреЛрдЬрддреЗ рд╣реИрдВ:
рдпреЛрдЬрдирд╛рдУрдВ16351 рдХреЗ рд▓рд┐рдП
0 +++++++++ 0 ++++++
0 ++++++++++ - ++++
0 ++++++++++ 0 - +++
0 ++++++++++ 00 - ++
0 +++++++++++ 000- +
0 ++++++++++ 0000-
+ - ++++++++ ++ +++++
+ - +++++++++ - ++++
+ - +++++++++ 0 - +++
+ - ++++++++ 00 - ++
+ - ++++++++++ 000- +
+ - ++++++++++ 0000-
+0 - ++++++ 0 ++++++
+0 - ++++++++ - ++++
+0 - +++++++ 0 - +++
+0 - +++++++ 00 - ++
+0 - +++++++++ 000- +
+0 - +++++++ 0000-
+00 - +++++ 0 +++++
+00 - ++++++ - ++++
+00 - ++++++ 0 - +++
+00 - ++++++ 00 - ++
+00 - ++++++ 000- +
+00 - ++++++ 0000-
+000 - ++++ 0 +++++
+000 - +++++ - ++++
+000 - +++++ 0 - +++
+000 - +++++ 00 - ++
+000 - +++++ 000- +
+000 - +++++ 0000-
+0000 - +++ 0 +++++
+0000 - ++++ - ++++
+0000 - ++++ 0 - +++
+0000 - ++++ 00 - ++
+0000 - ++++ 000- +
+0000 - ++++ 0000-
+00000 - ++ 0 ++++++
+00000 - +++ - ++++
+00000 - +++ 0 - +++
+00000 - +++ 00 - ++
+00000 - +++ 000- +
+00000 - +++ 0000-
+ 000000- + 0 +++++
+000000 - ++ - ++++
+000000 - ++ 0 - +++
+000000 - ++ 00 - ++
+000000 - ++ 000- +
+000000 - ++ 0000-
+ 0000000-0 ++++++
+0000000 - + - ++++
+ 0000000- + 0 - +++
+ 0000000- + 00 - ++
+ 0000000- + 000- +
+ 0000000- + 0000-
+00000000 - ++++
+ 00000000-0 - +++
+ 00000000-00 - ++
+ 00000000-000- +
+ 00000000-0000-
16318 рдХреЗ рд▓рд┐рдП
0 ++++++++ 0 +++++ 0
0 +++++++++ - ++++ 0
реж +++++++++ реж - +++ реж
0 ++++++++ 00 - ++ 0
0 ++++++++++ 000- + 0
0 ++++++++ 0000-0
+ - ++++++ 0 +++++ 0
+ - +++++++ - ++++ 0
+ - +++++++ 0 - +++ 0
+ - +++++++ 00 - ++ 0
+ - +++++++ 000- + 0
+ - +++++++ 0000-0
+0 - +++++ 0 +++++ 0
+0 - ++++++ - ++++ 0
+0 - ++++++ 0 - +++ 0
+0 - ++++++ 00 - ++ 0
+0 - ++++++ 000- + 0
+0 - ++++++ 0000-0
+00 - ++++ 0 +++++ 0
+00 - +++++ - ++++ 0
+00 - +++++ 0 - +++ 0
+00 - +++++ 00 - ++ 0
+00 - +++++ 000- + 0
+00 - +++++ 0000-0
+000 - +++ 0 +++++ 0
+000 - ++++ - ++++ 0
+000 - ++++ 0 - +++ 0
+000 - ++++ 00 - ++ 0
+000 - ++++ 000- + 0
+000 - ++++ 0000-0
+0000 - ++ 0 +++++ 0
+0000 - +++ - ++++ 0
+0000 - +++ 0 - +++ 0
+0000 - +++ 00 - ++ 0
+0000 - +++ 000- + 0
+0000 - +++ 0000-0
+ 00000- + 0 +++++ 0
+00000 - ++ - ++++ 0
+00000 - ++ 0 - +++ 0
+00000 - ++ 00 - ++ 0
+00000 - ++ 000- + 0
+00000 - ++ 0000-0
+ 000000-0 +++++ 0
+000000 - + - ++++ 0
+ 000000- + реж - +++ реж
+ 000000- + 00 - ++ 0
+ 000000- + 000- + 0
+ 000000- + 0000-0
+0000000 - ++++ 0
+ 0000000-0 - +++ 0
+ 0000000-00 - ++ 0
+ 0000000-000- + 0
+ 0000000-0000-0
рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ! рджреЛрдиреЛрдВ рдХрд╛рд░рдХреЛрдВ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реИред 3. рд╣рдо рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдпреЛрдЬрдирд╛рдПрдБ рдЪреБрдирддреЗ рд╣реИрдВ:
16318
+ 0000000-0000-0 рдХреЗ рд▓рд┐рдП рдФрд░ 16351 рдХреЗ рд▓рд┐рдП -
+ 00000000-0000- ред рд╣рдо рдлрд┐рд░ рд╕реЗ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдереЗ! рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдкреВрдВрдЫ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╡реЗ резремрейрез left рдФрд░ резремрейрелрез рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд╛рди рдХреА рдмрд╛рдИрдВ рдкрд╛рд░реА рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВред рддреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдЬреЛ 16318 рдФрд░ 16351 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рд╢рд┐рдлреНрдЯрд░ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рд╢рд┐рдлреНрдЯ рдХрд┐рдП рдЧрдП рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрдВрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЪрд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдо 16318 рдФрд░ 16351 рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХреЗ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рддреАрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
- "рд╕реНрдХреВрд▓" рд╡рд┐рдХрд▓реНрдк (рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрдзрди рдФрд░ рдмрджрд▓рд╛рд╡)
- рдЗрд╖реНрдЯрддрдо рд╕рд░реНрдХрд┐рдЯ
- рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╖реНрдЯрддрдо рдпреЛрдЬрдирд╛
рд╕рднреА рддреАрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдВрд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдХрд┐рддрдиреЗ рдХреНрд░рд┐рд╕реНрдЯрд▓ рд╕рдВрд╕рд╛рдзрди рдЦрд░реНрдЪ рд╣реЛрдВрдЧреЗред
Verilog /*----------------------- ----------------------*/ module mul_163xx( input[15:0] di, input s, output[31:0] dq ); reg[31:0] dd; always @* if(s) dd= (di<<13)+(di<<12)+(di<<11)+(di<<10)+(di<<9)+(di<<8)+(di<<7)+(di<<4)+(di<<3)+(di<<2)+(di<<1) + (di<<6)+di; else dd=(di<<13)+(di<<12)+(di<<11)+(di<<10)+(di<<9)+(di<<8)+(di<<7)+(di<<4)+(di<<3)+(di<<2)+(di<<1) + (di<<5); assign dq=dd; endmodule /*--------------------------- -------------------------*/ module mul_163xx( input[15:0] di, input s, output[31:0] dq ); reg[31:0] dd; always @* if(s) dd= (di<<14) - (di<<5) - di; else dd=(di<<14) - (di<<6) - (di<<1); assign dq=dd; endmodule /*-------------- --------------*/ module mul_163xx( input[15:0] di, input s, output[31:0] dq ); wire[31:0] tail = (di<<5) + di; reg[31:0] dd; always @* if(s) dd= (di<<14) - tail; else dd=(di<<14) - (tail<<1); assign dq=dd; endmodule /*-------------------------------------------------------------*/ module mult_tb(); reg clk = 0; always #100 clk = ~clk; reg[15:0] di; wire[31:0] dq; reg s; mul_163xx mul ( .di (di), .dq (dq), .s (s) ); initial begin clk=0; s=0; $display("s=0"); di=1; @(posedge clk); $display("%d", dq); di=10; @(posedge clk); $display("%d", dq); di=100; @(posedge clk); $display("%d", dq); di=1000; @(posedge clk); $display("%d", dq); s=1; $display("s=1"); di=1; @(posedge clk); $display("%d", dq); di=10; @(posedge clk); $display("%d", dq); di=100; @(posedge clk); $display("%d", dq); di=1000; @(posedge clk); $display("%d", dq); $finish; end endmodule /*------------------------------PCF-------------------------------*/ set_io dq[0] A1 set_io dq[1] A2 set_io dq[2] P16 set_io dq[3] M13 set_io dq[4] A5 set_io dq[5] A6 set_io dq[6] A7 set_io dq[7] L13 set_io dq[8] A9 set_io dq[9] A10 set_io dq[10] A11 set_io dq[11] M14 set_io dq[12] P15 set_io dq[13] N16 set_io dq[14] A15 set_io dq[15] A16 set_io dq[16] B1 set_io dq[17] B2 set_io dq[18] B3 set_io dq[19] B4 set_io dq[20] B5 set_io dq[21] B6 set_io dq[22] B7 set_io dq[23] B8 set_io dq[24] B9 set_io dq[25] B10 set_io dq[26] B11 set_io dq[27] B12 set_io dq[28] B13 set_io dq[29] B14 set_io dq[30] B15 set_io dq[31] B16 set_io di[0] C1 set_io di[1] C2 set_io di[2] C3 set_io di[3] C4 set_io di[4] C5 set_io di[5] C6 set_io di[6] C7 set_io di[7] C8 set_io di[8] C9 set_io di[9] C10 set_io di[10] C11 set_io di[11] C12 set_io di[12] C13 set_io di[13] C14 set_io di[14] D4 set_io di[15] C16 set_io s D1
рд╕рднреА рддреАрди рд╡рд┐рдХрд▓реНрдк рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрдирдкреБрдЯ рдПрд╕ рдкрд░ 16318 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ 1 рдкрд░ 16351 рдкрд░ред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, yosys рд╕реНрдХреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП 488 рд╕реЗрд▓ рджреЗрддрд╛ рд╣реИ, рдЗрд╖реНрдЯрддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП 206, рдФрд░ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП 202ред рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА 4 рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдВрддрд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреВрд▓ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдмрд╣реБрдд рд╕рднреНрдп рд╣реИред
рдЦреИрд░, рдЖрдЦрд┐рд░рдХрд╛рд░ред рд╢рд╛рдпрдж, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдЧреАрдЪреЗ рдХреЛ рдмрд╛рдбрд╝ рджреЗрдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ 16318 = 16384-64-2, рдФрд░ 16351 = 16384-32-1ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрдЦреНрдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред рджреВрд╕рд░реЗ, рдпрджрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХрдИ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╖реНрдЯрддрдо рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рд░реНрдХрд┐рдЯ рдЦреЛрдЬ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдФрд░ рдЬреЛ рдЗрд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдШрдмрд░рд╛рдПрдВрдЧреЗ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЧреБрдгрдХ рдирд╣реАрдВ рд╣реИред