mem-map.md 4.6 KB

iCE40 E1 Core Memory Map

RX

RX Control (Write Only, addr 0x00)

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
|     /     | oc|               /                   |  mode | e |
'---------------------------------------------------------------'
  • oc: Overflow Clear
  • mode:
    • 00: Transparent
    • 01: Byte Alignement
    • 10: Basic Frame Alignement
    • 11: Multi Frame Alignement
  • e: Enable

RX Status (Read Only, addr 0x00)

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
|     /     | o |bof|boe|bif|bie|           /           | a | e |
'---------------------------------------------------------------'
  • o : Overflow (a multi frame was dropped)
  • bof: BD Out Full
  • boe: BD Out Empty
  • bif: BD In Full
  • bie: BD In Empty
  • e : Enabled

RX BD Write (Write Only, addr 0x02)

Writes to this location push a buffer descriptor to be filled with a multiframe by the E1 core.

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
|                 /                 |          mf               |
'---------------------------------------------------------------'
  • mf : Multi-Frame address

RX BD Read

Read from the location retrieve a buffer descriptor that has been filled with a multiframe by the E1 core.

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
| v | c1| c0|           /           |          mf               |
'---------------------------------------------------------------'
  • v : Valid
  • c1 : CRC status for sub-multi-frame 1
  • c0 : CRC status for sub-multi-frame 0
  • mf : Multi-Frame address

TX

TX Control (Write Only, addr 0x04)

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
|     /     | uc|           /           | l | a | t |  mode | e |
'---------------------------------------------------------------'
  • uc: Underflow Clear
  • l : Loopback
  • a : Alarm (sets Alarm bit on transmitted frames)
  • t : Timing source (0=internal, 1=lock to RX)
  • mode:
    • 00: Transparent
    • 01: TS0 framing, no CRC4
    • 10: TS0 framing, CRC4
    • 11: TS0 framing, CRC4 + Auto "E" bits
  • e : Enable

TX Status (Read Only, addr 0x04)

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
|           | u |bof|boe|bif|bie|                           | e |
'---------------------------------------------------------------'
  • u : Undeflow (a multi frame was missed)
  • bof: BD Out Full
  • boe: BD Out Empty
  • bif: BD In Full
  • bie: BD In Empty
  • e : Enabled

TX BD Write (Write Only, addr 0x06)

Writes to this location push a buffer descriptor to be filled with a multiframe by the E1 core.

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
| / | c1| c0|           /           |          mf               |
'---------------------------------------------------------------'
  • c1 : CRC 'E' bit for sub-multi-frame 1
  • c0 : CRC 'E' bit for sub-multi-frame 0
  • mf : Multi-Frame address

TX BD Read (Read Only, addr 0x06)

Read from the location retrieve a buffer descriptor that has been filled with a multiframe by the E1 core.

,---------------------------------------------------------------,
| f | e | d | c | b | a | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---------------------------------------------------------------|
| v |               /               |          mf               |
'---------------------------------------------------------------'
  • v : Valid
  • mf : Multi-Frame address