Subversion Repositories zxusbnet

Rev

Rev 133 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 133 Rev 134
Line 119... Line 119...
119
        begin
119
        begin
120
                wr_regs[2:0] <= { wr_regs[1:0], ~zwr_n };
120
                wr_regs[2:0] <= { wr_regs[1:0], ~zwr_n };
121
                rd_regs[2:0] <= { rd_regs[1:0], ~zrd_n };
121
                rd_regs[2:0] <= { rd_regs[1:0], ~zrd_n };
122
        end
122
        end
123
        //
123
        //
124
        always @(posedge fclk, negedge rst_n)
-
 
125
        if( !rst_n )
-
 
126
        begin
-
 
127
                wr_state <= 1'b0;
-
 
128
                rd_state <= 1'b0;
-
 
129
        end
-
 
130
        else
-
 
131
        begin
-
 
132
                     if( wr_regs[1:0]==2'b01 && !wr_state )
-
 
133
                        wr_state <= 1'b1;
-
 
134
                else if( wr_regs[1:0]==2'b00 &&  wr_state )
-
 
135
                        wr_state <= 1'b0;
-
 
136
                //
-
 
137
                     if( rd_regs[1:0]==2'b01 && !rd_state )
-
 
138
                        rd_state <= 1'b1;
-
 
139
                else if( rd_regs[1:0]==2'b00 &&  rd_state )
-
 
140
                        rd_state <= 1'b0;
-
 
141
        end
-
 
142
        //
124
 
143
        assign wr_start = wr_regs[1:0]==2'b01 && !wr_state;
125
        assign wr_start = wr_regs[2:0]==3'b001 && !ctr_5;
144
        assign rd_start = rd_regs[1:0]==2'b01 && !rd_state;
126
        assign rd_start = rd_regs[2:0]==3'b001 && !ctr_5;
145
 
127
 
146
 
128
 
147
        // buffered rd/wrs
129
        // buffered rd/wrs
148
        always @(posedge fclk)
130
        always @(posedge fclk)
149
        begin
131
        begin
Line 163... Line 145...
163
        begin
145
        begin
164
                ctr_5 <= 3'd0;
146
                ctr_5 <= 3'd0;
165
        end
147
        end
166
        else if( wr_start || rd_start )
148
        else if( wr_start || rd_start )
167
                ctr_5 <= 3'd4;
149
                ctr_5 <= 3'd4;
168
        else
150
        else if( ctr_5 )
169
                ctr_5 <= ctr_5 - 3'd1;
151
                ctr_5 <= ctr_5 - 3'd1;
170
 
152
 
171
 
153
 
172
        // buffered chipselects
154
        // buffered chipselects
173
        always @(posedge fclk)
155
        always @(posedge fclk)