Ignore:
Timestamp:
Jun 26, 2011, 11:07:28 PM (13 years ago)
Author:
demin
Message:

add one delay register

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/MultiChannelUSB/amplitude.v

    r123 r155  
    1616        reg             [width-1:0]     int_mini_reg, int_mini_next;
    1717        reg             [width-1:0]     out_data_reg, out_data_next;
    18         reg             [width-1:0]     inp_data_reg, inp_data_next;
     18        reg             [width-1:0]     inp_data_reg [1:0], inp_data_next [1:0];
    1919
    2020        wire                            int_comp_wire;
    2121        reg                                     int_comp_reg, int_comp_next;
    2222
    23         assign int_comp_wire = (inp_data_reg < inp_data);
     23        assign int_comp_wire = (inp_data_reg[1] < inp_data);
    2424
    2525        always @(posedge clock)
     
    2929                        int_case_reg <= 1'b0;
    3030                        int_mini_reg <= {(width){1'b0}};
    31                         inp_data_reg <= {(width){1'b0}};
     31                        inp_data_reg[0] <= {(width){1'b0}};
     32                        inp_data_reg[1] <= {(width){1'b0}};
    3233                        out_data_reg <= {(width){1'b0}};
    3334                        out_flag_reg <= 1'b0;
     
    3940                        int_case_reg <= int_case_next;
    4041                        int_mini_reg <= int_mini_next;
    41                         inp_data_reg <= inp_data_next;
     42                        inp_data_reg[0] <= inp_data_next[0];
     43                        inp_data_reg[1] <= inp_data_next[1];
    4244                        out_data_reg <= out_data_next;
    4345                        out_flag_reg <= out_flag_next;
     
    5153                int_case_next = int_case_reg;
    5254                int_mini_next = int_mini_reg;
    53                 inp_data_next = inp_data_reg;
     55                inp_data_next[0] = inp_data_reg[0];
     56                inp_data_next[1] = inp_data_reg[1];
    5457                out_data_next = out_data_reg;
    5558                out_flag_next = out_flag_reg;
     
    6265                                if (frame)
    6366                                begin
    64                                         inp_data_next = inp_data;
     67                                        inp_data_next[0] = inp_data;
     68                                        inp_data_next[1] = inp_data_reg[0];
    6569                                        int_comp_next = int_comp_wire;
    6670                                        out_data_next = {(width){1'b0}};
     
    6973                                        if ((~int_comp_reg) & (int_comp_wire))
    7074                                        begin
    71                                                 int_mini_next = inp_data_reg;
     75                                                int_mini_next = inp_data_reg[0];
    7276                                                int_flag_next = 1'b1;
    7377                                        end
     
    7579                                        else if ((int_comp_reg) & (~int_comp_wire) & (int_flag_reg))
    7680                                        begin
    77                                                 out_data_next = inp_data_reg - int_mini_reg;
     81                                                out_data_next = inp_data_reg[0] - int_mini_reg;
    7882                                                int_flag_next = 1'b0;
    7983                                                int_case_next = 1'b1;
Note: See TracChangeset for help on using the changeset viewer.