pg091 Xadc Wiz
pg091 Xadc Wiz
Chapter 1: Overview
Operating System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installing the Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Verifying Your Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Licensing and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Appendix B: Debugging
Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Debug Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Simulation Debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Interface Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Test Bench
Verilog
Verilog
Simulation
• FPGA temperature and voltage monitoring Model
Not Provided
Overview
The XADC Wizard generates Verilog or VHDL Register Transfer Level (RTL) source code to
configure the XADC primitive in Xilinx ® 7 series FPGAs. An example design and simulation
test bench demonstrate how to integrate the core into user designs.
The XADC Wizard is included with the Vivado® Design Suite. For information about system
requirements and installation, see Installing the Wizard. Version 3.3 of the XADC Wizard
product guide covers use of the wizard in the Vivado Design Suite only.
The top-level block diagram for the LogiCORE™ IP XADC core is shown in Figure 1-1.
CONVST
AXI XADC Core Logic
XADC
Hard Macro
CONVST
OR Logic convst
Register
convstclk
SPLB_Clk
dclk
SPLB_Rst
vauxn[15:0]
SYSMON Reset
Register
Reset Logic reset
vauxp[15:0]
Software Reset
Register
jtagbusy
jtaglocked vp
AXI-Lite jtagmodified
Interface busy
Status Register eoc vn
eos
5
channel[4:0]
alarm
32
3
alm[2:0]
Alarm Register
ot
16 16 vccddro_alarm_out
Data Register do[15:0]
16 16 vccpaux_alarm_out
di[15:0]
7 7 daddr[6:0]
Channel Data vccpint_alarm_out
Read & Arbiter
DEN & DWE Logic den vbram_alarm_out
Control Logic dwe
vccaux_alarm_out
drdy
vccint_alarm_out
user_temp_alarm_out
Interrupt Register
(GIER)
alm[7:0] MUXaddr[4:0]
Interrupt Register ot
(IPISR) eos
eoc
jtaglocked
Interrupt Register jtagmodifed
(IPIER)
IP2INTC_Irpt
Interrupt Controller temp_out[11:0]
AXI4-Stream
Interface
When AXI4-Stream is enabled.
Feature Summary
• Analog-to-digital conversion
• FPGA temperature and voltage monitoring
• Generate alarms based on user set parameters
• Optional AXI4-Lite interface based on the AXI4 specification
• Optional AXI4-Stream interface based on the AXI4-Stream specification
• Simple user interface
• Easy configuration of various modes and parameters
• Simple interface for channel selection and configuration
• Ability to select/deselect alarm outputs and set alarm limits
• Calculates all the parameters and register values
Applications
The XADC Wizard is ideally suited for high-volume applications such as multi-function
printers, digital single-lens reflex (SLR) cameras, motor control, power conversion, touch/
7UXH'LIIHUHQWLDO6DPSOLQJ8QLSRODU0RGH
0HDVXUHH[FLWDWLRQYROWDJHIURP'LJLWDO2XWSXW
<'
0HDVXUHWRXFKYROWDJH
6HULHV)3*$
5HVLVWLYH7RXFK6FUHHQ <
<
<
;
%LW <
0636 08;
$'& ;
;
<
; ;
;' ;'
;
<'
9 <'
8$57 7RXFK$OJRULWKP <
,2 ;'
;'
<'
8VH5HJXODU'LJLWDO,2WR([FLWH3DQHO
7R3& < ORJLF+LJK< ORJLF/RZ; VWDWH
; ORJLF+LJK; ORJLF/RZ< VWDWH
&RQWURODQG3URFHVVLQJ
7RXFK
'LJLWDOILOWHULQJ QRWFKILOWHU WRUHPRYH/&'EDFNOLJKWVZLWFKLQJDQGQRLVH
For details, see the Vivado Design Suite Release Notes and Installation Guide.
1. Start Vivado.
2. After creating a new 7 series family project or opening an existing one, the IP catalog
appears at the right side of the window, as shown in Figure 1-3.
X-Ref Target - Figure 1-3
3. Determine if the installation was successful by verifying that XADC Wizard appears at
the following location in the catalog list:
4. You can also generate the XADC Wizard core using the following command in the Tcl
Console:
Note: For more information about using the Vivado IP tools, see the Vivado Design Suite User Guide:
Designing with IP (UG896) [Ref 1].
Information about this and other Xilinx LogiCORE IP modules is available at the Xilinx
Intellectual Property page. For information on pricing and availability of other Xilinx
LogiCORE IP modules and tools, contact your local Xilinx sales representative.
License Checkers
If the IP requires a license key, the key must be verified. The Vivado design tools have
several license checkpoints for gating licensed IP through the flow. If the license check
succeeds, the IP can continue generation. Otherwise, generation halts with an error. License
checkpoints are enforced by the following tools:
IMPORTANT: IP license level is ignored at checkpoints. The test confirms a valid license exists. It does
not check IP license level.
Product Specification
This chapter describes the Vivado ® Integrated Design Environment (IDE) and follows the
same flow required to set up the XADC primitive using v3.3 of the wizard.
TIP: Tool tips are available in the Vivado IDE for most features; place your mouse over the relevant text,
and additional information is provided in a popup dialog box.
Functional Overview
The XADC Wizard is available in the Vivado IDE IP catalog that instantiates an XADC block
configured to your requirements. Using the wizard, you can explicitly configure the XADC to
operate in the desired mode. XADC Wizard allows you to select the channels, enable alarms,
and set the alarm limits. XADC supports the following interfaces:
• AXI4-Lite
• Dynamic Reconfigurable Port (DRP)
• AXI4-Stream
• Analog-to-digital conversion
• FPGA temperature and voltage monitoring
• Generate alarms based on user set parameters
Standards
The LogiCORE™ IP XADC Wizard core contains AXI4-Lite and AXI4-Stream interfaces, which
are based on the AMBA® AXI4 specification [Ref 2].
Performance
If you enable averaging of the channel, data capture rate is reduced depending on the
averaging selected. Choose the appropriate value to match your requirement. Analog Input
noise from the supply or board can deviate from the expected 12-bit digital output.
Maximum Frequencies
Note: Maximum frequency numbers for Zynq ®-7000 All Programmable SoC devices are expected to
be similar to 7 series device numbers.
Resource Utilization
For details about resource utilization, visit Performance and Resource Utilization.
Port Descriptions
Table 2-1 describes the input and output ports provided from the XADC Wizard. Availability
of ports is controlled by user-selected parameters. For example, when Dynamic
Reconfiguration is selected, only ports associated with Dynamic Reconfiguration are
exposed. Any port that is not exposed is tied off or connected to a signal labeled as unused
in the delivered source code.
Notes:
1. AXI4-Lite ports are available only when Interface selection is AXI4-Lite.
2. drp, jtag, and reset_in ports are not available when AXI4-Lite interface is selected.
3. dclk_in, reset_in ports are not available when streaming interface is enabled. temp_out port is available only when streaming
interface is enabled.
Register Space
XADC functionality is configured through control registers (See the Register File Interface
sections in the 7 Series FPGAs XADC User Guide (UG480) [Ref 3]). Table 2-2 lists the
attributes associated with these control registers. These control registers can be initialized
using HDL by attaching HDL attributes to the XADC primitive instance and configuring
them according to the information provided in Table 2-2. The control registers can also be
initialized through the AXI4-Lite or DRP at run time. The XADC Wizard simplifies the
initialization of these control registers in the HDL instantiation by automatically configuring
them to implement the operating behavior you specify using the IP core in the Vivado IDE.
Notes:
1. Reading of this register returns an undefined value.
2. Writing into this register has no effect.
3. Used in event-driven sampling mode only.
4. TOW = Toggle On Write. Writing a 1 to a bit position within the register causes the corresponding bit position in the register
to toggle.
5. These are 16-bit registers internal to XADC. These are mapped to the lower halfword boundary on 32-bit XADC Wizard IP
core registers.
6. Writing to this XADC hard macro register is not allowed. The XADC hard macro data registers are 16 bits in width. The XADC
hard macro specification guarantees the first 12 MSB bits accuracy; so only these bits are used for reference.
7. Writing to this register resets the XADC hard macro. No specific data pattern is required to reset the XADC hard macro.
Reading of this register gives the details of Vp/Vn port.
8. Read the XADC User Guide[Ref 3], for setting the different bits available in configuration registers for 7 series devices.
9. The OT upper register is a user-configurable register for the upper threshold level of temperature. If this register is left
unconfigured, then the XADC considers 125°C as the upper threshold value for OT. While configuring this register, the last
four bits must be set to 0011, that is, Alarm Threshold Register 3[3:0] = 0011. The upper 12 bits of this register are user
configurable.
31 0
Reset
31 11 10 9 8 7 6 5 4 3 2 1 0
ALM[7] ALM[3] OT
Undefined ALM[5] ALM[1]
31 9 8 7 6 5 4 3 2 1 0
ALM[4] ALM[0]
ALM[6] ALM[2]
31 18 17 2 1 0
TEMP_BUS_UPDATE
Figure 2-4: CONVST Register
31 1 0
Interrupt registers are strictly 32-bit accessible. If byte/halfword or without byte enables
access is made, the core behavior is not guaranteed.
The interrupt registers are in the Interrupt Controller Module. The XADC Wizard permits
multiple conditions for an interrupt or an interrupt strobe which occurs only after the
completion of a transfer.
GIER Undefined
31 30 0
Table 2-9: Global Interrupt Enable Register (GIER) Description (C_BASEADDR + 0x5C)
Reset Access
Bits Name Description
Value Type
31 GIER 0 R/W Global Interrupt Enable Register. It enables all individually enabled
interrupts to be passed to the interrupt controller.
0 = Disabled
1 = Enabled
30:0 Undefined N/A N/A Undefined.
• OT
• ALM[6:0]
• OT DEACTIVE,
• ALM[0] DEACTIVE,
• JTAG LOCKED/MODIFIED
• EOC/EOS
The Interrupt Controller has a register that can enable each interrupt independently. Bit
assignment in the Interrupt register for a 32-bit data bus is shown in Figure 2-7 and
described in Table 2-10. The interrupt register is a read/toggle on write register and by
writing a 1 to a bit position within the register causes the corresponding bit position in the
register to toggle. All register bits are cleared upon reset.
X-Ref Target - Figure 2-7
31 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Table 2-10: IP Interrupt Status Register (IPISR) Description (C_BASEADDR + 0x60) (Cont’d)
Reset
Bits Name Access Type Description
Value
2 ALM[1] 0 R/TOW (1)(2) XADC V CCINT-Sensor Interrupt. XADC V CCINT-sensor alarm
output interrupt occurs when VCCINT exceeds the user-defined
threshold.
1 ALM[0] 0 R/TOW (1)(2) XADC Temperature-Sensor Interrupt. XADC
temperature-sensor alarm output interrupt occurs when device
temperature exceeds the user-defined threshold.
0 OT 0 R/TOW (1)(2) Over-Temperature Alarm Interrupt. Over-Temperature alarm
output interrupt occurs when the die temperature exceeds a
factory set limit of 125 °C.
Notes:
1. TOW = Toggle On Write. Writing a 1 to a bit position within the register causes the corresponding bit position in the register
to toggle.
2. This interrupt signal is directly generated from the XADC hard macro.
31 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Table 2-11: IP Interrupt Enable Register (IPIER) Description (C_BASEADDR + 0x68) (Cont’d)
Reset Access
Bits Name Description
Value Type
11 ALM[4] 0 R/W XADC VCCPINT-Sensor Interrupt.
0 = Disabled
1 = Enabled
10 ALM[3] 0 R/W XADC VBRAM -Sensor Interrupt
0 = Disabled
1 = Enabled
9 ALM[0] Deactive 0 R/W ALM[0] Deactive Interrupt
0 = Disabled
1 = Enabled
8 OT Deactive 0 R/W OT Deactive Interrupt
0 = Disabled
1 = Enabled
7 JTAG MODIFIED 0 R/W JTAGMODIFIED Interrupt
0 = Disabled
1 = Enabled
6 JTAG LOCKED 0 R/W JTAGLOCKED Interrupt
0 = Disabled
1 = Enabled
5 EOC 0 R/W End of Conversion Signal Interrupt
0 = Disabled
1 = Enabled
4 EOS 0 R/W End of Sequence Interrupt
0 = Disabled
1 = Enabled
3 ALM[2] 0 R/W XADC VCCAUX -Sensor Interrupt
0 = Disabled
1 = Enabled
2 ALM[1] 0 R/W XADC VCCINT-Sensor Interrupt
0 = Disabled
1 = Enabled
1 ALM[0] 0 R/W XADC Temperature-Sensor Interrupt
0 = Disabled
1 = Enabled
0 OT 0 R/W Over-Temperature Alarm Interrupt
0 = Disabled
1 = Enabled
The 12-bit MSB aligned A/D converted value of different channels from the XADC hard
macro are left-shifted and reside from bit position 15 to 6 of the processor data bus. The
remaining bit positions from 5 to 0 should be ignored while considering the ADC data for
different channels. Along with 16-bit data, the JTAGMODIFIED and JTAGLOCKED bits are
passed that can be used by the software driver application for determining the validity of
the DRP read data.
The JTAGMODIFIED bit is cleared when a DRP read/write operation through the FPGA logic
is successful. If JTAGLOCKED = 1, a DRP read/write through the FPGA logic fails. The
JTAGLOCKED signal is independently controlled through JTAG Test Access Port (TAP). These
XADC hard macro registers should be accessed in their preferred access-mode only. The
XADC Wizard IP core is not able to differentiate any non-preferred access to the XADC hard
macro registers.
X-Ref Target - Figure 2-9
JTAG
Undefined MODIFIED
31 18 17 16 15 0
JTAG
LOCKED
IMPORTANT: These registers must be accessed through the core local registers. Any attempt to access
these registers in byte or halfword manner returns the error response from core.
Clocking
The clock to XADC primitive is DCLK. When AXI4-Lite is selected as the Bus interface, dclk
is connected to the s_axi_aclk clock. Hence the adcclk division factor must be
programmed taking into consideration the s_axi_aclk frequency.
When DRP or None interface is selected, dclk clock is at the top-level of the IP and adcclk
division factor must be programmed taking into consideration the dclk frequency.
Resets
When AXI4-Lite is selected as the Bus interface, certain registers of the IP can be reset by
writing a value 0xA to register 0x00. The AXI4-Lite and AXI4-Stream interfaces also have
their own reset pins.
When DRP or None interface is selected, reset_in is the input port at the top-level of the
IP.
Protocol Description
For more detailed information, see the AXI4-Lite protocol specifications. Figure 3-1 shows
the simulation snapshots for Temperature value read from XADC register.
X-Ref Target - Figure 3-1
• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 5]
• Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 1]
• Vivado Design Suite User Guide: Getting Started (UG910) [Ref 4]
• Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 6]
If you are customizing and generating the core in the Vivado IP integrator, see the Vivado
Design Suite User Guide: Designing IP Subsystems Using IP Integrator (UG994) [Ref 5] for
detailed information. IP integrator might auto-compute certain configuration values when
validating or generating the design. To check whether the values change, see the
description of the parameter in this chapter. To view the parameter value, run the
validate_bd_design command in the Tcl console.
You can customize the IP for use in your design by specifying values for the various
parameters associated with the IP core using the following steps:
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 1] and
the Vivado Design Suite User Guide: Getting Started (UG910) [Ref 4].
Note: Figures in this chapter are illustrations of the Vivado IDE. This layout might vary from the
current version.
This section describes how to set up a project in the Vivado Design Suite flow. Before
generating the example design, set up the project as described in Creating a Directory and
Setting the Project Options of this guide.
Creating a Directory
To set up the example project, first create a directory using the following steps:
1. Change directory to the desired location. This example uses the following location and
directory name:
/Projects/xadc_example
3. Select a device from the Device list that support XADC primitive.
4. Select an appropriate package from the Package list. This example uses the XC7K235T
device (see Figure 4-2).
Note: If an unsupported silicon family is selected, the XADC Wizard remains light gray in the
taxonomy tree and cannot be customized. Only devices containing the XADC are supported by
the Wizard. See the 7 Series FPGAs Overview (DS180) [Ref 7] for a list of devices containing
XADC.
5. Select either Verilog or VHDL as the target language.
6. Click OK.
X-Ref Target - Figure 4-2
1. Select the IP Catalog under the Project Manager tab to get the IP taxonomy view.
2. Locate the XADC Wizard in the taxonomy tree under:
After the wizard is launched, the IP catalog displays a series of screens that allow you to
configure the XADC Wizard.
XADC Setup
The XADC Wizard screen (Figure 4-3) allows you to select the component name, interface
type, startup channel mode, timing mode, analog stimulus file name, DRP timing options,
and control and status ports.
X-Ref Target - Figure 4-3
Basic Tab
The following describes the Basic options in the XADC Wizard core.
• Interface Options – Use this field to select the interface for the XADC Wizard. DRP is
the default option. you can select AXI4Lite, DRP, or None option. DRP port is the FPGA
logic interface for XADC. It facilitates access to the register file interface of the XADC.
The XADC control registers can be read or written using this port. This port can only be
enabled when DCLK clock is present.
• Startup Channel Selection – XADC can be configured in one of the four modes listed:
° Simultaneous Selection – This mode allows you to monitor two external channels
simultaneously. For more information about this mode see the 7 Series FPGAs XADC
User Guide (UG480) [Ref 3].
° Independent ADC – This mode allows you to run the XADC in independent mode.
Here, the XADC independently monitors the externals channels and at the same
time monitors the FPGA voltages and temperature.
° Single Channel – In this mode, you can select only one channel to monitor. If
Calibration channel is selected, the example test bench does not support analog
stimulus and the data comparison verifies this selection.
° Channel Sequencer – Choosing this mode, allows you to select any number of
channels to monitor. The channels to be used for this mode can be selected on
Figure 4-9, page 48.
• AXI4-Stream Options – Use this field to enable or disable the AXI4-Stream interface.
° Enable AXI4-Stream – You can enable or disable the AXI4-Stream interface. This is
disabled by default.
° FIFO Depth – FIFO Depth can be configured from 7 to 1,020. Here FIFO Depth
refers to the maximum depth of the data which can be written into FIFO before
ALMOSTFULL becomes High.
• Timing Mode – XADC can operate in two timing modes:
° Continuous Mode – In this mode, the XADC continues to sample and convert the
selected channel/channels.
• DRP Timing Options – The XADC clock (ADCCLK) is derived from the dynamic
reconfiguration port (DRP) clock DCLK. The XADC supports a DRP clock frequency of
up to 250 MHz. The XADC can also operate in absence of DCLK. For more information
on the DRP see the 7 Series FPGAs XADC User Guide (UG480) [Ref 3].
The ADCCLK clock, should be in the range of 4–26 MHz. To support this lower frequency
clock the XADC has an internal clock divider. The Vivado IDE allows an external DCLK
frequency and required ADC conversion rate (maximum 1 Msps) to be specified. Based
on the value of DCLK clock, the wizard then calculates the appropriate clock divider
value based on the values of DCLK clock and ADC conversion.
The wizard also displays the ADC Clock frequency value and the actual conversion rate
of the ADC.
• Analog Sim Options – You can provide the relative or absolute path and update name
of the Analog Stimulus File in this section.
° Sim File Selection – By changing the default option to Relative path .txt in the
drop-down option, the analog stimulus file path can be specified in the Sim File
Location box.
Default name and path for the analog stimulus is design.txt generated in the
core simulation area.
For converting the .csv file to the .txt file format, provide Sim File Selection as
Relative path .csv, Analog Stimulus File name, and the file location. Here .csv
to.txt conversion is performed automatically when the example design is opened
for this IP. See Figure 4-4.
If the example project is not required, then run the .csv to .txt Tcl console script
generated after the output products of the IP are generated. <Component
name>_csv_to_txt.tcl conversion script is created in the Tcl console folder
located in the IP path. This script should be sourced in the Vivado Tcl Console for
conversion.
° Analog Stimulus File – Use this field to customize the name of the XADC Analog
Stimulus File.
° Sim File Location – Enabled when Sim File Selection is not the default. Relative or
absolute path of the analog stimulus can be provided in this box.
Relative path is with respect to the simulation directory. If the example design
behavioral simulation is run, the relative path is with respect to project_1/
xadc_wiz_0_example/xadc_wiz_0_example.sim/sim_1/behav directory.
° Frequency – Analog waveform frequency can be configured from 0.1 KHz to half of
the ADC sampling rate.
Note:
1. Sim_File_Rel_Path parameter is relative to the directory where Vivado example
design is evoked.
2. Sim_File_Name parameter must not include any file extensions (such as .txt or csv).
3. When you use the files in simulation, select the option of .txt for the txt file extension
and .csv for csv file extension.
X-Ref Target - Figure 4-5
Control/Status Ports
The Control/Status Port selection (Figure 4-3) allows you to select the I/O ports on the
XADC primitive.
• Control Ports – This section allows you to select control input ports:
Zynq ®-7000 AP SoC. If the XADC Wizard core is used in a system which uses MIG, the
TEMP_OUT bus should be connected to the xadc_device_temp_i input port of the
DDR3_SDRAM (MIG) block. This disables inference of the XADC hard block in
DDR3_SDRAM. Enabling this provides the 12-bit TEMP_OUT port with the temperature
update logic. This check box is available when the interface option is AXI4-Lite or
AXI4-Stream is enabled. Selecting this option enables the temperature channel by
default. Temperature channel is read periodically after the wait cycle count is over. This
read value is loaded into TEMP_OUT port.
• JTAG Arbiter – This option enables the display of JTAG status ports (JTAGMODIFIED,
JTAGLOCED, JTAGBUSY). These signals act as a reference to verify if primitive is
accessed by JTAG.
• Status Outputs – Output status signals are also provided to facilitate interfacing of the
XADC to a user design.
X-Ref Target - Figure 4-6
ADC Setup
If the XADC is configured for Channel Sequencer, Simultaneous Sampling or Independent
ADC mode, you can choose the required sequencer mode. The available options are
Continuous, One-pass or Default mode.
The Channel Averaging drop-down menu allows you to select the required averaging
value. The available options are None, 16, 64, and 256.
You can select the type of ADC Calibration and/or Supply Sensor Calibration by
checking the respective check boxes. Calibration Averaging is enabled by default in
XADC. You can disable this by deselecting the box.
• External Multiplexer Setup – XADC supports a new timing mode that allows you to
use an external analog multiplexer in situations where FPGA I/O resources might be
limited or auxiliary analog I/O are more valuable when used to implement another
interface.
You can opt to use this feature by checking the box against Use External Multiplexer. If
checked, it is necessary to specify the external channel to which the Multiplexer (MUX)
connects. Select this channel using the drop-down menu.
Enable muxaddr_out port option is provided for enabling the muxaddr_outfor
external MUX mode using dynamic reconfiguration.
• Power Down Options – Analog-to-digital converter (ADC) controls (ADCB and ADCA)
can be powered down when not in use. You can power down ADCB and use only ADCA.
ADCA can be powered down only if ADCB is already powered down. This option is
available to conserve power and the ADC does not generate any control and status
signal when powered down. Wizard example simulation does not display any data
when ADCs are powered down.
Alarm Setup
The Alarms (Figure 4-7) allows the alarm outputs to be enabled for the on-chip sensors. If
a measurement of an on-chip sensor lies outside the specified limits, then a logic output
goes active if enabled. For a detailed description of the alarm functionality see the 7 Series
FPGAs XADC User Guide (UG480) [Ref 3].
• Enable Alarms – Use the check boxes to enable alarm logic outputs. The seven options
are:
° VCCINT alarm
° VCCAUX alarm
° VBRAM alarm
measurement inside these limits is generated. The default limits in the Vivado IDE
represent ±5% on the nominal supply value.
X-Ref Target - Figure 4-8
• Use the Channel Sequencer Setup screen to select Channels for monitoring, enable
Averaging for selected channels, enable Bipolar mode for external channels and
increase the Acquisition time for the selected channels.
• In the case of Simultaneous sampling mode, selecting channel Vauxp[0]/Vauxn[0]
would automatically select channel Vauxp[8]/Vauxn[8]. Similarly selecting channel
Vauxp[1]/Vauxn[1] would select channel Vauxp[9]/Vauxn[9] etc.
• In case of Independent ADC mode, only external channels are listed and can be
user-selected.
For more information about the simultaneous sampling mode and Independent ADC mode,
see the 7 Series FPGAs XADC User Guide [Ref 3].
X-Ref Target - Figure 4-9
The columns Channel Enable, Average Enable, and Increase Acquisition Time are disabled
and are shown only information and ease.
X-Ref Target - Figure 4-10
Summary
The summary tab lists all the key parameters, such as the interface selected, XADC
operating mode, Timing Mode, etc.
X-Ref Target - Figure 4-11
In IP integrator, the default interface for XADC is AXI4-Lite because most of the systems are
based on the AXI4 interface (Figure 4-12).
X-Ref Target - Figure 4-12
Output Generation
For details, see “Generating IP Output Products” in the Vivado Design Suite User Guide:
Designing with IP (UG896) [Ref 1].
User Parameters
Table 4-1 shows the relationship between the fields in the Vivado IDE and the User
Parameters (which can be viewed in the Tcl Console).
Required Constraints
The core generates IP level constraints required for the selected configuration. The
following constraints need to be added at system/top-level design:
Clock Frequencies
The clock frequencies supports from 8 to 250 MHz.
Clock Management
Depending on configuration, ADC clock is internally divided by the XADC primitive to
achieve the desired sampling rate.
Clock Placement
This section is not applicable for this IP core.
Banking
This section is not applicable for this IP core.
Transceiver Placement
This section is not applicable for this IP core.
Simulation
This section contains information about simulating IP in the Vivado Design Suite. For
comprehensive information about Vivado simulation components, as well as information
about using supported third-party tools, see the Vivado Design Suite User Guide: Logic
Simulation (UG900) [Ref 6].
Note: For cores targeting 7 series or Zynq-7000 devices, UNIFAST libraries are not supported. Xilinx
IP is tested and qualified with UNISIM libraries only.
Analog waveform simulation is performed using the design.txt file which contains the
time reference and the analog values for a selected channel. This file is generated by
default. The analog and its digital equivalence comparison is in the example design test
bench to verify the XADC behavior.
You can provide your own waveform in a file using the Relative path option in the Vivado
IDE. In this case, the comparison values should be updated with respect to the analog
stimulus to complete the example design simulation without error.
Simulation of Channel Averaging is not supported in the XADC Wizard example design test
bench.
VP/VN and 16 VAUXP/VAUXN pin pairs need LOC constraints to be specified in XDC.
Example Design
This chapter contains information about the example design provided in the Vivado®
Design Suite.
Verilog
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/
example_design/<component_name>_exdes.v
The example design, instantiates the XADC core that is generated by the wizard.
in the Tcl Console invokes a separate example design project where it creates
<component_name>_exdes as the top module for synthesis and
<component_name>_tb as the top module for simulation. Implementation or simulation
of the example design can be run from the example project.
Test Bench
This chapter contains information about the test bench provided in the Vivado ® Design
Suite.
Example Design
Monitor Alarms
s_axi_aclk/dclk
and
Generation
Status Signals
XADC Core
Reset
Register
and
Read Control
Event Generation
Figure 6-1: Demonstration Test Bench for the XADC Wizard and Example Design
The following file describe the demonstration test bench.
Verilog
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/
simulation/<component_name>_tb.v
The demonstration test bench is a simple Verilog program to exercise the example design
and the core.
Port Changes
AXI4-Stream interface ports are added. For port details, see Table 2-1, page 12.
Functionality Changes
AXI4-Stream supports added with configurable FIFO depth. You can enable TEMP_OUT port
when AXI4-Stream is enabled.
Debugging
This appendix includes details about resources available on the Xilinx ® Support website
and debugging tools.
TIP: If the IP generation halts with an error, there might be a license issue. See License Checkers in
Chapter 1 for more details.
Documentation
This product guide is the main document associated with the XADC Wizard. This guide,
along with documentation related to all products that aid in the design process, can be
found on the Xilinx Support web page or by using the Xilinx Documentation Navigator.
Download the Xilinx Documentation Navigator from the Downloads page. For more
information about this tool and the features available, open the online help after
installation.
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
Answer Records for this core are listed below, and can be located by using the Search
Support box on the main Xilinx support web page. To maximize your search results, use
proper keywords such as:
• Product name
• Tool message(s)
• Summary of the issue encountered
A filter search is available after results are returned to further target the results.
AR: 56583
Technical Support
Xilinx provides technical support in the Xilinx Support web page for this LogiCORE™ IP
product when used as described in the product documentation. Xilinx cannot guarantee
timing, functionality, or support if you do any of the following:
• Implement the solution in devices that are not defined in the documentation.
• Customize the solution beyond that allowed in the product documentation.
• Change any section of the design labeled DO NOT MODIFY.
To contact Xilinx Technical Support, navigate to the Xilinx Support web page.
Debug Tools
There are many tools available to address XADC Wizard design issues. It is important to
know which tools are useful for debugging various situations.
The Vivado logic analyzer is used with the logic debug IP cores, including:
See Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 9].
Reference Boards
Various Xilinx development boards support the XADC Wizard. These boards can be used to
prototype designs and establish that the core can communicate with the system.
° KC705
° KC724
Simulation Debug
The simulation debug flow for Mentor Graphics Questa Simulator ® (QuestaSim) is
illustrated below. A similar approach can be used with other simulators.
QuestaSIM
Simulation Debug
Yes
Yes
No
No
No
No
Hardware Debug
Hardware issues can range from link bring-up to problems seen after hours of testing. This
section provides debug steps for common issues. The Vivado Design Suite debug feature is
a valuable resource to use in hardware debug. The signal names mentioned in the following
individual sections can be probed using the Vivado Design Suite debug feature for
debugging the specific problems.
Many of these common issues can also be applied to debugging design simulations. Ensure
that all the timing constraints for the core were properly incorporated from the example
design and that all constraints were met during implementation.
• Does it work in post-place and route timing simulation? If problems are seen in
hardware but not in timing simulation, this could indicate a PCB issue. Ensure that all
clock sources are active and clean.
• If using mixed-mode clock managers (MMCMs) in the design, ensure that all MMCMs
have obtained lock by monitoring the locked port.
• If your outputs go to 0, check your licensing.
Interface Debug
AXI4-Lite Interfaces
Read from a register that does not have all 0s as a default to verify that the interface is
functional. Output s_axi_arready asserts when the read address is valid, and output
s_axi_rvalid asserts when the read data/response is valid. If the interface is
unresponsive, ensure that the following conditions are met:
AXI4-Stream Interfaces
• Ensure that the m_axis_aclk or s_axi_aclk (when AXI4-Lite interface is used) and
s_axis_aclk are toggling.
Xilinx Resources
For support resources such as Answers, Documentation, Downloads, and Forums, see Xilinx
Support.
References
Unless otherwise noted, IP references are for the product documentation page. These
documents provide supplemental material useful with this product guide:
Revision History
The following table shows the revision history for this document.