Arc em SDP User Guide
Arc em SDP User Guide
User Guide
Version 5795-004 January 2019
Copyright Notice and Proprietary Information Notice
© 2019 Synopsys, Inc. All rights reserved. This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
and may only be used pursuant to the terms and conditions of a written license agreement with Synopsys, Inc. All other use,
reproduction, modification, or distribution of the Synopsys software or the associated documentation is strictly prohibited.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to
nationals of other countries contrary to United States law is prohibited. It is the reader's responsibility to determine the applicable
regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
[Link]
All other product or company names may be trademarks of their respective owners.
Free and Open-Source Software Licensing Notices
If applicable, Free and Open-Source Software (FOSS) licensing notices are available in the product installation.
Third-Party Links
Any links to third-party websites included in this document are for your convenience only. Synopsys does not endorse and is not
responsible for such websites and their practices, including privacy practices, availability, and content.
Synopsys, Inc.
[Link]
Customer support is available through SolvNet online customer support and through contacting the
Synopsys Technical Support Center.
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and answers to frequently asked
questions about Synopsys tools. SolvNet also gives you access to a wide range of Synopsys online
services, which include downloading software, viewing Documentation on the Web, and entering a call
to the Support Center.
To access SolvNet:
1. Go to the SolvNet Web page at [Link]
2. If prompted, enter your user name and password. (If you do not have a Synopsys user
name and password, follow the instructions to register with SolvNet.)
If you need help using SolvNet, click SolvNet Help in the Support Resources section.
4. Starting U-Boot
4. Execute [Link].
The PuTTY Configuration window appears.
5. Set the Connection type to Serial.
6. Enter the name of the COM port in the Serial line field.
7. Set the Speed field to 115200 as shown in Figure 2.
Drag-and-drop an FPGA bitstream to the USB drive and the bitstream is copied from the PC
to the configuration memory and programmed into the FPGA.
While the configuration memory is being written, the status LED blinks green. When a
bitstream is stored inside the configuration memory, the bitstream is automatically
programmed into the FPGA. During this process the configuration LED blinks red.
When the configuration is completed, the status LED on the ARC EM SDP stays green. For
a full description on the LEDs, see On-Board LEDs on page 31.
Note Updating the content of the configuration memory may take few minutes to complete.
The bitstream remains present in the non-volatile configuration memory until it is overwritten
by another bitstream or is explicitly removed from the memory. This means that on a next
power cycle, or when pressing the CFG key, the FPGA is automatically programmed with the
bitstream present in the configuration memory.
Starting U-Boot
Press the start button on the ARC EM SDP for the ARC EM core to start executing the
bootloader. After you press the start button, you see text similar as shown in Figure 5. This
figure shows a log from default booting, followed by U-Boot commands to initialize the ARC
EM SDP board and start an application called [Link] that resides on the SD card. The
entry point for this example application is 0x1000_0400.
For more information on the available U-Boot commands, you can execute the help function
in U-Boot.
14 8 8 8 42
ADC
Cortex Debug 10-pin
6
GPIO
SPI
4
UART
Bluetooth/
JTAG 4 WiFi
4
Interrupt e.g. RedPine
RS9113
4 SPI
PSRAM Addr
19
16MB Interrupt
Data 9D sensor
32 InvenSense
MPU-9250
I2C
Rght MEMs
microphn 2
Line out (r)
InvenSense Kintex-7 XC7K325T Audio
Left MEMs
ICS-41350 Codec Line out (l)
C2 microphn 2 PDM e.g. Line in (r)
4 I2S Maxim9880 Line in (l)
e.g. InvenSense
2 ICS-41350
MikroBus
4 SPI 12 I2C/ PWM/ SPI/ UART
DIN
CCLK 12.288 MHz
PROGRAM_B
Audio clock
FPGA configurator
UART
DONE
JTAG
4 SDIO QSPI
4 4
INIT
7
FTDI
38
12 MHz
SPI flash
SD-card 16MB
USB
USB HUB
USB 24 MHz
USB
Micro-USB MICTOR
I2C I2C
PDM PDM Audio Codec
I2S I2S
RTT RTT
9-D Sensor
I2C
MPU-9250 ARC EM Subsystem ADC ARDUINO (A)
SPI/ GPIO
SPI/ I2C/
PIN HEADER
UART
GPIO SPI ARDUINO (D)
AHB Target(s)
MUX
EBI/
Gen
GPIO
AHB Initiator(s) (DMI) JTAG PER I2C
PWM
S
S S S
PWM
MikroBus
S S
DW_SDIO_AHB
DW_APB
S S S S S
S M S S
S
dwc_mobile Clock and Reset
PSRAM DW_apb_ssi DW_apb_uart DW_apb_ssi DW_apb_gpio CREG
storage (SDIO) DW_apb_uart Unit
RS9113
FTDI Quad-SPI Switches/
PSRAM SD Card Connect-IO-n
JTAG/ DBG UART Flash (XiP) LEDs
BT+WiFi+Zigbee
Audio clocks
I2C interfaces
SPI interfaces
PWM interfaces
JTAG interface
Table 1 lists the summary of all the clocks and their sources.
Note: The default ARC clock frequency may be different based on the configuration. For the actual frequency values,
see the build configuration description in the subsystem reference document that is delivered as part of the platform
package or the board header file.
Reset
Figure 12 shows the top-level reset architecture of the ARC EM SDP.
When the ARC EM SDP is in reset, the resetn_out is asserted. This output pin resets all
components on the board that have a reset input pin (for example, the Redpine
communication module). The other board components have a power-on reset that assure the
correct sequence of de-asserting the board resets.
The ARC EM SDP has an external reset pin (resetn_in) that serves as an active low,
hardware reset. When the external hardware reset is active, the entire chip is reset. The chip
does not have an on-chip power-on-reset module, so it relies on the external circuitry to keep
resetn_in asserted low until all the chip power supplies and the system input clock are
stabilized.
The reset generated by the reset button is merged with a Power-on Reset circuit and the FTDI
‘ACBUS6’ GPIO pin. This allows for the board to be reset from a PC. For more information
on FTDI Chip, see FT2232H Datasheet .
After the ARC EM SDP is out of reset, resetn_out is asserted resetting all the ARC EM
SDP components. The resetn_out is also routed to the Mikrobus headers.
2.4 Interrupts
The interrupt architecture of the ARC EM SDP depends on the design with which the FPGA
is programmed. Each interrupt in the design is assigned to a dedicated interrupt pin on the
ARC EM processor.
The assignment of the interrupt pins can be derived from the software header files delivered
as part of the product. For more information on the assignment of the interrupt pins, see the
subsystem reference document that is delivered as part of the platform package.
2.5 DMA
The DMA architecture of the ARC EM SDP depends on the design with which the FPGA is
programmed. Each DMA channel interface in the design is assigned to a dedicated DMA
interface on the ARC EM processors DMA controller.
The assignment of the DMA interface pins can be derived from the software header files
delivered as part of the product. For more information on the assignment of the DMA interface
pins, see the subsystem reference document that is delivered as part of the platform package.
Note The availability of the trace functionality depends on the build configuration.
For more details on the build configuration, see the subsystem reference
document that is delivered as part of the platform package.
Debug
The ARC EM core provides debug access through an IEEE 1149.1 JTAG port.
This header can be used to connect a standard 20-pin Ashling or Lauterbach probe header
using an adapter. Figure 15 shows the 10-pin to 20-pin JTAG adapter.
The adapter can be purchased from many distributors such as Mouser, Embedded Artists,
and Digikey.
Note The trace functionality is only present when ARC RTT has been configured for the
subsystem.
Trace data can either be off-loaded from internal ARC RTT buffers to an on-chip memory (that
is, PSRAM), or to an off-chip memory in an external host using the Nexus 5001 interface.
The Nexus 5001 interface is a 16-bit high-speed interface and for the ARC EM SDP, it
supports a trace clock up to 50 MHz.
The ARC RTT interface is supported with the Ashling Ultra-XD and Lauterbach Trace-32
products.
Boot Switches
[Link] JTAG Port Switches
These switches are used to control the way the JTAG signals are routed. This can be either
through the USB dataport, the 10-pin debug header or through the Nexus RTT interface.
USB mode.
JTAG signals are routed through the FTDI USB port. The Digilent plugin
of the MetaWare debugger can be used to access the core. No external
probe is required. This is the default setting.
JTAG mode.
JTAG signals are routed over the 10-pin debug header. An external
probe can be used to access to core.
RTT mode.
JTAG signals are routed over the 38-pin Mictor header. An external probe
can be used to access to core.
Reserved.
Manual mode.
The ARC EM SDP only starts booting after the START button is pushed.
This is the default setting.
Automatic mode.
The ARC EM SDP automatically starts booting after Reset.
The following table provides an overview of the boot image location switch settings.
Ensure that these switches are set as depicted on the left (default position).
This setting ensures that the pre-bootloader starts executing the
bootloader that is stored in ROM.
The following table provides an overview of the reference voltage selection for the generic pin
header.
1.8V.
VIO pins of the generic pin header output - 1.8 volts.
2.5V.
VIO pins of the generic pin header output - 2.5 volts.
3.3V.
VIO pins of the generic pin header output - 3.3 volts.
Normal mode.
The JTAG port is connected to the program interface of the FPGA or
the JTAG chain of the ARC core depending on the board status and
the JTAG overwrite switch. This is the default setting.
Factory mode.
This mode allows the firmware for the FPGA configurator to be
updated.
Miscellaneous Switches
[Link] USB JTAG Overwrite
Normal mode.
While the status LED stays green, the USB JTAG is connected to the
debug interface of the ARC core. When the status LED indicates that no
design is present, the USB JTAG is connected to the program interface of
the FPGA. This is the default setting.
Program mode.
Independent of the status LED, the USB JTAG is connected to the
program interface of the FPGA.
On-Board LEDs
The ARC EM SDP includes the following LEDs:
Eight user LEDs
Three status LEDs
The status LEDs indicate the status of the board. The following table lists an overview of the
status LEDs.
ON.
Power is supplied to the board.
CONFIG.
The bitstream configuration is being programmed in the FPGA while the
config LED is blinking. When the config LED remains blinking, there is
no (valid) bitstream present inside the configuration memory.
READY.
The bitstream located inside the configuration memory has been
successfully loaded into the FPGA.
UPDATE.
When the status LED blinks green, the content of the configuration
memory is updated. Upon completion, the new content is automatically
programmed in the FPGA.
The user LEDs can be controlled through the DesignWare GPIO. For more information, see
DesignWare DW_apb_gpio Databook.
2.8 Memories
The ARC EM SDP features the following memories:
16 MB PSRAM memory
16 MB user available SPI flash
o This SPI flash supports Quad-mode SPI and execute-in-place
16 MB dedicated SPI flash storage for FPGA bitstream
After U-Boot, the default settings operate the SD card in the SDR25 speed mode.
Note The audio codec is controlled by the I2S controllers inside the subsystem, and this
functionality is therefore only available when I2S auxiliary based controller is present in
the build configuration of the subsystem.
The I2S ports operate in master mode, which means that the I2S IPs inside the ARC EM SDP
initialize and drive the I2S word select and a serial clock signal. The I2S serial clocks are
generated by integer dividers that run at a fixed audio reference clock frequency of
12.288 MHz.
In addition to the stereo audio jacks, the ARC EM SDP also features two PDM MEMs
microphones (left and right channel), which are controlled by the io_pdm_rx auxiliary based
PDM peripheral controller when configured in the subsystem. The PDM clock is also
generated by integer dividers that run on the audio reference clock of 12.288 MHz.
Note The PDM microphones are controlled by the PDM controller inside the subsystem, and
this functionality is therefore only available when the PDM auxiliary based controller is
present in the build configuration of the subsystem.
The ARC EM SDP supports the following sampling frequencies: 16 kHz, 32 kHz, 48 kHz, 96
kHz, and 192 kHz. Table 2 shows the divider settings for 16-bit stereo audio.
24 12 8 4 2
Note The on-board I2C bus is controlled by the I2C controller inside the subsystem, and this
functionality is therefore only available when the I2C auxiliary based controller is present
in the build configuration of the subsystem.
2.13 ADC
The ARC EM SDP board includes the 8-input, 8-bit ADC088S022 from Texas Instruments.
The conversion rate ranges from 500 kSPS to 1 MSPS. The analog input range is 0 to 5 volts.
The analog input values are read using the io_spi_mst2 auxiliary peripheral. For more
information on 8-input 8-bit ADC088S022, see ADC088S022 Datasheet.
Note The ADC is controlled by the SPI controller inside the subsystem, and this functionality
is therefore only available when the SPI auxiliary based controller is present in the build
configuration of the subsystem.
ADC IN Usage
0 mikroBUS AN
1 Arduino AD0
2 Arduino AD1
3 Arduino AD2
4 Arduino AD3
5 Arduino AD4
6 Arduino AD5
7 Not Used
Note The EBI controller FSM operates on the EBI reference clock (ebi_ref_clk). All the
memory timing parameters, such as read cycle wait time specified in the
EBI_CS_WCR1 register, are counted in ebi_ref_clk cycles.
Timing Diagrams
Figure 18 Normal Read (Without External Wait)
Furthermore, the ARC EM SDP features a single 50-pin generic pin header (42 IO pins, four
supply pins, and four ground pins).
Digilent Pmod™
The ARC EM SDP features three 12-pin Pmod connectors: Pmod_A, Pmod_B, and
Pmod_C.
The functionality of the Pmod connectors is programmable and includes GPIO, UART, SPI,
I2C, and PWM. Multiplexing is controlled by software using the PMOD_MUX_CTRL register
(see MUX Registers on page 74MUX ). After a reset, all ports are configured as GPIO
inputs.
Figure 21 shows the location of the pins on the Pmod connectors. Detailed pin descriptions
depending on the pin multiplexer settings are provided in the subsequent sections.
Note The Pmod is controlled by the controllers inside the subsystem, and this
functionality is therefore only available when the auxiliary based controllers are
present in the build configuration of the subsystem.
When the auxiliary based PWM IO peripherals are not available in the build
configuration of the subsystem, the PWM functionality of io_pwm0 is
implemented using dw_timer0 and the functionality of io_pwm1 is
implemented using dw_timer1.
Mikrobus
The ARC EM SDP features a set of MikroBUS headers. Figure 22 shows the relevant function
assignments, fully compatible with the MikroBUS standard. For more information, see the
MikroBUS standard specification.
The MikroBUS headers enable the addition of Click boards. Click boards are developed by
the company MikroElektronica ([Link]) and are a range of hundreds of add-on
boards for interfacing with peripheral sensors and transceivers. Click boards include wireless
and wired connectivity modules, sensor modules, display modules, interface modules, and
miscellaneous modules and accessories, See [Link]/click for a full list.
Multiplexing to get the right function assignment of the auxiliary based peripheral controllers
on the MikroBUS headers is controlled by software using the ARDUINO_MUX_CTRL register
(see MUX Registers on page 74).
Note that since the controllers that are mapped to the MikroBUS are shared with the Arduino
controllers, and therefore the MikroBUS functions are only available when the Arduino
multiplexer ARDUINO_MUX_CTRL is in the default mode (GPIO).
Note The MikroBUS is controlled by the controllers inside the subsystem, and this
functionality is therefore only available when auxiliary based controllers are present in
the build configuration of the subsystem.
CS io_spi_mst0_cs[0] RX io_uart0_rxd
*: *ADC VIN0 is available through the on-board ADC and is read though io_spi_mst2.
Arduino
The ARC EM SDP provides an Arduino shield interface. Figure 23 shows the pin assignments.
The Arduino shield interface is compatible with the Arduino UNO Rev3 with the following
exceptions:
5-volt shields are not supported.
The IOREF voltage on the ARC EM SDP board is fixed to 3.3 volts.
Note The ICSP header is not available. Most shields do not require this ICSP header as the
SPI master interface on this ICSP header is also available on the IO10 to IO13 pins.
Table 9 shows the pin assignment on the I/O multiplexer. Multiplexing is controlled by software
using the ARDUINO_MUX_CTRL register (see MUX Registers on page 74). After a reset, all
the ports are configured as GPIO inputs.
x AD0 io_gpio0[14] - -
AD1 io_gpio0[15] - -
AD2 io_gpio0[16] - -
AD3 io_gpio0[17] - -
The analog input pins AD0 – 5 are also directly connected to the on-board ADC and are read
through io_spi_mst2. The assignment is shown in Table 10.
Pin I/O-1
Generic Header
In addition to the standard interfaces, the ARC EM SDP also features a generic pin header.
Figure 24 shows the pin assignments. The pin header can be used as an EBI interface
towards an external peripheral device or as a host interface.
Pin GPIO EBI Host-IF DBG Pin GPIO EBI Host-IF DBG
IO0_P - - - IO0_N - - -
Pin GPIO EBI Host-IF DBG Pin GPIO EBI Host-IF DBG
IO18_P - - - IO18_N io_gpio2 A17 - redpine_uart_txd
[21]
0xE000_0000 RESERVED
0xD000_0000 RESERVED
0xC000_0000 RESERVED
0xB000_0000 RESERVED
0xA000_0000 16 KB YCCM1
0x9000_0000 16 KB XCCM1
0x5000_0000 RESERVED
0x3000_0000 RESERVED
0x1000_0000 16 MB PSRAM
Reserved 0xF000_A000 4 KB
Reserved 0xF001_1000
Clock Registers
The clock registers and the associated clock circuitry (that is, the PLLs plus clock dividers)
inside the ARC EM SDP are implemented by the Clock and Reset Unit (CRU) module. The
clock registers are used to program the PLLs and clock dividers. The CRU implements the
following PLLs:
ARC PLL:
Used to generate the clock for the ARC HS
SYS PLL:
Used to generate all the other clocks in the system (for example, AHB, APB, and
IP core clocks)
REF PLL:
Used to generate reference clocks
In addition to the PLLs, the CRU module includes integer dividers for generating audio
reference clocks based on a fixed 12.288 MHz audio input clock.
Additionally, the CRU module implements a measurement logic that can be used to verify that
PLL and dividers have been programmed correctly. Guidelines for programming the PLL can
be found in PLL Programming on page 59, and for clock measurements in Frequency
Measurement on page 60
Table 15 lists the registers for the CRU module including a brief description and their offset
to the base address of the CRU (0xF000_0000). All registers are 32-bit wide. Read/write
access to undefined registers is ignored, and an APB error response is generated. All unused
bits within a register are non-writable and return zero when read.
- ARC PLL
ARC PLL
frequency
CGU_ARC_PLL_FMEAS 0x0008 RW
measurement
register
ARC PLL
CGU_ARC_PLL_FBDIV_CTRL 0x000C RW feedback divider
control register
- SYS PLL
SYS PLL
frequency
CGU_SYS_PLL_FMEAS 0x0018 RW
measurement
register
SYS PLL
CGU_SYS_PLL_FBDIV_CTRL 0x001C RW feedback divider
control register
- REF PLL
REF PLL
frequency
CGU_REF_PLL_FMEAS 0x0028 RW
measurement
register
REF PLL
CGU_REF_PLL_FBDIV_CTRL 0x002C RW feedback divider
control register
ARC PLL
Clock output
CGU_ARC_ODIV_ARC 0x0080 RW divider register for
ARC EM clock
Clock
measurement
CGU_ARC_FMEAS_ARC 0x0084 RW
register for ARC
EM clock
SYS PLL
Clock output
CGU_SYS_ODIV_AHB 0x00E0 RW divider register for
AHB clock
Clock
measurement
CGU_SYS_FMEAS_AHB 0x00E4 RW
register for AHB
clock
Clock output
CGU_SYS_ODIV_APB 0x00F0 RW divider register for
APB clock
Clock
measurement
CGU_SYS_FMEAS_APB 0x00F4 RW
register for APB
clock
REF PLL
Clock output
CGU_REF_ODIV_SDIO 0x0140 RW divider register for
SDIO clock
Clock
measurement
CGU_REF_FMEAS_SDIO 0x0144 RW
register for SDIO
clock
Clock output
CGU_REF_ODIV_SPI 0x0150 RW divider register for
SPI clock
Clock
measurement
CGU_REF_FMEAS_SPI 0x0154 RW
register for SPI
clock
Clock output
CGU_REF_ODIV_TIMER 0x0160 RW divider register for
timer clock
Clock
measurement
CGU_REF_FMEAS_TIMER 0x0164 RW
register for timer
clock
Clock output
CGU_REF_ODIV_UART 0x0170 RW divider register for
UART clock
Clock
measurement
CGU_REF_FMEAS_UART 0x0174 RW
register for UART
clock
Clock output
CGU_REF_ODIV_EBI 0x0180 RW divider register for
EBI clock
Clock
measurement
CGU_REF_FMEAS_EBI 0x0184 RW
register for EBI
clock
Clock output
CGU_REF_ODIV_I2C 0x0190 RW divider register for
I2C clock
Clock
measurement
CGU_REF_FMEAS_I2C 0x0194 RW
register for I2C
clock
AUDIO
Clock
measurement
CGU_AUDIO_FMEAS_I2S 0x01A4 RW
register for I2S
clock
Clock integer
CGU_AUDIO_IDIV_I2S 0x01A8 RW divider register for
I2S clock
Clock
measurement
CGU_AUDIO_FMEAS_PDM 0x01B4 RW
register for PDM
clock
Clock integer
CGU_AUDIO_IDIV_PDM 0x01B8 RW divider register for
PDM clock
Reset control
CGU_ARC_RST_CTRL 0x0380 RW1C register for ARC
clock
Reset control
CGU_SYS_RST_CTRL 0x0384 RW1C register for system
clocks
Reset control
CGU_REF_RST_CTRL 0x0388 RW1C register for
reference clocks
Reset control
CGU_AUDIO_RST_CTRL 0x038C RW1C register for audio
clocks
Reset control
CGU_SYS_RST_OUT_CTRL 0x03A0 RW1C register for system
reset output
Standard Registers
CGU IP software
CGU_IP_SW_RESET 0x0FF0 RW1C
reset register
CGU IP version
CGU_IP_VERSION 0x0FF8 R
register
CGU IP type
CGU_IP_TYPE 0x0FFC R
register
RW
Read/Write register
R
Read-only register
W
Write-only register
RW1C
Read-only, Write-1-to-Clear register
The input clock frequency Fclkin of the ARC EM SDP is fixed to 100 MHz. The VCO
frequency Fvco needs to be between 600 MHz and 1440 MHz in accordance with the Xilinx
datasheet.
To detect completion of the PLL reprogramming sequence, software polls the
CGU_*_PLL_STATUS register.
Note By default, both counters start counting from zero. However, the
frequency calculation RCNT can be initialized with a non-zero
value. When RCNT is initialized with a value equal to 215 –
reference clock frequency in MHz and reaches its maximum count
before the FCNT counter saturates, the value stored in FCNT
would then show the measured clock’s frequency in MHz without
the need for any further calculation.
The measured clock frequency can only be as known to the level
of precision of the reference clock frequency.
Quantization error is noticeable if the ratio between the two clocks
is large (for example 1000 MHz versus 1 kHz) because one
counter saturates while the other counter only has a small count
value.
Due to synchronization, the counters are not started and stopped
at the same time. This affects the accuracy of the frequency
measurement. This effect can be minimized by running the
counters as long as possible.
3:2 Reserved
11:10 Reserved
30:18 Reserved *
*: Reset value
The values of m and p are:
p=0 m =ARC
p=1 m =SYS
p=2 m =REF
3:2 Reserved
9:4 HIGHTIME RW See Set number of VCO cycles that the clock remains high
below** (MHIGH)
11:10 Reserved
17:12 LOWTIME RW See Set number of VCO cycles that the clock remains low
below** (MLOW)
30:18 Reserved *
3:2 Reserved
9:4 HIGHTIME RW See below** Set number of VCO cycles that the clock remains
high (OHIGH)
11:10 Reserved
17:12 LOWTIME RW See below** Set number of VCO cycles that the clock remains
low (OLOW)
30:18 Reserved *
*: Reset value
The values of c, m, and p are:
m = ARC p=0 c = ARC ARC HS clock n=0
c = AHB AHB clock n=0
m = SYS p=1
c = APB APB clock n=1
c = SDIO SDIO clock n=0
c = SPI SPI clock n=1
m = REF p=2 c = TIMER TIMER core clock n=2
c = UART UART core clock n=3
c = EBI EBI core clock n=4
*: Reset value
The values of c and p are:
p=0 c = I2S I2S audio reference clock
p=1 c = PDM PDM audio reference clock
0 Disabled
1 Divide-by-1
7:0 N RW
2 Divide-by-2
… …
255 Divide-by-255
*: Reset value
** The values of c and p are:
p=0 c = I2S I2S audio reference clock
p=1 c = PDM PDM audio reference clock
*: Reset value
*: Reset value
*: Reset value
*: Reset value
0 SW_RESET RW1C Writing a 1 to this bit initiates a software reset of the full
ARC EM Software Development Platform system.
*: Reset value
*: Reset value
15:0 ID R IP code
0x0100 = CGU
Value: 0x1*
*: Reset value
Control Registers
The global control registers inside the ARC EM SDP are implemented by the CREG module.
The global control registers control configuration settings for sub-modules that do not have a
software interface (for example: the GPIO mux). Additionally, the CREG module implements
the following functionality:
Logic to sample boot mode configuration values from BOOT pins during power-on-
reset
Logic to generate cpu_start signal for ARC cores
Logic to generate the software interrupts
Identification registers for the ARC EM SDP
Table 16 lists the registers for the CREG module, including a brief description and their offset
to the base address of the CREG (0xF000_1000). All the registers are 32 bits wide.
Read/write access to undefined registers is ignored, and an APB error response is generated.
All unused bits within a register are non-writable and return zero when read.
Boot Registers
Multiplexer Registers
Arduino MUX
PMOD_MUX_CTRL 0x30 RW
register
Standard Registers
CREG IP software
CREG_IP_SW_RESET 0xFF0 RW1C
reset register
CREG IP product
CREG_IP_PRODUCT 0xFF4 R
register
CREG IP version
CREG_IP_VERSION 0xFF8 R
register
CREG IP type
CREG_IP_TYPE 0xFFC R
register
[1] The following access types are defined:
RW Read/Write register
R Read-only register
W Write-only register
RW1C Read-only, Write-1-to-Clear Register
3:0 Reserved RW
*: Reset value
[1]: Do not attempt to write to EBI_CS_MOD register while access to CS area is in progress.
3:1 Reserved
31:9 Reserved
*: Reset value
[1]: Reset value for START_MODE is sampled from boot_start_mode pin during power-on-reset.
*: Reset value
31:0 PRODUCT NAME R Hex code for the two ASCII letters ARC EM
Software Development Platform (ESDP)
Value: 0x45534450
15:0 ID R IP code
0x0200 = CREG
Value: 0x0200*
*: Reset value
EBI Registers
RW Read/Write register
R Read-only register
W Write-only register
RW1C Read-only, Write-1-to-Clear Register
*: Reset value
[1]: Do not attempt to write to the EBI_CS_WCR1 register while the external bus is being accessed.
[2]: The CSPWWAIT value is only valid when PWENB bit in EBI_CS_MOD is set to 1.
[3]: The CSPRWAIT value is only valid when PRENB bit in EBI_CS_MOD is set to 1.
*: Reset value
[1]: Do not attempt to write to EBI_CS_WCR2 register while the external bus is being accessed.
*: Reset value
[1]: Do not attempt to write to EBI_CS_CR register while the external bus is being accessed.
*: Reset value
[1]: Do not attempt to write to EBI_CS_REC register while the external bus is being accessed.
*: Reset value
[1]: Do not attempt to write to EBI_CS_RECEN register while the external bus is being accessed.
Glossary
AHB
Advanced High Performance Bus
CRU
Clock Reset Unit
GPIO
General Purpose Input/Output
HW
Hardware
I 2S
Inter-IC Sound, serial bus interface standard for the transfer of audio data
JTAG
Joint Test Action Group
R
Read-only register
RW
Read-write register
RW1C
Read-write register; writing a one clears the corresponding bit
PSRAM
Pseudo Static Random Access Memory
SRAM
Static Random Access Memory
SW
Software
References
1. Xilinx Kintex-7 data sheet:
[Link]
a_Sheet.pdf