Line 9... |
Line 9... |
|
|
To Do:
|
To Do:
|
nothing
|
nothing
|
|
|
Author(s): Dinesh Annayya, dinesha@opencores.org
|
Author(s): Dinesh Annayya, dinesha@opencores.org
|
|
Version : 0.0 - Initial Release
|
|
0.1 - 2nd Feb 2012
|
|
Async Fifo towards the application layer is selected with Registered Full Generation
|
|
|
Copyright (C) 2000 Authors and OPENCORES.ORG
|
Copyright (C) 2000 Authors and OPENCORES.ORG
|
|
|
|
|
This source file may be used and distributed without
|
This source file may be used and distributed without
|
restriction provided that this copyright statement is not
|
restriction provided that this copyright statement is not
|
removed from the file and that any derivative work contains
|
removed from the file and that any derivative work contains
|
the original copyright notice and the associated disclaimer.
|
the original copyright notice and the associated disclaimer.
|
|
|
Line 201... |
Line 205... |
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
// Async Command FIFO. This block handle the clock domain change from
|
// Async Command FIFO. This block handle the clock domain change from
|
// Application layer to SDRAM Controller
|
// Application layer to SDRAM Controller
|
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
// Address + Burst Length + W/R Request
|
// Address + Burst Length + W/R Request
|
async_fifo #(.W(30+bl+1),.DP(4)) u_cmdfifo (
|
async_fifo #(.W(30+bl+1),.DP(4),.WR_FAST(1'b0), .RD_FAST(1'b1)) u_cmdfifo (
|
// Write Path Sys CLock Domain
|
// Write Path Sys CLock Domain
|
.wr_clk (wb_clk_i ),
|
.wr_clk (wb_clk_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_en (cmdfifo_wr ),
|
.wr_en (cmdfifo_wr ),
|
.wr_data ({burst_length,
|
.wr_data ({burst_length,
|
Line 259... |
Line 263... |
// This block handle the clock domain change over + Write Data + Byte mask
|
// This block handle the clock domain change over + Write Data + Byte mask
|
// From Application layer to SDRAM controller layer
|
// From Application layer to SDRAM controller layer
|
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
|
|
// Write DATA + Data Mask FIFO
|
// Write DATA + Data Mask FIFO
|
async_fifo #(.W(dw+(dw/8)), .DP(16)) u_wrdatafifo (
|
async_fifo #(.W(dw+(dw/8)), .DP(8), .WR_FAST(1'b0), .RD_FAST(1'b1)) u_wrdatafifo (
|
// Write Path , System clock domain
|
// Write Path , System clock domain
|
.wr_clk (wb_clk_i ),
|
.wr_clk (wb_clk_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_reset_n (!wb_rst_i ),
|
.wr_en (wrdatafifo_wr ),
|
.wr_en (wrdatafifo_wr ),
|
.wr_data ({~wb_sel_i,
|
.wr_data ({~wb_sel_i,
|
Line 319... |
Line 323... |
// READ DATA + EOP
|
// READ DATA + EOP
|
// 2. EOP indicate, last transfer of Burst Read Access. use-full for future
|
// 2. EOP indicate, last transfer of Burst Read Access. use-full for future
|
// Tag handling per burst
|
// Tag handling per burst
|
//
|
//
|
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
async_fifo #(.W(dw+1), .DP(4)) u_rddatafifo (
|
async_fifo #(.W(dw+1), .DP(4), .WR_FAST(1'b0), .RD_FAST(1'b1) ) u_rddatafifo (
|
// Write Path , SDRAM clock domain
|
// Write Path , SDRAM clock domain
|
.wr_clk (sdram_clk ),
|
.wr_clk (sdram_clk ),
|
.wr_reset_n (sdram_resetn ),
|
.wr_reset_n (sdram_resetn ),
|
.wr_en (rddatafifo_wr ),
|
.wr_en (rddatafifo_wr ),
|
.wr_data ({sdr_last_rd,
|
.wr_data ({sdr_last_rd,
|