Skip to content

Digital Circuits made with VHDL

License

Notifications You must be signed in to change notification settings

akorkos/digital-electronic-systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Digital Electronic, Systems

The material was developed during the course Digital Electronic, Systems [NNA-07-08] (2023/24) of the Department of Computer Science at Aristotle University of Thessaloniki.

Introduction

Digital design of logic circuits is a fundamental part of computer engineering. The design of logic circuits is done using Hardware Description Languages (HDLs). The most common HDLs are Verilog and VHDL. This project focuses on the design of logic circuits using VHDL. The project is divided into two parts. The first part focuses on the design of combinational (comb) circuits, while the second part focuses on the design of sequential (seq) circuits. All the circuits designed and implemented are fundamental circuits, that are used in the design of more complex circuits.

Besides the design of the circuits, the project also focuses on the simulation and validation of the circuits. All the above are done using free and open source software. The software used for the design and simulation of the circuits are GHDL and GTKWave. The VHDL codes for the circuits are following the version 2008 of IEEE standard 1076.

Contents

Sequential (seq) circuits:

  • D flip-flop
  • JK flip-flop
  • RAM
  • Sequential multiplier

Combinatorial (comb) circuits:

  • LED counter
  • Multiplexer
  • Full adder
  • Comparator
  • Encoder

Requirements

  • Make
  • GHDL
  • GTKWave

Compile & Run

  1. Analyze the source file(s):
ghdl -a –std=08 –ieee=synopsys <design>.vhd
  1. Analyze the testbench file(s):
ghdl -a –std=08 –ieee=synopsys tb_<design>.vhd
  1. Generate executable file:
ghdl -e –std=08 –ieee=synopsys tb_<design>
  1. Run the simulation:
ghdl -r –std=08 –ieee=synopsys tb_<design>.vhd –vcd=tb_<design>.vcd
  1. View the waveform:
gtkwave tb_<design>.vcd