Académique Documents
Professionnel Documents
Culture Documents
Protocol
Marta Posada
ESA/ESTEC
June 2006
Motivation
SOC designers want to
reuse IP cores to
shorten development schedules.
Problem: IP cores need to be re-adapted
into each system design
Motivation: reuse without rework
What is needed?
System
integrator
Core
1
Core
2
Core
N
core i/f
core i/f
core i/f
System
socket
System
socket
System
socket
On-chip interconnect
Extensions
Configurability
Master / Slave
Accept WR Data
Slave
Master
Write Data
Response
Response
Accept Response
Control signals
Core
System
Read Data
test signals
Dataflow signals
Accept Request
Request
Request
Split protocol
Multiple phases:
Request phase
Response phase
Separate data
handshake
(optional)
COMUNICATION PHASES
Possible Response Code
Read
ReadEx
ReadLinked
Request
Response
DVA / ERR
Write
Request
Response
DVA / ERR
Request
Response
DVA / ERR
WriteNonPost
WriteConditional
Request
Response
Write
w/datahandshake
Request
w/o
datahandshake
Data
Response
DVA
ERR
Transfer Error
FAIL
SIMPLE EXTENSION
Byte enables
BURST EXTENSION(I)
SIDEBAND SIGNALS
Reset
Interrupt
Transaction error reporting
Core Flags (core-to-core)
Core Status/Control (system-to-core)
Test
CORE CONVERSION
Existing
Core
OCP
Bridge
Core interface
1.
2.
3.
4.
5.
OCP interface
protocol patterns.
Bit_stream
Tx_bit
CAN CORE
Remote_frame
Reset
Clock
Tx_msg[0-101]
Start
Ps1
Ps2
Rsj
Bpr
Bus_off
Tx_completed
Rx_completed
Rx_msg[0-101]
Err_passive
Rx_err_cnt
Tx_err_cnt
Syncbit
Tx_busy
Test
Sample
Sample_bit
Reset_asyn
Filter_remote
= 1
= 1
OCP BRIDGE
We are going to design a SLAVE OCP socket
OCP Burst Extension, with single request
multiple data.
OCP Word : 1 byte (8 bits)
Commands : Idle (IDLE), Write (WR) and
Read (RD)
Responses: Null (NULL), Data Valid (DVA)
and Error (ERR).
= 1
= 1
Remote_frame
Reset
Clock
Tx_msg[0-101]
Start
Ps1
Ps2
Rsj
Bpr
Bus_off
Tx_completed
Rx_completed
Rx_msg[0-101]
Err_passive
Rx_err_cnt
Tx_err_cnt
Syncbit
Tx_busy
Test
Sample
Sample_bit
Reset_asyn
Filter_remote
Clk
REGISTERS
STATE MACHINE
Mreset_n
MCmd
Maddr
MData
MBurstLength
MBurstSeq
MBurstPrecise
MBurstSingleReq
MDataValid
Mdata
MDataLast
SCmdAccept
SData
SDataAccept
Sresp
SRespLast
OCP SLAVE
Model inspired in
HurryAmba (developed
by ESA).
The CAN core signals
are going to be store in
some registers.
Both CAN and OCP
bridge have access to
the registers
Pooling to know there
are received data in the
registers
REGISTER
ADDRESS
Setup0
00h
Setup1
04h
Setup2
08h
Setup3
0Ch
Status0
10h
Status1
14h
Filter0
18h
Filter1
1Ch
Filter2
20h
Filter3
24h
Tx_msg0-Tx_msg12
28h 88h
Rx_msg0
Rx_msg12
8Ch - ECh
Tx_error_cnt
F0h
Rx_error_cnt
F4h