About Me
Programmable Logic in Practice (CC Column)
www.ProgrammableLogicInPractice.com (videos, etc)
Currently pursuing PhD, embedded security (power
analysis, clock glitching, etc). See YouTube channel
for cool examples!
HLS is NOT a way to convert
software blocks to hardware. You
cannot do that and get good results.
No matter what vendors tell you.
Introduction: What is *NOT* High Level Synthesis?
Introduction: What is High Level Synthesis?
• Use C/C++ as HDL-like language
• Ability to compile the C/C++ code to get bit-accurate versions of
code which ‘run’ on your computer (~1000x faster simulations)
• Possible to write C/C++ which can run as both a hardware block via
HLS, or a software block.
• An amazing tool for rapid prototyping
It’s a Design Tool
Introduction: What is High Level Synthesis?
• If using HLS for ‘Protocols’ (e.g. send this, receive that), need to use
special directive to control data clocking
• This is VERY useful as can implement complex state machine in a
few minutes
• Not enough time to explain – see example posted online (link in last
slide) and/or Feb 2014 issue of Circuit Cellar (I’ve got a few copies
with me for you)
Important Information I’m Skipping on Protocol Implementation
More Advanced: Zynq / MicroBlaze Integration
Specify an AXI4LITE Interface (other types supported too)
More Advanced: Zynq / MicroBlaze Integration
These functions were automatically made for me (I just called them)
Hardware in Use
OpenDAC, 210MSPS DAC(NewAE.com)
OpenADC, 105MSPS ADC(NewAE.com)Spartan6 LX25 Module
(ZTEX.de)
Baseboard (PSU)
Base Project
• Generates 105 MHz clk
• Outputs clocks to ADC/DAC
– Uses ODDR2 Block for S6
• Links ADC to DAC
Live Demo Begins Now!
• I’m now going to implement the FIR filter
• Following slides are not used during presentation, but show rough
steps of implementation
Done!
• Working demo of implementing an FIR with fixed-point math
• See my YouTube channel for recording of project
More Information & Questions
• Check out February 2014 Issue of Circuit Cellar, covers HLS
• www.ProgrammableLogicInPractice.com/?p=87 has examples
• www.ColinOFlynn.com/eelive for material from this presentation
Contact me:
E-Mail: [email protected]
Twitter: colin.oflynn