рд╡реЗрд░рд┐рд▓реЛрдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирдВрдмрд░ рд╕реЙрд░реНрдЯрд░

рдореЗрд░реЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреА рддрд░рд╣ , рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯрд░реА рдХреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЫрд╛рдБрдЯрдиреЗ рдХрд╛ "рдЕрдзрд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдердо" рдХрд╛рд░реНрдп рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡реЗрд░рд┐рд▓реЙрдЧ рдХреЛрдб рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╣реЛрдЧрд╛ред рдкреНрд░рд╢реНрди рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ 2 * n рдХреЗ рд╕рдордп рдореЗрдВ n рдирдВрдмрд░ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбреАрдкреАрдП рдХреА рддрд╕реНрд╡реАрд░ рдПрдлрдкреАрдЬреАрдП рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддреА рд╣реИ, рд╡рд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рд╕реЙрд░реНрдЯрд░ рдХреЗ рдПрдХ рдЯрд┐рдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдкрд╣рд▓реЗ рдПрди рдЯрд┐рдХ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд╕реЙрд░реНрдЯрд░ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрди рдЯрд┐рдХ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдирдВрдмрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред











рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдПрди рдирдВрдмрд░реЛрдВ рдХреА рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдУ (рдПрди * рд▓реЙрдЧ (рдПрди)) рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рддреБрд▓рдирд╛рдПрдВ рдХрд░рдХреЗ, рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП , рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ ред рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдЖрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИ, рдореЗрд░рд╛ рдореЙрдбреНрдпреВрд▓ рдПрдХ рд╕рдордп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирдВрдмрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдпрд╛ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрди <Nmax рдирдВрдмрд░ рдХреЛ рдПрди рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рдмрдлрд░ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрди рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рд╡рд╣рд╛рдВ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреНрд░рдордмрджреНрдзред

рдЕрджреНрдпрддрди: рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдерд╛ рдХрд┐ рдпрд╣ рдУ (рдПрди) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ N> Nmax, рддреЛ рдЖрдкрдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдорд░реНрдЬ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп ~ N * рд▓реЙрдЧ (N / Nmax) рд╣реЛрдЧрд╛ред As N -> inf рдпрд╣ рд╕рдорд╛рди O (n * рд▓реЙрдЧ (n)) рджреЗрдЧрд╛ред рдпрд╣, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрдереНрдп рдХреЛ рдирдХрд╛рд░рддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╕реЗ рддреЗрдЬ рд╣реИред



рдЪрд┐рддреНрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдореБрдЦреНрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдПрдХ рд╕рд╢рд░реНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред








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



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



//  module Sorting_Stack ( clk, hold, is_input, data_in, data_out ); //   parameter HBIT= 15; // size of number in bits parameter R_SZ= 256; // capacity, max sequence size parameter _R_SZ= (R_SZ+1)/2; // not to modify //  -  //   input clk; ... // -  input [HBIT:0] data_in; // load one number per clock output [HBIT:0] data_out; // while is_input==0, max value popping out here //      -  ... //    wire [HBIT:0] in_prev[_R_SZ]; wire [HBIT:0] in_next[_R_SZ]; wire [HBIT:0] out[_R_SZ]; //      -   //    //      // storage Cell_Compare #(HBIT) ribbon[_R_SZ] ( clk, hold, is_input, in_prev, in_next, out );
      
      





рдЖрдЗрдП рд╣рдо рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

Cell_Compare - рдореЙрдбреНрдпреВрд▓ рдкреНрд░рдХрд╛рд░

# (HBIT) - рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛

рд░рд┐рдмрди - рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдирд╛рдо

[_R_SZ] - рдпрд╣ рдПрдХ рд╕рд░рдгреА рд╣реИ, рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ

(clk, hold, is_input, рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдХреЗрдд рд╣реИрдВ

in_prev, in_next, out); - рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХреЗрддред



рдЕрдЧрд▓рд╛ рдЬрдирд░реЗрдЯ рдПрдХ рдЙрдкрдпреЛрдЧреА рдирд┐рд░реНрдорд╛рдг рд╣реИ рдЬреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

рдЫреЛрд░реЛрдВ рдЖрджрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рд╕рдВрдпреЛрдЬрди рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВред



 //     generate genvar i,j; for (i=0; i<_R_SZ-1; i=i+1) begin : block_name01 assign in_prev[i+1]= out[i]; assign in_next[i]= out[i+1]; end assign in_prev[0]= data_in; assign data_out= out[0]; assign in_next[_R_SZ-1]= 0; endgenerate endmodule
      
      





рдЕрдм рдЫрдБрдЯрд╛рдИ рд╕реЗрд▓ рдореЙрдбреНрдпреВрд▓ред



 module Cell_Compare ( clk, hold, is_input, in_prev, in_next, out ); parameter HBIT= 15; input clk; input hold; input is_input; input [HBIT:0] in_prev; input [HBIT:0] in_next;
      
      





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



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

 output [HBIT:0] out= is_input ? lower : higher; // .   ,     bit [HBIT:0] higher; bit [HBIT:0] lower; //  ,       . //      ,   //  higher  in_prev (lower   ), //  lower  in_next (higher   ) wire [HBIT:0] cand_h= is_input ? higher : lower; wire [HBIT:0] cand_l= is_input ? in_prev : in_next; //    . //     ,    , //        . always@(posedge clk ) if (~hold) begin //      -. higher <= ( cand_h >= cand_l ) ? cand_h : cand_l; lower <= ( cand_h >= cand_l ) ? cand_l : cand_h; end endmodule
      
      





рд╡рд╣ рд╕рдм рд╣реИред







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

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

рд╡реГрдХреНрд╖-рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╢рд╛рдЦрд╛ - рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдКрд░реНрдЬрд╛ рдХреБрд╢рд▓ рд╣реИред



рдкреЗрдбрд╝ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХрд╛рдо
рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреЗрдбрд╝ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА рдХрд┐ рдпрд╣ рд╡рд░реНрд▓реЙрдЧ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреЗрдбрд╝ рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдирдореВрдирд╛ рджреВрдВрдЧрд╛ред



 module NodeType ( ); endmodule module TreeTemplate ( ); parameter TREE_LEVEL= 4; NodeType node(); generate if ( TREE_LEVEL >0 ) begin TreeTemplate #( TREE_LEVEL-1 ) leftSubtree ( ); TreeTemplate #( TREE_LEVEL-1 ) rightSubtree ( ); end endgenerate endmodule
      
      





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

рдорд┐рд▓рд╛рди рдЪрд┐рддреНрд░








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



рд╕реЙрд░реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕реНрд░реЛрдд рдПрд▓рдЬреАрдкреАрдПрд▓ рдХреЗ рддрд╣рдд рдпрд╣рд╛рдВ рд╣реИрдВ, рдорд╛рд░реНрд╕ рд░реЛрд╡рд░ 2 , рдЯреЗрд░рд╛рд╕рд┐рдХ рдбреЗ 0 рдФрд░ рдбреАрдИ 2-113 рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред



ps рдореИрдВ рд╡рд┐рд╖рдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред рдЕрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рджрд┐рди рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдорд╕реМрджреЗ рдореЗрдВ рдПрдХ рддрд╛рдЬрд╝рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╡рд┐рд╖рдп рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред



All Articles