Changeset 178 for trunk/3DEES/clip.v


Ignore:
Timestamp:
Dec 20, 2013, 10:10:03 AM (11 years ago)
Author:
demin
Message:

adapt to 6ch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/3DEES/clip.v

    r154 r178  
    3131        wire    [widthr-1:0]    out_data_wire;
    3232
     33        reg             [width3-1:0]    add_data_reg [4:0], add_data_next [4:0];
    3334        wire    [width3-1:0]    add_data_wire;
    3435
     
    104105                - {2'b0, mul_data_wire1};
    105106
    106         assign out_data_wire = add_data_wire[width3-1] ? {(widthr){1'b0}} :
    107                   add_data_wire[shift+widthr-1:shift]
    108                 + {{(widthr-1){add_data_wire[width3-1]}}, add_data_wire[shift-1]};
     107        assign out_data_wire = add_data_reg[0][width3-1] ? {(widthr){1'b0}} :
     108                  add_data_reg[0][shift+widthr-1:shift]
     109                + {{(widthr-1){add_data_reg[0][width3-1]}}, add_data_reg[0][shift-1]};
    109110
    110111
     
    172173                        begin
    173174                                out_data_reg[i] <= {(widthr){1'b0}};
     175                                add_data_reg[i] <= {(width3){1'b0}};
    174176                        end
    175177                end
     
    191193                        begin
    192194                                out_data_reg[i] <= out_data_next[i];
     195                                add_data_reg[i] <= add_data_next[i];
    193196                        end                 
    194197                end             
     
    212215                begin
    213216                        out_data_next[i] = out_data_reg[i];
     217                        add_data_next[i] = add_data_reg[i];
    214218                end                 
    215219
     
    230234                                begin
    231235                                        out_data_next[i] = {(widthr){1'b0}};
     236                                        add_data_next[i] = {(width3){1'b0}};
    232237                                end                 
    233238
     
    264269                                        // prepare registers for 1st sum                                       
    265270                                        inp_data_next[0] = inp_data_wire[0];
     271                                        // prepare registers for 2nd shift                                     
     272                                        add_data_next[0] = add_data_reg[2];
    266273
    267274                                        tau_data_next = tau_data_wire[0];
     
    274281                                        int_addr_next[5:0] = del_addr_reg;
    275282                                        // register 1st product
    276                                         out_data_next[0] = out_data_wire;
     283                                        add_data_next[1] = add_data_wire;
     284                                        out_data_next[1] = out_data_wire;
    277285                                end
    278286                        end
     
    286294                                // prepare registers for 2nd sum
    287295                                inp_data_next[0] = inp_data_reg[1];
     296                                // prepare registers for 3rd shift
     297                                add_data_next[0] = add_data_reg[3];
    288298                               
    289299                                tau_data_next = tau_data_wire[1];
     
    291301
    292302                                // register 2nd product
    293                                 out_data_next[1] = out_data_wire;
     303                                add_data_next[2] = add_data_wire;
     304                                out_data_next[2] = out_data_wire;
    294305
    295306                                int_case_next = 3'd4;
     
    304315                                // prepare registers for 3rd sum       
    305316                                inp_data_next[0] = inp_data_reg[2];
     317                                // prepare registers for 4th shift     
     318                                add_data_next[0] = add_data_reg[4];
    306319
    307320                                tau_data_next = tau_data_wire[2];
     
    309322                               
    310323                                // register 3rd product
    311                                 out_data_next[2] = out_data_wire;
     324                                add_data_next[3] = add_data_wire;
     325                                out_data_next[3] = out_data_wire;
    312326                               
    313327                                del_addr_next = del_addr_reg + 6'd1;
     
    326340                                // prepare registers for 4th sum       
    327341                                inp_data_next[0] = inp_data_reg[3];
     342                                // prepare registers for 1st shift     
     343                                add_data_next[0] = add_data_reg[1];
    328344
    329345                                tau_data_next = tau_data_wire[3];
     
    331347                               
    332348                                // register 4th product
    333                                 out_data_next[3] = out_data_wire;
     349                                add_data_next[4] = add_data_wire;
     350                                out_data_next[4] = out_data_wire;
    334351                                             
    335352                                // register 4th output
    336                                 out_data_next[4] = out_data_reg[0];
     353                                out_data_next[0] = out_data_reg[1];
    337354
    338355                                int_case_next = 3'd2;
     
    345362        end
    346363
    347         assign out_data = {out_data_reg[3], out_data_reg[2], out_data_reg[1], out_data_reg[4]};
     364        assign out_data = {out_data_reg[4], out_data_reg[3], out_data_reg[2], out_data_reg[0]};
    348365
    349366endmodule
Note: See TracChangeset for help on using the changeset viewer.