NanoBoard Configuring an FPGA Project Automatically. Identifying System Hardware. Modified by Admin on Sep 13, 2017

Similar documents
PB30 Prototyping Peripheral Board

Power Monitoring on the Desktop NanoBoard NB2DSK01

Automatic Firmware Update Wizard

WB_SDHC - Wishbone SDHC Controller

Graphical Display of Power Monitoring Data

PCB Project Configurations

This page contains information regarding legacy Altium Vault Technologies. For the latest technology available, see Altium Vault.

The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.

NB2DSK01 - Stereo Audio

The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.

NanoBoard MIDI Interface

WB_MP3DEC - Wishbone MP3 Decoder

Migrating from a Personal Vault to an Altium Vault Server

AltiumLive - Content Store

A Walk Through...the Board Design Release Process. Contents

Copy of A Walk Through...the Board Design Release Process

SDRAM Interface Clocking for the NB3000

Probes are available for placement in the Schematic Editor only, by choosing Place» Directives» Instrument Probe [P, V, I] from the main menus.

WB_INTERFACE Custom Wishbone Interface

Releasing a PCB 2D-3D Model to a Vault

Installing the Altium Vault

Moving to Altium Designer from Protel 99 SE

Browser-based Access and Management

Releasing a Schematic Sheet to a Vault

Getting Started with FPGA Design

Item Revision Naming Schemes. Revision Naming Terminology. Default Revision Naming Schemes. Modified by Jason Howie on 31-May-2017

Configurable Generic Library

Altium Designer Panels. Contents

Published on Online Documentation for Altium Products (

Support for 3D Models. Folder Type. Modified by Jason Howie on May 31, 2017

Altium Designer Viewer. Contents

USING THE Integrated Library to Database Library Translator WIZARD

This document provides detailed information on placing components from a database using Altium Designer's SVN Database Library feature.

If you are new to version control systems and are wondering where to start, read the article Version Control and Altium Designer.

DS2430A 256-Bit 1-Wire EEPROM

Evaluates: DS28E05. DS28E05 Evaluation Kit. General Description. Quick Start Driver Installation. Features

EMAC8, EMAC8_MD Ethernet Media Access Controller

Installing the ECAD-MCAD Project Collaboration Server

Accessing the Vault. Parent article: Altium Vault Technology. Mod. ifi. Adm. Sep 13,

Working with Version-Controlled Database Libraries. Contents

Adding a Simulation Model to a Component Definition

SWC1090 configuration software for G.M. International Isolators series D1000 and E1000. Installation and use manual

ActiveBOM - BOM Catalog

Installing the ECAD-MCAD Project Collaboration Server

DS2405. Addressable Switch PIN ASSIGNMENT

Storage Manager. Summary. Panel access. Modified by on 10-Jan-2014

Design Portability, Configurations and Constraints

Programming in the MAXQ environment

The DS2703 EV kit evaluation software gives the user complete control of all SHA-1 functions of the DS2703 as well as the various other commands.

Published on Online Documentation for Altium Products (

Adding Custom Instrumentation to an FPGA Design

A Walk Through the Board Design Release Process

AltiumLive - Dashboard

Moving to Altium Designer from Protel 99 SE. Contents

DS2781EVKIT+ Standalone Fuel Gauge IC Evaluation Kit

Connectivity and Multi-Sheet Design. Contents

DS2782EVKIT+ Standalone Fuel Gauge IC Evaluation Kit

Securing Design Source Inside a Design Repository

SDRAM Interface Clocking for the NanoBoard 2

MDP Based Face Detection Demonstration User Guide

PCB Release View. Contents

OutputJob Editor Reference

LatticeXP2 Configuration Encryption and Security Usage Guide

Customizing the Altium Designer Resources

ODBC Connector. Using the ODBC Connector. Download Drivers. Configure Your Ciiva Client. Modified by Phil Loughhead on 17-Feb-2016

Altium Vault Technology. Contents

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Home Page for the UPC-E

Discovering Computers 2012

By defining design repositories in this centralized fashion, an oganization can fully control which repositories its designers can access and use.

Hardware: Acquiring Data and Communicating with Instruments

DS2788K Evaluation Kit Standalone Fuel Gauge IC with LED Display Drivers

Attaching a Datasheet to a Component Item in the Vaults Panel

A Bus is a polyline object that is used, in conjunction with other objects, to define the connection of multiple nets.

DS2401 Silicon Serial Number

Releasing a Simulation Model to a Vault

NEW CEIBO DEBUGGER. Menus and Commands

Congratulations on purchasing Hawking s HPS1P 1-Port Parallel 10/100M Print Server. The HPS1P is a powerful and convenient network printing solution

DS2401 Silicon Serial Number

Altium Designer Training Module

Filename:QIM-DP-03-Enter and Save Packager Issued Reject (K) Page 1 of 19

Tutorial - Getting Started with the Innovation Station

System Installation, Licensing & Management

DS9490R/DS9490B. USB to 1-Wire/iButton Adapters

MDP Based Key Phrase Detection Demonstration User Guide

Resource 2 Embedded computer and development environment

Altium Designer Functional Areas

SRL0 Serial Port Unit

WB_UART8 Serial Communications Port

Extensions Management Interface. Parent page: System Installation, Licensing & Management

Networking the printer

Releasing a Component Definition to a Vault

MAXREFDES44# MicroZed Quick Start Guide

On the Fly Reconfiguration with CoolRunner-II CPLDs

ESC(LP)-100. Eight Channel Low Profile RS-232 Asynchronous Communications Adapter. for PCI bus. User's Manual

Chapter 4 The Components of the System Unit

Figure 1. Output jobs are configured as an OutJob file, giving you full control over print-based output.

Published on Online Documentation for Altium Products (

The following sections detail the internal registers for the WB_OWM that can be accessed from the host processor.

RC-SV Configuration Guide Revision 3

Transcription:

NanoBoard 3000 - Configuring an FPGA Project Automatically Frozen Content Modified by Admin on Sep 13, 2017 Parent article: Understanding the NanoBoard 3000 Constraint System Although an FPGA design project targeting the NanoBoard 3000 can be configured manually by adding a configuration, assigning the required board constraint files and creating a mapping constraint file by hand the process is greatly simplified through use of an auto-configuration feature. Using this feature, a target configuration for the FPGA design project is automatically created. The required board-level constraint files are then automatically determined and added to this configuration, based on the hardware (motherboard and peripheral board) detected in your system. Where a peripheral board has been attached to the motherboard and detected, an additional board mapping constraint file is also generated and added to the configuration, which handles connection of that peripheral board to the main motherboard. Identifying System Hardware Before taking a closer look at the auto-configuration procedure itself, it is a good idea to understand the technology by which such automatic configuration of the system is made possible. The key to being able to configure an FPGA design project automatically, is the ability of Altium Designer to identify the specific hardware you are currently using in your system. Identification is made possible through the use of memory devices, located on: the NanoBoard 3000 motherboard each peripheral board. The device used on each board is a 1-Wire compatible device. The NanoTalk Controller interrogates the memory device on each board over a single wire, resulting in the presence of two 1-Wire buses used for system identification purposes. The memory device used on the NanoBoard 3000 is a DS2502 1024-bit, 1-Wire EPROM device (from Maxim). Each peripheral board from Altium has a DS2406 device (also from Maxim). The following is an illustration of the 1-Wire board identification system in place for the NanoBoard 3000.

1-Wire board identification system for the NanoBoard 3000. Each 1-Wire memory device is pre-programmed with an Altium Board Identifier string. This string is 32 bytes long and can be represented as: <UniqueID><ClassID><BatchID><VendorID> The four components of the string are defined in the following sections. UniqueID <UniqueID> is an 8 byte code programmed by the manufacturer to guarantee a unique device. The 64 bits of this code are made up of three distinct parts. The first 8 bits provide the 1-Wire family code, the next 48 bits provide the serial number which is unique to each device. The last 8 bits provide a cyclic-redundancy-check of the first 56 bits. The full 64-bit code is stored in, and accessed from, a separate ROM within the device. ClassID <ClassID> is a 16 byte (hex-coded ASCII) ident for the board upon which the 1-Wire memory device resides. The string consists of the board code and the board revision, separated by a full stop. Rightpadding using space characters (20h) ensures the length is kept to 16 bytes. These 16 bytes are stored in, and accessed from, Page 0 of the DS2502's/DS2406's data memory in the address range 0000h 000Fh. The following table illustrates example coding for the NanoBoard 3000XN motherboard (Xilinx variant) and a peripheral board. Board Motherboard Format Example Information NB3000xx.nn NB3000XN.04 Resulting 16 Bytes entered into 1- Wire device's data memory 4E 42 33 30 30 30 58 4E 2E 30 34 20 20 20 20 20

Peripheral Board PBxx.nn BatchID PB01.07 50 42 30 31 2E 30 37 20 20 20 20 20 20 20 20 20 <BatchID> is a 4 byte ident for the production run. These four bytes are stored in, and accessed from, Page 0 of the DS2502's/DS2406's data memory in the address range 0010h 0013h. VendorID <VendorID> is a 4 byte ident for who made the board. This value is 00000001h for all Altium manufactured boards. These four bytes are stored in, and accessed from, Page 0 of the DS2502's/DS2406's data memory in the address range 0014h 0017h. The remaining 8 bytes in Page 0 of the device's data memory (address range 0018h 001Fh) are left blank (contain FFh). In terms of auto-configuration, it is the <ClassID> portion of the string that empowers the feature, as it is this string that determines the constraint file required in relation to a board. Configuring the Project Prior to using the auto-configuration feature, ensure the following: A peripheral board carrying resources used by the FPGA design is plugged into the NanoBoard 3000 motherboard. A peripheral board whose resources are not actually used can be left attached to the motherboard, or removed, as required. The NanoBoard 3000 is connected to the PC and is powered-on. The auto-configuration feature can be used to create the configuration for any chosen FPGA project that is currently open (in the Projects panel). Alternatively, it can be used to create the configuration and add it to a newly-created FPGA project. Access to the feature can be made in two ways: Right-click on the icon for the NanoBoard 3000, in the NanoBoard chain of the Devices view (View» Devices View). Use the Configure FPGA Project sub-menu to choose the specific FPGA design project to be configured, or choose New FPGA Project. In the latter case, a dialog will appear from which you can determine where, and under what name, the new project will be saved. Auto-configure direct from the Devices view. From the NanoBoard Configuration dialog. To access this dialog, double-click on the icon for the

NanoBoard 3000 to access its corresponding instrumentation in the Instrument Rack NanoBoard Controllers panel. Then click on the Board View button. Alternatively, right-click on the NanoBoard 3000 icon and choose View Configuration from the menu. Accessing the NanoBoard Configuration dialog and its visual summary of the physical hardware present in the system. By using the dialog, you are presented with a visual summary of your current NanoBoard 3000 system. The image in the dialog displays the motherboard, as well as any specific peripheral board that is currently attached to the motherboard. The dialog is dynamic refreshed on access. So if you attach (or remove) a peripheral board, the new physical setup will be displayed when you next access the dialog. The dialog also provides information relating to the Altium Board Identifier string for: ~ The NanoBoard 3000 motherboard ~ The currently attached peripheral board (if present) Use the Auto Configure FPGA Project drop-down at the bottom-left of the dialog to choose

the existing (open) project to configure, or to create a new project to which the configuration will be added. Auto-configure from the NanoBoard Configuration dialog. Whichever method of access is used, the auto-configuration process proceeds in exactly the same way. First, a configuration is created and named using the format: motherboard code_revision For example with a NanoBoard 3000XN (Xilinx variant, revision 4), the configuration will be named NB3000XN_04. Constraint files will then be added to the configuration for each of the detected boards in the system (motherboard and peripheral board). These are sourced from the \Library\Fpga folder of the installation. In each case, the file used will be determined by the <ClassID> component of the board's Altium Board Identifier string. For the NanoBoard 3000XN (Xilinx variant, revision 4), with <ClassID> = NB3000XN.04, then the constraint file retrieved and added to the configuration will be NB3000XN.04.Constraint. If you have attached a peripheral board to your 3000-series NanoBoard, the constraint file for that specific peripheral board would be retrieved and added to the configuration. For example, if you are using peripheral board PB02 (revision 6), with <ClassID> = PB02.06, then the constraint file retrieved and added to the configuration will be PB02.06.Constraint. In addition, use of a peripheral board results in the constraint file that defines the mapping of peripheral board to the motherboard also being created, on-the-fly, and added to the configuration. The name of this file will simply be that of the configuration itself, with the additional suffix '_BoardMapping' (e.g. NB3000XN_04_BoardMapping.Constraint). The file will be saved to the same location as the project file (*.PrjFpg) itself. _BoardMapping.Constraint files do not exist in the \Library\Fpga folder of the installation. To manually create such files would be time-consuming, in addition to manually identifying which boards are present in the system and sourcing the relevant constraint files by hand. The auto-configuration feature delivers these files, and configuration, in literally a 'blink-of-an-eye', freeing you to concentrate on other important aspects of your design. The configuration and assigned constraint files are listed in the subsequent Configuration Manager dialog that appears for the project.

Resulting configuration and constituent constraint files (auto-configuration-related files will be automatically assigned). Use the dialog to add any other constraint files for the project as required, and assign them to the configuration. If you already had constraint files added to the project for example to handle timing constraints these will appear listed in the Configuration Manager dialog, but will not automatically be assigned to the configuration generated by the auto-configuration process. Further Reading For more information on the DS2502 and DS2406 devices, refer to the datasheets (DS2502.pdf and DS2406.pdf) available at www.maxim-ic.com. For a high-level overview of the 1-Wire bus protocol, refer to the application note (AN3989.pdf), also available at www.maxim-ic.com. Source URL: https://techdocs.altium.com/display/hware/nanoboard+3000+-+configuring+an+fpga+project+automatically