1 |
2 |
ldalmasso |
# PmodSF3Driver
|
2 |
|
|
|
3 |
|
|
Pmod SF3 Driver for the 32 MB NOR Flash memory MT25QL256ABA. The communication with the Flash uses the SPI protocol (Simple, Dual or Quad SPI modes, dynamically configurable).
|
4 |
|
|
|
5 |
|
|
User specifies the System Input Clock and the Pmod SF3 Driver dynamically computes the SPI Serial Clock Frequency according to the actual Dummy Cycles.
|
6 |
|
|
|
7 |
|
|
User specifies the maximum bytes buffer used for data read & write.
|
8 |
|
|
|
9 |
|
|
For each read/write operation, user specifies the number of expected address and data bytes.
|
10 |
|
|
|
11 |
|
|

|
12 |
|
|
|
13 |
|
|
## Usage
|
14 |
|
|
|
15 |
|
|
The 'o_ready' signal indicates this module is ready to start new SPI transmission.
|
16 |
|
|
|
17 |
|
|
For each read/write operation, user specifies the number of expected address and data bytes, 'i_addr_bytes' and 'i_data_bytes' respectively.
|
18 |
|
|
|
19 |
|
|
The 'i_start' signal starts the SPI communication, according to the mode 'i_rw' (Read or Write memory), command/address/data bytes and the expected number of bytes.
|
20 |
|
|
|
21 |
|
|
In Read operation, when the 'o_data_ready', data from memory is available in 'o_data' signal.
|
22 |
|
|
|
23 |
|
|
## Pin Description
|
24 |
|
|
|
25 |
|
|
### Generics
|
26 |
|
|
|
27 |
|
|
| Name | Description |
|
28 |
|
|
| ---- | ----------- |
|
29 |
|
|
| sys_clock | System Input Clock Frequency (Hz) |
|
30 |
|
|
| max_data_byte | Maximum number of Data Bytes in the driver |
|
31 |
|
|
|
32 |
|
|
### Ports
|
33 |
|
|
|
34 |
|
|
| Name | Type | Description |
|
35 |
|
|
| ---- | ---- | ----------- |
|
36 |
|
|
| i_sys_clock | Input | System Input Clock |
|
37 |
|
|
| i_reset | Input | Module Reset ('0': No Reset, '1': Reset) |
|
38 |
|
|
| i_start | Input | Start SPI Transmission ('0': No Start, '1': Start) |
|
39 |
|
|
| i_rw | Input | Read / Write Mode ('0': Write, '1': Read) |
|
40 |
|
|
| i_command | Input | FLASH Command Byte |
|
41 |
|
|
| i_addr_bytes | Input | Number of Address Bytes |
|
42 |
|
|
| i_addr | Input | FLASH Address Bytes |
|
43 |
|
|
| i_data_bytes | Input | Number of Data Bytes to Read/Write |
|
44 |
|
|
| i_data | Input | FLASH Data Bytes to Write |
|
45 |
|
|
| o_data | Output | Read FLASH Data Bytes |
|
46 |
|
|
| o_data_ready | Output | FLASH Data Output Ready (Read Mode) ('0': NOT Ready, '1': Ready) |
|
47 |
|
|
| o_ready | Output | Module Ready ('0': NOT Ready, '1': Ready) |
|
48 |
|
|
| o_reset | Output | FLASH Reset ('0': Reset, '1': No Reset) |
|
49 |
|
|
| o_sclk | Output | SPI Serial Clock |
|
50 |
|
|
| io_dq | In/Out | SPI Data Lines (Simple, Dual or Quad Modes) |
|
51 |
|
|
| o_ss | Output | SPI Slave Select Line ('0': Enable, '1': Disable) |
|
52 |
|
|
| o_using_sys_freq | Output | System Input Clock as SPI Serial Clock Frequency ('0': Disable, '1': Enable) |
|