SlideShare a Scribd company logo
VHDL Building
Dominik Salvet
github.com/dominiksalvet
Common VHDL Design Flow
FPGA-Delivered IDEs
GHDL Compiler and Simulator
Then Why Use GHDL?
●
speed (it is not an interpreter)
●
runs on Windows, Linux and even on macOS
●
target platform independent (Xilinx, Altera, Lattice)
●
easy start with manual building
●
decent documentation
●
it is open-source software (see this GitHub repository)
How To Use GDHL?
●
it is terminal-based program
●
very similar to gcc in terms of use
●
it has multiple back-ends, such as mcode, gcc and LLVM
● -a option
●
analyzes/compiles one or more files
●
creates object files as a result
● -e option
●
elaborates an unit (must be already analyzed)
●
creates an executable file (usable for test benches)
Example of Using GHDL
●
we need to follow the order of GHDL commands
●
simulate clk_divider module with associated clk_divider_tb
1.ghdl -a --std=93 clk_divider.vhdl
2.ghdl -a --std=93 clk_divider_tb.vhdl
3.ghdl -e --std=93 clk_divider_tb
4.ghdl -r --std=93 clk_divider_tb
or
./clk_divider_tb
Makefile
● a file used for make build automation
●
it can be used literally for any software to build
● it can be invoked by make command in the directory
containing the makefile or Makefile file
●
basically it contains a set of rules with the following form:
target: dependencies
system command(s)
● when used only make command, it will start from the first
stated target
● to choose the entry target, use make target command
Example of a Makefile (1)
clk_divider_tb: clk_divider_tb.o
ghdl -e --std=93 clk_divider_tb
clk_divider_tb.o: clk_divider_tb.vhdl 
clk_divider.o
ghdl -a --std=93 clk_divider_tb.vhdl
clk_divider.o: clk_divider.vhdl
ghdl -a --std=93 clk_divider.vhdl
Example of a Makefile (2)
.PHONY: run clean
run: clk_divider_tb
ghdl -r --std=93 @<
clean:
rm -f clk_divider_tb
rm -f *.o
rm -f *.cf
Questions?
Dominik Salvet
I do not own copyright to images.

More Related Content

PDF
What Is a Processor
PDF
Processor Organization
PPT
IT209 Cpu Structure Report
PPTX
Basic Computer Architecture
PPT
Computer architecture
PPT
12 processor structure and function
PPTX
Harvard architecture
PPT
Computer architecture
What Is a Processor
Processor Organization
IT209 Cpu Structure Report
Basic Computer Architecture
Computer architecture
12 processor structure and function
Harvard architecture
Computer architecture

What's hot (20)

PPT
Lecture1 - Computer Architecture
PPTX
Von Neumann Architecture
PPTX
Computer Architecture and organization
PPT
Introduction to Computer Architecture
PDF
Introduction to Embedded Systems a Practical Approach
PPT
Von Neumann Architecture
PDF
For students wk4_computer_function_and_interconnection
PDF
CS4109 Computer System Architecture
PPT
N301 Von Neumann Architecture
PPT
Computer architecture
PPTX
Presentation on CPU
PPTX
Computer System Architecture Lecture Note 8.1 primary Memory
PPTX
Computer system architecture
PPT
04 cache memory
PDF
Von Neumann Architecture
PPT
02 computer evolution and performance
PDF
Computer architecture abhmail
PDF
Computer system architecture
PPT
Linux memory consumption
PPT
0 introduction to computer architecture
Lecture1 - Computer Architecture
Von Neumann Architecture
Computer Architecture and organization
Introduction to Computer Architecture
Introduction to Embedded Systems a Practical Approach
Von Neumann Architecture
For students wk4_computer_function_and_interconnection
CS4109 Computer System Architecture
N301 Von Neumann Architecture
Computer architecture
Presentation on CPU
Computer System Architecture Lecture Note 8.1 primary Memory
Computer system architecture
04 cache memory
Von Neumann Architecture
02 computer evolution and performance
Computer architecture abhmail
Computer system architecture
Linux memory consumption
0 introduction to computer architecture
Ad

Similar to VHDL Building (20)

PPT
Evolution and History of Programming Languages - Software/Hardware/System
PDF
4Sem VTU-HDL Programming Notes-Unit1-Introduction
PPTX
VHDL summer training (ppt)
PDF
Verilog HDL 0001.pdf
PPTX
UNIT-I.pptx of subject in engineering bla bla bla
PDF
Session1pdf
DOCX
PPT
VHDL-PRESENTATION.ppt
PDF
Chapter 5 introduction to VHDL
PDF
EclipseCon Europe 2017 - Taming complex chip designs with beautiful diagrams
PPTX
VHDL for beginners in Printed Circuit Board designing
PDF
RTL Design with VHDL 101 - Outline
PPT
Điện tử số thầy Phạm Ngọc Nam.
PPTX
PDF
Verilog HDL Training Course
PDF
soclabeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pdf
PPT
Digital system design using vhdl and verilog
PPTX
Digital principle and computer design Presentation (1).pptx
PPTX
Expo de digitales (2)
Evolution and History of Programming Languages - Software/Hardware/System
4Sem VTU-HDL Programming Notes-Unit1-Introduction
VHDL summer training (ppt)
Verilog HDL 0001.pdf
UNIT-I.pptx of subject in engineering bla bla bla
Session1pdf
VHDL-PRESENTATION.ppt
Chapter 5 introduction to VHDL
EclipseCon Europe 2017 - Taming complex chip designs with beautiful diagrams
VHDL for beginners in Printed Circuit Board designing
RTL Design with VHDL 101 - Outline
Điện tử số thầy Phạm Ngọc Nam.
Verilog HDL Training Course
soclabeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pdf
Digital system design using vhdl and verilog
Digital principle and computer design Presentation (1).pptx
Expo de digitales (2)
Ad

More from Dominik Salvet (7)

PDF
Design of Superscalar Dual-Issue RISC-V Processor
PDF
Proč používat GitHub?
PDF
Návrh modelu procesoru
PDF
Installing Software from Source
PDF
From Head to Binary
PDF
Limen Alpha Processor
PDF
16bitový procesor ve VHDL
Design of Superscalar Dual-Issue RISC-V Processor
Proč používat GitHub?
Návrh modelu procesoru
Installing Software from Source
From Head to Binary
Limen Alpha Processor
16bitový procesor ve VHDL

Recently uploaded (20)

PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
The various Industrial Revolutions .pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Tartificialntelligence_presentation.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Getting Started with Data Integration: FME Form 101
PDF
Hybrid model detection and classification of lung cancer
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
O2C Customer Invoices to Receipt V15A.pptx
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Chapter 5: Probability Theory and Statistics
The various Industrial Revolutions .pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Tartificialntelligence_presentation.pptx
cloud_computing_Infrastucture_as_cloud_p
Enhancing emotion recognition model for a student engagement use case through...
NewMind AI Weekly Chronicles - August'25-Week II
Getting Started with Data Integration: FME Form 101
Hybrid model detection and classification of lung cancer
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
WOOl fibre morphology and structure.pdf for textiles
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Developing a website for English-speaking practice to English as a foreign la...
Assigned Numbers - 2025 - Bluetooth® Document
O2C Customer Invoices to Receipt V15A.pptx

VHDL Building

  • 4. GHDL Compiler and Simulator
  • 5. Then Why Use GHDL? ● speed (it is not an interpreter) ● runs on Windows, Linux and even on macOS ● target platform independent (Xilinx, Altera, Lattice) ● easy start with manual building ● decent documentation ● it is open-source software (see this GitHub repository)
  • 6. How To Use GDHL? ● it is terminal-based program ● very similar to gcc in terms of use ● it has multiple back-ends, such as mcode, gcc and LLVM ● -a option ● analyzes/compiles one or more files ● creates object files as a result ● -e option ● elaborates an unit (must be already analyzed) ● creates an executable file (usable for test benches)
  • 7. Example of Using GHDL ● we need to follow the order of GHDL commands ● simulate clk_divider module with associated clk_divider_tb 1.ghdl -a --std=93 clk_divider.vhdl 2.ghdl -a --std=93 clk_divider_tb.vhdl 3.ghdl -e --std=93 clk_divider_tb 4.ghdl -r --std=93 clk_divider_tb or ./clk_divider_tb
  • 8. Makefile ● a file used for make build automation ● it can be used literally for any software to build ● it can be invoked by make command in the directory containing the makefile or Makefile file ● basically it contains a set of rules with the following form: target: dependencies system command(s) ● when used only make command, it will start from the first stated target ● to choose the entry target, use make target command
  • 9. Example of a Makefile (1) clk_divider_tb: clk_divider_tb.o ghdl -e --std=93 clk_divider_tb clk_divider_tb.o: clk_divider_tb.vhdl clk_divider.o ghdl -a --std=93 clk_divider_tb.vhdl clk_divider.o: clk_divider.vhdl ghdl -a --std=93 clk_divider.vhdl
  • 10. Example of a Makefile (2) .PHONY: run clean run: clk_divider_tb ghdl -r --std=93 @< clean: rm -f clk_divider_tb rm -f *.o rm -f *.cf
  • 11. Questions? Dominik Salvet I do not own copyright to images.