SlideShare uma empresa Scribd logo
1 de 8
Lab 3:
  Embedding VHDL code in a Xilinx Spartan 3E VI




Keywords: LabVIEW, LabVIEW FPGA, Xilinx SPARTAN3E Starter Kit,
VHDL, Even Parity.




Vincent Claes                2008                   Vincent Claes
Introduction
Welcome to Lab3 in the serie of programming a SPARTAN3E
Starter Kit by use of LabVIEW FPGA. These labs are created by
Vincent Claes. If you encounter problems using this labs or
want some advice/consultancy on LabVIEW and especially LabVIEW
FPGA you can always contact the author.

These labs are free to use however to show respect to the
author please email him when you use them with your contact
details (feedback is also welcome).

Contact Information:
Vincent Claes
claesvincent@gmail.com
http://www.linkedin.com/in/vincentclaes

Software Requirements:
   • LabVIEW 8.5 or above
   • LabVIEW 8.5 FPGA module
   • XUP Spartan3E starter board: download for free from:
     https://lumen.ni.com/nicif/us/infolvfpgaxilsprtn/content.
     xhtml

Hardware Requirements:
  • Xilinx Spartan3E Starter kit:
     http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-
     G.htm
  • User manual:
     www.xilinx.com/support/documentation/boards_and_kits/ug23
     0.pdf



Getting Started
When you want to use this labs you have to setup your board.
This labs are written for the Xilinx SPARTAN3E Starter Kit so
it is quite interesting to read the user manual of the board.
Be sure to plug in the USB cable, plug in the Power cord and
Switch the board on before starting the lab.




Vincent Claes                2008                    Vincent Claes
Step 1: Adding the FPGA I/O to
your LabVIEW FPGA Project
The first things we have skipped because it is the same as in
Lab 1 & Lab 2. Try to setup yourself an LabVIEW FPGA project
for the Xilinx Spartan3E starter board. When you reach the
step where you have to add FPGA I/O to the FPGA Project add
the “SW0”, “SW1”, “SW2”, “SW3” and “LED0” I/O pins.




In this lab we are going to create a parity checker. We will
put “LED0” of the Spartan3E Starter board on when the input of
the checker system (by use of “SW0”, “SW1”, “SW2” and “SW3”)
has even bits.



Step 2: Creating the VI.
Do a “right mouse click” on the “FPGA Target” in the “Project
Explorer”. From the pull down menu select “New” >> “VI”.

Name it “FPGA_VI_VHDL”.




On the “block diagram” of this vi you have to put a “Timed
Loop”.

Vincent Claes                2008                   Vincent Claes
In this “Timed Loop” you have to place a “HDL Interface Node”.




Now double click the “HDL Node”; you will get the following
screen:




In the first screen try to add the following 2 parameters:
     “inp” with direction “in”, type “TF[]” and Length “4”.
     “outp” with direction “out” type “TF”.


Vincent Claes                2008                    Vincent Claes
In the code screen replace “hdlnode” (name of the entity) to
“even_parity”.

The field below “architecture implementation of even_parity
is” has to been filled with the following VHDL rule:
      signal s1, s2, s3, s4, s5, s6, s7, s8: std_logic;


The field below the VHDL keyword “begin” has to been filled
with the following VHDL code:
      outp(0)<=((s1 or s2) or (s3 or s4)) or ((s5 or s6) or (s7 or s8));
      s1       <=(not inp(3)) and (not inp(2)) and (not inp(1)) and (not inp(0));
      s2       <=(not inp(3)) and (not inp(2)) and inp(1) and inp(0);
      s3       <=(not inp(3)) and inp(2) and (not inp(1)) and inp(0);
      s4       <=(not inp(3)) and inp(2) and inp(1) and (not inp(0));
      s5       <=inp(3) and (not inp(2)) and (not inp(1)) and inp(0);
      s6       <=inp(3) and (not inp(2)) and inp(1) and (not inp(0));
      s7       <=inp(3) and inp(2) and (not inp(1)) and (not inp(0));
      s8       <=inp(3) and inp(2) and inp(1) and inp(0);
      enable_out<='1';


This is a very simple VHDL program to show you how you can add
VHDL code to your Spartan3E LabVIEW FPGA project.

In the tab “Execution Control” check the option “Single-Cycle
Timed Loop Allowed” and click the “OK” button.




Vincent Claes                              2008                               Vincent Claes
Now place two “FPGA I/O Node’s” on the block diagram of your
vi. Build an array with “SW0”, “SW1”, “SW2” and “SW3” as
inputs. Connect the output of this “build array” function to
the input of the “HDLNode” called “inp”. Connect now “LED0” to
“outp” of the “HDLNode”.




Vincent Claes                2008                   Vincent Claes
Step 3: Running the VI.
Now go to the “Project Explorer”. Right mouse click on “FPGA
Target” then select “Properties”.




Be sure to check in this window “Run when loaded to FPGA”
before compiling the vi.

Go back to “Project Explorer”. Do a right mouse click on
“FPGA_VI_VHDL”. Select Compiler and let the LabVIEW FPGA code
compile.

When the compilation completed go to “Project Explorer” and do
a right mouse click on “FPGA_VI_VHDL” and select “Download VI
to Flash Memory”




Vincent Claes                2008                   Vincent Claes
When the download completed push the “reset” button on the
Xilinx Spartan3E board and the application should run.




Enjoy.

Vincent Claes
XIOS Hogeschool Limburg
Department of Industrial Sciences and Technology
Universitaire Campus - Agoralaan – Gebouw H
B-3590 Diepenbeek
Belgium
vincent.claes@xios.be
tel.:    +32 11 26 00 39
fax:     +32 11 26 00 54
mobile: +32 478 35 38 49




Vincent Claes                2008                  Vincent Claes

Mais conteúdo relacionado

Destaque

Let's check correction
Let's check correctionLet's check correction
Let's check correctionNeus Puig
 
Roy pea lpch_06_10_10
Roy pea lpch_06_10_10Roy pea lpch_06_10_10
Roy pea lpch_06_10_10Roy Pea
 
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTS
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTSPERSONALIZATION IN SENSOR-RICH ENVIRONMENTS
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTSMartha Russell
 
Tutorials book
Tutorials bookTutorials book
Tutorials bookifteee
 
Spartan 3E FPGA Board Tutoriels
Spartan 3E FPGA Board TutorielsSpartan 3E FPGA Board Tutoriels
Spartan 3E FPGA Board TutorielsAymen Lachkhem
 
Ieee vlsi titles 2012 copmlete
Ieee vlsi titles 2012 copmleteIeee vlsi titles 2012 copmlete
Ieee vlsi titles 2012 copmletetema_solution
 
Presentation fpgakit
Presentation fpgakitPresentation fpgakit
Presentation fpgakitaroosa khan
 
Design and Implementation of AMBA ASB APB Bridge
Design and Implementation of AMBA ASB APB BridgeDesign and Implementation of AMBA ASB APB Bridge
Design and Implementation of AMBA ASB APB BridgeManu BN
 
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)Dave McClure
 
Introduction to Communication Systems 2
Introduction to Communication Systems 2Introduction to Communication Systems 2
Introduction to Communication Systems 2slmnsvn
 
Chuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phoChuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phothanhyu
 
Logic design and switching theory
Logic design and switching theoryLogic design and switching theory
Logic design and switching theoryjomerson remorosa
 
Introduction to Fourier transform and signal analysis
Introduction to Fourier transform and signal analysisIntroduction to Fourier transform and signal analysis
Introduction to Fourier transform and signal analysis宗翰 謝
 
Fourier series example
Fourier series exampleFourier series example
Fourier series exampleAbi finni
 
Wireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation ApproachWireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation ApproachJayamohan Govindaraj
 
Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabPolytechnique Montreal
 

Destaque (20)

Let's check correction
Let's check correctionLet's check correction
Let's check correction
 
Roy pea lpch_06_10_10
Roy pea lpch_06_10_10Roy pea lpch_06_10_10
Roy pea lpch_06_10_10
 
Dsp Presentation
Dsp PresentationDsp Presentation
Dsp Presentation
 
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTS
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTSPERSONALIZATION IN SENSOR-RICH ENVIRONMENTS
PERSONALIZATION IN SENSOR-RICH ENVIRONMENTS
 
Tutorials book
Tutorials bookTutorials book
Tutorials book
 
Spartan 3E FPGA Board Tutoriels
Spartan 3E FPGA Board TutorielsSpartan 3E FPGA Board Tutoriels
Spartan 3E FPGA Board Tutoriels
 
Ieee vlsi titles 2012 copmlete
Ieee vlsi titles 2012 copmleteIeee vlsi titles 2012 copmlete
Ieee vlsi titles 2012 copmlete
 
Presentation fpgakit
Presentation fpgakitPresentation fpgakit
Presentation fpgakit
 
Design and Implementation of AMBA ASB APB Bridge
Design and Implementation of AMBA ASB APB BridgeDesign and Implementation of AMBA ASB APB Bridge
Design and Implementation of AMBA ASB APB Bridge
 
Smart Workspaces
Smart WorkspacesSmart Workspaces
Smart Workspaces
 
SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 
Sodc 1 Introduction
Sodc 1 IntroductionSodc 1 Introduction
Sodc 1 Introduction
 
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)
10 Million in 10 Weeks (Stanford Facebook Class, Fall 2007)
 
Introduction to Communication Systems 2
Introduction to Communication Systems 2Introduction to Communication Systems 2
Introduction to Communication Systems 2
 
Chuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va phoChuong 4.1 tin hieu va pho
Chuong 4.1 tin hieu va pho
 
Logic design and switching theory
Logic design and switching theoryLogic design and switching theory
Logic design and switching theory
 
Introduction to Fourier transform and signal analysis
Introduction to Fourier transform and signal analysisIntroduction to Fourier transform and signal analysis
Introduction to Fourier transform and signal analysis
 
Fourier series example
Fourier series exampleFourier series example
Fourier series example
 
Wireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation ApproachWireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation Approach
 
Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using Matlab
 

Semelhante a Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board

Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardLab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardVincent Claes
 
From front-end to the hardware
From front-end to the hardwareFrom front-end to the hardware
From front-end to the hardwareHenri Cavalcante
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the ArduinoCharles A B Jr
 
Graphical System On Chip with LabVIEW
Graphical System On Chip with LabVIEWGraphical System On Chip with LabVIEW
Graphical System On Chip with LabVIEWVincent Claes
 
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
AdaCore Paris Tech Day 2016: Eric Perlade - Verification SolutionsAdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutionsjamieayre
 
Verilog overview
Verilog overviewVerilog overview
Verilog overviewposdege
 
Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopSlawomir Jasek
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Windows Developer
 
Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10stemplar
 
Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Dobrica Pavlinušić
 
arduino
arduinoarduino
arduinomurbz
 
iExec V3 Dev Edition - EthCC Workshop - March 2019 - Paris
iExec V3 Dev Edition - EthCC Workshop - March 2019 - ParisiExec V3 Dev Edition - EthCC Workshop - March 2019 - Paris
iExec V3 Dev Edition - EthCC Workshop - March 2019 - ParisiExec
 

Semelhante a Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board (20)

Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter boardLab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
Lab: Installation of Xilkernel on Xilinx Spartan 3E Starter board
 
From front-end to the hardware
From front-end to the hardwareFrom front-end to the hardware
From front-end to the hardware
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
 
Graphical System On Chip with LabVIEW
Graphical System On Chip with LabVIEWGraphical System On Chip with LabVIEW
Graphical System On Chip with LabVIEW
 
Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
 
Os Selbak
Os SelbakOs Selbak
Os Selbak
 
OpenCV acceleration battle:OpenCL on Firefly-RK3288(MALI-T764) vs. FPGA on Ze...
OpenCV acceleration battle:OpenCL on Firefly-RK3288(MALI-T764) vs. FPGA on Ze...OpenCV acceleration battle:OpenCL on Firefly-RK3288(MALI-T764) vs. FPGA on Ze...
OpenCV acceleration battle:OpenCL on Firefly-RK3288(MALI-T764) vs. FPGA on Ze...
 
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
AdaCore Paris Tech Day 2016: Eric Perlade - Verification SolutionsAdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
 
Verilog overview
Verilog overviewVerilog overview
Verilog overview
 
Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshop
 
VLSI lab manual
VLSI lab manualVLSI lab manual
VLSI lab manual
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
 
Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10Ardx eg-spar-web-rev10
Ardx eg-spar-web-rev10
 
PIC Axe049(print34)
PIC Axe049(print34)PIC Axe049(print34)
PIC Axe049(print34)
 
Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !
 
Intel galileo
Intel galileoIntel galileo
Intel galileo
 
Programming the PS3
Programming the PS3Programming the PS3
Programming the PS3
 
Esp8266 v12
Esp8266 v12Esp8266 v12
Esp8266 v12
 
arduino
arduinoarduino
arduino
 
iExec V3 Dev Edition - EthCC Workshop - March 2019 - Paris
iExec V3 Dev Edition - EthCC Workshop - March 2019 - ParisiExec V3 Dev Edition - EthCC Workshop - March 2019 - Paris
iExec V3 Dev Edition - EthCC Workshop - March 2019 - Paris
 

Mais de Vincent Claes

Percepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDPercepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDVincent Claes
 
Xilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldXilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldVincent Claes
 
Programming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKProgramming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKVincent Claes
 
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockDebugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockVincent Claes
 
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sUsing Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sVincent Claes
 
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Vincent Claes
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot PythonVincent Claes
 
Installation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopInstallation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopVincent Claes
 
ZYNQ BRAM Implementation
ZYNQ BRAM ImplementationZYNQ BRAM Implementation
ZYNQ BRAM ImplementationVincent Claes
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceVincent Claes
 
Launching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsLaunching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsVincent Claes
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMVincent Claes
 
R Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleR Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleVincent Claes
 
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadUsing Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadVincent Claes
 
Hogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorHogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorVincent Claes
 
Softcore vs Hardcore processor
Softcore vs Hardcore processorSoftcore vs Hardcore processor
Softcore vs Hardcore processorVincent Claes
 
Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Vincent Claes
 

Mais de Vincent Claes (20)

Percepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZEDPercepio Tracealyzer for FreeRTOS on MiniZED
Percepio Tracealyzer for FreeRTOS on MiniZED
 
Xilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello WorldXilinx Vitis FreeRTOS Hello World
Xilinx Vitis FreeRTOS Hello World
 
Programming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDKProgramming STM32L432 Nucleo with Keil MDK
Programming STM32L432 Nucleo with Keil MDK
 
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP BlockDebugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
Debugging Xilinx Zynq Project using ILA Integrated Logic Analyzer IP Block
 
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA'sUsing Virtual IO (VIO) on Xilinx ZYNQ FPGA's
Using Virtual IO (VIO) on Xilinx ZYNQ FPGA's
 
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
Profiling Xilinx Zynq Software Applications in SDK (MiniZED board)
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot Python
 
Installation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python WorkshopInstallation Anaconda Navigator for Python Workshop
Installation Anaconda Navigator for Python Workshop
 
ZYNQ BRAM Implementation
ZYNQ BRAM ImplementationZYNQ BRAM Implementation
ZYNQ BRAM Implementation
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud Service
 
Launching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT ProjectsLaunching Python Cloud Services for AI/IoT Projects
Launching Python Cloud Services for AI/IoT Projects
 
Real Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARMReal Time Filtering on Embedded ARM
Real Time Filtering on Embedded ARM
 
R Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by ExampleR Markdown, Rpubs & github publishing and Shiny by Example
R Markdown, Rpubs & github publishing and Shiny by Example
 
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL LaunchpadUsing Texas Instruments Code Composer Studio for The CC3200XL Launchpad
Using Texas Instruments Code Composer Studio for The CC3200XL Launchpad
 
Hogeschool PXL Smart Mirror
Hogeschool PXL Smart MirrorHogeschool PXL Smart Mirror
Hogeschool PXL Smart Mirror
 
Softcore vs Hardcore processor
Softcore vs Hardcore processorSoftcore vs Hardcore processor
Softcore vs Hardcore processor
 
MySQL / PHP Server
MySQL / PHP ServerMySQL / PHP Server
MySQL / PHP Server
 
Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...Implementing an interface in r to communicate with programmable fabric in a x...
Implementing an interface in r to communicate with programmable fabric in a x...
 
fTales workshop
fTales workshopfTales workshop
fTales workshop
 
Maker Revolution
Maker RevolutionMaker Revolution
Maker Revolution
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board

  • 1. Lab 3: Embedding VHDL code in a Xilinx Spartan 3E VI Keywords: LabVIEW, LabVIEW FPGA, Xilinx SPARTAN3E Starter Kit, VHDL, Even Parity. Vincent Claes 2008 Vincent Claes
  • 2. Introduction Welcome to Lab3 in the serie of programming a SPARTAN3E Starter Kit by use of LabVIEW FPGA. These labs are created by Vincent Claes. If you encounter problems using this labs or want some advice/consultancy on LabVIEW and especially LabVIEW FPGA you can always contact the author. These labs are free to use however to show respect to the author please email him when you use them with your contact details (feedback is also welcome). Contact Information: Vincent Claes claesvincent@gmail.com http://www.linkedin.com/in/vincentclaes Software Requirements: • LabVIEW 8.5 or above • LabVIEW 8.5 FPGA module • XUP Spartan3E starter board: download for free from: https://lumen.ni.com/nicif/us/infolvfpgaxilsprtn/content. xhtml Hardware Requirements: • Xilinx Spartan3E Starter kit: http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US- G.htm • User manual: www.xilinx.com/support/documentation/boards_and_kits/ug23 0.pdf Getting Started When you want to use this labs you have to setup your board. This labs are written for the Xilinx SPARTAN3E Starter Kit so it is quite interesting to read the user manual of the board. Be sure to plug in the USB cable, plug in the Power cord and Switch the board on before starting the lab. Vincent Claes 2008 Vincent Claes
  • 3. Step 1: Adding the FPGA I/O to your LabVIEW FPGA Project The first things we have skipped because it is the same as in Lab 1 & Lab 2. Try to setup yourself an LabVIEW FPGA project for the Xilinx Spartan3E starter board. When you reach the step where you have to add FPGA I/O to the FPGA Project add the “SW0”, “SW1”, “SW2”, “SW3” and “LED0” I/O pins. In this lab we are going to create a parity checker. We will put “LED0” of the Spartan3E Starter board on when the input of the checker system (by use of “SW0”, “SW1”, “SW2” and “SW3”) has even bits. Step 2: Creating the VI. Do a “right mouse click” on the “FPGA Target” in the “Project Explorer”. From the pull down menu select “New” >> “VI”. Name it “FPGA_VI_VHDL”. On the “block diagram” of this vi you have to put a “Timed Loop”. Vincent Claes 2008 Vincent Claes
  • 4. In this “Timed Loop” you have to place a “HDL Interface Node”. Now double click the “HDL Node”; you will get the following screen: In the first screen try to add the following 2 parameters: “inp” with direction “in”, type “TF[]” and Length “4”. “outp” with direction “out” type “TF”. Vincent Claes 2008 Vincent Claes
  • 5. In the code screen replace “hdlnode” (name of the entity) to “even_parity”. The field below “architecture implementation of even_parity is” has to been filled with the following VHDL rule: signal s1, s2, s3, s4, s5, s6, s7, s8: std_logic; The field below the VHDL keyword “begin” has to been filled with the following VHDL code: outp(0)<=((s1 or s2) or (s3 or s4)) or ((s5 or s6) or (s7 or s8)); s1 <=(not inp(3)) and (not inp(2)) and (not inp(1)) and (not inp(0)); s2 <=(not inp(3)) and (not inp(2)) and inp(1) and inp(0); s3 <=(not inp(3)) and inp(2) and (not inp(1)) and inp(0); s4 <=(not inp(3)) and inp(2) and inp(1) and (not inp(0)); s5 <=inp(3) and (not inp(2)) and (not inp(1)) and inp(0); s6 <=inp(3) and (not inp(2)) and inp(1) and (not inp(0)); s7 <=inp(3) and inp(2) and (not inp(1)) and (not inp(0)); s8 <=inp(3) and inp(2) and inp(1) and inp(0); enable_out<='1'; This is a very simple VHDL program to show you how you can add VHDL code to your Spartan3E LabVIEW FPGA project. In the tab “Execution Control” check the option “Single-Cycle Timed Loop Allowed” and click the “OK” button. Vincent Claes 2008 Vincent Claes
  • 6. Now place two “FPGA I/O Node’s” on the block diagram of your vi. Build an array with “SW0”, “SW1”, “SW2” and “SW3” as inputs. Connect the output of this “build array” function to the input of the “HDLNode” called “inp”. Connect now “LED0” to “outp” of the “HDLNode”. Vincent Claes 2008 Vincent Claes
  • 7. Step 3: Running the VI. Now go to the “Project Explorer”. Right mouse click on “FPGA Target” then select “Properties”. Be sure to check in this window “Run when loaded to FPGA” before compiling the vi. Go back to “Project Explorer”. Do a right mouse click on “FPGA_VI_VHDL”. Select Compiler and let the LabVIEW FPGA code compile. When the compilation completed go to “Project Explorer” and do a right mouse click on “FPGA_VI_VHDL” and select “Download VI to Flash Memory” Vincent Claes 2008 Vincent Claes
  • 8. When the download completed push the “reset” button on the Xilinx Spartan3E board and the application should run. Enjoy. Vincent Claes XIOS Hogeschool Limburg Department of Industrial Sciences and Technology Universitaire Campus - Agoralaan – Gebouw H B-3590 Diepenbeek Belgium vincent.claes@xios.be tel.: +32 11 26 00 39 fax: +32 11 26 00 54 mobile: +32 478 35 38 49 Vincent Claes 2008 Vincent Claes