Ignore:
Timestamp:
Feb 21, 2011, 12:33:56 AM (14 years ago)
Author:
demin
Message:

first more or less working version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/MultiChannelUSB/Paella.v

    r108 r123  
    119119        wire    [11:0]  ana_base [N-1:0];
    120120
    121         wire                    amp_good [N-1:0];
     121        wire                    amp_flag [N-1:0];
    122122        wire    [11:0]  amp_data [N-1:0];
    123123
     
    134134    wire        [11:0]  del_data;
    135135
    136         wire    [31:0]  uwt_d1 [N-1:0];
    137         wire    [31:0]  uwt_a1 [N-1:0];
    138         wire    [31:0]  uwt_d2 [N-1:0];
    139         wire    [31:0]  uwt_a2 [N-1:0];
    140         wire    [31:0]  uwt_d3 [N-1:0];
    141         wire    [31:0]  uwt_a3 [N-1:0];
    142 
     136        wire    [15:0]  uwt_data1 [N-1:0];
     137        wire    [18:0]  uwt_data2 [N-1:0];
    143138        wire    [1:0]   uwt_flag1 [N-1:0];
    144139        wire    [1:0]   uwt_flag2 [N-1:0];
    145         wire    [1:0]   uwt_flag3 [N-1:0];
    146        
    147         wire    [11:0]  cic_mux_data;
    148         wire    [13:0]  cic_lfsr;
    149         wire    [24:0]  cic_data1 [N-1:0];
    150         wire    [24:0]  cic_data2 [N-1:0];
    151         wire    [24:0]  cic_data3 [N-1:0];
     140
     141        wire    [27:0]  cic_data1 [N-1:0];
     142        wire    [27:0]  cic_data2 [N-1:0];
     143        wire    [27:0]  cic_data3 [N-1:0];
     144
     145        wire    [11:0]  dec_data [N-1:0];
     146
     147        wire    [1:0]   ext_flag [N-1:0];
    152148
    153149        wire                    i2c_reset;
     
    216212                begin : MUX_DATA
    217213                        assign int_mux_data[j] = {
    218                                 {4'd0, uwt_flag3[j][1], 7'd0},
    219                                 {4'd0, uwt_flag3[j][0], 7'd0},
    220                                 {12'd0},
    221 //                              {4'd0, amp_good[j], 7'd0},
    222                                 cic_data1[j][14:3],
    223                                 cic_data2[j][18:7],
    224                                 cic_data3[j][22:11],
    225 //                              {8'd0, cic_lfsr[3:0]},
    226 //                              {8'd0, cic_lfsr[5:2]},
    227 //                              uwt_a3[j][20:9],
     214//                              {4'd0, amp_flag[j], 7'd0},
     215//                              dec_data[j][37:26],
     216//                              dec_data[j][36:25],
     217//                              dec_data[j][35:24],
     218                                dec_data[j][11:0],
     219                                dec_data[j][11:0],
     220                                amp_data[j][11:0],
     221                                {ext_flag[j][1], 11'd0},
     222                                {ext_flag[j][0], 11'd0},
     223                                cic_data3[j][26:15],
    228224                                sys_data[j]};
    229225                end
     
    253249                                .data({int_mux_data[2], int_mux_data[1], int_mux_data[0]}),
    254250                                .result(osc_mux_data[j]));
    255                
    256251                end
    257252        endgenerate
     
    291286                .out_data({cic_data1[2], cic_data1[1], cic_data1[0]}));
    292287       
     288        deconv #(.size(1), .shift(25), .width(27), .widthr(12)) deconv_unit (
     289                .clock(sys_clock),
     290                .frame(sys_frame),
     291                .reset(1'b0),
     292                .del_data({6'd20, 6'd20, 6'd20}),
     293                .amp_data({8'd1, 8'd1, 8'd1}),
     294                .tau_data({16'd980, 16'd980, 16'd980}),
     295//              .del_data({cfg_bits[16][5:0], cfg_bits[15][13:8], cfg_bits[15][5:0]}),
     296//              .amp_data({cfg_bits[18][7:0], cfg_bits[17][15:8], cfg_bits[17][7:0]}),
     297//              .tau_data({cfg_bits[21], cfg_bits[20], cfg_bits[19]}),
     298                .inp_data({cic_data3[2][26:0], cic_data3[1][26:0], cic_data3[0][26:0]}),
     299                .out_data({dec_data[2], dec_data[1], dec_data[0]}));
     300
     301
    293302        generate
    294303                for (j = 0; j < 3; j = j + 1)
     
    296305
    297306                        assign sys_data[j] = (cfg_bits[1][4*j]) ? (adc_data[j] ^ 12'hfff) : (adc_data[j]);
    298 
    299        
     307/*
     308                        uwt_bior31 #(.level(1), .width(13)) uwt_1_unit (
     309                                .clock(sys_clock),
     310                                .frame(sys_frame),
     311                                .reset(1'b0),
     312                                .inp_data(dec_data[j][12:0]),
     313                                .out_data(uwt_data1[j]),
     314                                .out_flag(uwt_flag1[j]));
     315               
     316                        uwt_bior31 #(.level(1), .width(16)) uwt_2_unit (
     317                                .clock(sys_clock),
     318                                .frame(sys_frame),
     319                                .reset(1'b0),
     320                                .inp_data(uwt_data1[j]),
     321                                .out_data(uwt_data2[j]),
     322                                .out_flag(uwt_flag2[j]));
     323*/             
     324                        extrema #(.width(12)) extrema_unit (
     325                                .clock(sys_clock),
     326                                .frame(sys_frame),
     327                                .reset(1'b0),
     328//                              .inp_data(cic_data3[j][26:15]),
     329                                .inp_data(dec_data[j]),
     330                                .out_flag(ext_flag[j]));
     331
    300332                        analyser analyser_unit (
    301333                                .clock(sys_clock),
     
    304336                                .cfg_data({cfg_bits[7+2*j][12:0], cfg_bits[6+2*j][11:0]}),
    305337                                .uwt_flag(uwt_flag2[j]),
    306                                 .uwt_data(uwt_a2[j][17:6]),
     338                                .uwt_data(uwt_data2[j][18:7]),
    307339                                .ana_dead(ana_dead[j]),
    308340                                .ana_good(ana_good[j]),
     
    310342                                .ana_base(ana_base[j]));
    311343
    312                         amplitude amplitude_unit (
     344                        amplitude #(.width(12)) amplitude_unit (
    313345                                .clock(sys_clock),
    314346                                .frame(sys_frame),
    315347                                .reset(cfg_bits[0][2+j]),
    316                                 .cfg_data(cfg_bits[12][11:0]),
    317 //                              .cfg_data(10'd5),
    318                                 .uwt_flag(uwt_flag3[j]),
    319                                 .uwt_data(uwt_a3[j][20:9]),
    320                                 .amp_good(amp_good[j]),
    321                                 .amp_data(amp_data[j]));
     348//                              .cfg_data(cfg_bits[12][11:0]),
     349                                .cfg_data(12'd5),
     350//                              .inp_data(cic_data3[j][22:11]),
     351                                .inp_data(dec_data[j]),
     352                                .out_flag(amp_flag[j]),
     353                                .out_data(amp_data[j]));
    322354                end
    323355        endgenerate
     
    330362                .hst_data(ana_data[0]),
    331363/*
    332                 .hst_good((amp_good[j]) & (cnt_good[j]) & (cfg_bits[13][1])),
     364                .hst_good((amp_flag[j]) & (cnt_good[j]) & (cfg_bits[13][1])),
    333365                .hst_data(amp_data[j]),
    334366*/
Note: See TracChangeset for help on using the changeset viewer.