PoC.mem.sdram.ctrl_s3esk¶
Controller for Micron DDR-SDRAM on Spartan-3E Starter Kit Board.
SDRAM Device: MT46V32M16-6T
Configuration¶
Parameter | Description |
---|---|
CLK_PERIOD | Clock period in nano seconds. All SDRAM timings are calculated for the device stated above. |
CL | CAS latency, choose according to clock frequency. |
BL | Burst length. Choose BL=2 for single cycle memory transactions as required for the PoC.Mem interface. |
Tested with: CLK_PERIOD = 10.0, CL=2, BL=2.
Operation¶
Command, address and write data are sampled with the rising edge of clk
.
Read data is aligned with clk_fb90_n
. Either process data in this clock
domain, or connect a FIFO to transfer data into another clock domain of your
choice. This FIFO should capable of storing at least one burst (size BL/2)
+ start of next burst (size 1).
Synchronous resets are used.
Entity Declaration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | entity sdram_ctrl_s3esk is
generic (
CLK_PERIOD : real;
BL : positive);
port (
clk : in std_logic;
clk_n : in std_logic;
clk90 : in std_logic;
clk90_n : in std_logic;
rst : in std_logic;
rst90 : in std_logic;
rst180 : in std_logic;
rst270 : in std_logic;
clk_fb90 : in std_logic;
clk_fb90_n : in std_logic;
rst_fb90 : in std_logic;
rst_fb270 : in std_logic;
user_cmd_valid : in std_logic;
user_wdata_valid : in std_logic;
user_write : in std_logic;
user_addr : in std_logic_vector(24 downto 0);
user_wdata : in std_logic_vector(31 downto 0);
user_got_cmd : out std_logic;
user_got_wdata : out std_logic;
user_rdata : out std_logic_vector(31 downto 0);
user_rstb : out std_logic;
sd_ck_p : out std_logic;
sd_ck_n : out std_logic;
sd_cke : out std_logic;
sd_cs : out std_logic;
sd_ras : out std_logic;
sd_cas : out std_logic;
sd_we : out std_logic;
sd_ba : out std_logic_vector(1 downto 0);
sd_a : out std_logic_vector(12 downto 0);
sd_ldqs : out std_logic;
sd_udqs : out std_logic;
sd_dq : inout std_logic_vector(15 downto 0));
end sdram_ctrl_s3esk;
|