1
0
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:
Gyorgy Szombathelyi
2019-10-20 13:35:53 +02:00
parent 966e01d66c
commit 54d155bcf0
2 changed files with 6 additions and 30 deletions

View File

@@ -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

View File

@@ -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