Tutorial. CASPER Reference Design
|
|
- Richard Barton
- 6 years ago
- Views:
Transcription
1 Tutorial Author: Henry Chen December 18, 2009 (v1.1) Hardware Platforms Used: IBOB FPGA Clock Rate: 100MHz Sampling Rate: N/A Software Environment: TinySH This tutorial walks through the process of building a Simulink design with Xilinx System Generator, simulating it, and compiling to an FPGA bitstream using the bee_xps toolflow. The design uses an addressable ROM to generate a pattern of bits which are output to LEDs on an IBOB. Creating the Design Start Matlab, making sure that library paths are properly set (see Toolflow Setup Manual), and run Simulink by typing simulink in the Matlab command prompt. To create a new design, select File New Model from the Simulink Library Browser. Save as casper_tutoria.mdl in a directory whose path has no spaces and is not a UNC path (\\somedrive\somefolder\...) Open the Xilinx Blockset library, and from Basic Elements drag a new System Generator block into the design. Tutorial (v1.1) December 18,
2 All designs using System Generator and blocks from the Xilinx Blockset need the System Generator block. Settings in the block will be modified automatically by the toolflow, so you can just insert the block and leave it alone. Tutorial (v1.1) December 18,
3 Next, insert an XSG core config block from the BEE_XPS System Blockset library. This block is required by the bee_xps toolflow, and is used to define the compilation parameters for the design. The settings in this block are used to automatically define the settings of the System Generator block during system generation. Double-click on the XSG Core Config block to set the parameters: Set Hardware Platform to ibob Uncheck Include Linux add-on board support Set User IP Clock source to sys_clk Set User IP Clock Rate to 100MHz Set Sample Period to 1 Select XST as the Synthesis Tool Click OK Tutorial (v1.1) December 18,
4 Tutorial (v1.1) December 18,
5 Tutorial (v1.1) December 18,
6 Add a software register block from the BEE_XPS System Blockset library to the design. This block inserts a 32-bit register that is accessible to both the PowerPC TinySH shell and the FPGA fabric, and is a handy way of passing low-speed control or status signals. This register will be used as a user reset to the design. Since the register will be propagated to the top level and visible from TinySH, it s a good idea to give it a more meaningful name. To do this, click on the name label beneath the block, and rename the block to reset. Tutorial (v1.1) December 18,
7 Configure the block to have: I/O direction of From Processor. Data Type of Unsigned Data Binary Point of 0 Sample Period of 1 Tutorial (v1.1) December 18,
8 Once the software register is reconfigured to be a From Processor register rather than the default To Processor, the block will redraw and the ports will be renamed. The sim_in input port on the register block expects an input coming in from the simulation domain, rather than the FPGA domain, so it needs to be connected to a block in the Simulink library. In this case, it can just be connected to a constant 0, so add a Constant block from the Sources subset of the Simulink library. Give it a Constant Value of 0, then connect the constant block to the software register by dragging a connector line from the output port of the Constant block to the input port of the software register block. Tutorial (v1.1) December 18,
9 Tutorial (v1.1) December 18,
10 Tutorial (v1.1) December 18,
11 Because the software register is a 32-bit unsigned number, we have to extract a relevant bit and convert it to a boolean before it can be used as a reset signal to the rest of the circuit. This is done using the Slice block from the Xilinx Blockset Basic Elements library. It should be configured as: Specify Range As: Lower Bit Location + Width Width of Slice: 1 Offset of Bottom Bit: 0 Relative To: LSB of Input Check Boolean Output Tutorial (v1.1) December 18,
12 Tutorial (v1.1) December 18,
13 Tutorial (v1.1) December 18,
14 The next step is to add in a Counter block from the Xilinx Blockset. This will be used to generate the addresses for the ROM. The Counter Type should be set as Free Running, such that when it overflows its bitwidth it wraps back to zero. Set the Number of Bits to 28, with a Binary Point Position of 0 and an Unsigned Arithmetic Type. By using a 28-bit counter and choosing bits from the vector, we can Tutorial (v1.1) December 18,
15 control how fast we cycle through the LED pattern. Lastly, check the Provide Reset Port box, and leave all other parameters at their default values. When the counter is updated with its new parameters, it will have a new reset input port. Connect the reset signal sliced from the software register; this provides a user-controlled reset to the counter. Tutorial (v1.1) December 18,
16 We anticipate using a 16-entry ROM, so only 4 bits from the counter are needed to cover the entire address space. The pattern cycling rate can be controlled by selecting the appropriate 4 bits from the counter. This can range from a rate of 100MHz (lowest 4 bits) to 5.96Hz (highest 4 bits). A cycling rate of 5.96Hz is more readily seen in hardware compared to something in the MHz ranges. However, this means that though the counter is incrementing every cycle, the output won t change for 2 24 = cycles. A simulation of this kind of duration in Simulink can be very slow. A compromise can be made by building the design to have different simulation and compilation behaviors. In this case, we want to cover both extremes a 100MHz cycling rate to see outputs change in every cycle of simulation, and the 5.96Hz cycling rate for a easier visual verification in hardware. To do this, add two Slice blocks to the design both connected to the same counter output. One should be set to slice the lower 4 bits from the count, while the other should slice the upper 4 bits from the count. By simulating the circuit using the lower 4 bits, the full pattern can be seen using a shorter simulation time. This allows us to make sure the rest of the design i.e., the ROM and the pattern stored in it, the reset logic, the LED interface blocks, etc. are correct. Tutorial (v1.1) December 18,
17 Tutorial (v1.1) December 18,
18 Simulink Tip: If the two slice blocks are placed close to each other, their name labels may start to overlap and make the model messier to view. For a slice block which that has a generic name and gives other visual clues about what kind of block it is, its name label can be hidden from view. To do this, right-click on the block, then select Format Hide Name. When the slice blocks are added to the design and configured, connect both to the counter output. Notice that once the Counter block s output is connected to a Slice block s input, its port is taken and you can no longer drag a connector from it. To connect the second Slice block to the same Counter block, you ll have to do it in reverse. Rather than connect an output to an input, connect the input to the existing signal: drag a connector line from the input port of the second Slice block and connect it to the connection between the Counter block and the first Slice block. Tutorial (v1.1) December 18,
19 To use two different slicing behaviors for simulation and compilation, we can use a Simulation Multiplexer block from the Xilinx Blockset, Tools subset. Configure it so that Simulation uses port 1, and that Generation uses port 2, then connect the outputs from the 2 slice blocks accordingly. Tutorial (v1.1) December 18,
20 Tutorial (v1.1) December 18,
21 The LED pattern will be generated using a ROM, rather than explicit logic. A ROM block can be found in the Xilinx Blockset/Memory subset library. Connect its address input port to the output from the Simulation Multiplexer block so that it gets a slice off the address counter. Tutorial (v1.1) December 18,
22 Tutorial (v1.1) December 18,
23 The ROM needs to be filled with the values for the LED pattern. Set its Depth as 16, and set Number of Bits to 8, with a Binary Point of 0, so that there will be one bit for each of the 8 LEDs. The suggested LED pattern is a back-and-forth sweep of one LED each. This needs a sequence of numbers in which only one bit is 1 at a time, i.e., powers of 2. In the Initial Value Vector field, enter the Matlab vector construct [ ]. Tip for advanced users: ROMs in System Generator are by default implemented 18kb BlockRAM SRAM blocks. This default can be overridden in the block setting by checking Show Implementation Parameters and selecting Use Distributed Memory (Instead of block RAM). This will cause the ROM to be implemented in the FPGA using distributed SelectRAM built out of LUTs (each LUT can be configured as a 16x1-bit SRAM) in the FPGA fabric. In this particular case, the generation and synthesis tools are able to reduce this ROM to a block of logic, rather than SelectRAM memory. Tutorial (v1.1) December 18,
24 To add another feature, we will also use the reset to select between the output of the ROM and a constant signal. This way, when the reset is held high, a completely different pattern will be shown on the LEDs, rather than simply the first value in the ROM. This makes it clear that the system is in reset, and not just frozen. To do this, add three blocks from the Xilinx Blockset/Basic Elements library: a Constant block, a Slice block, and a Mux block. Connect the input of the Slice block to the output of the reset Software Register block. Again slice off the bottom bit from the reset signal; this time do not make it a Boolean output so it stays as an 1-bit unsigned number. As a number, this can be used as a select signal for the multiplexer, so connect the output of the Slice block to the sel input of the Mux block. Set the Constant block to have a Constant Value of 255. It should be an Unsigned, 8-bit number with a binary point at 0. Make sure that Sampled Constant is turned on; all Xilinx Constant Tutorial (v1.1) December 18,
25 blocks should always be Sampled Constants to avoid any problems when System Generator tries to infer sample periods for the entire design. Connect the outputs of the ROM and the Constant blocks to the input of the Mux, with the ROM connected to input d0 and the Constant connected to input d1. This will switch the output of the LEDs to be all on when the ROM addressing is held in reset. Tutorial (v1.1) December 18,
26 Tutorial (v1.1) December 18,
27 Tutorial (v1.1) December 18,
28 Tutorial (v1.1) December 18,
29 The last piece to add before going out to LEDs is a Delay block from Xilinx Blockset/Basic Elements. Set the Latency of the block to 8 and turning on Enable Register Retiming; this will aid in the place-and-route of the FPGA design. Tutorial (v1.1) December 18,
30 Tip for advanced users: A Delay block is by default implemented using SRL16s (a LUT configured as a 16-bit shift register). By enabling register retiming, each delay stage is instead built out of flip-flop registers, which aids in spatial pipelining. The impetus for this is that the circuit is connected to both the PowerPC core at the center of the die as well as the IOB output pads at the edges. The extra registers aid in spanning the circuit across the chip to help meet timing by providing more elements to spread out spatially (note, though, that a latency of 8 is probably excessive for this purpose). A Delay implemented out of SRL16s is good for delaying data to align latencies but, as 16 delays are packed into the same LUT, is not very helpful for crossing die distances. Tutorial (v1.1) December 18,
31 The last step is to send the output of the circuit to the LEDs. For this, bits need to be sliced from the 8-bit data stream and connected to the output pins on the FPGA connected to the LEDs. These can be added to the design using gpio blocks from the BEE_XPS System Blockset library. For the first LED, add a gpio block and rename it led0. Select ibob:led as its I/O group with an I/O direction of out. Make it a 1-bit Boolean data type with binary point at 0 and a sample period of 1. As this is the first LED, its GPIO bit index should be 0. Turn on Pack register in the pad with a Register clock phase of 0. This will latch all the outputs at the IOB and keep them all aligned with the rising edge of the clock. This gpio block will drive the LED with the LSB of the pattern, so connect a Slice block between the Delay block and this gpio. Tutorial (v1.1) December 18,
32 Tutorial (v1.1) December 18,
33 Tutorial (v1.1) December 18,
34 Tutorial (v1.1) December 18,
35 Insert another Slice/gpio pair to drive the second LED. This Slice should take the next bit up from the pattern, which can be accomplished by increasing the Offset of Bottom Bit to 1. The gpio block should be named led1, with the same settings as led0 except its GPIO bit index should be set to 1. Tutorial (v1.1) December 18,
36 Tutorial (v1.1) December 18,
37 Keep inserting Slice/gpio pairs to get the remaining bits of the pattern, using the LED GPIOs from 0 to 7. Tutorial (v1.1) December 18,
38 These gpio blocks are interface blocks that represent the transition between the implementation and simulation domains. In this case, we go from the implementation (FPGA fabric) realm to the simulation (off-chip or PowerPC) realm, so the inputs to the gpio block should be Xilinx System Generator blocks, while the outputs should feed Simulink simulation blocks. At this point, the design should be able to compile, but we want to be able to see results in simulation. The best way to visualize a time-varying result is to put in a Scope block from the Simulink/Sinks library. Tutorial (v1.1) December 18,
39 Adding one to the design provides a one-input scope, which can probe a single signal. We d like to be able to see all 8 signals on a single scope, so we can increase the number of inputs by opening the scope and clicking on the Parameters icon in the toolbar. Under the General tab, the Number of Axes can be set to 8. After you click OK and return to the scope display, the number of axes has increased from 1 to 8, and the number of inputs on the Scope block itself will also have increased. Connect the outputs from the 8 LED gpio blocks to the Scope block inputs. Tutorial (v1.1) December 18,
40 Tutorial (v1.1) December 18,
41 Tutorial (v1.1) December 18,
42 Before starting a simulation and compiling, it is good to get some feedback from Simulink on the design. As we re using blocks from libraries, we can see the relation of the instance to the library by going to Format Library Link Display All. This will display little arrows at the bottom left of all custom library components (Xilinx Blockset and Simulink library blocks will not have this). A black arrow means the block is synced to the library; a gray arrow means the block knows of its library source but will not update from the library if the library block changes, and a red arrow means that something has changed the block in relation to the library source. This is a good way to make sure the design isn t using out-of-date library components. Tutorial (v1.1) December 18,
43 As Simulink operates on typed data rather than bit vectors, in some cases inferring and inheriting data types, a common source of errors is a wrong data type. This can be checked by turning on the data type displays in Format Port/Signal Displays Port Data Types, which will annotate each signal with its data type. The syntax for this annotation is: Double: double-precision floating-point for Simulink simulation domain only UFix_X_Y: fixed-point unsigned number, X-bits wide with a binary point at Y Fix_X_Y: fixed-point signed number, X-bits wide with a binary point at Y Tutorial (v1.1) December 18,
44 Tutorial (v1.1) December 18,
45 To run the simulation, first increase the simulation time from 10.0 to 1000, then click on the Start Simuation button. Tutorial (v1.1) December 18,
46 The Scope display will show the output from the gpio blocks. Zooming in shows that the LEDs will be cycling as intended. Tutorial (v1.1) December 18,
47 Tutorial (v1.1) December 18,
48 Having run the simulation, we can be fairly confident that the circuit will behave as we want, and can compile the design. Make sure that the Matlab current directory is where your.mdl file is located. Click on the top level model file, then from the Matlab command prompt type bee_xps. This brings up the BEE XPS GUI. If the System Generator Design Name is not casper_tutorial, click again on the top level model file (make sure you haven t selected a block in the design) and click the gcs button. Select Complete Build from ISE Design Flow Choice, then click the Run XPS button. Tutorial (v1.1) December 18,
49 The compilation progress will be displayed in the Matlab command window. When the build is finished, a status window should pop up. The Matlab command window should also display some statistics about the build process: Tutorial (v1.1) December 18,
50 =================================================================== Flow run time summary: (00:24:23 seconds total) System update...00:00:02 Design Rules Check...00:00:01 Xilinx System Generator..00:02:08 Base system copy...00:00:32 IP creation...00:00:01 EDK files creation...00:00:04 IP elaboration...00:00:00 Software creation...00:00:01 EDK/ISE backend...00:21:34 Download Bitfile...00:00:00 =================================================================== A toolflow working directory is created in the directory where the design is saved. Under this directory will be a bit_files directory to which the FPGA bitstreams are copied after compilation. Tutorial (v1.1) December 18,
51 The casper_tutorial_<yyyy_mmm_dd_hhmm>.bit file is the bitstream file that will be used to program an IBOB with the design. The.bof file can be ignored for now. Tutorial (v1.1) December 18,
52 Start up the Xilinx impact programming utility. If there is a window prompting you to open or load a project, select Cancel. Tutorial (v1.1) December 18,
53 Double-click on the Boundary Scan in the Modes pane. In the Boundary Scan pane that gets opened, right-click Initialize Chain. This gets the download cable to begin scanning for devices on the JTAG boundary scan chain. When the scan finishes, the download cable should have picked up two cascaded devices on the JTAG chain: an xcf32p and an xc2vp50. The former is the Platform Flash PROM on the IBOB board, and the latter is the FPGA being targeted. For instructions on how to burn an image to the PROM, see the IBOB PROM burning procedure CASPER memo from March, Tutorial (v1.1) December 18,
54 impact will first prompt you to select an.mcs file for the PROM. Click Cancel or Bypass to skip loading anything into the xcf32p PROM. Tutorial (v1.1) December 18,
55 impact will next prompt for a new configuration file for the xc2vp50 FPGA. Select the casper_tutorial_<datecode>.bit file created by the toolflow in the bit_files directory. Tutorial (v1.1) December 18,
56 The next popup will prompt for additional BMM and PowerPC software files. Nothing needs to be done here, so click OK. Tutorial (v1.1) December 18,
57 In the Program Options dialogue box that pops up, select Device 2 (FPGA, xc2vp50) and turn off Verify and turn on Pulse Prog, then click OK. Tutorial (v1.1) December 18,
58 Right-click on the xc2vp50 icon and select Program. Tutorial (v1.1) December 18,
59 impact will begin programming the FPGA and show a progress bar: Tutorial (v1.1) December 18,
60 When programming finshes, the Program Succeeded banner will be displayed. The IBOB s LEDs should now be blinking in the specified pattern. Revision History Date Revision Changes Dec. 18, 2009 v1.1 Updated impact screenshots with 10.1 version. June 23, 2007 v1.0 Initial revision. Tutorial (v1.1) December 18,
ibob ADC Tutorial CASPER Reference Design
ibob ADC Tutorial Author: Griffin Foster April 14, 2009 (v1.0) Hardware Platforms Used: ibob, iadc FPGA Clock Rate: 100 MHz Sampling Rate: 400 MHz Software Environment: TinySH This tutorial walks through
More informationUsing Synplify Pro, ISE and ModelSim
Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For
More informationThis knowledge was gained partially through trial and error, but largely thanks to the help of the folks at CASPER.
CICADA Note #6 CASPER Tool-flow Development Notes Brandon Rumberg, Patrick Brandt NRAO Green Bank 8/9/07 This document is meant to compile some of the things about using the CASPER tool-flow that we didn't
More informationTutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board
Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Shawki Areibi August 15, 2017 1 Introduction Xilinx System Generator provides a set of Simulink blocks
More informationAdding the ILA Core to an Existing Design Lab
Adding the ILA Core to an Existing Introduction This lab consists of adding a ChipScope Pro software ILA core with the Core Inserter tool and debugging a nonfunctioning design. The files for this lab are
More informationBasic Xilinx Design Capture. Objectives. After completing this module, you will be able to:
Basic Xilinx Design Capture This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List various blocksets available in System
More informationObjectives. After completing this module, you will be able to:
Signal Routing This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe how signals are converted through Gateway In
More informationKintex-7: Hardware Co-simulation and Design Using Simulink and Sysgen
Kintex-7: Hardware Co-simulation and Design Using Simulink and Sysgen Version 1.2 April 19, 2013 Revision History Version Date Author Comments Version Date Author(s) Comments on Versions No Completed 1.0
More informationCircuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:
Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at
More informationTLL5000 Electronic System Design Base Module
TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )
More informationand 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!
This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,
More informationEE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09
EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)
More informationCPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline
CPE/EE 422/522 Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices Dr. Rhonda Kay Gaede UAH Outline Introduction Field-Programmable Gate Arrays Virtex Virtex-E, Virtex-II, and Virtex-II
More information475 Electronics for physicists Introduction to FPGA programming
475 Electronics for physicists Introduction to FPGA programming Andrej Seljak, Gary Varner Department of Physics University of Hawaii at Manoa November 18, 2015 Abstract Digital circuits based on binary
More informationTLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4
TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.
More informationTutorial: ISE 12.2 and the Spartan3e Board v August 2010
Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints
More informationField Programmable Gate Array (FPGA)
Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems
More informationXilinx Tutorial Basic Walk-through
Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic
More informationIntroduction to Partial Reconfiguration Methodology
Methodology This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Define Partial Reconfiguration technology List common applications
More informationFPGA Co-Simulation of Gaussian Filter Algorithm Application Note
Michigan State University ECE 480 Tom Ganley November 19, 2010 FPGA Co-Simulation of Gaussian Filter Algorithm Application Note Abstract FPGA co-simulation of Gaussian Filter algorithms can be useful in
More informationENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim
ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable
More information! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.
Topics! SRAM-based FPGA fabrics:! Xilinx.! Altera. SRAM-based FPGAs! Program logic functions, using SRAM.! Advantages:! Re-programmable;! dynamically reconfigurable;! uses standard processes.! isadvantages:!
More informationFPGA architecture and design technology
CE 435 Embedded Systems Spring 2017 FPGA architecture and design technology Nikos Bellas Computer and Communications Engineering Department University of Thessaly 1 FPGA fabric A generic island-style FPGA
More information2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog
2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog Hrishikesh Salunkhe, h.l.salunkhe@tue.nl, Alok Lele, a.lele@tue.nl April 28, 2015 1 Contents 1 Introduction 3 2 Hardware design
More informationCS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure
CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure Overview In order to complete the datapath for your insert-name-here machine, the register file and ALU that you designed in checkpoint
More informationCSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools
CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera
More information2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502
2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502 All rights reserved. No part of this text may be reproduced, in any form or by any means, without permission in writing from the
More informationISE Design Suite Software Manuals and Help
ISE Design Suite Software Manuals and Help These documents support the Xilinx ISE Design Suite. Click a document title on the left to view a document, or click a design step in the following figure to
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationTSEA44 - Design for FPGAs
2015-11-24 Now for something else... Adapting designs to FPGAs Why? Clock frequency Area Power Target FPGA architecture: Xilinx FPGAs with 4 input LUTs (such as Virtex-II) Determining the maximum frequency
More informationLab 1: Introduction to Verilog HDL and the Xilinx ISE
EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end
More informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
More information4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears.
Working with the GODIL Author: Ruud Baltissen Credits: Michael Randelzhofer, Ed Spittles Date: August 2010 What is it? This document describes a way to get familiar with the Xilinx FPGAs on OHO s Godil,
More informationCS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences
CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Compiled: 4/3/2003 for CS152 Spring 03, Prof. John Kubiatowicz
More informationELEC 4200 Lab#0 Tutorial
1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,
More informationIDEA! Avnet SpeedWay Design Workshop
The essence of FPGA technology IDEA! 2 ISE Tool Flow Overview Design Entry Synthesis Constraints Synthesis Simulation Implementation Constraints Floor-Planning Translate Map Place & Route Timing Analysis
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationForms for Android Version Manual. Revision Date 12/7/2013. HanDBase is a Registered Trademark of DDH Software, Inc.
Forms for Android Version 4.6.300 Manual Revision Date 12/7/2013 HanDBase is a Registered Trademark of DDH Software, Inc. All information contained in this manual and all software applications mentioned
More informationGetting started with the Xilinx Project Navigator and the Digilent BASYS 2 board.
Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. This lab is based on: Xilinx Project Navigator, Release Version 14.6 Digilent Adept System Rev 2.7, Runtime Rev 2.16 Digilent
More informationFPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011
FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level
More informationCircuit design with configurable devices (FPGA)
1 Material Circuit design with configurable devices (FPGA) Computer with Xilinx's ISE software installed. Digilent's Basys2 prototype board and documentation. Sample design files (lab kit). Files and documents
More informationLab 6: Intro to FPGAs
Lab 6: Intro to FPGAs UC Davis Physics 116B Rev 2/22/2018 There s a saying when dealing with complex electronic systems: If you can make the LED blink, you re 90% of the way there., so in this lab you
More informationEE183 LAB TUTORIAL. Introduction. Projects. Design Entry
EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx
More informationLaboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013
CME 342 (VLSI Circuit Design) Laboratory 6 - Using Encounter for Automatic Place and Route By Mulong Li, 2013 Reference: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, Erik Brunvand Background
More informationRTL and Technology Schematic Viewers Tutorial. UG685 (v13.1) March 1, 2011
RTL and Technology Schematic Viewers Tutorial The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not assume any
More informationISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation
ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation UG817 (v 13.2) July 28, 2011 Xilinx is disclosing this user guide, manual, release note, and/or specification
More informationEE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification
EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used
More informationVivado Design Suite User Guide. Designing IP Subsystems Using IP Integrator
Vivado Design Suite User Guide Designing IP Subsystems Using IP Integrator Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use
More informationUsing ChipScope. Overview. Detailed Instructions: Step 1 Creating a new Project
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Using ChipScope Overview ChipScope is an embedded, software based logic analyzer. By
More informationECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004
Goals ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 1. To review the use of Verilog for combinational logic design. 2. To become familiar with using the Xilinx ISE software
More informationLab 1: FPGA Physical Layout
Lab 1: FPGA Physical Layout University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems John Wawrzynek, James
More informationFPGA Matrix Multiplier
FPGA Matrix Multiplier In Hwan Baek Henri Samueli School of Engineering and Applied Science University of California Los Angeles Los Angeles, California Email: chris.inhwan.baek@gmail.com David Boeck Henri
More informationDigital Electronics & Computer Engineering (E85)
Digital Electronics & Computer Engineering (E85) Lab 4: Thunderbird Turn Signal Introduction In this lab, you will design a finite state machine to control the taillights of a 1965 Ford Thunderbird 1 and
More informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationIntroduction. About this tutorial. How to use this tutorial
Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by
More informationBanks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]
QUT Digital Repository: http://eprints.qut.edu.au/ This is the author version published as: This is the accepted version of this article. To be published as : This is the author s version published as:
More informationEngineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board
Engineering 1630 Fall 2016 Simulating XC9572XL s on the ENGN1630 CPLD-II Board You will use the Aldec Active-HDL software for the required timing simulation of the XC9572XL CPLD programmable logic chips
More informationAN 839: Design Block Reuse Tutorial
AN 839: Design Block Reuse Tutorial for Intel Arria 10 FPGA Development Board Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents
More informationBoard-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.
Board-Data Processing VHDL Exercises Exercise 1: Basics of VHDL Programming Stages of the Development process using FPGA s in Xilinx ISE. Basics of VHDL VHDL (Very High Speed IC Hardware description Language)
More informationSP605 MultiBoot Design
SP605 MultiBoot Design December 2009 Copyright 2009 Xilinx XTP059 Note: This presentation applies to the SP605 Overview Spartan-6 MultiBoot Capability Xilinx SP605 Board Software Requirements SP605 Setup
More informationContents. Appendix B HDL Entry Tutorial 2 Page 1 of 14
Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating
More informationIntroduction to WebPACK 5.2 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board
Introduction to WebPACK 5.2 for FPGAs Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board Release date: 10/27/2003 All XS-prefix product designations are trademarks of XESS Corp.
More informationSP601 MultiBoot Design
SP601 MultiBoot Design December 2009 Copyright 2009 Xilinx XTP038 Note: This presentation applies to the SP601 Overview Spartan-6 MultiBoot Capability Xilinx SP601 Board Software Requirements SP601 Setup
More informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationVirtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)
Virtex-II Architecture SONET / SDH Virtex II technical, Design Solutions PCI-X PCI DCM Distri RAM 18Kb BRAM Multiplier LVDS FIFO Shift Registers BLVDS SDRAM QDR SRAM Backplane Rev 4 March 4th. 2002 J-L
More informationEE 1315 DIGITAL LOGIC LAB EE Dept, UMD
EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the
More informationImplementing a Verilog design into the UWEE CPLD Development Board Using Xilinx s ISE 7.1i Software: A Tutorial
Implementing a Verilog design into the UWEE CPLD Development Board Using Xilinx s ISE 7.1i Software: A Tutorial Revision 0 By: Evan Gander Materials: The following are required in order to complete this
More informationIntroduction to WebPACK 6.1. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board
Introduction to WebPACK 6.1 Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board Release date: 10/30/2003 All XS-prefix product designations are trademarks of XESS Corp. All XC-prefix
More informationVivado Design Suite User Guide
Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To
More informationFPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.
FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationEECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.
Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function. 1.b. Show that a 2-to-1 MUX is universal (i.e. that any Boolean expression can be implemented with
More informationSHA3 Core Specification. Author: Homer Hsing
SHA3 Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1 January 29, 2013 This page has been intentionally left blank. www.opencores.org Rev 0.1 ii Rev. Date Author Description 0.1 01/29/2013
More informationLab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston
Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Introduction This lab introduces the concept of modular design by guiding you through
More informationLabVIEW FPGA Module Release and Upgrade Notes
LabVIEW FPGA Module Release and Upgrade Notes Version 2009 Contents These release notes contain instructions for installing the LabVIEW FPGA Module, introduce new features, and provide upgrade information.
More informationIntroduction Testing analog integrated circuits including A/D and D/A converters, requires a special digital interface to a main controller. The digit
FPGA Interface for Signal Handling (FISH) Mohsen Moussavi Catena Networks April 2000 Introduction Testing analog integrated circuits including A/D and D/A converters, requires a special digital interface
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More informationXilinx Project Navigator Reference Guide
31 July 2003 Author: David M. Sendek Xilinx Project Navigator Reference Guide Background: This guide provides you with step-by-step procedures in using the Xilinx Project Navigator to perform the following:
More informationSpartan -6 LX150T Development Kit Hardware Co-Simulation Reference Design User Guide
Spartan -6 LX150T Development Kit H/W Co-Simulation Reference Design User Guide Spartan -6 LX150T Development Kit Hardware Co-Simulation Reference Design User Guide Version 0.8 Revision History Version
More informationAn easy to read reference is:
1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.
More informationISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation
ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation UG817 (v13.3) November 11, 2011 Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation
More informationTutorial on FPGA Design Flow based on Aldec Active HDL. Ver 1.5
Tutorial on FPGA Design Flow based on Aldec Active HDL Ver 1.5 1 Prepared by Ekawat (Ice) Homsirikamol, Marcin Rogawski, Jeremy Kelly, John Pham, and Dr. Kris Gaj This tutorial assumes that you have basic
More informationConfiguring the Xilinx Spartan-6 LX9 MicroBoard
Configuring the Xilinx Spartan-6 LX9 MicroBoard Version 1.3 Table of Contents Table of Contents... 2 Table of Figures... 3 Revision History... 4 Overview... 5 Configuration and Programming via the on-board
More informationSpartan -6 LX150T Development Kit Hardware Co-Simulation Reference Design Tutorial
Spartan -6 LX150T Development Kit H/W Co-Simulation Reference Design Tutorial Spartan -6 LX150T Development Kit Hardware Co-Simulation Reference Design Tutorial Version 1.0 Revision History Version Description
More informationMy First FPGA for Altera DE2-115 Board
My First FPGA for Altera DE2-115 Board 數位電路實驗 TA: 吳柏辰 Author: Trumen Outline Complete Your Verilog Design Assign The Device Add a PLL Megafunction Assign the Pins Create a Default TimeQuest SDC File Compile
More informationVirtex-II Architecture
Virtex-II Architecture Block SelectRAM resource I/O Blocks (IOBs) edicated multipliers Programmable interconnect Configurable Logic Blocks (CLBs) Virtex -II architecture s core voltage operates at 1.5V
More informationOptimize CASPER Development by Black Boxing Designs
Optimize CASPER Development by Black Boxing Designs David MacMahon November 23, 2010 Abstract The CASPER toolflow uses Xilinx System Generator as its top level design entry tool. This document describes
More informationCopyright 2018 MakeUseOf. All Rights Reserved.
15 Power User Tips for Tabs in Firefox 57 Quantum Written by Lori Kaufman Published March 2018. Read the original article here: https://www.makeuseof.com/tag/firefox-tabs-tips/ This ebook is the intellectual
More informationIntroduction. Overview. Top-level module. EE108a Lab 3: Bike light
Version 2.0 David Black-Schaffer Version 2.2 David Black-Schaffer Introduction In lab 3 you are going to get your first taste of sequential logic by building a system of finite state machines, timers,
More informationDigital Circuit Design Using Xilinx ISE Tools
Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation
More informationVivado Design Suite User Guide
Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To
More informationTutorial 2 - Welcome Application Introducing, the Visual Studio.NET IDE
1 Tutorial 2 - Welcome Application Introducing, the Visual Studio.NET IDE Outline 2.1 Test-Driving the Welcome Application 2.2 Overview of the Visual Studio.NET 2003 IDE 2.3 Creating a Project for the
More informationCore Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items
(FFT_PIPE) Product Specification Dillon Engineering, Inc. 4974 Lincoln Drive Edina, MN USA, 55436 Phone: 952.836.2413 Fax: 952.927.6514 E mail: info@dilloneng.com URL: www.dilloneng.com Core Facts Documentation
More informationVivado Design Suite Tutorial. Model-Based DSP Design using System Generator
Vivado Design Suite Tutorial Model-Based DSP Design using System Generator Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use
More informationHDL Coding Style Xilinx, Inc. All Rights Reserved
HDL Coding Style Objective After completing this module, you will be able to: Select a proper coding style to create efficient FPGA designs Specify Xilinx resources that need to be instantiated for various
More informationXilinx System Generator v Xilinx Blockset Reference Guide. for Simulink. Introduction. Xilinx Blockset Overview.
Xilinx System Generator v1.0.1 for Simulink Introduction Xilinx Blockset Overview Blockset Elements Xilinx Blockset Reference Guide Printed in U.S.A. Xilinx System Generator v1.0.1 Reference Guide About
More informationSynthesis Options FPGA and ASIC Technology Comparison - 1
Synthesis Options Comparison - 1 2009 Xilinx, Inc. All Rights Reserved Welcome If you are new to FPGA design, this module will help you synthesize your design properly These synthesis techniques promote
More informationSystem Ace Tutorial 03/11/2008
System Ace Tutorial This is a basic System Ace tutorial that demonstrates two methods to produce a System ACE file; the use of the System Ace File Generator (GenACE) and through IMPACT. Also, the steps
More informationXilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006)
Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006) 1 Part1) Starting a new project Simple 3-to-8 Decoder Start the Xilinx
More informationPico Computing M501 PSP User Guide Linux Version 1.0.1
CoDeveloper Platform Support Package Pico Computing M501 PSP User Guide Linux Version 1.0.1 Impulse Accelerated Technologies, Inc. www.impulseaccelerated.com 1 1.0 Table of Contents 1.0 TABLE OF CONTENTS...
More information