OpenCores
URL https://opencores.org/ocsvn/sdcard_mass_storage_controller/sdcard_mass_storage_controller/trunk

Subversion Repositories sdcard_mass_storage_controller

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /sdcard_mass_storage_controller/trunk
    from Rev 114 to Rev 115
    Reverse comparison

Rev 114 → Rev 115

/rtl/sdc_dma/verilog/SD_Bd.v
8,9 → 8,9
input rst,
//input stb_m,
input we_m,
input re_m,
 
input [`RAM_MEM_WIDTH-1:0] dat_in_m,
output reg [`RAM_MEM_WIDTH-1:0] dat_out_m,
 
output reg [`BD_WIDTH-1 :0] free_bd,
 
input re_s,
32,7 → 32,7
reg write_cnt;
reg read_cnt;
reg [`BD_WIDTH -1 :0] m_wr_pnt;
reg [`BD_WIDTH -1 :0] m_rd_pnt;
 
reg [`BD_WIDTH -1 :0] s_rd_pnt ;
//Main side read/write
42,7 → 42,7
if (rst) begin
m_wr_pnt<=0;
m_rd_pnt<=1;
write_cnt<=0;
new_bw =0;
 
61,10 → 61,9
end
end
end
else if (re_m) begin
dat_out_m <=bd_mem[m_rd_pnt];
m_rd_pnt <=m_rd_pnt+2;
end
 
114,7 → 113,7
reg read_cnt;
 
reg [`BD_WIDTH -1 :0] m_wr_pnt;
reg [`BD_WIDTH -1 :0] m_rd_pnt;
 
reg [`BD_WIDTH -1 :0] s_rd_pnt ;
//Main side read/write
124,7 → 123,7
if (rst) begin
m_wr_pnt<=0;
m_rd_pnt<=2 ;
write_cnt<=0;
new_bw =0;
read_cnt<=0;
143,18 → 142,8
end
end
end
else if (re_m) begin //2 Reads to get a 32 bit Word
read_cnt <=~ read_cnt;
if (!read_cnt) begin
dat_out_m <=bd_mem[m_rd_pnt];
m_rd_pnt <=m_rd_pnt+1;
end
else begin
dat_out_m <=bd_mem[m_rd_pnt];
m_rd_pnt <=m_rd_pnt+3;
end
end
 
end
 
/rtl/sdc_dma/verilog/SD_controller_top.v
121,7 → 121,7
wire [15:0] status_reg_w;
wire [31:0] cmd_resp_1_w;
wire [15:0]normal_int_status_reg_w;
wire [15:0]error_int_status_reg_w;
wire [4:0]error_int_status_reg_w;
 
wire[31:0] argument_reg;
143,7 → 143,7
//Rx Buffer Descriptor internal signals
 
 
wire [`RAM_MEM_WIDTH-1:0] dat_out_m_rx_bd; //Data out from Rx_bd to Master
 
wire [`BD_WIDTH-1 :0] free_bd_rx_bd; //NO free Rx_bd
wire new_rx_bd; // New Bd writen
 
152,7 → 152,7
//Tx Buffer Descriptor internal signals
wire [`RAM_MEM_WIDTH-1:0] dat_in_m_rx_bd; //Data in to Rx_bd from Master
wire [`RAM_MEM_WIDTH-1:0] dat_in_m_tx_bd;
wire [`RAM_MEM_WIDTH-1:0] dat_out_m_tx_bd;
 
wire [`BD_WIDTH-1 :0] free_bd_tx_bd;
wire new_tx_bd;
 
214,7 → 214,7
`endif
assign sd_clk_o_pad = sd_clk_o ;
wire [15:0] settings;
wire [15:0] serial_status;
wire [7:0] serial_status;
wire [39:0] cmd_out_master;
wire [39:0] cmd_in_host;
 
333,9 → 333,9
.clk (wb_clk_i),
.rst (wb_rst_i | software_reset_reg[0]),
.we_m (we_m_rx_bd),
.re_m (re_m_rx_bd),
 
.dat_in_m (dat_in_m_rx_bd),
.dat_out_m (dat_out_m_rx_bd),
 
.free_bd (free_bd_rx_bd),
 
.re_s (re_s_rx_bd_w),
350,9 → 350,9
.clk (wb_clk_i),
.rst (wb_rst_i | software_reset_reg[0]),
.we_m (we_m_tx_bd),
.re_m (re_m_tx_bd),
 
.dat_in_m (dat_in_m_tx_bd),
.dat_out_m (dat_out_m_tx_bd),
 
.free_bd (free_bd_tx_bd),
 
.ack_o_s (ack_o_s_tx),
416,11 → 416,11
.wb_ack_o(wb_ack_o),
 
.we_m_tx_bd( we_m_tx_bd ),
.re_m_tx_bd( re_m_tx_bd ),
 
.new_cmd( new_cmd ),
.we_m_rx_bd( we_m_rx_bd ) ,
.re_m_rx_bd( re_m_rx_bd ) ,
.we_ack( we_ack ) ,
.int_ack( int_ack ) ,
.cmd_int_busy( cmd_int_busy ) ,
467,10 → 467,10
assign int_c = Bd_isr_reg & Bd_isr_enable_reg;
`endif
 
assign m_wb_sel_o = 4'b1111;
 
 
//Set Bd_Status_reg
always @ (wb_clk_i ) begin
always @ (posedge wb_clk_i ) begin
Bd_Status_reg[15:8]=free_bd_rx_bd;
Bd_Status_reg[7:0]=free_bd_tx_bd;
cmd_resp_1<= cmd_resp_1_w;
492,4 → 492,4
 
 
 
endmodule
endmodule
/rtl/sdc_dma/verilog/SD_data_host.v
1,9 → 1,5
//-------------------------
//-------------------------
 
 
 
 
`include "SD_defines.v"
 
 
49,6 → 45,7
parameter READ_DAT = 6'b100000;
reg [2:0] crc_status;
reg busy_int;
 
genvar i;
generate
for(i=0; i<`SD_BUS_W; i=i+1) begin:CRC_16_gen
160,6 → 157,8
always @ (negedge sd_clk or posedge rst )
begin : FSM_OUT
if (rst) begin
write_buf_0<=0;
write_buf_1<=0;
DAT_oe_o<=0;
crc_en<=0;
crc_rst<=1;
409,3 → 408,4
 
 
 
 
/rtl/sdc_dma/verilog/SD_FIFO_RX_Filler.v
1,5 → 1,5
`include "SD_defines.v"
`include "timescale.v"
 
module SD_FIFO_RX_FILLER
(
input clk,
/rtl/sdc_dma/verilog/SD_FIFO_TX_Filler.v
1,5 → 1,5
`include "SD_defines.v"
`include "timescale.v"
 
module SD_FIFO_TX_FILLER
(
input clk,
50,8 → 50,7
.rst (rst | reset_tx_fifo)
);
 
reg [3:0] t_c_buffer_0;
reg [3:0] t_c_buffer_1;
 
assign m_wb_adr_o = adr+offset;
 
 
/rtl/sdc_dma/verilog/SD_controller_wb.v
8,8 → 8,8
// WISHBONE master
 
we_m_tx_bd, re_m_tx_bd, new_cmd,
we_m_rx_bd, re_m_rx_bd,
we_m_tx_bd, new_cmd,
we_m_rx_bd,
we_ack, int_ack, cmd_int_busy,
Bd_isr_reset,
normal_isr_reset,
55,7 → 55,7
 
output reg we_m_tx_bd;
output reg re_m_tx_bd;
 
output reg new_cmd;
output reg we_ack; //CMD acces granted
output reg int_ack; //Internal Delayed Ack;
62,7 → 62,7
output reg cmd_int_busy;
 
output reg we_m_rx_bd; //Write enable Master side Rx_bd
output reg re_m_rx_bd; //Read enable Master side Rx_bd
//Read enable Master side Rx_bd
output reg int_busy;
input write_req_s;
input wire [15:0] cmd_set_s;
96,7 → 96,7
`define bd_tx 8'h80
 
 
assign m_wb_sel_o = 4'b1111;
 
`ifdef SUPPLY_VOLTAGE_3_3
parameter power_controll_reg = 8'b0000_111_1;
`elsif SUPPLY_VOLTAGE_3_0
308,4 → 308,4
 
endmodule
endmodule
/rtl/sdc_dma/verilog/SD_defines.v
6,7 → 6,7
//`define SIM
`define SYN
 
//`define IRQ_ENABLE
`define IRQ_ENABLE
`define ACTEL
 
`define CUSTOM
28,8 → 28,8
 
`ifdef CUSTOM
`define NR_O_BD_4
`define BD_WIDTH 4
`define BD_SIZE 16
`define BD_WIDTH 5
`define BD_SIZE 32
`define RAM_MEM_WIDTH_16
`define RAM_MEM_WIDTH 16
`endif
37,7 → 37,7
`define RESEND_MAX_CNT 3
 
`ifdef SYN
`define RESET_CLK_DIV 0
`define RESET_CLK_DIV 1
`define MEM_OFFSET 4
`endif
 
70,11 → 70,11
 
 
//FIFO defines---------------
`define FIFO_RX_MEM_DEPTH 16
`define FIFO_RX_MEM_ADR_SIZE 5
`define FIFO_RX_MEM_DEPTH 4
`define FIFO_RX_MEM_ADR_SIZE 3
 
`define FIFO_TX_MEM_DEPTH 16
`define FIFO_TX_MEM_ADR_SIZE 5
`define FIFO_TX_MEM_DEPTH 4
`define FIFO_TX_MEM_ADR_SIZE 3
//---------------------------
 
 
84,3 → 84,4
 
 
 
 
/rtl/sdc_dma/verilog/SD_cmd_master.v
15,7 → 15,7
output reg [15:0] STATUS_REG,
output reg [31:0] RESP_1_REG,
 
output reg [15:0] ERR_INT_REG,
output reg [4:0] ERR_INT_REG,
output reg [15:0] NORMAL_INT_REG,
input ERR_INT_RST,
input NORMAL_INT_RST,
294,4 → 294,4
end
end
 
endmodule
endmodule
/rtl/sdc_dma/verilog/SD_cmd_serial_host.v
16,7 → 16,7
output [39:0] CMD_OUT;
output ACK_OUT;
output REQ_OUT;
output [15:0] STATUS;
output [7:0] STATUS;
output reg cmd_oe_o;
output reg cmd_out_o;
output reg [1:0] st_dat_t;
31,7 → 31,7
//---------------Output ports Data Type------
reg [39:0] CMD_OUT;
wire ACK_OUT ;
reg [15:0] STATUS;
reg [7:0] STATUS;
reg REQ_OUT;
 
//-------------Internal Constant-------------

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.