Xmos XEF216-512-FB236-Datasheet - 18
Xmos XEF216-512-FB236-Datasheet - 18
2020/10/05
Document Number: X007546
XEF216-512-FB236 Datasheet
Table of Contents
1 xCORE Multicore Microcontrollers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 XEF216-512-FB236 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Example Application Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8 Boot Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10 USB PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11 RGMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
12 JTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13 Board Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
14 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
15 Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
16 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A Configuration of the XEF216-512-FB236 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
B Processor Status Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
C Tile Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
D Node Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
E USB Node Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
F USB PHY Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
G JTAG, xSCOPE and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
H Schematics Design Check List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
I PCB Layout Design Check List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
J Associated Design Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
K Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
L Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
It is our intention to provide you with accurate and comprehensive documentation for the hardware and software
components used in this product. To subscribe to receive updates, visit http://www.xmos.com/.
XMOS Ltd.is the owner or licensee of the information in this document and is providing it to you “AS IS” with no warranty
of any kind, express or implied and shall have no liability in relation to its use. XMOS Ltd. makes no representation that
the information, or any particular implementation thereof, is or will be free from any claims of infringement and again,
shall have no liability in relation to any such claims.
XMOS and the XMOS logo are registered trademarks of XMOS Ltd in the United Kingdom and other countries, and may
not be used without written permission. Company and product names mentioned in this document are the trademarks
or registered trademarks of their respective owners.
1
XEF216-512-FB236 Datasheet
· Tiles: Devices consist of one or more xCORE tiles. Each tile contains between five and
eight 32-bit xCOREs with highly integrated I/O and on-chip memory.
· Logical cores Each logical core can execute tasks such as computational code, DSP
code, control software (including logic decisions and executing a state machine) or
software that handles I/O. Section 6.1
· xTIME scheduler The xTIME scheduler performs functions similar to an RTOS, in hard-
ware. It services and synchronizes events in a core, so there is no requirement for in-
terrupt handler routines. The xTIME scheduler triggers cores on events generated by
hardware resources such as the I/O pins, communication channels and timers. Once
triggered, a core runs independently and concurrently to other cores, until it pauses to
wait for more events. Section 6.2
· Channels and channel ends Tasks running on logical cores communicate using chan-
nels formed between two channel ends. Data can be passed synchronously or asyn-
chronously between the channel ends assigned to the communicating tasks. Section
6.5
· xCONNECT Switch and Links Between tiles, channel communications are implemented
over a high performance network of xCONNECT Links and routed through a hardware
xCONNECT Switch. Section 6.6
2
XEF216-512-FB236 Datasheet
· Ports The I/O pins are connected to the processing cores by Hardware Response
ports. The port logic can drive its pins high and low, or it can sample the value on
its pins optionally waiting for a particular condition. Section 6.3
· Clock blocks xCORE devices include a set of programmable clock blocks that can be
used to govern the rate at which ports execute. Section 6.4
· Memory Each xCORE Tile integrates a bank of SRAM for instructions and data, and
a block of one-time programmable (OTP) memory that can be configured for system
wide security features. Section 9
· PLL The PLL is used to create a high-speed processor clock given a low speed external
oscillator. Section 7
· USB The USB PHY provides High-Speed and Full-Speed, device, host, and on-the-go
functionality. Data is communicated through ports on the digital node. A library is
provided to implement USB device functionality. Section 10
· RGMII The device has a set of pins that can be dedicated to communicate with an
RGMII, including Gbit Ethernet PHYs, according to the RGMII v1.3 specification. Sec-
tion 11
· JTAG The JTAG module can be used for loading programs, boundary scan testing,
in-circuit source-level debugging and programming the OTP memory. Section 12
1.1 Software
Devices are programmed using C, C++ or xC (C with multicore extensions). XMOS pro-
vides tested and proven software libraries, which allow you to quickly add interface and
processor functionality such as USB, Ethernet, PWM, graphics driver, and audio EQ to
your applications.
The xTIMEcomposer Studio development environment provides all the tools you need to
write and debug your programs, profile your application, and write images into flash mem-
ory or OTP memory on the device. Because xCORE devices operate deterministically,
they can be simulated like hardware within xTIMEcomposer: uniquely in the embedded
world, xTIMEcomposer Studio therefore includes a static timing analyzer, cycle-accurate
simulator, and high-speed in-circuit instrumentation.
3
XEF216-512-FB236 Datasheet
2 XEF216-512-FB236 Features
· Multicore Microcontroller with Advanced Multi-Core RISC Architecture
• 16 real-time logical cores on 2 xCORE tiles
• Cores share up to 1000 MIPS
— Up to 2000 MIPS in dual issue mode
• Each logical core has:
— Guaranteed throughput of between 1/5 and 1/8 of tile MIPS
— 16x32bit dedicated registers
• 167 high-density 16/32-bit instructions
— All have single clock-cycle execution (except for divide)
— 32x32→64-bit MAC instructions for DSP, arithmetic and user-definable cryptographic functions
· USB PHY, fully compliant with USB 2.0 specification
· RGMII support, compliant with RGMII v1.3 specification
· Programmable I/O
• 128 general-purpose I/O pins, configurable as input or output
— Up to 32 x 1bit port, 12 x 4bit port, 8 x 8bit port, 4 x 16bit port, 2 x 32bit port
— 8 xCONNECT links
• Port sampling rates of up to 60 MHz with respect to an external clock
• 64 channel ends (32 per tile) for communication with other cores, on or off-chip
· Memory
• 512KB internal single-cycle SRAM (max 256KB per tile) for code and data storage
• 16KB internal OTP (max 8KB per tile) for application boot code
• 2MB internal flash for application code and overlays
· Hardware resources
• 12 clock blocks (6 per tile)
• 20 timers (10 per tile)
• 8 locks (4 per tile)
· JTAG Module for On-Chip Debug
· Security Features
• Programming lock disables debug and prevents read-back of memory contents
• AES bootloader ensures secrecy of IP held on external flash memory
· Ambient Temperature Range
• -40 °C to 85 °C
· Speed Grade
• 24: 1200 MIPS
• 20: 1000 MIPS
· Power Consumption
• 570 mA (typical)
· 236-pin FBGA package 0.5 mm pitch
4
XEF216-512-FB236 Datasheet
3 Pin Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
4F 4F 8D 4F
A GND VDDIOL VDDIOL TCK CLK X1D31 X1D29 X1D41 OTP_ NC MODE[0] X0D29 VDDIOR GND
rx1 rx_ctl tx2
VCC
1M 4E 4E 4F 4E 8D 4E 4E
B X0D36 VDDIOL VDDIOL TDO TMS TRST_ X1D33 X1D32 X1D28 X1D26 X1D42 OTP_ NC NC MODE[1] X0D33 X0D32 VDDIOR VDDIOR
N rx3 rx2 rx_clk tx_clk tx1
VCC
1N 1O 1C 1D 4F 4E 8D 8D 4F 4F 4F 4E 4E
C X0D37 X0D38 VDDIOL TDI DEBUG_ RST_N X1D10 X1D11 X1D30 X1D27 X1D43 X1D40 NC NC X0D31 X0D30 X0D28 X0D26 X0D27
X0 Li40 X0 Li30
N rx0 tx_ctl tx0 tx3 X0 Lo3 X0 Lo4
7 7
1P 8D 1K 1L
D X0D39 X0D40 X0D34 X0D35
X0 Li20 X0 Li10 X0 Lo1
7 X0 Lo2
7
8D 8D 8D 1J 1I 1B
E X0D43 X0D42 X0D41 X0D25 X0D24 X1D01
X0 Lo1
0 X0 Lo0
0 X0 Li00 X0 Lo0
7 X0 Li07 X0 Li17
1K 1L 1M 4A 4A 1A
F X1D34 X1D35 X1D36 NC VDD VDD VDDIOT VDD VDD PLL_ PLL_ X1D08 X1D09 X1D00
X0 Lo2 X0 Lo3 X0 Lo4
AVDD AGND X0 Li47 X0 Li37 X0 Li27
0 0 0
1O 1P 4D 4A 4B 4B
R X1D38 X1D39 X1D17 X1D03 X1D05 X1D06
X0 Li33 X0 Li23 X0 Li03 X0 Lo0
4 X0 Lo2
4 X0 Lo3
4
4D 4D 4A 4B
T X1D16 X1D18 X1D02 X1D04
X0 Li13 X0 Lo0
3 X0 Li04 X0 Lo1
4
1C 1B 4D 1A 1D 4B 1E 1I 1G 1F 1H 4D 4D 4D
U X0D10 X0D01 X1D19 X0D00 X0D11 X0D07 X1D12 USB_ USB_ USB_ USB_ NC X1D24 X0D22 X0D13 X0D23 X0D19 X0D18 X0D17
X0 Lo3 X0 Lo2 X0 Lo1
VDD33 VBUS ID VSSAC X0 Li14 X0 Li24 X0 Li34
3 3 3
1G 4B 4B 4A 4A 4A 4C 4C 1J 4C 4C 1E 4D
V X1D22 VDDIOL VDDIOL X0D04 X0D06 X0D03 X0D08 X0D09 USB_ USB_ X1D21 X1D14 X1D25 X0D21 X0D14 X0D12 VDDIOR VDDIOR X0D16
X0 Lo4
DM DP X0 Li44
3
1H 4B 4A 1F 4C 4C 4C 4C
W GND VDDIOL X1D23 X0D05 X0D02 USB_
X1D13 RTUNE X1D20 X1D15 X0D20 X0D15 VDDIOR VDDIOR GND
5
XEF216-512-FB236 Datasheet
4 Signal Description
This section lists the signals and I/O pins available on the XEF216-512-FB236. The device
provides a combination of 1bit, 4bit, 8bit and 16bit ports, as well as wider ports that are
fully or partially (gray) bonded out. All pins of a port provide either output or input, but
signals in different directions cannot be mapped onto the same port.
· PD/PU: The IO pin has a weak pull-down or pull-up resistor. The resistor is enabled
during and after reset. Enabling a link or port that uses the pin disables the resistor.
Thereafter, the resistor can be enabled or disabled under software control. The resistor
is designed to ensure defined logic input state for unconnected pins. It should not be
used to pull external circuitry. Note that the resistors are highly non-linear and only a
maximum pull current is specified in Section 14.3.
· IOL/IOT/IOR: The IO pin is powered from VDDIOL, VDDIOT, and VDDIOR respectively
6
XEF216-512-FB236 Datasheet
7
XEF216-512-FB236 Datasheet
8
XEF216-512-FB236 Datasheet
9
XEF216-512-FB236 Datasheet
10
XEF216-512-FB236 Datasheet
JACK /
MAGNETIC
IN 2V5 OUT
IN 1V0 OUT
RGMII
PHY
IN 3V3
OUT
RESET
SUPERVISOR
VDD
VDDIOT
USB_VDD
X1D11
X1D10
X1D33
X1D32
X1D31
X1D30
X1D29
X1D28
X1D27
X1D26
X1D43
X1D42
X1D41
X1D40
PLL_AVDD
PLL_AGND
RST_N
TRST_N
OSCILLATOR
CLK
25
24 MHz
X0D01 XnDnn GPIO
OTP_VCC
xCORE200
VDDIOL
VDDIOR
USB_RTUNE
USB_VBUS
USB_DM
USB_DP
USB_ID
USB_VDD33
GND
Figure 2:
Simplified
Reference
Schematic USB
· see Section 13 for details on the power supplies and PCB design
11
XEF216-512-FB236 Datasheet
6 Product Overview
The XEF216-512-FB236 is a powerful device that consists of two xCORE Tiles, each com-
prising a flexible logical processing cores with tightly integrated I/O and on-chip memory.
Figure 3: Speed MIPS Frequency Minimum MIPS per core (for n cores)
Logical core grade 1 2 3 4 5 6 7 8
performance
10 1000 MIPS 500 MHz 100 100 100 100 100 83 71 63
There is no way that the performance of a logical core can be reduced below these pre-
dicted levels (unless priority threads are used: in this case the guaranteed minimum per-
formance is computed based on the number of priority threads as defined in the architec-
ture manual). Because cores may be delayed on I/O, however, their unused processing
cycles can be taken by other cores. This means that for more than five logical cores,
the performance of each core is often higher than the predicted minimum but cannot be
guaranteed.
The logical cores are triggered by events instead of interrupts and run to completion. A
logical core can be paused to wait for an event.
Tasks do not need to be prioritised as each of them runs on their own logical xCORE. It
is possible to share a set of low priority tasks on a single core using cooperative multi-
tasking.
12
XEF216-512-FB236 Datasheet
port counter
conditional port
value logic
stamp/time
PORT
FIFO
port transfer
PINS SERDES CORE
value register
Figure 4:
Port block output (drive) input (sample)
diagram
The port logic can drive its pins high or low, or it can sample the value on its pins, option-
ally waiting for a particular condition. Ports are accessed using dedicated instructions
that are executed in a single processor cycle. xCORE200 IO pins can be used as open
collector outputs, where signals are driven low if a zero is output, but left high impedance
if a one is output. This option is set on a per-port basis.
Data is transferred between the pins and core using a FIFO that comprises a SERDES
and transfer register, providing options for serialization and buffered data.
Each port has a 16-bit counter that can be used to control the time at which data is trans-
ferred between the port value and transfer register. The counter values can be obtained
at any time to find out when data was obtained, or used to delay I/O until some time in
the future. The port counter value is automatically saved as a timestamp, that can be
used to provide precise control of response times.
The ports and xCONNECT links are multiplexed onto the physical pins. If an xConnect
Link is enabled, the pins of the underlying ports are disabled. If a port is enabled, it
overrules ports with higher widths that share the same pins. The pins on the wider port
that are not shared remain available for use when the narrower port is enabled. Ports
always operate at their specified width, even if they share pins with another port.
A clock block can use a 1-bit port as its clock source allowing external application clocks
to be used to drive the input and output interfaces. xCORE200 clock blocks optionally
divide the clock input from a 1-bit port.
13
XEF216-512-FB236 Datasheet
100MHz
reference 1-bit port
clock ... ...
divider
readyIn
In many cases I/O signals are accompanied by strobing signals. The xCORE ports can
input and interpret strobe (known as readyIn and readyOut) signals generated by external
sources, and ports can generate strobe signals to accompany output data.
On reset, each port is connected to clock block 0, which runs from the xCORE Tile refer-
ence clock.
Logical cores communicate using point-to-point connections, formed between two chan-
nel ends. A channel-end is a resource on an xCORE tile, that is allocated by the program.
Each channel-end has a unique system-wide identifier that comprises a unique number
and their tile identifier. Data is transmitted to a channel-end by an output-instruction;
and the other side executes an input-instruction. Data can be passed synchronously or
asynchronously between the channel ends.
The interconnect relies on a collection of switches and XMOS links. Each xCORE device
has an on-chip switch that can set up circuits or route data. The switches are connected
by xConnect Links. An XMOS link provides a physical connection between two switches.
The switch has a routing algorithm that supports many different topologies, including
lines, meshes, trees, and hypercubes.
The links operate in either 2 wires per direction or 5 wires per direction mode, depending
on the amount of bandwidth required. Circuit switched, streaming and packet switched
data can both be supported efficiently. Streams provide the fastest possible data rates
between xCORE Tiles (up to 250 MBit/s), but each stream requires a single link to be
reserved between switches on two tiles. All packet communications can be multiplexed
onto a single link.
14
XEF216-512-FB236 Datasheet
CORE
xCONNECT
CORE CORE switch CORE
CORE
Figure 6: CORE
CORE CORE CORE
Switch, links
and channel
ends xCORE Tile xCORE Tile
Information on the supported routing topologies that can be used to connect multiple de-
vices together can be found in the XS1-UEF Link Performance and Design Guide, X2999.
7 PLL
The PLL creates a high-speed clock that is used for the switch, tile, and reference clock.
The PLL multiplication value is selected through the two MODE pins, and can be changed
by software to speed up the tile or use less power. The MODE pins are set as shown in
Figure 7:
Figure 7 also lists the values of OD, F and R, which are the registers that define the ratio
of the tile frequency to the oscillator frequency:
F +1 1 1
Fcore = Fosc × × ×
2 R+1 OD + 1
OD, F and R must be chosen so that 0 ≤ R ≤ 63, 0 ≤ F ≤ 4095, 0 ≤ OD ≤ 7, and
260M Hz ≤ Fosc × F 2+1 × R+1 1
≤ 1.3GHz. The OD, F , and R values can be modified
by writing to the digital node PLL configuration register.
The MODE pins must be held at a static value during and after deassertion of the system
reset. If the USB PHY is used, then either a 24 MHz or 12 MHz oscillator must be used.
15
XEF216-512-FB236 Datasheet
If a different tile frequency is required (eg, 500 MHz), then the PLL must be reprogrammed
after boot to provide the required tile frequency. The XMOS tools perform this operation
by default. Further details on configuring the clock can be found in the xCORE-200 Clock
Frequency Control document.
8 Boot Procedure
The device is kept in reset by driving RST_N low. When in reset, all GPIO pins have a pull-
down enabled. The processor must be held in reset until VDDIOL is in spec for at least
1 ms. When the device is taken out of reset by releasing RST_N the processor starts
its internal reset process. After 15-150 µs (depending on the input clock) the processor
boots.
The device boots from a QSPI flash (IS25LP016D) that is embedded in the device. The
QSPI flash is connected to the ports on Tile 0 as shown in Figure 8. An external 1K
resistor must connect X0D01 to VDDIOL. X0D10 should ideally not be connected. If
X0D10 is connected, then a 150 ohm series resistor close to the device is recommended.
X0D04..X0D07 should be not connected.
VDDIOL
xCORE
1K X0D04..7 PORT_4B
X0D01 PORT_1B
X0D10
PORT_1C
CLK
D[0..3]
CS_N
Figure 8:
QSPI port QSPI Flash
connectivity
The xCORE Tile boot procedure is illustrated in Figure 9. If bit 5 of the security register
(see §9.1) is set, the device boots from OTP. Otherwise, the device boots from the internal
flash.
Start
No
Security Register Bit [5] set
Yes
16
XEF216-512-FB236 Datasheet
· A 32-bit CRC, or the value 0x0D15AB1E to indicate that no CRC check should be per-
formed.
The program size and CRC are stored least significant byte first. The program is loaded
into the lowest memory address of RAM, and the program is started from that address.
The CRC is calculated over the byte stream represented by the program size and the
program itself. The polynomial used is 0xEDB88320 (IEEE 802.3); the CRC register is
initialized with 0xFFFFFFFF and the residue is inverted to produce the CRC.
9 Memory
17
XEF216-512-FB236 Datasheet
9.1 OTP
Each xCORE Tile integrates 8 KB one-time programmable (OTP) memory along with a
security register that configures system wide security features. The OTP holds data in
four sectors each containing 512 rows of 32 bits which can be used to implement se-
cure bootloaders and store encryption keys. Data for the security register is loaded from
the OTP on power up. All additional data in OTP is copied from the OTP to SRAM and
executed first on the processor.
The OTP memory is programmed using three special I/O ports: the OTP address port
is a 16-bit port with resource ID 0x100200, the OTP data is written via a 32-bit port with
resource ID 0x200100, and the OTP control is on a 16-bit port with ID 0x100300. Pro-
gramming is performed through libotp and xburn.
9.2 SRAM
Each xCORE Tile integrates a single 256KB SRAM bank for both instructions and data. All
internal memory is 32 bits wide, and instructions are either 16-bit or 32-bit. Byte (8-bit),
half-word (16-bit) or word (32-bit) accesses are supported and are executed within one
tile clock cycle. There is no dedicated external memory interface, although data memory
can be expanded through appropriate use of the ports.
10 USB PHY
The USB PHY provides High-Speed and Full-Speed, device, host, and on-the-go function-
ality. The PHY is configured through a set of peripheral registers (Appendix F), and data is
communicated through ports on the digital node. A library, XUD, is provided to implement
USB-device functionality.
The USB PHY is connected to the ports on Tile 0 and Tile 1 as shown in Figure 11. When
the USB PHY is enabled on Tile 0, the ports shown can on Tile 0 only be used with the
USB PHY. When the USB PHY is enabled on Tile 1, then the ports shown can on Tile 1
only be used with the USB PHY. All other IO pins and ports are unaffected. The USB PHY
should not be enabled on both tiles. Two clock blocks can be used to clock the USB
ports. One clock block for the TXDATA path, and one clock block for the RXDATA path.
Details on how to connect those ports are documented in an application note on USB for
xCORE200.
3V3 1V0 3V3 1V0
Regulators USB xCORE
USB_VDD PHY
USB USB_VDD33 PORT_8A TXDATA
connector TXD[0..7]
TXRDYOUT PORT_1K
1-10uF USB_VBUS
VBUS TXRDYIN PORT_1H CLKBLK
USB_DP
DP
USB_DM
DM CLK PORT_1J
USB_ID
ID
USB_RTUNE CLKBLK
GND RXRDY PORT_1I
43R2 RXD[0..7] PORT_8B RXDATA
Figure 11: FLAG0 PORT_1E FLAG0
FLAG1 PORT_1F FLAG1
Bus powered Please note:
ID connection is optional FLAG2 PORT_1G FLAG2
USB-device DM may be marked as DN
18
XEF216-512-FB236 Datasheet
An external resistor of 43.2 ohm (1% tolerance) should connect USB_RTUNE to ground,
as close as possible to the device.
If you use the USB PHY to design a self-powered USB-device, then the device must be
able detect the presence of VBus on the USB connector (so the device can disconnect its
pull-up resistors from D+/D- to ensure the device does not have any voltage on the D+/D-
pins when VBus is not present, “USB Back Voltage Test”). This requires USB_VBUS to be
connected to the VBUS pin of the USB connector as is shown in Figure 12.
3V3 1V0 External Supply 3V3 1V0
Regulators 10K USB xCORE
USB_VDD PHY
USB USB_VDD33
connector 1-10 uF 47K 0.1 uF
USB_VBUS
VBUS
USB_DP
DP
USB_DM
DM
USB_ID
ID
USB_RTUNE
Figure 12: GND
Self powered 43R2
USB-device
When connecting a USB cable to the device it is possible an overvoltage transient will be
present on VBus due to the inductance of the USB cable combined with the required input
capacitor on VBus. The circuit in Figure 12 ensures that the transient does not damage
the device. The 10k series resistor and 0.1uF capacitor ensure than any input transient
is filtered and does not reach the device. The 47k resistor to ground is a bleeder resistor
to discharge the input capacitor when VBus is not present. The 1-10uF input capacitor is
required as part of the USB specification. A typical value would be 2.2uF to ensure the
1uF minimum requirement is met even under voltage bias conditions.
In any case, extra components (such as a ferrite bead and diodes) may be required for
EMC compliance and ESD protection. Different wiring is required for USB-host and USB-
OTG.
Each IN (host requests data from device) or OUT (data transferred from host to device)
endpoint requires one logical core.
11 RGMII
The device has a series of pins that are dedicated to communicate with an RGMII PHY, as
per the RGMII v1.3 spec. This can be used to communicate with GBit Ethernet PHYs. The
19
XEF216-512-FB236 Datasheet
pins and functions are listed in Figure 13. When RGMII mode is enabled (using processor
status register 2) these pins can no longer be used as GPIO pins, and will instead be
driven directly from an RGMII block that provides DDR to SDR conversion, which in turn
is interfaced to a set of ports on Tile 1.
The RGMII block is connected to the ports on Tile 1 as shown in Figure 14. When the
RGMII block is enabled, the ports shown can only be used with the RGMII block, and IO
pins X1D26..X1D33/X1D40..X1D43 can only be used with the RGMII block. Ports and pins
not used in Figure 14 can be used as normal.
The RGMII block generates a clock (configured using processor status register 2), and
has the facility to delay the outgoing clock edge, putting it out of phase with the data.
The RGMII block translates the double data-rate 4-wire data signals and 1-wire control
signal into single-data rate 8-wire TX and DX signals and two control signals. Figure 14
shows how four clock blocks can be used to clock the RGMII ports. One clock block
for the TXDATA path, one clock block for the RXDATA path, one clock block to delay the
TX_CLK, and one clock block clocked on a negative valid signal to enable mode switching
between 10/100/1000 speeds. Details on how to connect those ports are documented
in an application note on RGMII for xCORE200. The XMOS RGMII software component
runs a MAC layer on Tile 1.
The SMI interface should be connected to two one-bit ports that are configured as open-
drain IOs, using external pull-ups to 2.5V. Ports 1C and 1D are notionally allocated for this,
but any GPIO can be used for this purpose.
The bundles of RX and TX pins should be wired using matched trace-lengths over an
uninterrupted ground-plane. The RGMII pins are supplied through the VDDIOT supply
pins, which should be provided with 2.5V. Decouplers should be placed with a short path
to VDDIOT and ground. If the PHY supports a 3.3V IO voltage, then a 3.3V supply can be
used for VDDIOT.
The RGMII PHY should be configured so that RX_CLK is low during reset of the xCORE.
This may be achieved by putting a pull-down resistor on the reset of the PHY, keeping the
PHY in reset until the RGMII layer on the xCORE takes the PHY out of reset.
20
XEF216-512-FB236 Datasheet
12 JTAG
The JTAG module can be used for loading programs, boundary scan testing, in-circuit
source-level debugging and programming the OTP memory.
BS TAP
TDI TDI TDO TDO
TCK
TMS
Figure 15: TRST_N
JTAG chain DEBUG_N
structure
The JTAG chain structure is illustrated in Figure 15. It comprises a single 1149.1 compliant
TAP that can be used for boundary scan of the I/O pins. It has a 4-bit IR and 32-bit DR.
It also provides access to a chip TAP that in turn can access the xCORE Tile for loading
code and debugging.
The TRST_N pin must be asserted low during and after power up for 100 ns. If JTAG is
not required, the TRST_N pin can be tied to ground to hold the JTAG module in reset.
The DEBUG_N pin is used to synchronize the debugging of multiple xCORE Tiles. This
pin can operate in both output and input mode. In output mode and when configured
to do so, DEBUG_N is driven low by the device when the processor hits a debug break
point. Prior to this point the pin will be tri-stated. In input mode and when configured to
do so, driving this pin low will put the xCORE Tile into debug mode. Software can set the
21
XEF216-512-FB236 Datasheet
behavior of the xCORE Tile based on this pin. This pin should have an external pull up of
4K7-47K Ω or left not connected in single core applications.
The JTAG device identification register can be read by using the IDCODE instruction. Its
contents are specified in Figure 16.
The JTAG usercode register can be read by using the USERCODE instruction. Its contents
are specified in Figure 17. The OTP User ID field is read from bits [22:31] of the security
register on xCORE Tile 0, see §9.1 (all zero on unprogrammed devices).
13 Board Integration
The device has the following power supply pins:
· VDD pins for the xCORE Tile, including a USB_VDD pin that powers the USB PHY
· VDDIO pins for the I/O lines. Separate I/O supplies are provided for the left, top, and
right side of the package; different I/O voltages may be supplied on those. The sig-
nal description (Section 4) specifies which I/O is powered from which power-supply
VDDIOT powers the RGMII IO pins, and must be provided with 2.5V.
Several pins of each type are provided to minimize the effect of inductance within the
package, all of which must be connected. The power supplies must be brought up mono-
tonically and input voltages must not exceed specification at any time.
The PLL_AVDD supply should be separated from the other noisier supplies on the board.
The PLL requires a very clean power supply, and a low pass filter (for example, a 4.7 Ω
resistor and 100 nF multi-layer ceramic capacitor) is recommended on this pin.
22
XEF216-512-FB236 Datasheet
Bring up System
in short dependent
succession timing
1.0
VDD
0
3.3
VDDIO,
V
OTP_VCC
Figure 18: 0
Sequencing of 3.3
power RST_N
supplies and 0
RST_N Time
The VDD and VDDIO supplies should be decoupled close to the chip by several 100 nF low
inductance multi-layer ceramic capacitors between the supplies and GND (for example,
100nF 0402 for every other supply pin). The ground side of the decoupling capacitors
should have as short a path back to the GND pins as possible. A bulk decoupling capac-
itor of at least 10 uF should be placed on each of these supplies.
For self-powered systems, a bleeder resistor may be required to stop VBUS from floating
when no USB cable is attached.
USB_DP and USB_DN should be connected to the USB connector. USB_ID does not need
to be connected.
The USB_DP and USB_DN lines are the positive and negative data polarities of a high
speed USB signal respectively. Their high-speed differential nature implies that they must
be coupled and properly isolated. The board design must ensure that the board traces
for USB_DP and USB_DN are tightly matched. In addition, according to the USB 2.0 spec-
ification, the USB_DP and USB_DN differential impedance must be 90 Ω.
23
XEF216-512-FB236 Datasheet
Figure 19:
USB trace
separation
showing a low Low-speed High-speed
speed signal, non-periodic periodic
signal USB_DP0 USB_DN0 USB_DP1 USB_DN1 signal
two
differential
pairs and a
high-speed 20 mils 3.9 mils 20 mils 3.9 mils 50 mils
clock (0.51mm) (0.10mm) (0.51mm) (0.10mm - calculated (1.27mm)
on the stack up)
USB_DP USB_DN
0.1 mm
GND
1.0 mm
FR4 Dielectric
Power
Figure 20:
0.1 mm
Example USB
board stack
For best results, most of the routing should be done on the top layer (assuming the
USB connector and XEF216-512-FB236 are on the top layer) closest to GND. Reference
planes should be below the transmission lines in order to maintain control of the trace
impedance.
We recommend that the high-speed clock and high-speed USB differential pairs are routed
first before any other routing. When routing high speed USB signals, the following guide-
lines should be followed:
· High-speed USB signal pair traces should be trace-length matched. Maximum trace-
length mismatch should be no greater than 4mm.
· Ensure that high speed signals (clocks, USB differential pairs) are routed as far away
from off-board connectors as possible.
24
XEF216-512-FB236 Datasheet
· High-speed clock and periodic signal traces that run parallel should be at least 1.27mm
away from USB_DP/USB_DN (see Figure 19).
· Low-speed and non-periodic signal traces that run parallel should be at least 0.5mm
away from USB_DP/USB_DN (see Figure 19).
· Route high speed USB signals on the top of the PCB wherever possible.
· Route high speed USB traces over continuous power planes, with no breaks. If a trade-
off must be made, changing signal layers is preferable to crossing plane splits.
· Follow the 20 × h rule; keep traces 20 × h (the height above the power plane) away
from the edge of the power plane.
· Avoid corners in the trace. Where necessary, rather than turning through a 90 degree
angle, use two 45 degree turns or an arc.
· DO NOT route USB traces near clock sources, clocked circuits or magnetic devices.
The land patterns and solder stencils will depend on the PCB manufacturing process. We
recommend you design them with using the IPC specifications “Generic Requirements
for Surface Mount Design and Land Pattern Standards” IPC-7351B. This standard aims
to achieve desired targets of heel, toe and side fillets for solder-joints. The mechanical
drawings in Section 15 specify the dimensions and tolerances.
25
XEF216-512-FB236 Datasheet
All XMOS devices are Moisture Sensitivity Level (MSL) 3 - devices have a shelf life of
168 hours between removal from the packaging and reflow, provided they are stored
below 30C and 60% RH. If devices have exceeded these values or an included moisture
indicator card shows excessive levels of moisture, then the parts should be baked as
appropriate before use. This is based on information from Joint IPC/JEDEC Standard
For Moisture/Reflow Sensitivity Classification For Nonhermetic Solid State Surface-Mount
Devices J-STD-020 Revision D.
26
XEF216-512-FB236 Datasheet
14 Electrical Characteristics
14.1 Absolute Maximum Ratings
Stresses beyond those listed under Absolute Maximum Ratings may cause permanent
damage to the device. Exposure to any Absolute Maximum Rating condition for extended
periods may affect device reliability and lifetime.
27
XEF216-512-FB236 Datasheet
3.0 3.0
IO Pin Voltage, V
IO Pin Voltage, V
2.0 2.0
Figure 24:
Typical
1.0 1.0
internal
pull-down and
pull-up 0.0 0.0
0 20 40 60 80 100 -100 -80 -60 -40 -20 0
currents
I(PD) current, uA I(PU) current, uA
28
XEF216-512-FB236 Datasheet
The tile power consumption of the device is highly application dependent and should be
used for budgetary purposes only.
More detailed power analysis can be found in the xCORE-200 Power Consumption doc-
ument,
29
XEF216-512-FB236 Datasheet
14.7 Clock
Symbol Parameter MIN TYP MAX UNITS Notes
f Frequency 3.25 24 100 MHz
SR Slew rate 0.10 V/ns
Figure 28: TJ(LT) Long term jitter (pk-pk) 2 % A
Clock
f(MAX) Processor clock frequency 500 MHz B
A Percentage of CLK period.
B Assumes typical tile and I/O voltages with nominal activity.
Further details can be found in the xCORE-200 Clock Frequency Control document,
The input valid window parameter relates to the capability of the device to capture data
input to the chip with respect to an external clock source. It is calculated as the sum of
the input setup time and input hold time with respect to the external clock as measured
at the pins. The output invalid window specifies the time for which an output is invalid
with respect to the external clock. Note that these parameters are specified as a win-
dow rather than absolute numbers since the device provides functionality to delay the
incoming clock with respect to the incoming data.
The asynchronous nature of links means that the relative phasing of CLK clocks is not
important in a multi-clock system, providing each meets the required stability criteria.
30
XEF216-512-FB236 Datasheet
All JTAG operations are synchronous to TCK apart from the global asynchronous reset
TRST_N.
31
XEF216-512-FB236 Datasheet
15 Package Information
32
XEF216-512-FB236 Datasheet
F - Product family
X - Reserved
CC - Number of logical cores
R - RAM [in log2(kbytes)]
N - Flash size [in log2(Mbytes)+1]
T - Temperature grade
FXCCRNTMM MM - Speed grade
MC - Manufacturer
MCYYWWXX YYWW - Date
Figure 32: XX - Reserved [variable length]
Part marking
LLLLLL.LL
scheme Wafer lot code
16 Ordering Information
33
XEF216-512-FB236 Datasheet
Appendices
A Configuration of the XEF216-512-FB236
The device is configured through banks of registers, as shown in Figure 34.
Node configuration
Tile configuration
Tile configuration
Processor status
Processor status
xCORE logical core xCORE logical core
Switch
xCORE logical core xCORE logical core FLASH
Registers USB
config SRAM OTP OTP SRAM RGMII
The following communication sequences specify how to access those registers. Any
messages transmitted contain the most significant 24 bits of the channel-end to which
a response is to be sent. This comprises the node-identifier and the channel number
within the node. if no response is required on a write operation, supply 24-bits with the
last 8-bits set, which suppresses the reply message. Any multi-byte data is sent most
significant byte first.
34
XEF216-512-FB236 Datasheet
The response to a write message comprises either control tokens 3 and 1 (for success),
or control tokens 4 and 1 (for failure).
The response to the read message comprises either control token 3, 32-bit of data, and
control-token 1 (for success), or control tokens 4 and 1 (for failure).
Node configuration registers can be accessed through the interconnect using the func-
tions write_node_config_reg(device, ...) and read_node_config_reg(device, ...), where
device is the name of the node. These functions implement the protocols described be-
low.
The response to a write message comprises either control tokens 3 and 1 (for success),
or control tokens 4 and 1 (for failure).
The response to a read message comprises either control token 3, 32-bit of data, and
control-token 1 (for success), or control tokens 4 and 1 (for failure).
Peripheral registers can be accessed through the interconnect using the functions write_periph_32
,→ (device, peripheral, ...), read_periph_32(device, peripheral, ...), write_periph_8
,→ (device, peripheral, ...), and read_periph_8(device, peripheral, ...); where de-
vice is the name of the analogue device, and peripheral is the number of the peripheral.
These functions implement the protocols described below.
35
XEF216-512-FB236 Datasheet
The response to a write message comprises either control tokens 3 and 1 (for success),
or control tokens 4 and 1 (for failure).
The response to the read message comprises either control token 3, data, and control-
token 1 (for success), or control tokens 4 and 1 (for failure).
36
XEF216-512-FB236 Datasheet
The identifiers for the registers needs a prefix “XS1_PS_” and a postfix “_NUM”, and are
declared in “xs1.h”
37
XEF216-512-FB236 Datasheet
38
XEF216-512-FB236 Datasheet
7:6 RO - Reserved
Select the dynamic mode (1) for the clock divider when the clock divider
is enabled. In dynamic mode the clock divider is only activated when
all active threads are paused. In static mode the clock divider is always
5 RW 0 enabled. XCORE_CTRL0_CLK_DIVIDER_DYN
Enable the clock divider. This divides the output of the PLL to facilitate
4 RW 0 one of the low power modes. XCORE_CTRL0_CLK_DIVIDER_EN
3 RO - Reserved
2 RW Select between UTMI (1) and ULPI (0) mode. XCORE_CTRL0_USB_MODE
0x02:
xCORE Tile 1 RW Enable the ULPI Hardware support module XCORE_CTRL0_USB_ENABLE
control 0 RO - Reserved
15:9 RO - Reserved
8 RO Overwrite BOOT_MODE. BOOT_CONFIG_SECURE_BOOT
7:6 RO - Reserved
5 RO Indicates if core1 has been powered off BOOT_CONFIG_CORE1_POWER_DOWN_N
Cause the ROM to not poll the OTP for correct read levels
4 RO BOOT_CONFIG_DISABLE_OTP_POLL
boot status 1:0 RO The boot PLL mode pin value. BOOT_CONFIG_PLL_MODE_PINS
39
XEF216-512-FB236 Datasheet
30:15 RO - Reserved
14 RW Disable access to XCore’s global debug SECUR_CFG_DISABLE_GLOBAL_DEBUG
13 RO - Reserved
12 RW lock all OTP sectors SECUR_CFG_OTP_MASTER_LOCK
6 RO - Reserved
5 RW Override boot mode and read boot image from OTP SECUR_CFG_SECURE_BOOT
40
XEF216-512-FB236 Datasheet
41
XEF216-512-FB236 Datasheet
Determines the issue mode (DI bit) upon Kernel Entry after Exception
9 DRW or Interrupt. SR_KEDI
7 DRW When 1 the thread is in fast mode and will continually issue. SR_FAST
5 RO - Reserved
4 DRW 1 when in kernel mode. SR_INK
0x10: 1 DRW When 1 interrupts are enabled for the thread. SR_IEBLE
Debug SSR 0 DRW When 1 events are enabled for the thread. SR_EEBLE
42
XEF216-512-FB236 Datasheet
7:3 RO - Reserved
Indicates the cause of the debug interrupt
1: Host initiated a debug interrupt through JTAG
2: Program executed a DCALL instruction
0x15: 3: Instruction breakpoint
Debug 4: Data watch point
interrupt type 2:0 DRW 0 5: Resource watch point DBG_TYPE_CAUSE
0x16:
Debug Bits Perm Init Description Identifier
interrupt data 31:0 DRW Value. ALL_BITS
43
XEF216-512-FB236 Datasheet
0x30 .. 0x33:
Instruction
breakpoint Bits Perm Init Description Identifier
address 31:0 DRW Value. ALL_BITS
44
XEF216-512-FB236 Datasheet
15:2 RO - Reserved
0x40 .. 0x43:
Instruction When 0 break when PC == IBREAK_ADDR. When 1 = break when PC !=
breakpoint 1 DRW 0 IBREAK_ADDR. IBRK_CONDITION
0x50 .. 0x53:
Data
watchpoint Bits Perm Init Description Identifier
address 1 31:0 DRW Value. ALL_BITS
0x60 .. 0x63:
Data
watchpoint Bits Perm Init Description Identifier
address 2 31:0 DRW Value. ALL_BITS
45
XEF216-512-FB236 Datasheet
0x80 .. 0x83:
Resources
breakpoint Bits Perm Init Description Identifier
mask 31:0 DRW Value. ALL_BITS
0x90 .. 0x93:
Resources
breakpoint Bits Perm Init Description Identifier
value 31:0 DRW Value. ALL_BITS
46
XEF216-512-FB236 Datasheet
47
XEF216-512-FB236 Datasheet
C Tile Configuration
The xCORE Tile control registers can be accessed using configuration reads and writes
(use write_tile_config_reg(tileref, ...) and read_tile_config_reg(tileref, ...) for
reads and writes).
The identifiers for the registers needs a prefix “XS1_PSWITCH_” and a postfix “_NUM”, and
are declared in “xs1.h”
48
XEF216-512-FB236 Datasheet
23:16 CRO Number of the node in which this XCore is located. DEVICE_ID0_NODE
0x00:
Device 15:8 CRO XCore revision. DEVICE_ID0_REVISION
49
XEF216-512-FB236 Datasheet
50
XEF216-512-FB236 Datasheet
30:15 RO - Reserved
14 CRO Disable access to XCore’s global debug SECUR_CFG_DISABLE_GLOBAL_DEBUG
13 RO - Reserved
12 CRO lock all OTP sectors SECUR_CFG_OTP_MASTER_LOCK
6 RO - Reserved
5 CRO Override boot mode and read boot image from OTP SECUR_CFG_SECURE_BOOT
0x40:
PC of logical Bits Perm Init Description Identifier
core 0 31:0 CRO Value. ALL_BITS
51
XEF216-512-FB236 Datasheet
0x41:
PC of logical Bits Perm Init Description Identifier
core 1 31:0 CRO Value. ALL_BITS
0x42:
PC of logical Bits Perm Init Description Identifier
core 2 31:0 CRO Value. ALL_BITS
0x43:
PC of logical Bits Perm Init Description Identifier
core 3 31:0 CRO Value. ALL_BITS
0x44:
PC of logical Bits Perm Init Description Identifier
core 4 31:0 CRO Value. ALL_BITS
0x45:
PC of logical Bits Perm Init Description Identifier
core 5 31:0 CRO Value. ALL_BITS
52
XEF216-512-FB236 Datasheet
0x46:
PC of logical Bits Perm Init Description Identifier
core 6 31:0 CRO Value. ALL_BITS
0x47:
PC of logical Bits Perm Init Description Identifier
core 7 31:0 CRO Value. ALL_BITS
0x60:
SR of logical Bits Perm Init Description Identifier
core 0 31:0 CRO Value. ALL_BITS
0x61:
SR of logical Bits Perm Init Description Identifier
core 1 31:0 CRO Value. ALL_BITS
0x62:
SR of logical Bits Perm Init Description Identifier
core 2 31:0 CRO Value. ALL_BITS
53
XEF216-512-FB236 Datasheet
0x63:
SR of logical Bits Perm Init Description Identifier
core 3 31:0 CRO Value. ALL_BITS
0x64:
SR of logical Bits Perm Init Description Identifier
core 4 31:0 CRO Value. ALL_BITS
0x65:
SR of logical Bits Perm Init Description Identifier
core 5 31:0 CRO Value. ALL_BITS
0x66:
SR of logical Bits Perm Init Description Identifier
core 6 31:0 CRO Value. ALL_BITS
0x67:
SR of logical Bits Perm Init Description Identifier
core 7 31:0 CRO Value. ALL_BITS
54
XEF216-512-FB236 Datasheet
D Node Configuration
The digital node control registers can be accessed using configuration reads and writes
(use write_node_config_reg(device, ...) and read_node_config_reg(device, ...) for
reads and writes).
The identifiers for the registers needs a prefix “XS1_SSWITCH_” and a postfix “_NUM”, and
are declared in “xs1.h”
55
XEF216-512-FB236 Datasheet
30:9 RO - Reserved
0 = PLL_CTL_REG has write access. 1 = PLL_CTL_REG can not be writ-
ten to.
8 RW 0 SS_NODE_CONFIG_DISABLE_PLL_CTL_REG
0x04:
Switch 7:1 RO - Reserved
configuration 0 RW 0 0 = 2-byte headers, 1 = 1-byte headers (reset as 0). SS_NODE_CONFIG_HEADERS
56
XEF216-512-FB236 Datasheet
If set to 1, the chip will not wait for the PLL to re-lock. Only use this if a
30 RW gradual change is made to the PLL SS_PLL_CTL_NLOCK
27:26 RO - Reserved
Output divider value range from 0 (8’h0) to 7 (8’h7). OD value.
25:23 RW SS_PLL_CTL_POST_DIVISOR
22:21 RO - Reserved
Feedback multiplication ratio, range from 0 (8’h0) to 4095 (8’h3FF). F
20:8 RW value. SS_PLL_CTL_FEEDBACK_MUL
7 RO - Reserved
0x06: Oscilator input divider value range from 0 (8’h0) to 63 (8’h3F). R value.
PLL settings 6:0 RW SS_PLL_CTL_INPUT_DIVISOR
57
XEF216-512-FB236 Datasheet
register 0 RO SS_JTAG_DEVICE_ID_CONST_VAL
Directions 0-7 3:0 RW 0 The direction for packets whose dimension is 0. DIM0_DIR
58
XEF216-512-FB236 Datasheet
59
XEF216-512-FB236 Datasheet
3:2 RO - Reserved
If set, XCore1 is the source of last GlobalDebug event.
1 RW GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG
When the link is in use, this is the destination link number to which all
23:16 RO packets are sent. SLINK_SRC_TARGET_ID
15:12 RO - Reserved
11:8 RW 0 The direction that this link operates in. LINK_DIRECTION
7:6 RO - Reserved
Determines the network to which this link belongs, reset as 0.
5:4 RW 0 LINK_NETWORK
3 RO - Reserved
1 when the current packet is considered junk and will be thrown away.
0x20 .. 0x28: 2 RO LINK_JUNK
Link status,
direction, and 1 RO 1 when the dest side of the link is in use. LINK_DST_INUSE
60
XEF216-512-FB236 Datasheet
When the link is in use, this is the destination link number to which all
23:16 RO packets are sent. PLINK_SRC_TARGET_ID
15:6 RO - Reserved
Determines the network to which this link belongs, reset as 0.
5:4 RW 0 LINK_NETWORK
3 RO - Reserved
1 when the current packet is considered junk and will be thrown away.
2 RO LINK_JUNK
0x40 .. 0x47:
PLink status 1 RO 1 when the dest side of the link is in use. LINK_DST_INUSE
and network 0 RO 1 when the source side of the link is in use. LINK_SRC_INUSE
29:28 RO - Reserved
27 RO Rx buffer overflow or illegal token encoding received. XLINK_RX_ERROR
This end of the xlink has issued credit to allow the remote end to
26 RO 0 transmit RX_CREDIT
24 WO Clear this end of the xlink’s credit and issue a HELLO token. XLINK_HELLO
Reset the receiver. The next symbol that is detected will be the first
23 WO symbol in a token. XLINK_RX_RESET
22 RO - Reserved
0x80 .. 0x88:
Link Specify min. number of idle system clocks between two continuous
configuration 21:11 RW 0 symbols witin a transmit token -1. XLINK_INTRA_TOKEN_DELAY
and Specify min. number of idle system clocks between two continuous
initialization 10:0 RW 0 transmit tokens -1. XLINK_INTER_TOKEN_DELAY
61
XEF216-512-FB236 Datasheet
30:9 RO - Reserved
The destination processor on this node that packets received in static
8 RW 0 mode are forwarded to. XSTATIC_DEST_PROC
62
XEF216-512-FB236 Datasheet
63
XEF216-512-FB236 Datasheet
This end of the xlink has issued credit to allow the remote end to
26 RO 0 transmit RX_CREDIT
24 WO Clear this end of the xlink’s credit and issue a HELLO token. XLINK_HELLO
Reset the receiver. The next symbol that is detected will be the first
23 WO symbol in a token. XLINK_RX_RESET
22 RO - Reserved
Specify min. number of idle system clocks between two continuous
0x80: 21:11 RW 1 symbols witin a transmit token -1. XLINK_INTRA_TOKEN_DELAY
Link Control Specify min. number of idle system clocks between two continuous
and Status 10:0 RW 1 transmit tokens -1. XLINK_INTER_TOKEN_DELAY
64
XEF216-512-FB236 Datasheet
The USB PHY is peripheral 1. The control registers are accessed using 32-bit reads and
writes (use write_periph_32(device, 1, ...) and read_periph_32(device, 1, ...) for
reads and writes).
65
XEF216-512-FB236 Datasheet
3 RO - Reserved
2 RW 0 Set to 1 to enable UIFM linestate decoder. UIFM_IFM_CONTROL_DECODELINESTATE
0x04:
UIFM IFM 1 RW 0 Set to 1 to enable UIFM CHECKTOKENS mode. UIFM_IFM_CONTROL_CHECKTOKENS
66
XEF216-512-FB236 Datasheet
5 RO - Reserved
Set to 1 to switch UIFM to UTMI+ CHRGVBUS mode.
4 RW 0 UIFM_OTG_CONTROL_CHRGVBUS
67
XEF216-512-FB236 Datasheet
68
XEF216-512-FB236 Datasheet
69
XEF216-512-FB236 Datasheet
0x38:
OTG Flags Bits Perm Init Description Identifier
mask 31:0 RW 0 Data OTG_FLAGS_MASK_DEFINED
70
XEF216-512-FB236 Datasheet
17:14 RO - Reserved
After an auto-resume, this bit is set to indicate that the resume sig-
nalling was for reset (se0). Set to 0 to clear.
13 RW 0 UIFM_PHY_CONTROL_RESUMESE0
After an auto-resume, this bit is set to indicate that the resume sig-
nalling was for resume (K). Set to 0 to clear.
12 RW 0 UIFM_PHY_CONTROL_RESUMEK
71
XEF216-512-FB236 Datasheet
YES NO
Is debugging
required?
YES NO
Is fast printf
required ?
Figure 41:
Decision
diagram for
the xSYS Use full xSYS header Use JTAG xSYS header No xSYS header required
header See section 3 See section 2 See section 1
Connect pins 4, 8, 12, 16, 20 of the xSYS header to ground, and then connect:
72
XEF216-512-FB236 Datasheet
The RST_N net should be open-drain, active-low, and have a pull-up to VDDIO.
For a full xSYS header you will need to connect the pins as discussed in Section G.2, and
then connect a 2-wire xCONNECT Link to the xSYS header. The links can be found in
the Signal description table (Section 4): they are labelled XL0, XL1, etc in the function
column. The 2-wire link comprises two inputs and outputs, labelled 1out , 0out , 0in , and 1in .
For example, if you choose to use XL0 for xSCOPE I/O, you need to connect up XL01out ,
XL00out , XL00in , XL01in as follows:
· XL01out (X0D43) to pin 6 of the xSYS header with a 33R series resistor close to the
device.
· XL00out (X0D42) to pin 10 of the xSYS header with a 33R series resistor close to the
device.
73
XEF216-512-FB236 Datasheet
The VDD (core) supply is capable of supplying 700 mA (Section 13 and Fig-
ure 23).
PLL_AVDD is filtered with a low pass filter, for example an RC filter, see Sec- .
tion 13
The design has multiple decoupling capacitors per supply, for example at
least four0402 or 0603 size surface mount capacitors of 100nF in value, per
supply (Section 13).
The RST_N and TRST_N pins are asserted (low) until all supplies are good.
There is enough time between VDDIO power good and RST_N to allow any
boot flash to settle. RST_N is fast enough to meet USB timings.
H.4 Clock
The CLK input pin is supplied with a clock with monotonic rising edges and
low jitter.
Pins MODE0 and MODE1 are set to the correct value for the chosen oscilla-
tor frequency. The MODE settings are shown in the Oscillator section, Sec-
tion 7. If you have a choice between two values, choose the value with the
highest multiplier ratio since that will boot faster.
74
XEF216-512-FB236 Datasheet
RX_CLK will be low when the xCORE comes out of reset (see Section 11).
RGMII signals are connected to the appropriate RGMII pins of the xCORE
device.
H.6 Boot
The device is kept in reset for at least 1 ms after VDDIOL has reached its
minimum level (Section 8).
You have decided as to whether you need an XSYS header or not (Section G)
If you have not included an XSYS header, you have devised a method to
program the SPI-flash or OTP (Section G).
H.8 GPIO
You have not mapped both inputs and outputs to the same multi-bit port.
Pins X0D04, X0D05, X0D06, and X0D07 are output only and are, during and
after reset, pulled low or not connected (Section 8)
Devices that boot from link have, for example, X0D06 pulled high and have
link XL0 connected to a device to boot from (Section 8).
75
XEF216-512-FB236 Datasheet
Each ground ball has a via to minimize impedance and conduct heat away
from the device. (Section 13.4)
Other than ground vias, there are no (or only a few) vias underneath or
closely around the device. This create a good, solid, ground plane.
The decoupling capacitors are all placed close to a supply pin (Section 13).
The decoupling capacitors are spaced around the device (Section 13).
The ground side of each decoupling capacitor has a direct path back to the
center ground of the device.
I.4 PLL_AVDD
76
XEF216-512-FB236 Datasheet
K Related Documentation
77
XEF216-512-FB236 Datasheet
L Revision History
Date Description
2015-03-20 Preliminary release
2015-04-14 Added RST to pins to be pulled hard, and removed reference to TCK from Errata
Removed TRST_N references in packages that have no TRST_N
New diagram for boot from embedded flash showing ports
Pull up requirements for shared clock and external resistor for QSPI
2015-05-06 Removed references to DEBUG_N
2015-07-09 Updated electrical characteristics - Section 14
2015-08-19 Added I(USB_VDD) - Section 14
Added USB layout guidelines - Section 13
2015-08-27 Updated part marking - Section 16
2016-04-20 Typical internal pull-up and pull down current diagrams added - Section 14
Updated USB VBUS wiring description with bus-powered usb-device instructions - Sec-
2017-02-02 tion 10
Clarified available RGMII ports/pins - Section 11
2017-09-19 Added Absolute Maximum Ratings - Section 14.1
Reference document links updated - Section J
2018-03-23 Incorrect IDCODE return value updated - Section 12
Incorrect VBUS signal name updated to GND in USB diagrams - Section 10
2020-10-05 Released documentation for A revision that uses different flash - Section 8
Xmos Ltd. is the owner or licensee of this design, code, or Information (collectively, the “Information”) and is providing
it to you “AS IS” with no warranty of any kind, express or implied and shall have no liability in relation to its use. Xmos
Ltd. makes no representation that the Information, or any particular implementation thereof, is or will be free from any
claims of infringement and again, shall have no liability in relation to any such claims.
XMOS, xCore, xcore.ai, and the XMOS logo are registered trademarks of XMOS Ltd in the United Kingdom and other
countries and may not be used without written permission. Company and product names mentioned in this document
are the trademarks or registered trademarks of their respective owners.
78