mirror of
https://github.com/mist-devel/mist-board.git
synced 2026-02-05 15:44:40 +00:00
Archie: use built-in SDRAM burst feature
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
*/
|
||||
|
||||
localparam RASCAS_DELAY = 3'd3; // tRCD=20ns -> 3 cycles@128MHz
|
||||
localparam BURST_LENGTH = 3'b000; // 000=1, 001=2, 010=4, 011=8, 111 = continuous.
|
||||
localparam BURST_LENGTH = 3'b010; // 000=1, 001=2, 010=4, 011=8, 111 = continuous.
|
||||
localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved
|
||||
localparam CAS_LATENCY = 3'd3; // 2/3 allowed
|
||||
localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed
|
||||
|
||||
@@ -244,12 +244,10 @@ always @(posedge sd_clk) begin
|
||||
// now we access the second part of the 32 bit location.
|
||||
sd_addr <= { 4'b0000, wb_adr[23], wb_adr[8:2], 1'b1 }; // no auto precharge
|
||||
sd_dqm <= ~wb_sel[3:2];
|
||||
if (sd_reading) begin
|
||||
sd_cmd <= CMD_READ;
|
||||
if (burst_mode & can_burst) begin
|
||||
sd_burst <= 1'b1;
|
||||
end
|
||||
end else if (sd_writing) begin
|
||||
|
||||
if (sd_reading & burst_mode & can_burst) sd_burst <= 1'b1;
|
||||
|
||||
if (sd_writing) begin
|
||||
sd_cmd <= CMD_WRITE;
|
||||
sd_done <= ~sd_done;
|
||||
`ifdef VERILATOR
|
||||
@@ -259,28 +257,6 @@ always @(posedge sd_clk) begin
|
||||
`endif
|
||||
end
|
||||
end
|
||||
|
||||
CYCLE_CAS2: begin
|
||||
if (sd_burst) begin
|
||||
// always, always read on a 32bit boundary and completely ignore the lsb of wb_adr.
|
||||
sd_addr <= { 4'b0000, wb_adr[23], wb_adr[8:3], 2'b10 }; // no auto precharge
|
||||
sd_dqm <= ~wb_sel[1:0];
|
||||
if (sd_reading) begin
|
||||
sd_cmd <= CMD_READ;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
CYCLE_CAS3: begin
|
||||
if (sd_burst) begin
|
||||
// always, always read on a 32bit boundary and completely ignore the lsb of wb_adr.
|
||||
sd_addr <= { 4'b0000, wb_adr[23], wb_adr[8:3], 2'b11 }; // no auto precharge
|
||||
sd_dqm <= ~wb_sel[3:2];
|
||||
if (sd_reading) begin
|
||||
sd_cmd <= CMD_READ;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
CYCLE_READ0: begin
|
||||
if (sd_reading) begin
|
||||
@@ -316,7 +292,7 @@ always @(posedge sd_clk) begin
|
||||
end
|
||||
endcase
|
||||
end else begin
|
||||
sd_cycle <= 4'd0;
|
||||
sd_cycle <= 4'd0;
|
||||
sd_burst <= 1'b0;
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user