pencil and rubber

Logo of Triple-A Level WCAG-1 Conformance, W3C-WAI Web Content Accessibility Guidelines 1.0

XHTML 1.0 Conformance Validation CSS 3 Conformance Validation
Logo of Department of Mathematics and Computer Science, Course on Dedicated systems, link to Forum

Introduction to design of hardware systems using FPGA

Tutorial 03 on Dedicated systems

Teacher: Giuseppe Scollo

University of Catania
Department of Mathematics and Computer Science
Graduate Course in Computer Science, 2016-17

Table of Contents

  1. Introduction to design of hardware systems using FPGA
  2. tutorial outline
  3. FPGA structure
  4. design workflow with FPGA
  5. automated synthesis on FPGA
  6. lab experience
  7. a Quartus II schematic for the Collatz delay datapath
  8. a Quartus II testbench for the Collatz delay datapath
  9. references

tutorial outline

this tutorial deals with:

FPGA structure

precursors: PLA, PAL, CPLD

typical FPGA constituents:

FPGA complex logic block

Wilson, Fig. 2.3 - FPGA complex logic block

configuration of the CLB in the figure:

  • logical function assignment to the look-up table (LUT)
  • combinational or synchronous operation
  • input to enable output driver

design workflow with FPGA

typical work sequence (not all steps are present in every design):

  1. RTL specification (schematic or HDL design)
  2. syntactic and static semantic analysis
    • correction of any errors, analysis reiteration
  3. RTL simulation
    • correction of any semantic errors, reiteration of analysis and simulation
  4. RTL synthesis
  5. timing analysis and clock adjustment
  6. physical synthesis

automated synthesis on FPGA

physical synthesis, which is automated by several analysis and optimization tools, is composed of various processes:

lab experience

it is possible to describe, simulate and synthesize hardware circuit models also without making use of an HDL, when a graphical editor is available for schematic design, together with adequate software tools

a Quartus II schematic for the Collatz delay datapath

schematic using library parameterized modules (lpm)

schematic using library parameterized modules (lpm)

a Quartus II testbench for the Collatz delay datapath

a testbench for the Collatz delay datapath

a testbench for the Collatz delay datapath