Table of Contents

Advertisement

CYC1000
User Guide
Please read the legal disclaimer at the end of this document.
Revision 1.0

Advertisement

Table of Contents
loading

Summary of Contents for Arrow CYC1000

  • Page 1 CYC1000 User Guide Please read the legal disclaimer at the end of this document. Revision 1.0...
  • Page 2: Table Of Contents

    Introduction to the CYC1000 Board ..............7 Layout and Components ....................7 Block Diagram ........................8 Connections and Peripherals of the CYC1000 Board ..........10 Board Status Elements ....................10 Clock Circuitry ......................... 10 Peripherals Connected to the FPGA ................11 3.3.1...
  • Page 3 Pinning Assignments ....................48 5.2.14 Compiling the Design ....................51 5.2.15 Reading the Compilation Report ................52 Configuring the CYC1000 ..................54 Configure the FPGA in JTAG mode ................. 54 Serial configuration flash memory programming ............57 6.2.1 Programming File generation ................. 58 6.2.2...
  • Page 4: Table Of Figures

    Table of Figures Figure 1 - CYC1000 Board (top view) ....................7 Figure 2 - CYC1000 Block Diagram ....................8 Figure 3 – Position of Indication LEDs .................... 10 Figure 4 – CYC1000 Clock Tree ....................... 10 Figure 5 – LED Connections ......................11 Figure 6 –...
  • Page 5: Cyc1000 Iot / Maker Board

    The CYC1000 board contains all the tools needed to use the board in conjunction with a computer that runs a 64-bit Linux / Microsoft Windows 7 operating system or later. 1.2 Useful Links A set of useful links that can be used to get relevant information about the CYC1000 or the Cyclone 10 LP FPGA. •...
  • Page 6: Getting Help

    Here are the addresses where you can get help if you encounter any problems: • Arrow Electronics In Person Arrow EMEA + 49 (0) 6102 5030 0 Online https://arrow.com • Trenz Electronic GmbH https://www.trenz-electronic.de/en/ CYC1000 User Guide www.arrow.com Page | 6 January 2020...
  • Page 7: Introduction To The Cyc1000 Board

    Figure 1 shows a top view of the board. It depicts the layout of the board and indicates the location of the various connectors and key components. Figure 1 - CYC1000 Board (top view) The following are available on the CYC1000 board: • Intel Cyclone 10 LP 10CL025YU256C8G device •...
  • Page 8: Block Diagram

    Cyclone 10 LP FPGA device to provide maximum flexibility for users. Users can configure the FPGA to implement any system design. Figure 2 - CYC1000 Block Diagram FPGA Device • Available Cyclone 10 LP Devices for the CYC1000 Device Resources 10CL006 10CL010...
  • Page 9 8x red user LEDs • 2x board indication LEDs Sensors • One 3-axis accelerometer Power • Recommended external supply voltage range: +5.0 V (nominal) • Recommended I/O signal voltage range: 0 to +3.3 V CYC1000 User Guide www.arrow.com Page | 9 January 2020...
  • Page 10: Connections And Peripherals Of The Cyc1000 Board

    All the external clocks of the system can be seen in Figure 4. The default clock (CLK12M) is at 12MHz and is connected and driving the FPGA’s user logic and the Arrow USB Programmer2. There is an optional slot of another clock (CLK_X) to add another preferred clock source to the FPGA.
  • Page 11: Peripherals Connected To The Fpga

    PIN_M6 3.3 V LED2 PIN_T4 3.3 V LED3 PIN_T3 3.3 V LED4 PIN_R3 3.3 V LED5 PIN_T2 3.3 V LED6 PIN_R4 3.3 V LED7 PIN_N5 3.3 V LED8 PIN_N3 3.3 V CYC1000 User Guide www.arrow.com Page | 11 January 2020...
  • Page 12: Push Buttons

    +/-16g and it is capable of measuring accelerations with output data rates from 1 Hz to 5 kHz. The supplied power to the board (coming either from micro-USB connection or user V ) can be monitored through the ADC channel 3 of the accelerometer. Figure 7 – Accelerometer Connections CYC1000 User Guide www.arrow.com Page | 12 January 2020...
  • Page 13: Sdram Memory

    *For SPI connection 3.3.4 SDRAM Memory The CYC1000 board supports 64MBit (default version) or up to 256MBit (customized version) SDRAM which can operate up to 166 MHz clock frequency. Below are the connections and pinning of the SDRAM used in the CYCX1000.
  • Page 14: Serial Configuration Flash Memory

    3.3 V 3.3.5 Serial Configuration Flash Memory The CYC1000 board supports up to 32MBit of serial flash memory that can be used for user data and programming non-volatile storage. The configuration bit stream is downloaded into the serial configuration device which automatically loads the configuration data into the Cyclone 10 LP when the board is powered on.
  • Page 15: Arduino Mkr Connectors

    3.3 V 3.3.6 Arduino MKR Connectors The CYC1000 board offers connectivity to Arduino MKR compatible shields that could also alternatively be used as GPIOs. The MKR connectors offer up to 23 digital I/Os. Figure 10 - Arduino MKR Header Connections Board Reference FPGA Pin No.
  • Page 16: Pmod Connector

    *Can only choose one, hence same name pinning 3.3.7 PMOD Connector The CYC1000 board offers connectivity to PMOD compatible connectors (2x6-pin or 1x12-pin), making it possible to add a big variety of sensors or ICs to the system. Below is the connection schematic and pinning information.
  • Page 17: User I/O

    3.3.8 User I/O The CYC1000 board has two additional pins that can be connected to the board and take GPIOs. Figure 12 - User I/O Connections Board Reference FPGA Pin No. Description I/O Standard PIN_T12 GPIO 3.3 V AIN7 PIN_R11 GPIO 3.3 V...
  • Page 18: Figure 14 - Jtag Connections

    A) which provides non-volatile storage for the bit stream. The information is retained within EPCQ-A even if the CYC1000 is turned off. When the board is powered on, the configuration data in the EPCQ-A is automatically loaded into the Cyclone 10 LP FPGA.
  • Page 19: Power Tree

    3.3.10 Power Tree The CYC1000 is powered by Enpirion’s buck regulator, which provides high efficiency up to 1A with integrated magnetics, switches, control, and compensation. As seen from the diagram below, the board can be powered either by a micro-USB connection, or by user input voltage from the Arduino MKR header (takes precedence over the USB bus).
  • Page 20: Software And Driver Installation

    Quartus Prime Lite Edition (Free) ModelSim-Intel FPGA Edition (includes Starter Edition) Cyclone 10 LP device support 4.1.5 Click on button to begin the download and save them in the same folder. CYC1000 User Guide www.arrow.com Page | 20 January 2020...
  • Page 21: Installing Arrow Usb Programmer2

    The CYC1000 board uses version 2 of the Arrow USB Programmer2 programming solution, that is an FTDI FT2232H Hi-Speed USB controller plus a programmer DLL. Since this FTDI USB controller is a very common standard device, usually no specific drivers are needed to make the CYC1000 work.
  • Page 22 DLL and adds some keys to the registry of the 4.2.3 After connecting the CYC1000 board to the PC, two unknown devices might appear in the “Other devices” section of device manager of the PC.
  • Page 23 Note: The number of the port will most probably be different from the one shown here. In case Windows does not automatically find the appropriate drivers go to http://www.ftdichip.com/Drivers/D2XX.htm to download the setup executable to install the required drivers. CYC1000 User Guide www.arrow.com Page | 23 January 2020...
  • Page 24: New Project With Cyc1000

    New Project with CYC1000 5.1 Creating a new Blinky Project with CYC1000 5.1.1 Launch Quartus Prime Lite Edition from the Start Menu. 5.1.2 In the Quartus Prime tool, create a new project: File -> New Project Wizard. The New Project Wizard walks you through the project settings, such as the name, directories, files, directories, device family and other settings.
  • Page 25 Browse in the project directory and choose a preferred location for the new project. Then create new folder named CYC1000_blinky. This will be the folder containing all the project files. 5.1.5 Enter the project name: “top”. 5.1.6 Click “Next”. CYC1000 User Guide www.arrow.com Page | 25 January 2020...
  • Page 26 The Add File window will appear. For this tutorial, new design files will be created so no files will be added. For other designs, files could be added here. 5.1.10 Click “Next”. 5.1.11 Select the Device Part Number of the CYC1000 Board CYC1000 User Guide www.arrow.com...
  • Page 27 Quartus Prime for design entry, simulation, verification and board-level timing. For this tutorial, no EDA software will be used, as only Quartus Prime will be used. CYC1000 User Guide www.arrow.com Page | 27...
  • Page 28: Building A Blinky Project With Cyc1000

    The goal is to go through the design process of a simple blinky project, where the toggle speed of the LEDs could be controlled by one of the pushbuttons of the CYC1000. CYC1000 User Guide www.arrow.com...
  • Page 29: Block Diagram

    LEDs. There are different ways to create components, such as RTL or schematic. In this lab, schematics will be used. There are also different ways for entering schematics such as Qsys and IP Catalog. This lab will focus on the IP Catalog. CYC1000 User Guide www.arrow.com Page | 29...
  • Page 30: Catalog Ip

    In the IP Catalog, browse for ALTPLL, via: Basic Functions → Clocks; PLLs and Resets → PLL or type in the search field for “PLL”. 5.2.4.1 In the Search bar of the IP Catalog, type “pll” and select ALTPLL which stands for Altera Phase Locked Loop. CYC1000 User Guide www.arrow.com Page | 30 January 2020...
  • Page 31: Create And Configure The Pll

    The next step is to configure the PLL component that we just named. 5.2.5.1 Enter the PLL reference clock frequency to match the clock input on the CYC1000 Board. Since we have a 12 MHz coming into the FPGA, the inclk0 input will be 12MHz.
  • Page 32 5.2.5.5 Continue to select Next to go through the various options (e.g. Pages 3 to Pages 5) but leaving the default options as they are. The page numbers can be seen on the top of the window. CYC1000 User Guide www.arrow.com Page | 32...
  • Page 33 5.2.5.8 On page 12 there is a list of output files that will be generated. Since the design will be done in a schematic, you will need to select PLL.bsf checkbox. The .bsf file provides a symbol that can be used in the schematic design we will be creating later. CYC1000 User Guide www.arrow.com Page | 33...
  • Page 34: Create And Configure The Counter

    5.2.6 Create and Configure the Counter The next step is to create the counter which will drive the LEDs on the CYC1000 board. 5.2.6.1 To create this counter, select the IP Catalog and expand the Basics → Arithmetic and select the LPM_COUNTER or type “counter”...
  • Page 35 LEDs toggling. 5.2.6.6 Change this number to 32. 5.2.6.7 Let the counter to be Up only, so the LEDs will show the counters counting up. 5.2.6.8 Select “Next” until reaching Page 5. CYC1000 User Guide www.arrow.com Page | 35 January 2020...
  • Page 36: Create And Configure The Multiplexer

    The next step is to create a mux component. This mux will be used along with a push button on the CYC1000 board to control the speed of the counter, where the counter outputs will be seen on the LEDs.
  • Page 37 5.2.7.5 Select 2 data inputs and the width of the input and output buses to be 8 bits. The reason for 8 bits is that there are 8 LEDs to be toggled (showing count values). The screen should look like this now: 5.2.7.6 Click “Next” until Page 3. CYC1000 User Guide www.arrow.com Page | 37 January 2020...
  • Page 38: Adding The Components To The Schematic

    The next step would be to connect all three components together. 5.2.8.1 To do so, select File menu, then select New and select Block Diagram/Schematic File. 5.2.8.2 Click “OK”. A new schematic will be created, where the components can be added. CYC1000 User Guide www.arrow.com Page | 38 January 2020...
  • Page 39 5.2.8.8 Just like in the steps from 5.2.8.3 to 5.2.8.6, do the same for counter_mux and simple_counter to add them to the schematic page. The order of adding the components does not matter, as the connections between them will happen in the following steps. CYC1000 User Guide www.arrow.com Page | 39...
  • Page 40: Connecting The Components

    5.2.9 Connecting the Components Next step is to make the proper connections between the three components we just added to the schematic. 5.2.9.1 Select the “Node Tool”. CYC1000 User Guide www.arrow.com Page | 40 January 2020...
  • Page 41 5.2.9.2 Connect the c0 of the PLL to the simple_counter as shown below: This will mean that a single signal (c0) is connected to the simple_counter (clock). 5.2.9.3 Select the “Bus Tool”. CYC1000 User Guide www.arrow.com Page | 41 January 2020...
  • Page 42 The view of the “Bus Properties” should look like this: 5.2.9.6 Click “OK”. 5.2.9.7 Do the same for input buses of the mux: data1x[7..0] → counter[24..31] Name the top bus input: Name the bottom bus input: data0x[7..0] → counter[19..26] CYC1000 User Guide www.arrow.com Page | 42 January 2020...
  • Page 43: Add Inputs, Outputs To The Schematic

    5.2.10.1 Click on the “Pin Tool” as show below and select “Input”. 5.2.10.2 Add one input pin for inclk0 of the PLL and add other one input pin for sel of counter_mux. CYC1000 User Guide www.arrow.com Page | 43 January 2020...
  • Page 44 FPGA. 5.2.10.4 Rename the pin_name2 to USER_BTN by double clicking its current name. This is going to be the user button of the CYC1000 board to select the mux. 5.2.10.5 Using the “Node Tool” connect: →...
  • Page 45 8 bits of the counter and 8 lower bits of the counter. The signals of the counter that are not connected will not be used by Quartus Prime. CYC1000 User Guide www.arrow.com Page | 45...
  • Page 46: Analysis And Synthesis

    Constraints are required in every CPLD/FPGA design. 5.2.12.1 To add the timing constraints, select File → New and under the “Other File” section, select “Synopsys Design Constraints File” and select “OK”. CYC1000 User Guide www.arrow.com Page | 46 January 2020...
  • Page 47 The I/Os of this design are trivial, so they can be ignored in the Timing Analysis. 5.2.12.3 Use File → Save to save it as top.sdc. CYC1000 User Guide www.arrow.com Page | 47 January 2020...
  • Page 48: Pinning Assignments

    Pin Planner can be used. If many pins are needed, other ways can be used such as the Quartus Assignment Editor, or by importing constraints from a text file or spreadsheet. CYC1000 User Guide www.arrow.com Page | 48...
  • Page 49 CLK12M to PIN_M2. Note that the Location of the CLK12M is now set to Location PIN_M2 (as seen in blue colour in the top view of the FPGA). CYC1000 User Guide www.arrow.com Page | 49 January 2020...
  • Page 50 5.2.13.5 The specific pins are now selected, but the I/O standards now need to be set as well. The button, LEDS, and clock pins are the same I/O standard for CYC1000 since all banks and peripherals are powered by 3.3V. The USER_BTN, the LEDs and clock pins are 3.3-V LVTTL.
  • Page 51: Compiling The Design

    Open Assignments → Device → Device and Pin Options → Voltage and set Default I/O Standard to “3.3-V LVTTL” and press “OK” to all the windows. CYC1000 User Guide www.arrow.com Page | 51...
  • Page 52: Reading The Compilation Report

    100% indication along with the compile time in the right bottom corner. 5.2.15 Reading the Compilation Report After successfully compiling the design, a Compilation Report should appear as shown above: CYC1000 User Guide www.arrow.com Page | 52...
  • Page 53 Most notable reports in this folder are the maximum frequency the design can achieve, setup and hold slack, unconstrained paths in case they were missed, etc. CYC1000 User Guide www.arrow.com Page | 53...
  • Page 54: Configuring The Cyc1000

    6.1 Configure the FPGA in JTAG mode 6.1.1 Connect your CYC1000 board to your PC using an USB cable. Since the Arrow USB Blaster should be already installed, the Window’s Device Manager should display the following entries are highlighted in red (port number may differ depending on your PC). If the Arrow USB Blaster is not installed, please refer to Chapter 4.2...
  • Page 55 (depending on your PC, the USB port number may variant). 6.1.5 Click “Close”. 6.1.6 Make sure the hardware setup is Arrow-USB-Blaster [USB0] and the mode is JTAG. If the Mode is not set to JTAG, click on it and select JTAG from the drop-down menu. CYC1000 User Guide www.arrow.com...
  • Page 56 Select 10CL025Y device and click “OK” on the Select Device window. 6.1.10 Double click <none> to choose programming file. 6.1.11 Navigate to <project_directory>/output_files/ in your compilation directory. Select and open the top.sof file. CYC1000 User Guide www.arrow.com Page | 56 January 2020...
  • Page 57: Serial Configuration Flash Memory Programming

    6.1.12 Make sure the Programmer shows the correct file and correct part in the JTAG chain and check the Program/Configure checkbox. 6.1.13 Click Start to program the CYC1000. When the configuration is complete, the Progress bar should reach 100% (Successful).
  • Page 58: Programming File Generation

    6.2.1.2 Set the programming file type to JTAG Indirect Configuration File (.jic). 6.2.1.3 Select EPCQ16A from the drop-down menu for configuration device and make sure that the Active Serial is set to mode. The output programming file settings should look like this: CYC1000 User Guide www.arrow.com Page | 58 January 2020...
  • Page 59 6.2.1.6 Click OK to add device to Flash Loader. 6.2.1.7 Select SOF Data under Input files to convert and click on Add File… button. 6.2.1.8 Go to <project_directory>/output_files/ and open top.sof. CYC1000 User Guide www.arrow.com Page | 59 January 2020...
  • Page 60: Device Programming

    6.2.1.9 Make sure that your settings are same as the picture below and if everything is correct, click Generate. 6.2.1.10 Click OK on the successful file generation notification and close Convert Programming File window. 6.2.2 Device Programming 6.2.2.1 Open Programmer. CYC1000 User Guide www.arrow.com Page | 60 January 2020...
  • Page 61 6.2.2.5 Click Start to configure EPCQ-A. The programming could take a while. 6.2.2.6 When the programming is finished, the CYC000 should be able to keep its configuration data even after powered off. CYC1000 User Guide www.arrow.com Page | 61 January 2020...
  • Page 62: Testing The Design

    FPGA and automatically loads the configuration from EPCQ-A. 6.3 Testing the Design Does not matter which way the CYC1000 was configured, the results should be the same for both methods, with the only difference being if configuration is retained after power off.
  • Page 63: Common Issues And Fixes

    In some rare cases when using Windows 10 operating system, the programmer DLL is not properly loaded/unloaded, causing the Quartus Programmer to not detect the Arrow USB Programmer2. Solution: Restart the Altera JTAG Server using the Services application of Windows. CYC1000 User Guide www.arrow.com Page | 63 January 2020...
  • Page 64: Appendix

    Appendix 8.1 Revision History Version Change Log Date of Change V1.0 Initial Version 03/02/2020 CYC1000 User Guide www.arrow.com Page | 64 January 2020...
  • Page 65: Legal Disclaimer

    Your sole risk. WARRANTY Arrow warrants that it has the right to provide the evaluation board to you. This warranty is provided by Arrow in lieu of all other warranties, written or oral, statutory, express or implied, including any warranty as to merchantability, non-infringement, fitness for any particular purpose, or uninterrupted or error-free operation, all of which are expressly disclaimed.
  • Page 66 Arrow cooperates in the defense and furnishes all related evidence under its control at Your expense. Arrow will be entitled to participate in the defense of such claim or action and to employ counsel at its own expense.

Table of Contents