VHDL Module2 Rev B
VHDL Module2 Rev B
Digital System Design with FPGA: Implementation using Verilog and VHDL
Layout
Introduction
A Brief Introduction to Digital Electronics
Bit Values as Voltage Levels
Transistor as a Switch
Logic Gates from Switches
FPGA Building Blocks
Layout of the Xilinx Artix7 XC7A35T FPGA
Input/Output Blocks
Configurable Logic Blocks
Interconnect Resources
Block RAM
DSP Slices
Clock Management
The XADC Block
High Speed Serial I/O Transceivers
Peripheral Component Interconnect Express Interface
FPGA based Digital System Design Philosophy
How to ThinkWhile using FPGAs?
Advantages and Disadvantages of FPGAs
Usage Areas of FPGAs
Digital System Design with FPGA: Implementation using Verilog and VHDL
Introduction
An FPGA is itself a digital system composed of basic building
blocks.
Digital System Design with FPGA: Implementation using Verilog and VHDL
A Brief Introduction to Digital Electronics
In its basic sense, we have two voltage levels to represent a binary digit
(either as zero or one).
Digital System Design with FPGA: Implementation using Verilog and VHDL
A Brief Introduction to Digital Electronics
Transistor as a Switch
A digital circuit can be constructed by transistors. A transistor is an active circuit element used either as
an amplifier or a digital switch.
The latter property is extremely important since all binary logic operations can be performed this way.
Instead of dealing with physical properties of a transistor, we can simplify its characteristics as follows.
Digital System Design with FPGA: Implementation using Verilog and VHDL
A Brief Introduction to Digital Electronics
NOT gate can be constructed by a switch with two input pins as in Figure. In this
setup, when input is equal to supply voltage the switch connects ground to output.
Hence, output voltage will be zero. When input voltage equals to ground, the switch
connects supply voltage to output.
Digital System Design with FPGA: Implementation using Verilog and VHDL
A Brief Introduction to Digital Electronics
Digital System Design with FPGA: Implementation using Verilog and VHDL
A Brief Introduction to Digital Electronics
Digital System Design with FPGA: Implementation using Verilog and VHDL
FPGA Building Blocks
Layout of the Xilinx Artix7 XC7A35T FPGA
Basys3 and Arty boards have their FPGA from the Xilinx Artix-7 XC7A35T family.
FPGA on the Basys3 board is XC7A35TCPG236-
FPGA on the Arty board is XC7A35TICSG324-1L.
Digital System Design with FPGA: Implementation using Verilog and VHDL
FPGA Building Blocks
Input/Output Blocks
A digital device interacts with the outside world through its input and output pins.
data from the outside world is acquired through input pins.
Output is fed to the outside world using output
Interconnect Resources
Interconnect resources are a collection of wires and programmable switches.
These are responsible for connecting CLBs and other building blocks within
the FPGA. Interconnect is also called as routing channels.
Digital System Design with FPGA: Implementation using Verilog and VHDL
FPGA Building Blocks
Block RAM
Block RAM modules can be used to store data. Moreover, they can
form buffers, large LUTs or shift registers.
DSP Slices
Digital signal processing (DSP) slices are dedicated blocks for
arithmetic and logic operations in recent FPGAs.
Clock Management
Artix-7 FPGA does not have an internal clock generating circuitry. Therefore,
the user should feed a clock signal to the FPGA.
Some input/output pins are capable of receiving such clock signals.
As the clock signal is fed to the FPGA, it can be processed by the clock
management tile (CMT) and distributed through FPGA.
Digital System Design with FPGA: Implementation using Verilog and VHDL
FPGA Building Blocks
The XADC Block
An analog signal can be processed by a digital system after being sampled and
quantized. Module performing these operations is called as the analog to
digital converter (ADC). Since recent advances in digital systems require
processing analog signals, the Artix-7 FPGA has a dedicated block called as
XADC.
Digital System Design with FPGA: Implementation using Verilog and VHDL