Ignore:
Timestamp:
Feb 16, 2011, 9:49:24 PM (14 years ago)
Author:
demin
Message:

add shifter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/MultiChannelUSB/deconv.v

    r118 r120  
    99                input   wire    [3*size*8-1:0]          amp_data,
    1010                input   wire    [3*size*16-1:0]         tau_data,
     11                input   wire    [3*size*6-1:0]          cls_data,
    1112                input   wire    [3*size*width-1:0]      inp_data,
    1213                output  wire    [3*size*widthr-1:0]     out_data
     
    2930        wire    [size*widthr-1:0]       out_data_wire;
    3031
     32        wire    [size*widthr-1:0]       add_data_wire;
     33
    3134        wire    [size*widthr-1:0]       mul_data_wire [1:0];
    3235
     
    4447        reg             [size*16-1:0]           tau_data_reg, tau_data_next;
    4548        wire    [size*16-1:0]           tau_data_wire [2:0];
     49
     50        reg             [size*6-1:0]            cls_data_reg, cls_data_next;
     51        wire    [size*6-1:0]            cls_data_wire [2:0];
    4652
    4753        integer i;
     
    6066                        assign tau_data_wire[1][j*16+16-1:j*16] = tau_data[(3*j+1)*16+16-1:(3*j+1)*16];
    6167                        assign tau_data_wire[2][j*16+16-1:j*16] = tau_data[(3*j+2)*16+16-1:(3*j+2)*16];
     68                        assign cls_data_wire[0][j*6+6-1:j*6] = cls_data[(3*j+0)*6+6-1:(3*j+0)*6];
     69                        assign cls_data_wire[1][j*6+6-1:j*6] = cls_data[(3*j+1)*6+6-1:(3*j+1)*6];
     70                        assign cls_data_wire[2][j*6+6-1:j*6] = cls_data[(3*j+2)*6+6-1:(3*j+2)*6];
    6271                                                                                         
    6372                        lpm_mux #(
     
    139148                                .dataa(mul_data_wire[0][j*widthr+widthr-1:j*widthr]),
    140149                                .datab(mul_data_wire[1][j*widthr+widthr-1:j*widthr]),
    141                                 .result(out_data_wire[j*widthr+widthr-1:j*widthr]));
    142 
    143 /*
     150                                .result(add_data_wire[j*widthr+widthr-1:j*widthr]));
     151
     152
    144153                        lpm_clshift     #(
    145154                                .lpm_shifttype("LOGICAL"),
    146155                                .lpm_type("LPM_CLSHIFT"),
    147                                 .lpm_width(64),
     156                                .lpm_width(widthr),
    148157                                .lpm_widthdist(6)) shift_unit_1 (
    149                                 .distance(distance),
    150                                 .direction(sub_wire1),
    151                                 .data(data),
    152                                 .result(sub_wire0));
    153 */
     158                                .distance(cls_data_reg[j*6+6-1:j*6]),
     159                                .direction(1'b1),
     160                                .data(add_data_wire[j*widthr+widthr-1:j*widthr]),
     161                                .result(out_data_wire[j*widthr+widthr-1:j*widthr]));
     162
    154163                end
    155164        endgenerate
     
    211220                        amp_data_reg <= 8'd0;
    212221                        tau_data_reg <= 16'd0;
     222                        cls_data_reg <= 6'd0;
    213223                        for(i = 0; i <= 2; i = i + 1)
    214224                        begin
     
    230240                        amp_data_reg <= amp_data_next;
    231241                        tau_data_reg <= tau_data_next;
     242                        cls_data_reg <= cls_data_next;
    232243                        for(i = 0; i <= 2; i = i + 1)
    233244                        begin
     
    251262                amp_data_next = amp_data_reg;
    252263                tau_data_next = tau_data_reg;
     264                cls_data_next = cls_data_reg;
    253265                for(i = 0; i <= 2; i = i + 1)
    254266                begin
     
    270282                                amp_data_next = 8'd0;
    271283                                tau_data_next = 16'd0;
     284                                cls_data_next = 6'd0;
    272285                                for(i = 0; i <= 2; i = i + 1)
    273286                                begin
     
    314327                                        tau_data_next = tau_data_wire[0];
    315328                                        amp_data_next = amp_data_wire[0];
     329                                        cls_data_next = cls_data_wire[0];
    316330                                       
    317331                                        int_case_next = 3'd3;
     
    332346                                tau_data_next = tau_data_wire[1];
    333347                                amp_data_next = amp_data_wire[1];
     348                                cls_data_next = cls_data_wire[1];
    334349
    335350                                // register 1st sum
     
    349364                                tau_data_next = tau_data_wire[2];
    350365                                amp_data_next = amp_data_wire[2];
     366                                cls_data_next = cls_data_wire[2];
    351367                               
    352368                                // register 2nd sum
Note: See TracChangeset for help on using the changeset viewer.