In the previous section, we studied the basic input/output techniques in a logic circuit and how to 1
implement them in HLS. The logic circuit functionality was simple, 2
just a couple of wires. In this section, 3
I am going to focus on the logic circuit functionality. 4
The logic circuits in this section use the same input/output mechanisms, but instead, they process the 5
input data to generate some new output data. 6
A typical logic circuit applies an algorithm onto the input data and generates the output data. These algorithms 7
can be A simple arithmetic function, A data transmission, A coding conversion, Or a complex task 8
such as AI training or inference process. 9
This section focuses on combinational circuits which their outputs are functions of their inputs at 10
any specific time and the inputs are stable during the process of generating outputs. 11
These circuits can describe a wide range of applications from arithmetic and logical operators to data 12
transformation and transmission. 13
This section consists of 13 lectures. This lecture, as the first one introduces the section. 14
The second lecture defines combinational circuits and their features. Logic gates as the basic building 15
blocks of combinational 16
circuits are introduced in lecture three. Gates and combinational 17
circuits require some time to process the input values and generate the output. 18
This processing time is called propagation delay, which is explained in lecture four. 19
In Lecture five, I will take the binary adder as an instructive example to clarify some concepts in designing 20
a combinational circuit. How to describe a combinational circuit in HLS is the subject of Lecture 21
six. 22
Lecture seven uses the Xilinx Vivado-HLS to synthesise a combinational circuit to its equivalent RTL 23
description. 24
Generating the final FPGA bitstream of a combinational circuit would be the subject of the eighth lecture. 25
C/C++ functions are the main components in describing hardware circuits is HLS. Lecture nine will 26
explain the structure of these functions and their relations with the final hardware modules. Lecture 27
10 will introduce the dataflow graph concept as the main modelling technique describing a combinational 28
circuit. To put all the explained concepts together in action, 29
I will explain how to design a combinational circuit for a simple traffic-light controller through lectures 30
11 and 12. 31
The last lecture will give a couple of design examples as exercises to review and master all the design 32
concepts explained throughout this section.