-
Notifications
You must be signed in to change notification settings - Fork 0
Accelerometer Temperature Power Reference Design AXC3000 25.1.1
This reference design demonstrates a few features of the Agilex™ 3 and the AXC3000 evaluation board. Its' software running on the NIOS-V processor implements 2 demos. When first powering on or switching between demos push-button S2 needs to be pressed. A red LED is always blinking to indicate the sign of life.

Demo #1: DIP_SW[0] is OFF.
- Uses the LIS3DH 3-axis accelerometer, mounted on the AXC3000, to read the x, y, and z axes values
- Use a PWM to illuminate the R, G, and B colors of an RGB LED proportionate to the values read
- When the board is inactive for about 5 seconds, the RGB LED goes into flashing a specific pattern
- When the board is being moved, the RGB LED displays the 3 colors corresponding to the tilt data
Demo #2: DIP_SW[0] is ON.
- Requires a terminal emulator to display data sent over a UART at 115200 baud rate
- The FPGA temperature sensors (4 regions) are read via the SDM and displayed
- The FS1606-0600 power module Vin, Vout, and Iout feeding the FPGA core voltage (0.75V) are read via I2C and displayed
The reference design includes
- Nios V/m Microcontroller
- Onchip RAM (256KB)
- Light-Weight UART
- I2C
- System ID peripheral
- Push-Button
- DIP switches
- Custom PWM

- Review Getting Started
- Host machine running Linux or Windows.
- Internet connection to download the tools and clone the repositories from github. If you are behind a firewall you will need your system administrator to enable you to get to the git trees.
- Quartus Prime Pro version 25.1.1 (with NIOS-V license)
- Ashling RiscFree IDE for Intel FPGAs 25.1.1, if modifying software
Open a shell (niosv command shell for Windows)
$ mkdir agilex_3
$ cd agilex_3
This can be built under Windows or Linux.
Clone the repository. Open a shell (niosv command shell for Windows)
$ git clone -b QPDS25.1.1_QPDS_REL_PR https://github.com/ArrowElectronics/refdes-agilex3 refdes-agilex3
$ cd refdes-agilex3/axc3000/accel_temp_refdes
Open Quartus and load the Project located in the folder shown above
$ File --> Open Project. axc3000_top.qpf
Add pin assignments
$ View --> Console
$ In the Tcl Console window type 'source sources/axc3000_pin_assignment.tcl' and press Enter
Compile the Quartus project
$ Processing --> Start Compilation
The following file is created:
- agilex_3/refdes-agilex3/axc3000/accel_temp_refdes/axc3000_top.sof
The following components are required for the demo:
- AXC3000 (TEI0131) development board,
- USB C Cable

- Plug the USB Cable into J9, the USB C connector.
Open the Quartus Programmer
$ Tools --> Programmer
Add JTAG Hardware. If the Hardware Setup has 'No hardware'

$ Press the Hardware Setup button
$ Double click USB Blaster III. Press Close

Detect the JTAG chain
$ Processing --> Auto Detect

Select the A3CY100BM16A device in the topology diagram
$ Edit --> Change File. Select axc3000_top.sof
$ Click the 'Program/Configure' check box.
$ Processing --> Start
This will take a few seconds to complete.
The .hex code running on the NIOS-V is already incorporated into the .sof file.
$ Open Tera-Term or equivalent terminal program
$ set its baud rate to 115200
$ Press S2 button to refresh measurements
Each time S2 is pressed, the readings are refreshed.
