Architecture rtl of sdram_ctrl_fsm
Name |
Description |
---|---|
FSM_TYPE |
|
SD_CMD_TYPE |
|
SD_A_SEL_TYPE |
|
SD_BA_SEL_TYPE |
Functions
Processes
# |
Current State |
Next State |
Condition |
---|---|---|---|
1 |
INIT1 |
INIT2 |
[EMPTY] |
2 |
INIT2 |
INIT3 |
[((timer_tREFI_done = '1') and (downcnt_done = '1'))] |
3 |
INIT3 |
INIT4 |
[EMPTY] |
4 |
INIT4 |
INIT5 |
[(SDRAM_TYPE >= 1)] |
5 |
INIT4 |
INIT8 |
[not (SDRAM_TYPE >= 1)] |
6 |
INIT5 |
INIT6 |
[(timer_cmd_done = '1')] |
7 |
INIT8 |
INIT9 |
[(timer_cmd_done = '1')] |
8 |
INIT6 |
INIT7 |
[(timer_cmd_done = '1')] |
9 |
INIT9 |
INIT10 |
[(timer_cmd_done = '1')] |
10 |
INIT7 |
INIT8 |
[(timer_cmd_done = '1')] |
11 |
INIT10 |
INIT11 |
[(timer_cmd_done = '1' and timer_tREFI_done = '1')] |
12 |
INIT11 |
DO_ACTIVATE |
[(timer_cmd_done = '1')] |
13 |
DO_ACTIVATE |
DO_WRITE1 |
[((timer_cmd_done = '1') and (user_cmd_valid = '1') and (user_write = '1'))] |
14 |
DO_ACTIVATE |
DO_READ1 |
[((timer_cmd_done = '1') and (user_cmd_valid = '1') and not (user_write = '1'))] |
15 |
DO_WRITE1 |
CHECKNXT |
[((timer_cmd_done and user_wdata_valid = '1') and (SDRAM_TYPE = 0 and BL = 1 or SDRAM_TYPE > 0 and BL = 2))] |
16 |
DO_WRITE1 |
DO_WRITE2 |
[((timer_cmd_done and user_wdata_valid = '1') and not (SDRAM_TYPE = 0 and BL = 1 or SDRAM_TYPE > 0 and BL = 2))] |
17 |
DO_READ1 |
CHECKNXT |
[((timer_cmd_done = '1') and (SDRAM_TYPE = 0 and BL = 1 or SDRAM_TYPE > 0 and BL = 2))] |
18 |
DO_READ1 |
DO_READ2 |
[((timer_cmd_done = '1') and not (SDRAM_TYPE = 0 and BL = 1 or SDRAM_TYPE > 0 and BL = 2))] |
19 |
CHECKNXT |
DO_PRECHARGE |
[((timer_tREFI_done = '1') and (timer_tRAS_done = '1')), (not (timer_tREFI_done = '1') and not (user_cmd_valid and same_bank_row = '1') and (timer_cmd_done = '1') and (timer_tRAS_done = '1'))] |
20 |
CHECKNXT |
DO_WRITE1 |
[(not (timer_tREFI_done = '1') and (user_cmd_valid and same_bank_row = '1') and (user_write = '1'))] |
21 |
CHECKNXT |
DO_READ1 |
[(not (timer_tREFI_done = '1') and (user_cmd_valid and same_bank_row = '1') and not (user_write = '1'))] |
22 |
DO_WRITE2 |
CHECKNXT |
[((SDRAM_TYPE = 0 and BL > 1 or SDRAM_TYPE > 0 and BL > 2) and (downcnt_done = '1'))] |
23 |
DO_READ2 |
CHECKNXT |
[((SDRAM_TYPE = 0 and BL > 1 or SDRAM_TYPE > 0 and BL > 2) and (downcnt_done = '1'))] |
24 |
DO_PRECHARGE |
DO_AUTO_REFRESH |
[((timer_cmd_done = '1') and (timer_tREFI_done = '1'))] |
25 |
DO_PRECHARGE |
DO_ACTIVATE |
[((timer_cmd_done = '1') and not (timer_tREFI_done = '1'))] |
26 |
DO_AUTO_REFRESH |
DO_ACTIVATE |
[(timer_cmd_done = '1')] |