URL
https://opencores.org/ocsvn/sdcard_mass_storage_controller/sdcard_mass_storage_controller/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 10 |
Rev 89 |
module versatile_fifo_dptam_dw
|
module versatile_fifo_dptam_dw
|
(
|
(
|
d_a,
|
d_a,
|
q_a,
|
q_a,
|
adr_a,
|
adr_a,
|
we_a,
|
we_a,
|
clk_a,
|
clk_a,
|
q_b,
|
q_b,
|
adr_b,
|
adr_b,
|
d_b,
|
d_b,
|
we_b,
|
we_b,
|
clk_b
|
clk_b
|
);
|
);
|
parameter DATA_WIDTH = 8;
|
parameter DATA_WIDTH = 8;
|
parameter ADDR_WIDTH = 14;
|
parameter ADDR_WIDTH = 11;
|
input [(DATA_WIDTH-1):0] d_a;
|
input [(DATA_WIDTH-1):0] d_a;
|
input [(ADDR_WIDTH-1):0] adr_a;
|
input [(ADDR_WIDTH-1):0] adr_a;
|
input [(ADDR_WIDTH-1):0] adr_b;
|
input [(ADDR_WIDTH-1):0] adr_b;
|
input we_a;
|
input we_a;
|
output reg[(DATA_WIDTH-1):0] q_b;
|
output reg[(DATA_WIDTH-1):0] q_b;
|
input [(DATA_WIDTH-1):0] d_b;
|
input [(DATA_WIDTH-1):0] d_b;
|
output reg [(DATA_WIDTH-1):0] q_a;
|
output reg [(DATA_WIDTH-1):0] q_a;
|
input we_b;
|
input we_b;
|
input clk_a, clk_b;
|
input clk_a, clk_b;
|
|
|
reg [DATA_WIDTH-1:0] ram [2**ADDR_WIDTH-1:0] ;
|
reg [DATA_WIDTH-1:0] ram [2**ADDR_WIDTH-1:0] ;
|
always @ (posedge clk_a)
|
always @ (posedge clk_a)
|
begin
|
begin
|
q_a <= ram[adr_a];
|
q_a <= ram[adr_a];
|
if (we_a) begin
|
if (we_a) begin
|
ram[adr_a] <= d_a;
|
ram[adr_a] <= d_a;
|
|
|
end
|
end
|
end
|
end
|
always @ (posedge clk_b)
|
always @ (posedge clk_b)
|
begin
|
begin
|
q_b <= ram[adr_b];
|
q_b <= ram[adr_b];
|
if (we_b)
|
if (we_b)
|
begin
|
begin
|
ram[adr_b] <= d_b;
|
ram[adr_b] <= d_b;
|
|
|
end
|
end
|
|
|
|
|
end
|
end
|
endmodule
|
endmodule
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.