Processes | |
| update_chipsel | ( CLK ) |
| mux_mosi | ( CLK ) |
| mux_cs_bar | ( CLK ) |
| process_read | ( CLK ) |
| process_erase | ( CLK ) |
| process_write | ( CLK ) |
| process_erase_lock | ( CLK ) |
| process_write_lock | ( CLK ) |
| process_read_lock | ( CLK ) |
| process_write_config | ( CLK ) |
| process_read_register | ( CLK ) |
| process_read_id | ( CLK ) |
| process_clear_status | ( CLK ) |
| process_custom | ( CLK ) |
Components | |
| oneshot | <Entity oneshot> |
| writeSpiFIFO | |
Constants | |
| AddrWidth | integer := 32 |
| SectorSize | integer := 65536 |
| SizeSector | std_logic_vector ( 31 downto 0 ) := X " 00010000 " |
| SubSectorSize | integer := 4096 |
| SizeSubSector | std_logic_vector ( 31 downto 0 ) := X " 00001000 " |
| NumberofSectors | std_logic_vector ( 8 downto 0 ) := " 000000000 " |
| PageSize | std_logic_vector ( 31 downto 0 ) := X " 00000100 " |
| NumberofPages | std_logic_vector ( 16 downto 0 ) := " 10000000000000000 " |
| AddrStart32 | std_logic_vector ( 31 downto 0 ) := X " 00000000 " |
| AddrEnd32 | std_logic_vector ( 31 downto 0 ) := X " 01FFFFFF " |
| Idcode25NQ256 | std_logic_vector ( 23 downto 0 ) := X " 20BB19 " |
| CmdREAD24 | std_logic_vector ( 7 downto 0 ) := X " 03 " |
| CmdFASTREAD | std_logic_vector ( 7 downto 0 ) := X " 0B " |
| CmdREAD32 | std_logic_vector ( 7 downto 0 ) := X " 13 " |
| CmdRDID | std_logic_vector ( 7 downto 0 ) := X " 9F " |
| CmdRDFlashPara | std_logic_vector ( 7 downto 0 ) := X " 5A " |
| CmdRDFR24Quad | std_logic_vector ( 7 downto 0 ) := X " 0C " |
| CmdFLAGStatus | std_logic_vector ( 7 downto 0 ) := X " 70 " |
| CmdStatus | std_logic_vector ( 7 downto 0 ) := X " 05 " |
| CmdWE | std_logic_vector ( 7 downto 0 ) := X " 06 " |
| CmdSE24 | std_logic_vector ( 7 downto 0 ) := X " D8 " |
| CmdSE32 | std_logic_vector ( 7 downto 0 ) := X " DC " |
| CmdSSE24 | std_logic_vector ( 7 downto 0 ) := X " 20 " |
| CmdSSE32 | std_logic_vector ( 7 downto 0 ) := X " 21 " |
| CmdPP24 | std_logic_vector ( 7 downto 0 ) := X " 02 " |
| CmdPP32 | std_logic_vector ( 7 downto 0 ) := X " 12 " |
| CmdPP24Quad | std_logic_vector ( 7 downto 0 ) := X " 32 " |
| CmdPP32Quad | std_logic_vector ( 7 downto 0 ) := X " 34 " |
| Cmd4BMode | std_logic_vector ( 7 downto 0 ) := X " B7 " |
| CmdExit4BMode | std_logic_vector ( 7 downto 0 ) := X " E9 " |
| CmdEraseNonvLock | std_logic_vector ( 7 downto 0 ) := X " E4 " |
| CmdWriteNonvLock | std_logic_vector ( 7 downto 0 ) := X " E3 " |
| CmdWriteVolaLock | std_logic_vector ( 7 downto 0 ) := X " E5 " |
| CmdReadVolaLock | std_logic_vector ( 7 downto 0 ) := X " E8 " |
| CmdReadNonvLock | std_logic_vector ( 7 downto 0 ) := X " E2 " |
| CmdWriteNonvConfig | std_logic_vector ( 7 downto 0 ) := X " B1 " |
| CmdWriteVolaConfig | std_logic_vector ( 7 downto 0 ) := X " 81 " |
| CmdWriteExteConfig | std_logic_vector ( 7 downto 0 ) := X " 61 " |
| CmdWriteStatus | std_logic_vector ( 7 downto 0 ) := X " 01 " |
| CmdReadNonvConf | std_logic_vector ( 7 downto 0 ) := X " B5 " |
| CmdReadVolaConf | std_logic_vector ( 7 downto 0 ) := X " 85 " |
| CmdReadExteConf | std_logic_vector ( 7 downto 0 ) := X " 65 " |
| CmdClearFlagStatus | std_logic_vector ( 7 downto 0 ) := X " 50 " |
| custom_enable | std_logic := ' 1 ' |
Types | |
| write_states | is ( S_WRITE_IDLE , S_WRITE_ASSERT_CS_WRITE_ENABLE , S_WRITE_SHIFT_WRITE_ENABLE , S_WRITE_ASSERT_CS_PROGRAM , S_WRITE_SHIFT_PROGRAM , S_WRITE_SHIFT_DATA , S_WRITE_ASSERT_CS_READ_STATUS , S_WRITE_SHIFT_READ_STATUS , S_WRITE_ASSERT_CS_READ_STATUS_2 , S_WRITE_SHIFT_READ_STATUS_2 ) |
| read_states | is ( S_READ_IDLE , S_READ_ASSERT_CS , S_READ_SHIFT_READ ) |
| erase_states | is ( S_ERASE_IDLE , S_ERASE_ASSERT_CS_WRITE_ENABLE , S_ERASE_SHIFT_WRITE_ENABLE , S_ERASE_ASSERT_CS_ERASE , S_ERASE_SHIFT_ERASE , S_ERASE_ASSERT_CS_READ_STATUS , S_ERASE_SHIFT_READ_STATUS ) |
| erase_lock_states | is ( S_ERASE_LOCK_IDLE , S_ERASE_LOCK_ASSERT_CS_WRITE_ENABLE , S_ERASE_LOCK_SHIFT_WRITE_ENABLE , S_ERASE_LOCK_ASSERT_CS_ERASE_LOCK , S_ERASE_LOCK_SHIFT_ERASE_LOCK , S_ERASE_LOCK_ASSERT_CS_READ_STATUS , S_ERASE_LOCK_SHIFT_READ_STATUS ) |
| write_lock_states | is ( S_WRITE_LOCK_IDLE , S_WRITE_LOCK_ASSERT_CS_WRITE_ENABLE , S_WRITE_LOCK_SHIFT_WRITE_ENABLE , S_WRITE_LOCK_ASSERT_CS_WRITE_LOCK , S_WRITE_LOCK_SHIFT_WRITE_LOCK , S_WRITE_LOCK_ASSERT_CS_READ_STATUS , S_WRITE_LOCK_SHIFT_READ_STATUS , S_WRITE_LOCK_ASSERT_CS_READ_STATUS_2 , S_WRITE_LOCK_SHIFT_READ_STATUS_2 ) |
| write_config_states | is ( S_WRITE_CONFIG_IDLE , S_WRITE_CONFIG_ASSERT_CS_WRITE_ENABLE , S_WRITE_CONFIG_SHIFT_WRITE_ENABLE , S_WRITE_CONFIG_ASSERT_CS_WRITE_CONFIG , S_WRITE_CONFIG_SHIFT_WRITE_CONFIG , S_WRITE_CONFIG_ASSERT_CS_READ_STATUS , S_WRITE_CONFIG_SHIFT_READ_STATUS , S_WRITE_CONFIG_ASSERT_CS_READ_STATUS_2 , S_WRITE_CONFIG_SHIFT_READ_STATUS_2 ) |
| read_register_states | is ( S_READ_REGISTER_IDLE , S_READ_REGISTER_ASSERT_CS_READ , S_READ_REGISTER_SHIFT_READ ) |
| read_id_states | is ( S_READ_ID_IDLE , S_READ_ID_ASSERT_CS_READ , S_READ_ID_SHIFT_READ ) |
| read_lock_states | is ( S_READ_LOCK_IDLE , S_READ_LOCK_ASSERT_CS_READ , S_READ_LOCK_SHIFT_READ ) |
| clear_status_states | is ( S_CLEAR_STATUS_IDLE , S_CLEAR_STATUS_ASSERT_CS , S_CLEAR_STATUS_SHIFT ) |
| custom_states | is ( S_CUSTOM_IDLE , S_CUSTOM_ASSERT_CS , S_CUSTOM_SHIFT , S_CUSTOM_FLUSH_FIFO ) |
Signals | |
| spi_miso | std_logic |
| spi_mosi | std_logic |
| spi_cs_bar | std_logic |
| spi_cs_bar_input | std_logic := ' 1 ' |
| spi_cs_bar_delay | std_logic := ' 1 ' |
| di_out | std_logic_vector ( 3 downto 0 ) := X " 0 " |
| do_in | std_logic_vector ( 3 downto 0 ) := " 0000 " |
| qspi_io | std_logic_vector ( 3 downto 1 ) := " 111 " |
| dopin_ts | std_logic_vector ( 3 downto 0 ) := " 1110 " |
| write_fifo_output | std_logic_vector ( 3 downto 0 ) := " 0000 " |
| write_spi_fifo_read_enable | std_logic := ' 0 ' |
| write_fifo_read_enable | std_logic := ' 0 ' |
| read_spi_cs_bar | std_logic := ' 1 ' |
| read_done | std_logic := ' 1 ' |
| read_word_limit | unsigned ( 31 downto 0 ) := x " 00000000 " |
| read_word_counter | unsigned ( 31 downto 0 ) := x " 00000000 " |
| read_data | std_logic_vector ( 15 downto 0 ) := X " 0000 " |
| read_data_valid | std_logic := ' 0 ' |
| read_data_counter | std_logic_vector ( 3 downto 0 ) := " 0000 " |
| read_address | std_logic_vector ( 31 downto 0 ) := X " 00000000 " |
| read_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| read_cmdreg | std_logic_vector ( 39 downto 0 ) := X " 1111111111 " |
| erase_spi_cs_bar | std_logic := ' 1 ' |
| erase_done | std_logic := ' 1 ' |
| erase_address | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| erase_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| erase_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| erase_status_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| write_spi_cs_bar | std_logic := ' 1 ' |
| write_done | std_logic := ' 1 ' |
| write_address | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| write_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| write_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| write_word_limit | unsigned ( 31 downto 0 ) := x " 00000000 " |
| write_data_counter | unsigned ( 1 downto 0 ) := " 00 " |
| write_word_counter | unsigned ( 31 downto 0 ) := x " 00000000 " |
| write_status_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| erase_lock_spi_cs_bar | std_logic := ' 1 ' |
| erase_lock_done | std_logic := ' 1 ' |
| erase_lock_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| erase_lock_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| erase_lock_status_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| write_lock_spi_cs_bar | std_logic := ' 1 ' |
| write_lock_type | std_logic_vector ( 1 downto 0 ) := " 00 " |
| write_lock_address | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| write_lock_address_volatile | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| write_lock_done | std_logic := ' 1 ' |
| write_lock_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| write_lock_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| write_lock_status_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| read_lock_spi_cs_bar | std_logic := ' 1 ' |
| read_lock_type | std_logic_vector ( 1 downto 0 ) := " 00 " |
| read_lock_address | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| read_lock_address_volatile | std_logic_vector ( 31 downto 0 ) := x " 00000000 " |
| read_lock_done | std_logic := ' 0 ' |
| read_lock_cmdcounter | unsigned ( 5 downto 0 ) := " 000000 " |
| read_lock_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 0000000000 " |
| read_lock_data_counter | unsigned ( 1 downto 0 ) := " 00 " |
| read_lock_data | std_logic_vector ( 15 downto 0 ) := x " 0000 " |
| read_lock_data_valid | std_logic := ' 0 ' |
| write_config_spi_cs_bar | std_logic := ' 1 ' |
| write_config_done | std_logic := ' 1 ' |
| write_config_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| write_config_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| write_config_status_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| write_register_type | std_logic_vector ( 3 downto 0 ) := x " 0 " |
| read_register_spi_cs_bar | std_logic := ' 1 ' |
| read_register_done | std_logic := ' 0 ' |
| read_register_type | std_logic_vector ( 3 downto 0 ) := x " 0 " |
| read_register_bit_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| read_register_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| read_register_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| register_inner | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| register_we | std_logic := ' 0 ' |
| read_register_max_index | std_logic_vector ( 7 downto 0 ) := x " 00 " |
| read_id_spi_cs_bar | std_logic := ' 1 ' |
| read_id_done | std_logic := ' 0 ' |
| read_id_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| read_id_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| read_id_data | std_logic_vector ( 15 downto 0 ) := x " 0000 " |
| read_id_data_valid | std_logic := ' 0 ' |
| read_id_data_counter | unsigned ( 7 downto 0 ) := x " 00 " |
| clear_status_spi_cs_bar | std_logic := ' 1 ' |
| clear_status_done | std_logic := ' 0 ' |
| clear_status_cmdcounter | unsigned ( 5 downto 0 ) := " 111111 " |
| clear_status_cmdreg | std_logic_vector ( 39 downto 0 ) := x " 1111111111 " |
| custom_done | std_logic := ' 1 ' |
| custom_spi_cs_bar | std_logic := ' 1 ' |
| custom_fifo_read_enable | std_logic := ' 0 ' |
| custom_nbits_write | unsigned ( 10 downto 0 ) := " 00000000000 " |
| custom_nwords_read | unsigned ( 15 downto 0 ) := x " 0000 " |
| custom_mosi | std_logic := ' 0 ' |
| custom_fifo_idx | unsigned ( 1 downto 0 ) := " 11 " |
| custom_data_counter | unsigned ( 3 downto 0 ) := x " 0 " |
| custom_data | std_logic_vector ( 15 downto 0 ) := x " 0000 " |
| custom_data_valid | std_logic := ' 0 ' |
| custom_first_read_cycle | std_logic := ' 0 ' |
| write_state | write_states := S_WRITE_IDLE |
| read_state | read_states := S_READ_IDLE |
| erase_state | erase_states := S_ERASE_IDLE |
| erase_lock_state | erase_lock_states := S_ERASE_LOCK_IDLE |
| write_lock_state | write_lock_states := S_WRITE_LOCK_IDLE |
| write_config_state | write_config_states := S_WRITE_CONFIG_IDLE |
| read_register_state | read_register_states := S_READ_REGISTER_IDLE |
| read_id_state | read_id_states := S_READ_ID_IDLE |
| read_lock_state | read_lock_states := S_READ_LOCK_IDLE |
| clear_status_state | clear_status_states := S_CLEAR_STATUS_IDLE |
| custom_state | custom_states := S_CUSTOM_IDLE |
Attributes | |
| mark_debug | string |
| dont_touch | string |
| keep | string |
| shreg_extract | string |
| async_reg | string |
Instantiations | |
| startupe3_inst | startupe3 |
| writefifo_i | writespififo |
1.8.5