Table of Contents

Advertisement

Quick Links

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

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the MAX1000 and is the answer not in the manual?

Questions and answers

Summary of Contents for Arrow MAX1000

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

    Introduction to the MAX1000 Board ..............7 Layout and Components ....................7 Block Diagram ........................8 Connections and Peripherals of the MAX1000 Board .......... 10 Board Status Elements ....................10 Clock Circuitry ......................... 10 Peripherals Connected to the FPGA ................11 3.3.1...
  • Page 3 Pinning Assignments ....................58 5.2.12 Compiling the Design ....................61 5.2.13 Reading the Compilation Report ................63 Configuring the MAX1000 .................. 64 Configure the FPGA in JTAG Mode ................. 64 Internal Configuration ....................69 Common Issues and Fixes ................... 71 Appendix ......................72 Revision History ......................
  • Page 4 Table of Figures Figure 1 - MAX1000 Board (top view) ....................7 Figure 2 - MAX1000 Block Diagram ....................8 Figure 3 – Position of Indication LEDs .................... 10 Figure 4 – MAX1000 Clock Tree ..................... 10 Figure 5 – LED Connections ......................11 Figure 6 –...
  • Page 5: Max1000 Iot / Maker Board

    PMOD/ADRUINO MKR connectors making it a fully featured plug and play solution without any additional costs. The MAX1000 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.
  • Page 6: Useful Links

    Useful Links A set of useful links that can be used to get relevant information about the MAX1000 or the MAX10 FPGA.  MAX1000 at Arrow Shop  MAX1000 at Trenz Electronic Shop  Intel MAX10 Webpage  MAX1000 Wiki Page...
  • Page 7: Introduction To The Max1000 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 - MAX1000 Board (top view) The following are available on the MAX1000 board:  Intel MAX®10 10M08SAU169C8G device ...
  • Page 8: Block Diagram

    1248 1376 2368 Internal Configuration Image PLLs Configuration and Debug  On-board Arrow USB Programmer2 (mini-USB type B connector) Memory Devices  64MBit to 128 MBit external flash memory  64MBit to 256 MBit external SDRAM memory MAX1000 User Guide www.arrow.com...
  • Page 9  2 x 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/0 to +3.3 V MAX1000 User Guide www.arrow.com Page | 9 July 2017...
  • Page 10: Connections And Peripherals Of The Max1000 Board

    All the external clocks of the system can be seen in Figure 4. The default clock (CLK12M) is at 12 MHz 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_A8 3.3 V LED2 PIN_A9 3.3 V LED3 PIN_A11 3.3 V LED4 PIN_A10 3.3 V LED5 PIN_B10 3.3 V LED6 PIN_C9 3.3 V LED7 PIN_C10 3.3 V LED8 PIN_D8 3.3 V MAX1000 User Guide www.arrow.com Page | 11 July 2017...
  • Page 12: Push Buttons

    Figure 7 – Button Connections Board Reference FPGA Pin No. Description I/O Standard RESET PIN_E7 Dual-function Pin: GPIO or nCONFIG 3.3 V Schmitt Triger USER_BTN PIN_E6 User button 3.3 V Schmitt Triger MAX1000 User Guide www.arrow.com Page | 12 July 2017...
  • Page 13: Accelerometer

    Interrupt 2 3.3 V SEN_SDI PIN_J7 Data In (MOSI) 3.3 V SEN_SDO PIN_K5 Data Out (MISO) 3.3 V SEN_SPC PIN_J6 Clock 3.3 V SEN_CS PIN_L5 Chip Select 3.3 V *For SPI connection MAX1000 User Guide www.arrow.com Page | 13 July 2017...
  • Page 14: Sdram Memory

    3.3.4 SDRAM Memory The MAX1000 board supports 64 MBit (default version) or up to 256 MBit (customized version) SDRAM which can operate up to 166 MHz clock frequency. Below are the connections and pinning of the SDRAM used in the MAX1000.
  • Page 15: Flash Memory

    3.3 V 3.3.5 Flash Memory The MAX1000 board supports up to 128 MBit of serial flash memory that can be used for user data and programming non-volatile storage. Single SPI interface is supported that can reach up to 104 MHz SPI performance. Device offers unique advanced security features that could benefit greatly end node security applications.
  • Page 16: User I/O

    3.3.6 User I/O The MAX1000 board has two pins that can be connected to the board and take analogue inputs. Those two pins are connected to the ADC block of the MAX10 and can measure up to 3.6V. This 12-bit SAR ADC can reach 1 MSPS and has single ended capabilities.
  • Page 17 3.3V power to the J2 / 12 connector User power into to the J2 / 13 MAX1000 5V power to the J2 / 14 connector *Can only choose one, hence same name pinning MAX1000 User Guide www.arrow.com Page | 17 July 2017...
  • Page 18: Pmod Connector

    3.3.8 PMOD Connector The MAX1000 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. Figure 13 – PMOD Header Connections Board Reference FPGA Pin No.
  • Page 19: Communication And Configuration

    3.3.9 Communication and Configuration The MAX1000 board uses a single chip to perform configuration of the device and USB to UART communications, having each described below. 3.3.9.1 UART Communication UART to USB communication supports USB 2.0 High Speed (up to 480 Mb/s) independently of other protocols used in the chip like JTAG.
  • Page 20: Figure 15 - Jtag Connections

    The FPGA device can be configured through JTAG interface on MAX1000, but the JTAG chain must form a closed loop, which allows Quartus Prime programmer to detect the FPGA device. MAX1000 offers two ways of configuring your board. 1) Through the on-board Arrow USB Programmer2 2) Pins for connecting user’s preferred JTAG interface...
  • Page 21: Power Tree

    3.3.10 Power Tree The MAX1000 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 22: Software And Driver Installation

    Quartus Prime Lite Edition (Free) ModelSim-Altera Edition (includes Starter Edition) MAX10 FPGA device support 4.1.5 Click “Download Selected Files” to begin the download and save them in the same folder. MAX1000 User Guide www.arrow.com Page | 22 July 2017...
  • Page 23 MAX10 device support and ModelSim packages when they are in the same folder. Make sure these components are selected: 4.1.9 Finish the installation of the Quartus Lite and proceeded to the next section to install Arrow USB Programmer2 to be able to connect to the MAX1000 board.
  • Page 24: Installing Arrow Usb Programmer2 (Windows)

    The MAX1000 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 MAX1000 work.
  • Page 25: Max1000 User Guide Www.arrow.com Page | 4 July

    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 http://www.ftdichip.com/Drivers/D2XX.htm to download the setup executable to install the required drivers. MAX1000 User Guide www.arrow.com Page | 25 July 2017...
  • Page 26: Installing Quartus Prime Software (Linux)

    Select the following files to be downloaded from the “Individual Files” tab (highlighted in yellow): Quartus Prime (Includes Nios II EDS) ModelSim-Intel FPGA Edition (includes Starter Edition) MAX10 FPGA device support MAX1000 User Guide www.arrow.com Page | 26 July 2017...
  • Page 27 4.3.7 The installer will detect automatically the MAX10 device support and ModelSim packages when they are located in the same folder. Make sure these components are selected: MAX1000 User Guide www.arrow.com Page | 27 July 2017...
  • Page 28: Installing Arrow Usb Programmer2 (Linux)

    Continue through the installation assistant until the process has finished. Now you can run Quartus Lite. To connect with the MAX1000 board you need to install additional Arrow USB Programmer2 drivers as explained in the next section. 4.4 Installing Arrow USB Programmer2 (Linux) 4.4.1...
  • Page 29 Install default configuration file: $ sudo cp arrow_usb_Programmer2.conf /etc/ 4.4.7 Install the Quartus Prime plugin : Use the directory quartus/linux64 under the installation path selected on step 4.3.6. $ cp libjtag_hw_arrow.so <Quartus Path>/quartus/linux64 MAX1000 User Guide www.arrow.com Page | 29 July 2017...
  • Page 30: New Project With Max1000

    New Project with MAX1000 5.1 Creating a new Blinky Project with MAX1000 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 31 Browse in the project directory and choose a preferred location for the new project. Then create new folder named MAX1000_blinky. This will be the folder containing all the project files. 5.1.5 Enter the project name: “top”. MAX1000 User Guide www.arrow.com Page | 31 July 2017...
  • Page 32 Add Project Files 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. MAX1000 User Guide www.arrow.com Page | 32 July 2017...
  • Page 33 5.1.10 Click “Next”. 5.1.11 Select the Device Part Number of the MAX1000 Board In the Family and Device Settings, use the pull down menu to select the family as MAX10. Then in the Name Filter enter 10M08SAU169C8G. Rather than entering the exact part number, the pull-down menus can be used to select the correct family, package, pin count, and speed grade.
  • Page 34 5.1.15 Project Summary Page This is the Summary Page that showing the settings Quartus Prime will use for this Project. Those settings can be changed if required at a later time. 5.1.16 Click “Finish”. MAX1000 User Guide www.arrow.com Page | 34 July 2017...
  • Page 35: Building A Blinky Project With Max1000

    5.2 Building a Blinky Project with MAX1000 Overview: In this section you will create the components to a design, make connections, set the pins and compile a project. 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 MAX1000.
  • Page 36: 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.3.1 In the Search bar of the IP Catalog, type “pll” and select ALTPLL which stands for Altera Phase Locked Loop. MAX1000 User Guide www.arrow.com Page | 36 July 2017...
  • Page 37: Create And Configure The Pll

    The next step is to configure the PLL component that we just named. 5.2.4.1 Enter the PLL reference clock frequency to match the clock input on the MAX1000 Board. Since we have a 12 MHz coming into the FPGA, the inclk input will be 12 MHz.
  • Page 38: Max1000 User Guide Www.arrow.com Page | 2 July

    5.2.4.2 Click “Next”. 5.2.4.3 Simplify the PLL, by disabling areset and locked outputs. The setting should look like this: MAX1000 User Guide www.arrow.com Page | 38 July 2017...
  • Page 39 20 MHz, leave the rest as default. For simplification, there is one input to the PLL (12 MHz), and one output of the PLL (20 MHz) The setting should look like this: MAX1000 User Guide www.arrow.com Page | 39...
  • Page 40 PLL.bsf checkbox. The .bsf file provides a symbol that can be used in the schematic design we will be creating later. The setting should look like this: MAX1000 User Guide www.arrow.com Page | 40...
  • Page 41: Create And Configure The Counter

    5.2.5 Create and Configure the Counter The next step is to create the counter which will drive the LEDs on the MAX1000 board. 5.2.5.1 To create this counter, select the IP Catalog and expand the Basics  Arithmetic and select the LPM_COUNTER or type “counter”...
  • Page 42 LEDs toggling. 5.2.5.6 Change this number to 32. 5.2.5.7 Let the counter to be Up only, so the LEDs will show the counters counting up. The setting should look like this: MAX1000 User Guide www.arrow.com Page | 42 July 2017...
  • Page 43 5.2.5.8 Select “Next” until reaching Page 5. Select simple_counter.bsf checkbox to generate a symbol for our schematic design. The screen should look like this now: MAX1000 User Guide www.arrow.com Page | 43 July 2017...
  • Page 44: Create And Configure The Multiplexer

    5.2.5.9 Click “Finish”. The counter is now created. 5.2.6 Create and Configure the Multiplexer MAX1000 User Guide www.arrow.com Page | 44 July 2017...
  • Page 45 The next step is to create a mux component. This mux will be used along with a push button on the MAX1000 board to control the speed of the counter, where the counter outputs will be seen on the LEDs.
  • Page 46 The screen should look like this now: 5.2.6.6 Click “Next” until Page 3. 5.2.6.7 Select counter_mux.bsf checkbox to generate a symbol for our schematic design. The view of this now looks like: 5.2.6.8 Click “Finish”. MAX1000 User Guide www.arrow.com Page | 46 July 2017...
  • Page 47: Adding The Components To The Schematic

    5.2.7.1 To do so, select File menu, then select New and select Block Diagram/Schematic File. 5.2.7.2 Click “OK”. A new schematic will be created, where the components can be added. 5.2.7.3 Right click on the schematic page, and select Insert  Symbol… as seen below. MAX1000 User Guide www.arrow.com Page | 47 July 2017...
  • Page 48 5.2.7.8 After adding three components, your schematic should look similar to the following. To place them similarly, simply drag the components to the appropriate locations. MAX1000 User Guide www.arrow.com Page | 48...
  • Page 49: Connecting The Components

    5.2.8.1 Select the “Node Tool”. 5.2.8.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). MAX1000 User Guide www.arrow.com Page | 49 July 2017...
  • Page 50 5.2.8.3 Select the “Bus Tool”. 5.2.8.4 Using the bus tool create a connection coming out of the simple_counter and one connection for each of the inputs of the counter_mux as show below. MAX1000 User Guide www.arrow.com Page | 50 July 2017...
  • Page 51 5.2.8.6 Do the same for input buses of the mux: data1x[7..0]  counter[24..31] Name the top bus input: data0x[7..0]  counter[19..26] Name the bottom bus input: Schematic should look like this: MAX1000 User Guide www.arrow.com Page | 51 July 2017...
  • Page 52 Add one input pin for sel of counter_mux. Your schematic should look like this: 5.2.8.9 Rename the pin_name1 to CLK12M by double clicking its current name. This is going to be the clock signal coming into the FPGA. MAX1000 User Guide www.arrow.com Page | 52 July 2017...
  • Page 53 5.2.8.10 Rename the pin_name2 to USER_BTN by double clicking its current name. This is going to be the user button of the MAX1000 board to select the mux. 5.2.8.11 Using the “Node Tool” connect:  inclk0 (of the PLL component) CLK12M USER_BTN ...
  • Page 54 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. 5.2.8.16 Save your design Open the File Menu and select “Save”. Save it as top.bdf MAX1000 User Guide www.arrow.com Page | 54 July 2017...
  • Page 55: Analysis And Synthesis

    Timing Constraints tell the Quartus what are the timing requirements for this design. Timing Constraints are required in every CPLD/FPGA design. To add the timing constraints, select File  New and under the “Other File” section, select “Synopsys Design Constraints File” and select “OK”. MAX1000 User Guide www.arrow.com Page | 55 July 2017...
  • Page 56 The I/Os of this design are trivial, so they can be ignored in the Timing Analysis. Use File  Save to save it as top.sdc. 5.2.10.5 MAX1000 User Guide www.arrow.com Page | 56 July 2017...
  • Page 57 Ensure that the file is added to the Project: Assignments  Settings and select 5.2.10.6 “Timequest Timing Analyzer”. The top.sdc should have been already added by default. If it is not, it will need to be added manually. MAX1000 User Guide www.arrow.com Page | 57 July 2017...
  • Page 58: Pinning Assignments

    To make pin assignments, select the CLK12M (node name) on the bottom portion and drag and drop it to pin H6 of the Top View of the FPGA or alternatively set the Location field of the CLK12M to PIN_H6. MAX1000 User Guide www.arrow.com Page | 58...
  • Page 59 Node Name Pin Location LED[7] PIN_D8 LED[6] PIN_C10 LED[5] PIN_C9 LED[4] PIN_B10 LED[3] PIN_A10 LED[2] PIN_A11 LED[1] PIN_A9 LED[0] PIN_A8 USER_BTN PIN_E6 MAX1000 User Guide www.arrow.com Page | 59 July 2017...
  • Page 60 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 MAX1000 since all banks and peripherals are powered by 3.3V. The USER_BTN is a 3.3 V Schmitt Trigger, the LEDs and clock pins are 3.3-V LVTTL.
  • Page 61: 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. MAX1000 User Guide www.arrow.com Page | 61...
  • Page 62 When Compiling finishes and there are no errors, there will be a message at the bottom of the window that states: Full Compilation was successful and a 100% indication along with the compile time in the right bottom corner. MAX1000 User Guide www.arrow.com Page | 62...
  • Page 63: Reading The Compilation Report

    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. MAX1000 User Guide www.arrow.com Page | 63...
  • Page 64: Configuring The Max1000

    6.1 Configure the FPGA in JTAG Mode Open the Quartus Prime Programmer from Tools  Programmer or double-click on 6.1.1 Program Device (Open Programmer) from the Tasks pane. Since the MAX1000 is not connected yet, the Programmer should show a blank configuration. MAX1000 User Guide www.arrow.com...
  • Page 65 Chapter 4.2 (Windows based operating system) or 4.4 (Linux based operating system) for installing the drivers. After plugging in the MAX1000, the green LED should also light up indicating power on, along with a brief flash of the red LED CONF_DONE.
  • Page 66 In the Programmer window, click Hardware Setup and double-click the ARROW-USB- PROGRAMMER2 entry in the Hardware Settings tab (you should only be able to see this Arrow USB Programmer2 if MAX1000 is connected to the PC). The “Currently selected hardware” drop-down should now show ARROW-USB-PROGRAMMER2 [USB-0].
  • Page 67 To choose the programming file, you can either click “Add File..” on the right side of the Programmer window (highlighted in red) or double-click <none> below the File tab (highlighted in green). MAX1000 User Guide www.arrow.com Page | 67 July 2017...
  • Page 68 6.1.13 Make sure the Program/Configure checkbox is checked (highlighted in red above) and click “Start” (highlighted in green above) to program the MAX1000. You should see the CONF_DONE LED toggle briefly to indicate that the configuration is complete and the Progress bar should reach 100% (Successful).
  • Page 69: Internal Configuration

    CFM into the MAX10 device when the board is powered up. 6.2.1 Going back to step 6.1.10, instead of choosing the .sof file, choose the .pof file. 6.2.2 Click “Open”. MAX1000 User Guide www.arrow.com Page | 69 July 2017...
  • Page 70 6.3 Testing the Design Does not matter which way the MAX1000 was configured, the results should be the same for both methods, with the only difference being if configuration is retained after power off. On the board by default, the LEDS should now toggle in a slow counting sequence.
  • Page 71: 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. MAX1000 User Guide www.arrow.com Page | 71 July 2017...
  • Page 72: Appendix

    Appendix 7.1 Revision History Version Change Log Date of Change V1.0 Initial Version 11/07/2017 MAX1000 User Guide www.arrow.com Page | 72 July 2017...
  • Page 73: 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 74: Max1000 User Guide Www.arrow.com Page | 3 July

    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