Unit 1-Design Flow of Digital Systems v1
Unit 1-Design Flow of Digital Systems v1
Lecture 1
Outline
• Design Methods for Electronic Systems
• Hardware Platforms
• Programmable Logic and FPGAs
• Design Flow in Modern Digital System Design
• Hardware Description Languages (HDLs)
• Introduction to Verilog HDL
• Introduction to Intel® Quartus® Prime Lite Edition
2
Brief Review of Logic Design
• Combinational Logic • Sequential Logic
• No memory • Has memory (flip-flops, etc.)
• Present outputs depend • Present outputs depends on
ONLY on the present present inputs AND on the
inputs past sequence of inputs
(states)
Inputs Outputs
Inputs Outputs
Combinational
Combinational circuit Next state
circuit
…
Sequential circuit
4
Design of Digital Circuits
• Functionality of circuit (through standard methods)
• Truth tables and Boolean functions (SOP/POS/other forms)
• Other combinational logic components: adders, comparators,
decoders, multiplexers, etc.
• State tables, state diagrams, and flip-flop equations
• Other sequential logic components: flip-flops, registers, shift
registers, counters, etc.
• Hardware Implementation
• Discrete electronic components
• Integrated circuits (ICs)
• Logic gate ICs (TTL logic family)
https://i.pcmag.com/imagery/encyclopedia-terms/discrete-component-discrete.fit_lim.size_1200x99999.gif
5
Construction of Digital Circuits
• Purpose: To verify the functionality of a digital circuit through:
• Standard methods (logic circuit analysis)
• Computer-aided design (CAD) or
Electronic design automation (EDA) tools
• Circuit simulation software
• Logic simulation and testing
• Prototyping
• Process of testing “an idea”
• Creating a preliminary model https://protostack.com.au/wp-content/uploads/7segment_5.jpg
6
Design Methods for Electronic Systems
• IC technology has provided a variety of implementation formats:
• Defines the technology to be used (TTL, CMOS, etc.)
• Defines how the switching elements or components are organized
(regularity and granularity)
• Defines how the system functionality will be materialized (use of
discrete components, logic gates, other IC-based components, mixed, etc.)
https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Three_IC_circuit_chips.JPG/1200px-Three_IC_circuit_chips.JPG
7
Organization of Design Components
• Regularity
• Has a strong impact on the design effort
• Because the reusability of a regular design can be simple
• But structure may limit its usability and performance
• Example: 32-bit adder through cascading 2 16-bit adder ICs, etc.
• Granularity
• Level of functionality in one design object (Example: IC)
• Affects the number of required design objects and design effort
• Fine-grain: Logic gates
• Medium-grain: Arithmetic and logic units (ALUs)
• Coarse-grain: Intellectual property (IP) components – processors,
network interfaces, etc.
8
Hardware Platforms
• 3 main structures for implementing its functionality:
• Dedicated systems
• Structure is fixed at design time
• Example: application-specific integrated circuits (ASICs)
• Programmable systems
• Architecture is fixed but datapath is configured by instructions in a
program (through assembly, C/C++ programming languages)
• Example: traditional microprocessor-based computer
• Reconfigurable systems
• Structure can be altered by changing configuration data
• Example: programmable logic devices (PLDs)
9
Programmable Systems
• Instruction set processors
• System-on-chips (SOCs)
Multimedia processors
Traditional CPUs (older gen of GPUs)
GPGPUs Network processors
10
Dedicated Systems
• Application-specific integrated
circuits (ASICs)
• Non-standard ICs customized for a
particular use rather than for
https://www.buybitcoinworldwide.com/img/dragonmint/dragonmint.jpeg
12
Programmable Logic Devices (PLDs)
• Based on rewritable memory • Made up of a fully
technology connected set of macrocells
• To modify the design, the (some combinational logic and
device only needs to be a flip-flop)
“reprogrammed”
13
Field Programmable Gate Arrays (FPGAs)
• A PLD which combines multiple logic blocks in a device for a
high degree of “programming” (reconfiguring)
• Can be used to implement any digital circuit
• Has a gate-array-like structure
• Mass-produced with a blank (initial) state
14
Field Programmable Gate Arrays (FPGAs)
• Logic Block (LB) or Logic Element (LE)
• Programmable logic through lookup tables (LUTs)
• Input/Output Block (IOB)
• Programmable block that connects I/O pins and internal wiring elements
• Wiring Element
• Consists of programmable
connection blocks (CB),
programmable switch blocks
(SB), and wiring channels
15
FPGA Programmability
• SRAM-based Programmable • Anti-fuse Technology
• SRAM cells control FPGA • Anti-fuse remains in a high-
connections (a) impedance state until it is
• Allows fast in-circuit programmed into a low-
reconfiguration impedance or “fused” state (b)
• Can be programmed an • Can only be programmed once
unlimited number of times on one-time programmable (OTP)
devices
• Used by Xilinx™, Altera™ (now
Intel®) FPGAs • Used by Actel™, Quicklogic™
16
Lookup Tables (LUTs)
• LUTs are used to implement logic functions
• Logic blocks implemented as memory or
mux with memory:
• Memory: A 2n x 1 ROM can implement any n-bit function (a)
• Mux & memory: Mux control inputs are the LUT inputs (b)
• Memory contents example for different logic functions (c)
17
Position of FPGAs in Logic Devices
18
Programmable systems Reconfigurable system Dedicated system
https://hackernoon.com/hn-images/1*9vzNsVrkxrLksDBntyFHnQ.png
https://hackernoon.com/hn-images/1*gnkYBIN1qVBdo3CmlMo7BA.png 19
Intel® MAX 10 FPGA
• 50K programmable logic elements
• 1,638 Kbit M9K Memory
• 144 18x18 Multiplier
• 4 Phase-locked loops (PLLs)
• Integrated dual ADCs
21
Design Flow in Modern Digital System Design
• Partition (Mapping): assigns LEs to
physical elements for implementing the
logic function in the target FPGA
• Place: maps logic into specific locations
• Route: connects the mapped logic
• Program Generation: generates a bit-
stream file to program the device
• Device Programming: downloads the
bit-stream file to the FPGA for
reconfiguration
• In-circuit Verification: checks the actual
behavior of the implemented system on
the target FPGA
22
Simplified Design Flow (Intel)
• Typical FPGA CAD flow:
• Verilog
• Easier language than VHDL to describe, learn, and use
• Weakly typed and more concise with efficient notation
• Deterministic and all data types are predefined with bit-level
representation
25
Introduction to Verilog HDL
• Began as a proprietary HDL of Cadence Design Systems
• Was transferred to Open Verilog International (OVI), a
consortium of companies and universities
• Initially approved as a standard HDL in 1995 (Verilog-1995)
• Revised version was approved in 2001 (Verilog-2001)
• Syntax is somewhat like that of the C language
• Semantics (i.e., “meaning”) is based on concurrent
hardware operation and is totally different from sequential
execution of C
26
Verilog HDL: Focus in CPE 3101L
• Introduce a design methodology based on the concept of CAD
modeling of digital systems using a standard, typical HDL:
Verilog
28
End of Unit 1
29