SDR Spring KOMSYS-F6: Programmable Digital Devices (FPGAs)

Size: px
Start display at page:

Download "SDR Spring KOMSYS-F6: Programmable Digital Devices (FPGAs)"

Transcription

1 SDR Spring 2006 KOMSYS-F6: Programmable Digital Devices (FPGAs) Lecture 4 Jan Hvolgaard Mikkelsen Aalborg University 2006 Agenda What was the story about VHDL? o Quick recap from Lecture 3. Illustration of three different options/approaches for doing the system design and the corresponding mapping to an actual FPGA implementation. o o o Traditional VHDL approach. CORE Generator approach. SYSTEM Generator approach. There should have been a few exercises but the software is still playing tricks on me. 2/51

2 VHDL Abstraction Level We have seen that different hardware description languages have different abstraction levels. VHDL offers a good compromise but for large designs hardcore VHDL programming becomes a very difficult task. Again you should remember that there exist other HDL options such as Handel-C and augmented C/C++. 3/51 VHDL Basic Structure The basic structure of VHDL is simple but even for relatively simple designs the code grows. We need an entity and an architecture to define each block. Remember that regardless of textual order the lines are executed according to prescribed timing requirements. For sequential vs. parallel processing we had to make use of a process call also. Within a process execution is sequential. library IEEE; use IEEE.std_logic_1164.all; entity full_adder is port(in1, in2, c_in : in std_logic; sum, c_out : out std_logic); end full_adder; architecture dataflow of full_adder is signal s1, s2, s3 : std_ulogic; constant gate_delay : Time := 5 ns; begin L1: s1 <= (in1 xor in2) after gate_delay; L2: s2 <= (c_in and s1) after gate_delay; L3: s3 <= (in1 and in2) after gate_delay; L4: sum <= (c_in xor s1) after gate_delay; L5: c_out <= (s2 or s3) after gate_delay; end dataflow; 4/51

3 VHDL Structural Description It was is easy to reuse entities and ensure just a minimum of efficiency in the code simply by using VHDLs build-in hierarchal structure. This way it is possible to form more complicated structures without adding significantly to the code. Full adder Module composition. Wiring of modules. Design hierarchy. Divide and Conquer. 5/51 VHDL Structural Description In VHDL this hierarchical approach is handled through the use of a component construct. The component construct defines which external blocks that are needed within the architecture construct of a higher level block. Make the half_adder module known using the component declaration. Module instantiation. Connect ports and signals. 6/51

4 VHDL Simulating the Code Once the code is ready and all module descriptions have been implemented we of course want to verify the implemented code. Here we need to remember that more than just a module description is needed since a complete stimulus file also is required. A net list is required to describe the wanted module. To simulate and verify the operation of the module a complete stimulus description is required to drive the actual simulation. 7/51 VHDL Testbed To ensure that the verification runs as expected it is necessary to build a simulation test bed in VHDL also. The testbed is solely for testing the functionality of the UUT and is as such not a synthesizable part of the VHDL description. The testbed instantiates the UUT. By doing so the testbed is responsible for generating all inputs. The testbed should also contain information that would enable it to verify the outputs. This is often done graphically and by manual inspection at least for implementation that are not all too complex. 8/51

5 VHDL A Simple Testbed Once the signals have been wired up the actual test signals need to be defined. Since the test signals normally have to represent time events a sequential definition is required and this calls for the use of the process construct. No sensitivity list is needed. In this example the two signals a and b are first set to zero and then a time relation is established. This goes on until the single and final wait statement is encountered. This causes a single-shot run. Without the wait statement the simulation would continue in a cyclic execution loop. With this VHDL wrapper testbed script it is possible to simulate the module behavior. 9/51 FPGA Design Flow Tools VHDL is a nice tool for implementing smaller modules but for large system designs the VHDL-only tasks becomes rather cumbersome. To ease the design task almost any FPGA producer has its own software tool to support the design task. These tools are constantly being refined and current tools offer very efficient design flows. Depending on the specific tool different options may be available. o Access to huge IP libraries with a vast selection of different standard blocks. o Integration with well known simulation tool such as MATLAB/Simulink. Lattice o ispvm System o isplever Development tools Xilinx (ISE) o CORE Generator (COREgen) o System Generator (SYSgen) Altera o Quartus 10/51

6 Exampel LATTICE Tool There are of course differences between the different tools but there are also a lot of similarities. The tools offer access to IP blocks. They may interface to MATLAB and Simulink. The compile, place and routes the designs. The tools also enable the designer to maintain a structured overview of the system design. 11/51 Xilinx CORE Generator Here we will focus on the hardware and software tools available from Xilinx. The first step is to introduce the CORE Generator (COREgen). However, first let us recapture the design flow for a typical VHDL flow. HDL Behavioral Implement your design using VHDL or Verilog Synthesis Functional Implementation Download Timing In-Circuit Verification Two sets of code are required. The HDL code and the verification code. 12/51

7 Xilinx CORE Generator First the VHDL code is written and then it is tested using behavioral simulations in a test bench set up as we have seen previously. Once the (ideal) functional test is completed more realism is added. HDL Behavioral Synthesis Implementation Functional Timing Synthesize the design to create an FPGA netlist Download In-Circuit Verification 13/51 Xilinx CORE Generator After place and route a hardware simulation is possible to do the final test before downloading the finished code to the hardware for one last actual HW test. The implementation may take minutes, hours or even days depending on system complexity. 1 2 GB RAM is often required for larger designs. HDL Synthesis Implementation Download Behavioral Functional Timing In-Circuit Verification If the timing simulation fails the HDL code may have to be modified (significantly). Translate, place and route, and generate a bitstream to download in the FPGA 14/51

8 Xilinx CORE Generator Design verification using the Xilinx CORE Generator is very similar but it offers some short-cuts to optimize the design process. The COREgen is introduced as an integrated part of the VHDL coding task HDL COREGen Behavioral Instantiate optimized IP within the HDL code Synthesis Functional Implementation Timing Download In-Circuit Verification 15/51 Xilinx CORE Generator Through the use of COREgen very compact logic may be produced since this has been optimized by Xilinx who has the complete details on the hardware platform. Another advantage is that the different parts of COREgen are already know by the software tool (ISE). HDL COREGen Behavioral If the timing simulation fails COREgen parameters are changed and updated code is incl. Synthesis Implementation Download Functional Timing In-Circuit Verification Synthesize, Implement, and Download the bitstream, similar to the original design flow 16/51

9 Xilinx CORE Generator A wide range of blocks are available through COREgen. DSP Functions Math Functions Memory Functions $P Additive White Gaussian Noise (AWGN) $P Reed Solomon $ 3GPP Turbo Code $P Viterbi Decoder P Convolution Encoder $P Interleaver/De-interleaver P LFSR P 1D DCT P 2D DCT P DA FIR P MAC P MAC-based FIR filter Fixed FFTs 16, 64, 256, 1024 points P FFT 16- to points P FFT - 32 Point P Sine Cosine Look-Up Tables $P Turbo Product Code (TPC) P Direct Digital Synthesizer P Cascaded Integrator Comb P Bit Correlator P Digital Down Converter P Multiplier Generator - Parallel Multiplier - Dyn Constant Coefficient Mult - Serial Sequential Multiplier - Multiplier Enhancements P Pipelined Divider P CORDIC Base Functions P Binary Decoder P Twos Complement P Shift Register RAM/FF P Gate modules P Multiplexer functions P Registers, FF & latch based P Adder/Subtractor P Accumulator P Comparator P Binary Counter P Asynchronous FIFO P Block Memory modules P Distributed Memory P Distributed Mem Enhance P Sync FIFO (SRL16) P Sync FIFO (Block RAM) P CAM (SRL16) P CAM (Block RAM) IP CENTER Key: $ = License Fee, P = Parameterized (scalable), S = Project License Available, BOLD = Available in the Xilinx Blockset for the System Generator for DSP 17/51 Xilinx CORE Generator Illustration of the COREgen interface. COREgen is the delivery vehicle for IP blocks from Xilinx and other partners. Fully Parameterizable List of available IP from or 18/51

10 Xilinx CORE Generator Exercise 1: 1: Generating a MAC You will be generating the Multiply and Accumulate (MAC) using three different methods o Using VHDL and the Xilinx CORE Generator (Lecture 4). o Using the Xilinx System Generator (Lecture 5). You will compare the implementation procedures and contrast the design methodologies. You will compare the implementation results. 19/51 Xilinx CORE Generator Exercise 1: 1: Tasks and and Objectives Creating a MAC using a combination of VHDL and CORE Generator. Become familiar with the HDL and CORE Generator design flows which includes: Coding a piece of HDL. Generating CORE Generator macros. Instantiating the macros in HDL. Synthesizing a design using Xilinx XST. Implementation using Xiling ISE tools. Performing an on-chip verification with Chipscope-Pro. 20/51

11 Industry trends. o Trend towards platform chips (both FPGA and DPS) which leads to more complexity. o Highly flexible systems are required to meet many design tasks. o Challenges in modeling and implementing entire platforms. System design challenges. o Leveraging legacy HDL code. o Modeling and implementing control logic and data paths. o No experts exists that can cover all facets of a complete system design. It is therefore that we all strive for tools that have a high user abstraction level but where all the produced hardware/software is highly optimized. MATLAB represents one example of such a high-level tool where a huge number of specialized functions have been implemented and optimized over time. 21/51 The MathWorks has been developing system design tools since MATLAB is probably the most popular system design tool among engineers. It is in principle a programming language that offers an interpreter and a modeling environment. It offers extensive libraries for math functions, signal processing, DSP, communications, and much more. Visualization: large array of functions to plot and visualize your data and system/design. Open architecture: software model based on base system and domain-specific plugins. More information on The MathWorks and MATLAB is available at 22/51

12 Example on the use of MATLAB for some signal processing. Here the frequency content of an input sound file is illustrated. Very simple job and even simpler visualizations. This METLAB example takes 1min. to implement but the same in an FPGA would take days to implement if from scratch. 23/51 Simulink - Visual data flow environment for modeling and simulation of dynamical systems. Simulink is fully integrated with the MATLAB engine. MATLAB code may be invoked from within Simulink. It has a graphical block editor which corresponds nicely with the fact that most hardware design starts out as block diagrams. Event-driven simulator It models parallelism/concurrency which is fundamental for implementation of highperformance hardware. There is an extensive library of parameterizable functions available. o Simulink Blockset - math, sinks, sources. o o DSP Blockset - filters, transforms, etc. Communications Blockset - modulation, DPCM, etc. 24/51

13 An example of the use of SIMULINK for a signal processing application. Here a real time frequency response from a microphone is illustrated. This emphasizes the dynamic nature of Simulink. 25/51 Traditionally there has been a gab between the system designer working in MATLAB/SIMULINK and the hardware designer that would have to implement the actual design. System Architect System Verification GAP Simulink FPGA Designer HDL Synthesis Functional Verify Equivalence Implementation Timing Download In-Circuit Verification 26/51

14 This gab is where the SYSTEM Generator tool from Xilinx comes into the picture. Industry s system-level design environment (IDE) for FPGAs. o o Integrated design flow from Simulink to bit file. Leverages existing technologies. Matlab/Simulink R13.1 or R14 from The MathWorks HDL synthesis IP Core libraries FPGA implementation tools Simulink library of arithmetic, logic operators and DSP functions (Xilinx Blockset). o Currently more than 61 different blocks are available and around 30 logicores are targeted. o Nine categories; Basic elements, Communications, Control logic, Data types, DSP, Index, Math, Memory, Tools. o Bit and cycle true to FPGA implementation. o Each block is bit and cycle true. Arithmetic abstraction o Arbitrary precision fixed-point, including quantization and overflow o of double precision as well as fixed point 27/51 The SYSTEM Generator offers support for all Xilinx FPGA platforms. It specifically offers VHDL code generation for Virtex-4, Virtex-II Pro, Virtex -II, Virtex -E, Virtex, Spartan -3, Spartan -IIE and Spartan -II devices. o Hardware expansion and mapping o Synthesizable VHDL with model hierarchy preserved o Mixed language support for Verilog o Automatic invocation of CORE Generator to utilize IP cores o ISE project generation to simplify the design flow o HDL testbench and test vector generation o Constraint file (.xcf), simulation.do files generation o HDL Co- via HDL C- Verification acceleration using Hardware in the Loop. 28/51

15 The System Generator provides a convenient way to perform HDL co-simulation and Hardware in the loop simulation using Black Box block. The black box can be used to incorporate hardware description language (HDL) models into System Generator. 29/51 It is possible to use only Xilinx System Generator s blocks in the design and generate a synthesizable design which can be implemented using Xilinx ISE s Project Navigator. No user defined blocks are included. It is a quick way to design a system. MATLAB/Simulink HDL System Generator System Verification Synthesis Functional Implementation Timing Download In-Circuit Verification Option 1. 30/51

16 Another approach, typically used for HDL co-simulation, is to use black box and include user VHDL code or 3 rd party IP cores along with Xilinx System Generator blocks. The Xilinx simulator, ModelSim, may also be invoked and asked to parse results back to Simulink. MATLAB/Simulink HDL System Generator Synthesis System Verification Functional Files Used Configuration file VHDL IP Constraints File Implementation Timing HDL-Co Download In-Circuit Verification Option 2. 31/51 For Hardware in the Loop verification a 3rd option is possible. Here a synthesizable design is produced and used to generate a configuration bit file that is downloaded to the hardware. The HW response is then included in the Simulink simulation. MATLAB/Simulink HDL System Generator Synthesis System Verification Functional Files Used Configuration file VHDL IP Constraints File Implementation Timing Download In-Circuit Verification Option 3. 32/51

17 The use of the SYSTEM Generator is very simple. First the Simulink library browser needs to be invoked. To open the Simulink library browser, simply click the Simulink library browser button or type Simulink in MATLAB console. The library browser contains all the blocks that are available to designer. Start a new design by clicking the new sheet button. With the System Generator installed there will be some Xilinx folders available. These blocks contain all the required functionality to emulate the hardware performance finite resolution fx. Blocks capable of producing VHDL code based on the Simulink setup are also available. 33/51 Build the design by dragging and dropping blocks from the Xilinx blockset onto your new sheet. Design Entry is similar to a schematic editor. Connect up blocks by pulling the arrows on the sides of each block 34/51

18 Use the Find feature to search ALL Simulink libraries. Xilinx blockset has nine major sections. o Basic elements Counters, delays o Communication Error correction blocks o Control Logic MCode, Black Box o Data Types Convert, Slice o DSP FDATool, FFT, FIR o Index All Xilinx blocks quick way to view all blocks o Math Multiply, accumulate, inverter o Memory Dual Port RAM, Single Port RAM o Tools ModelSim, Resource Estimator 35/51 Double-click or go to Block Parameters to view a block s configurable parameters. o Arithmetic Type: Unsigned or twos complement o Implement with Xilinx Smart-IP Core (if possible)/ Generate Core o Latency: Specify the delay through the block o Overflow and Quantization: Users can saturate or wrap overflow. Truncate or Round Quantization o Override with Doubles: only o Precision: Full or the user can define the number of bits and where the decimal point is for the block o Sample Period: Can be inherent with a -1 or must be an integer value Note: While all parameters can be simulated, not all are realizable. 36/51

19 You can also enter equations in the block parameters, which can aid calculation and your own understanding of the model parameters The equations are calculated at the beginning of a simulation Useful MATLAB operators o + add o - subtract o * multiply o / divide o ^ power o π pi ( ) o exp(x) exponential (ex) 37/51 THE NUMBERS GAME. Simulink uses a double to represent numbers in a simulation. A double is a 64-bit twos complement floating point number. Because the binary point can move, a double can represent any number between +/ x with a resolution of 1.08 x a wide and very desirable range, but not efficient or realistic for FPGAs. Xilinx Blockset uses n-bit fixed point number (twos complement optional) Value = Format = Fix_16_13 Integer Fraction (Sign: Fix = Signed Value Format = Sign_Width_Decimal point from the LSB UFix = Unsigned value) Design Hint: Always try to maximize the dynamic range of design by using only the required number of bits Thus, a conversion is required when communicating with Xilinx blocks with Simulink blocks (Xilinx blockset MATLAB I/O Gateway In/Out) /51

20 AND THE OTHER BITS? The Gateway In and Out blocks support parameters to control the conversion from double precision to N - bit fixed point precision DOUBLE OVERFLOW -Wrap - Saturate - Flag Error FIX_12_9 QUANTIZATION - Truncate - Round 39/51 The Xilinx Blockset also uses the type Boolean for control ports like CE and RESET. The Boolean type is a variant on the 1-bit unsigned number in that it will always be defined (High or Low). A 1-bit unsigned number can become invalid; a Boolean type cannot. 40/51

21 Fractional numbers. Using the technique shown, convert the following fractional values Define the format of the following twos complement binary fraction and calculate the value it represents Format = < > Value = What format should be used to represent a signal that has: a) Max value: +1 Min value: -1 Quantized to 12 bit data b) Max value: 0.8 Min value: 0.2 Quantized to 10 bit data c) Max value: 278 Min value: -138 Quantized to 11 bit data Format = < > Format = < > Format = < > Fill in the table: Operation <Fix_12_9> + <Fix_8_3> <Fix_8_7> x <Ufix_8_6> Full Precision Output Type 41/51 A System Generator design consists of distinct sections. Some that are hardware realizable, some gateway functions and finally some sources and sinks. I/O blocks used as interface between the Xilinx Blockset and other Simulink blocks Blue: HW Yellow: fix point Green: support Simulink sources SysGen blocks realizable in Hardware Simulink sinks and library functions 42/51

22 The sample period specification is very important. Every SysGen signal must be sampled ; transitions occur at equidistant discrete points in time called sample times. Each block in a Simulink design has a Sample Period and it corresponds to how often that block s function is calculated and the results outputted. This sample period must be set explicitly for: Gateway in. Blocks w/o inputs (note: constants are idiosyncratic). Sample period can be derived from input sample times for other blocks. A sample period of 0 equates to an analog signal. This is not supported by Xilinx blocks. A sample period of -1 means that the block inherits the sampling frequency of the data input. An example of Blocks w/o inputs: counters. 43/51 The units of the sample period can be thought of as arbitrary, BUT a lot of Simulink source blocks do have an essence of time. o For example, a sample period of 1/44100 means the block s function will be executed every 1/44100 of a sec. Remember Nyquist Theorem (Fs 2f max ) when setting sample periods. The sample period of a block DIRECTLY relates to how that block will be clocked in the actual hardware. 44/51

23 The Simulink System Period MUST be set in the System Generator token. For single rate systems it will be the same as the Sample Periods set in the design. More on Multi Rate designs later Sample Period = 1 45/51 Master Controls Slave Controls Simulink System Period MUST be set correctly for simulation to work 46/51

24 Click Properties to change the number of axes displayed and the time range value (X-axis) Use the Data History tab to control how many values are stored and displayed on the scope o Also can direct output to workspace Click Autoscale to quickly let the tools configure the display to the correct axis values Right-click on the Y-axis to set its value 47/51 Push play to simulate the design. Go to Parameters under the menu to control the length of simulations 48/51

25 Full VHDL/Verilog (Instantiating Primitives) o o Advantages: Full access to all architecture features Carry on further with optimization Best optimization Disadvantages: Not as portable as RTL VHDL/Verilog Must be an FPGA expert and know the architecture Time-consuming 49/51 CORE Generator o Advantages o Can quickly access and generate existing functions No need to reinvent the wheel and re-design a block if it meets specifications IP is optimized for the specified architecture Disadvantages IP doesn t always do exactly what you are looking for Need to understand signals and parameters and match them to your specification Dealing with black box and have little information on how the function is implemented 50/51

26 System Generator for DSP o Advantages o Huge productivity gains through high-level modeling Ability to simulate the complete designs at a system level Very attractive for FPGA novices Excellent capabilities for designing complex testbenches HDL Testbench, test vector and golden data written automatically Hardware in the loop simulation improves productivity and provides quick verification of the system functioning correctly or not Disadvantages Minor cost of abstraction: doesn t always give the best result from an area usage point of view Customer may not be familiar with Simulink Not well suited to multiple clock designs No bi-directional bus supported 51/51

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

Basic 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 information

Introduction to DSP/FPGA Programming Using MATLAB Simulink

Introduction to DSP/FPGA Programming Using MATLAB Simulink دوازدهمين سمينار ساليانه دانشكده مهندسي برق فناوری های الکترونيک قدرت اسفند 93 Introduction to DSP/FPGA Programming Using MATLAB Simulink By: Dr. M.R. Zolghadri Dr. M. Shahbazi N. Noroozi 2 Table of main

More information

Intro to System Generator. Objectives. After completing this module, you will be able to:

Intro to System Generator. Objectives. After completing this module, you will be able to: Intro to System Generator This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Explain why there is a need for an integrated

More information

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering Winter/Summer Training Level 2 continues. 3 rd Year 4 th Year FIG-3 Level 1 (Basic & Mandatory) & Level 1.1 and

More information

Objectives. After completing this module, you will be able to:

Objectives. 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 information

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs New Directions in Programming FPGAs for DSP Dr. Jim Hwang Xilinx, Inc. Agenda Introduction FPGA DSP platforms Design challenges New programming models for FPGAs System Generator Getting your math into

More information

Objectives. Simulink Basics

Objectives. Simulink Basics Simulink Basics This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe Simulink environment List some of the commonly

More information

Xilinx System Generator v Xilinx Blockset Reference Guide. for Simulink. Introduction. Xilinx Blockset Overview.

Xilinx 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 information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information

Vivado Design Suite Tutorial. Model-Based DSP Design using System Generator

Vivado 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 information

Modeling and implementation of dsp fpga solutions

Modeling and implementation of dsp fpga solutions See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/228877179 Modeling and implementation of dsp fpga solutions Article CITATIONS 9 READS 57 4

More information

Tutorial - 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 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 information

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN Xiaoying Li 1 Fuming Sun 2 Enhua Wu 1, 3 1 University of Macau, Macao, China 2 University of Science and Technology Beijing, Beijing, China

More information

Design and Verification of FPGA Applications

Design and Verification of FPGA Applications Design and Verification of FPGA Applications Giuseppe Ridinò Paola Vallauri MathWorks giuseppe.ridino@mathworks.it paola.vallauri@mathworks.it Torino, 19 Maggio 2016, INAF 2016 The MathWorks, Inc. 1 Agenda

More information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Verilog for High Performance

Verilog 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 information

Simulink Design Environment

Simulink Design Environment EE219A Spring 2008 Special Topics in Circuits and Signal Processing Lecture 4 Simulink Design Environment Dejan Markovic dejan@ee.ucla.edu Announcements Class wiki Material being constantly updated Please

More information

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks 2014 The MathWorks, Inc. 1 Traditional Implementation Workflow: Challenges Algorithm Development

More information

AC : INCORPORATING SYSTEM-LEVEL DESIGN TOOLS INTO UPPER-LEVEL DIGITAL DESIGN AND CAPSTONE COURSES

AC : INCORPORATING SYSTEM-LEVEL DESIGN TOOLS INTO UPPER-LEVEL DIGITAL DESIGN AND CAPSTONE COURSES AC 2007-2290: ICORPORATIG SYSTEM-LEVEL DESIG TOOLS ITO UPPER-LEVEL DIGITAL DESIG AD CAPSTOE COURSES Wagdy Mahmoud, University of the District of Columbia IEEE Senior Member American Society for Engineering

More information

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers

More information

ISE Design Suite Software Manuals and Help

ISE 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 information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Model-Based DSP Design using System Generator Revision History The following table shows the revision history for this document. Date Version Revision 04/02/2014 2014.1 More

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping

More information

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio Hardware Implementation and Verification by -Based Design Workflow - Communication s to FPGA-based Radio Katsuhisa Shibata Industry Marketing MathWorks Japan 2015 The MathWorks, Inc. 1 Agenda Challenges

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

Introduction to C and HDL Code Generation from MATLAB

Introduction to C and HDL Code Generation from MATLAB Introduction to C and HDL Code Generation from MATLAB 이웅재차장 Senior Application Engineer 2012 The MathWorks, Inc. 1 Algorithm Development Process Requirements Research & Design Explore and discover Design

More information

OUTLINE RTL DESIGN WITH ARX

OUTLINE RTL DESIGN WITH ARX 1 2 RTL DESIGN WITH ARX IMPLEMENTATION OF DIGITAL SIGNAL PROCESSING Sabih H. Gerez University of Twente OUTLINE Design languages Arx motivation and alternatives Main features of Arx Arx language elements

More information

Optimize DSP Designs and Code using Fixed-Point Designer

Optimize DSP Designs and Code using Fixed-Point Designer Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview

More information

C-Based Hardware Design

C-Based Hardware Design LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples

More information

Concurrent Signal Assignment Statements (CSAs)

Concurrent Signal Assignment Statements (CSAs) Concurrent Signal Assignment Statements (CSAs) Digital systems operate with concurrent signals Signals are assigned values at a specific point in time. VHDL uses signal assignment statements Specify value

More information

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA Session One Outline Introducing VHDL

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

Parallel FIR Filters. Chapter 5

Parallel FIR Filters. Chapter 5 Chapter 5 Parallel FIR Filters This chapter describes the implementation of high-performance, parallel, full-precision FIR filters using the DSP48 slice in a Virtex-4 device. ecause the Virtex-4 architecture

More information

DSP Builder User Guide

DSP Builder User Guide DSP Builder User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com Software Version: 7.2 SP1 Document Date: December 2007 Copyright 2007 Altera Corporation. All rights reserved. Altera, The

More information

Lab 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 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 information

Xilinx Schematic Entry Tutorial

Xilinx Schematic Entry Tutorial Overview Xilinx Schematic Entry Tutorial Xilinx ISE Schematic Entry & Modelsim Simulation What is circuit simulation and why is it important? Complex designs, short design cycle Simultaneous system design

More information

Chapter 6 Combinational-Circuit Building Blocks

Chapter 6 Combinational-Circuit Building Blocks Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer

More information

ALTERA FPGA Design Using Verilog

ALTERA FPGA Design Using Verilog ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention

More information

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use

More information

VHX - Xilinx - FPGA Programming in VHDL

VHX - Xilinx - FPGA Programming in VHDL Training Xilinx - FPGA Programming in VHDL: This course explains how to design with VHDL on Xilinx FPGAs using ISE Design Suite - Programming: Logique Programmable VHX - Xilinx - FPGA Programming in VHDL

More information

Modeling a 4G LTE System in MATLAB

Modeling a 4G LTE System in MATLAB Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL 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 information

Hardware description languages

Hardware description languages Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware

More information

Accelerating FPGA/ASIC Design and Verification

Accelerating FPGA/ASIC Design and Verification Accelerating FPGA/ASIC Design and Verification Tabrez Khan Senior Application Engineer Vidya Viswanathan Application Engineer 2015 The MathWorks, Inc. 1 Agenda Challeges with Traditional Implementation

More information

Getting Started with Xilinx WebPack 13.1

Getting Started with Xilinx WebPack 13.1 Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

More information

An Efficient Implementation of Floating Point Multiplier

An Efficient Implementation of Floating Point Multiplier An Efficient Implementation of Floating Point Multiplier Mohamed Al-Ashrafy Mentor Graphics Mohamed_Samy@Mentor.com Ashraf Salem Mentor Graphics Ashraf_Salem@Mentor.com Wagdy Anis Communications and Electronics

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

I 3 I 2. ! Language of logic design  Logic optimization, state, timing, CAD tools Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring

More information

FPGAs: FAST TRACK TO DSP

FPGAs: FAST TRACK TO DSP FPGAs: FAST TRACK TO DSP Revised February 2009 ABSRACT: Given the prevalence of digital signal processing in a variety of industry segments, several implementation solutions are available depending on

More information

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx 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 information

Cover TBD. intel Quartus prime Design software

Cover TBD. intel Quartus prime Design software Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Field Programmable Gate Array (FPGA)

Field 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 information

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger

More information

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer

More information

Hardware Description Language VHDL (1) Introduction

Hardware Description Language VHDL (1) Introduction Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for

More information

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog

2IN35 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 information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

Lecture 4. VHDL Fundamentals. George Mason University

Lecture 4. VHDL Fundamentals. George Mason University Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

Verilog Essentials Simulation & Synthesis

Verilog Essentials Simulation & Synthesis Verilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using Verilog standard language.

More information

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of

More information

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

More information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

CHAPTER-IV IMPLEMENTATION AND ANALYSIS OF FPGA-BASED DESIGN OF 32-BIT FPAU

CHAPTER-IV IMPLEMENTATION AND ANALYSIS OF FPGA-BASED DESIGN OF 32-BIT FPAU CHAPTER-IV IMPLEMENTATION AND ANALYSIS OF FPGA-BASED DESIGN OF 32-BIT FPAU The design of 32 bit FPAU using VHDL presented in chapter III needs to be further implemented and tested on FPGA platform and

More information

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications Abstract: Rapid prototyping has become an important means to verify the performance and feasibility of algorithms and

More information

Experiment 3. Digital Circuit Prototyping Using FPGAs

Experiment 3. Digital Circuit Prototyping Using FPGAs Experiment 3. Digital Circuit Prototyping Using FPGAs Masud ul Hasan Muhammad Elrabaa Ahmad Khayyat Version 151, 11 September 2015 Table of Contents 1. Objectives 2. Materials Required 3. Background 3.1.

More information

MATLAB AND MODELSIM LINKING

MATLAB AND MODELSIM LINKING MATLAB AND MODELSIM LINKING DR.S.S.Limaye Introduction: MATLAB is powerful software package for mathematical simulation, especially when signals are represented in an abstract i.e. mathematical form. When

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.

More information

ibob ADC Tutorial CASPER Reference Design

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 information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2

More information

Chapter 2 Basic Logic Circuits and VHDL Description

Chapter 2 Basic Logic Circuits and VHDL Description Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.

More information

EE 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 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 information

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

FPGA Implementation and Validation of the Asynchronous Array of simple Processors FPGA Implementation and Validation of the Asynchronous Array of simple Processors Jeremy W. Webb VLSI Computation Laboratory Department of ECE University of California, Davis One Shields Avenue Davis,

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

FPGA 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 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 information

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1 Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The

More information

Cover TBD. intel Quartus prime Design software

Cover TBD. intel Quartus prime Design software Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a

More information

Lecture 5: Aldec Active-HDL Simulator

Lecture 5: Aldec Active-HDL Simulator Lecture 5: Aldec Active-HDL Simulator 1. Objective The objective of this tutorial is to introduce you to Aldec s Active-HDL 9.1 Student Edition simulator by performing the following tasks on a 4-bit adder

More information

81920**slide. 1Developing the Accelerator Using HLS

81920**slide. 1Developing the Accelerator Using HLS 81920**slide - 1Developing the Accelerator Using HLS - 82038**slide Objectives After completing this module, you will be able to: Describe the high-level synthesis flow Describe the capabilities of the

More information

Digital Design Laboratory Lecture 2

Digital Design Laboratory Lecture 2 ECE 280 / CSE 280 Digital Design Laboratory Lecture 2 Adder Design Basic building block is a full adder Chained together as a ripple carry adder Carry lookahead adder is an other option Propagate and generate

More information

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling

More information

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING 1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation

More information

EEL 4783: Hardware/Software Co-design with FPGAs

EEL 4783: Hardware/Software Co-design with FPGAs EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description

More information

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1 HIERARCHICAL DESIGN Chapter 13 1 Outline 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design Outline HIERARCHICAL DESIGN 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 1 Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN STRATEGIES & TOOLS UTILIZED CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The

More information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction

More information