CS计算机代考程序代写 compiler computer architecture COMP3222/9222 Digital Circuits & Systems

COMP3222/9222 Digital Circuits & Systems
21T3 L01 – Introduction

Course website: www.cse.unsw.edu.au/~cs3222

Oliver Diessel
O: K17-501B
E: o. .au
P: 9385 7384

http://www.cse.unsw.edu.au/~cs3222
mailto: .edu.au

Introduction

What you will learn in this class
• Introduction to the design of digital logic circuits

– Boolean algebra, logic minimization, combinational logic
components, sequential circuits, simple systems

• Principles of creating digital circuit designs
– using VHDL hardware description language
– simulation techniques to verify the correct working of designs
– logic compilers to synthesize hardware
– implementing and testing designs using programmable hardware

20T3 COMP3222/9222 L01/S2

Introduction

What is logic design?
• What is design?

– given a specification of a problem, come up with a way of
solving it choosing appropriately from a collection of available
tools, techniques and components

– while meeting certain performance criteria for size, cost, power,
beauty, elegance, etc.

• What is logic design?
– determining the collection of digital logic components and

the interconnections between them to perform a specified
data gathering, processing, storage, control and/or
communication function

– which logic components to choose? – there are many
implementation technologies, with differing costs/benefits

– the design may need to be optimized and/or transformed to meet
design constraints

20T3 COMP3222/9222 L01/S3

Introduction

Applications of logic design
• Computer hardware & systems

– design of processors, CPUs, systems, accelerators,
custom chips, buses, interfaces, memories, peripherals

• Communications & networks
– I/O devices, phones, switches, routers, base stations, satellites

• Embedded systems
– consumer electronics, appliances, entertainment devices, IoT,

medical devices, security, transport, robotics, mining, agriculture and
manufacturing equipment

• Scientific instruments & equipment
– simulation, testing, sensing, logging, reporting, analyzing

• Challenge:
– Which human activities (a) don’t yet, and (b) won’t ever involve

digital technology?
20T3 COMP3222/9222 L01/S4

Introduction

Why study logic design?
• Obvious reasons

– fundamental abstraction for implementing all digital devices
– to study the digital design process
– this course is part of the CompEng requirements

• Other important reasons
– it’s an important counterpart to software design
– it’s essential to furthering our understanding of the efficient

implementation of computation
– the inherent parallelism in hardware provides exposure to real

parallelism on a large, fine-grained scale

20T3 COMP3222/9222

low cost
high performance

L01/S5

COMP3222/9222 details
• Lectures, Weeks 1 – 10

– Mon 16-18 Colombo Th B
– Wed 14-16 Ainsworth G02

• Labs, Weeks 1 – 10
– 2 hr Labs: Tue 12-14, Wed 16-18, Wed 18-20, Thu 10-12, Thu 12-14

in K17 Lyre lab
– Pick up take-home lab kit during first lab (this week)

• Tutes, Weeks 2 – 10
– 1 hr Tutes: Tue 14-15, Tue 15-16 Quad G045,

Thu 14-15, Thu 15-16 Quad G031

21T3 COMP3222/9222 Introduction L01/S6

• Lectures, Weeks 1 – 5, 7-10
– Recordings available on website for asynchronous viewing

• I assume you have viewed the relevant recording before the synchronous
meetings – see the Lecture schedule on the course website

– Synchronous meetings to review main points, discuss questions and work
through exercises: Mon 14–16 & Wed 16–18

• Labs, Weeks 1 – 10
– Lab exercises and resources available on website
– 3 hr official online drop-in session where you can obtain help and ask

questions of demostrators: Wed 12–15
– 2 hr optional online drop-in sessions: Tue 14–16, Thu 12–14
– Submissions due roughly each week on Mondays at 23:59

COMP3222/9222 assessment
• Assessment:

– 7 lab exs (due the week after they are scheduled): 40% total
– 4 fortnightly quizzes on theory in Weeks 3, 5, 7 & 9: 15% total
– 1 hr Final Theory Test: 15%
– 2 hr Final Practical Test: 30% (need to score >40% in Prac Exam

to pass course)

• Supplementaries
– Only one eligibility criterion:

1. Need to score >45% overall and >36% in Practical Test ⇒ final score = 50% if
supp passed

2. Certified medical excuse ⇒ final score calculated as if sitting normal exam
– Note: there is no supp for missing the lab submission deadlines or

quizzes

21T3 COMP3222/9222 Introduction L01/S7

Introduction

COMP3222/9222 text
• Brown & Vranesic, Fundamentals of Digital Logic with

VHDL Design, 3ed, McGraw-Hill
– out of print, so not available at bookshop
– available for short loan from the Library
– exercises drawn from text
– extracts of Ch 1 & 2 provided on course website
– text is designed to be used with the FPGA board you will be

using
• contains tutorials on loading & using the CAD tools
• provides a detailed reference on VHDL
• will be an invaluable aid in the follow-on computer architecture &

design project courses

21T3 COMP3222/9222 L01/S8

Introduction

Acknowledgement
• Most of the slides in this course are modified from the

current text (Brown & Vranesic), or from Katz,
Contemporary Logic Design, 2ed, Pearson

• The material provided by these authors is gratefully
acknowledged

20T3 COMP3222/9222 L01/S9

Introduction

Digital circuits
• The study of digital logic circuits is primarily motivated

by their use in digital computers
• Logic circuits perform operations on digital signals and

are usually implemented as electronic circuits in which
the signal values are restricted to a few discrete values
– In binary logic circuits, there are only two values, 0 and 1
– Decimal logic circuits would have 10 values

• In contrast, in analog circuits, signals may take on
continuous values between maximum and minimum
levels

• We will only consider binary digital circuits
– These are dominant because of their simplicity
– The simplest binary element is a switch that has two states

20T3 COMP3222/9222 L01/S10

Introduction

• We say the switch is controlled by input variable x, and
that the switch is open if x = 0 and closed if x = 1

x 1 = x 0 =

(a) Two states of a switch

S

x

(b) Symbol for a switch

A binary switch

20T3 COMP3222/9222

open closed

L01/S11

• The state of the
light L is dependent
on the state of the
switch

• The light is on, L =
1, if the switch is
closed, x = 1,
and vice versa

• Thus L(x) = x

• The light is on, L = 1,
if the switch is closed,
x = 1, and vice versa

• Thus L(x) = x

Introduction

(a) Simple connection to a battery

S

(b) An equivalent circuit using a ground connection as the return path

Battery Light

Power
supply

S

Light

x

x

A light controlled by a switch

20T3 COMP3222/9222 L01/S12

Introduction

(a) The logical AND function (series connection)

S
Power
supply

S

S

Power
supply S

(b) The logical OR function (parallel connection)

Light

Light x1 x2

x1

x2

Two basic functions
• In a series connection,

both switches need to
be closed for the light
to be on

• Thus, L(x1, x2) = x1 ∙ x2

20T3 COMP3222/9222 L01/S13

• In a parallel connection,
either one of the switches
need to be closed for the
light to be on

• Thus, L(x1, x2) = x1 + x2

Introduction

S

Power
supply S Light

S
X1

X2

X3

A series-parallel connection

L(x1, x2, x3) = ?

20T3 COMP3222/9222 L01/S14

Which function determines the output of the light?
How many possible states are there for this circuit?
How many of these have the light on?

Introduction

• Since the switch, when it is closed, short-circuits the
potential difference across the light:
L(x) = x, where L = 1 if x = 0 and L = 0 if x = 1

• The complement op, NOT, is expressed in many ways:
x = x’ = !x = ~x = NOT x

S Light
Power
supply

R

x

Inversion

20T3 COMP3222/9222 L01/S15

Introduction

Truth tables for the AND, OR and NOT operations

20T3 COMP3222/9222 L01/S16

AND OR NOT

x 1
x 2

x n

x 1 x 2 … x n + + +
x 1
x 2

x 1 x 2 +

x 1
x 2

x n

x 1
x 2

x 1 x 2 ∙ x 1 x 2 … x n ∙ ∙ ∙

(a) AND gates

(b) OR gates

x x

(c) NOT gate

Basic gate symbols
• Each logic operation

can be implemented
electronically with
transistors, resulting in a
circuit element called a
logic gate

• Each logic gate has one
or more inputs and one
output that is a function
of its inputs

• A logic circuit is often
described by drawing a
circuit diagram, or
schematic, consisting of
graphical symbols
representing the logic
gates

20T3 COMP3222/9222 L01/S17

Introduction

• A larger circuit is implemented by a network of gates
• Such circuits are called logic networks or logic circuits
• The complexity of a given network (in terms of the gate

count & number of gate inputs) has a direct impact on its
cost

• In order to reduce manufactured cost, we seek ways to
implement logic circuits as inexpensively as possible
– Smaller (simpler) circuits are also faster and less susceptible to

failure

x 1
x 2
x 3

f x 1 x 2 + ( ) x 3 ∙=

The function from L01/S14

20T3 COMP3222/9222 L01/S18

Introduction

Analyzing a logic network
x 1

x 2

f

1

0
1

0

0

1 0 1 0 ® ® ®

0 0 1 ® ® ®
1 0 1 ® ® ®

0 1 ® ® ®

1 0 1 ® ® ®

A

B

1
0

1
0

1
0

1
0

1
0

x 1

x 2

A

B

f
Time

(c) Timing diagram/waveform

(a) Network that implements f = A + B

1 1 0 0 ® ® ®0 0 1 1 ® ® ®

1 1 0 1 ® ® ®
0 1 0 1 ® ® ® g

x 1

x 2
(d) Network that implements g x1 x2+ =

Note that g implements
the same function as f
but at a lower cost!

20T3 COMP3222/9222

x 1 x 2 f x 1 x 2, ( )

0
1
0
1

0
0
1
1

1
1
0
1

(b) Truth table

A B

1
1
0
0

0
0
0
1

L01/S19

x
1

x
1

x
2∙+ =

Introduction

Axioms and theorems of Boolean algebra
The theory underlying the simplification of logic expressions and their cir-
cuit realization is founded on the axioms and theorems of Boolean algebra

• identity
1. X + 0 = X

• null
2. X + 1 = 1 2D. X • 0 = 0

• idempotency:
3. X + X = X 3D. X • X = X

• involution:
4. (X’)’ = X

• complementarity:
5. X + X’ = 1 5D. X • X’ = 0

• commutativity:
6. X + Y = Y + X 6D. X • Y = Y • X

• associativity:
7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z)

Dual

X is a Boolean
variable with two
possible values:
true = 1 or false = 0

20T3 COMP3222/9222

1D. X • 1 = X

L01/S20

https://en.wikipedia.org/wiki/George_Boole

Introduction

Axioms and theorems of Boolean algebra
• distributivity:

8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) =
• uniting: (X + Y) • (X + Z)

9. X • Y + X • Y’ = X 9D. (X + Y) • (X + Y’) = X
• absorption:

10. X + X • Y = X 10D. X • (X + Y) = X
11. (X + Y’) • Y = X • Y 11D. (X • Y’) + Y = X + Y

• factoring:
12. (X + Y) • (X’ + Z) = 12D. X • Y + X’ • Z =

X • Z + X’ • Y (X + Z) • (X’ + Y)
• consensus:

13. X • Y + X’ • Z + Y • Z = 13D. (X + Y) • (X’ + Z) • (Y + Z) =
X • Y + X’ • Z (X + Y) • (X’ + Z)

20T3 COMP3222/9222 L01/S21

• de Morgan’s:
14. (X + Y + …)’ = X’ • Y’ • … 14D. (X • Y • …)’ = X’ + Y’ + …

• generalized de Morgan’s:
15. f(X1,X2,…,Xn,0,1,+,•) = f(X1,X2,…,Xn,1,0,•,+)

• establishes relationship between • and +

Example:
f = x2 + x1x3 Þ f = x2 + x1x3

= x2 • x1x3
= x2 • (x1 + x3)
= x2 • (x1 + x3)

Introduction

Axioms and theorems of Boolean algebra

20T3 COMP3222/9222 L01/S22

Introduction

Axioms and theorems of Boolean algebra
• Duality

– a dual of a Boolean expression is derived by replacing
• by +, + by •, 0 by 1, and 1 by 0, and leaving variables
unchanged

– any theorem that can be proven is thus also proven for its dual!
– is a “meta-theorem” (a theorem about theorems)

• duality:
16. X + Y + … Û X • Y • …

• generalized duality:
17. f (X1,X2,…,Xn,0,1,+,•) Û f(X1,X2,…,Xn,1,0,•,+)

• Differs from deMorgan’s Law
– Duality is a statement about theorems
– Duality is not a way of manipulating (re-writing) expressions

20T3 COMP3222/9222 L01/S23

Introduction

Axioms and theorems of Boolean algebra
• Proofs of the axioms and theorems of Boolean algebra

can be established in various ways
– For example, the absorption theorem (X + X • Y = X) may be

proven deductively, exhaustively or using set theory

LHS = X + X • Y
LHS = X • 1 + X • Y by identity
LHS = X • (1 + Y) by distributivity
LHS = X • 1 by null
LHS = X by identity

20T3 COMP3222/9222 L01/S24

X Y X • Y X + X • Y
0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1

X Y

Using set theory, the surrounding box
represents the universe, logical AND
is given by the intersection of sets, and
logical OR is given by the union of sets

X YX Y

Introduction

Precedence of operations
• In the absence of parentheses, operations in a logic

expression must be performed in the order:

NOT, AND, and then OR

• Thus
x1∙x2 + x1∙x2 has the same effect as (x1∙x2) + ((x1)∙(x2))

• Also, to simplify the appearance of logic expressions it is
customary to omit the ∙ operator when there is no
ambiguity
– The preceding expression can therefore be written as

x1 x2 + x1 x2

20T3 COMP3222/9222 L01/S25

Introduction

f

(c) Minimal-cost realization

x 2

x 1

f

(b) Canonical sum-of-products realization

x 1
x 2

(a) Function to be realized

Synthesizing digital logic circuits
using AND, OR and NOT gates

f(x1,x2) = x1x2 + x1x2 + x1x2
f(x1,x2) = x1x2 + x1x2 + x1x2 + x1x2
f(x1,x2) = x1(x2 + x2) + (x1 + x1)x2
f(x1,x2) = x1∙1 + 1∙x2
f(x1,x2) = x1 + x2

20T3 COMP3222/9222

x1 x2 f(x1, x2)
0 0 1
0 1 1
1 0 0
1 1 1

L01/S26

idempotency
distributivity
complementarity
identity

Introduction

Evaluating circuit cost
• The primary contributor to circuit cost is the number of

transistors used
• #(Transistors used) ≈ circuit (chip) area
• Circuits with fewer gates and gates with fewer wires

(inputs) require fewer transistors ⇒ less chip area
– Important: the lowest level of abstraction we will use to design

digital circuits is the GATE LEVEL (we will only look at how gates
are implemented using transistors at the end of the course)

• Unless stated otherwise, we will use the sum of the
number of gates and the total number of gate inputs
within a circuit as a measure of circuit cost
– With this metric, circuit (b) on the previous slide has a cost of 17,

whereas circuit (c) has a cost of 5

20T3 COMP3222/9222 L01/S27

Introduction

Synthesis technique for logic circuits
1. Add a product (AND) term for each row in the truth

table with function value f = 1
2. Form the sum (OR) of these terms to produce the

function f
3. Simplify the expression using Boolean algebraic

manipulation
4. Draw the circuit, complementing inputs where

necessary, using AND gates for the product terms and
ORing these together

20T3 COMP3222/9222 L01/S28

Minterms
• For a function of n

variables, a product term
in which each of the n
variables, xi, appears
exactly once is called a
minterm
– The variables may appear

in a minterm either in
uncomplemented or
complemented form

– For a given row of the truth
table, the minterm is
formed by including xi if
xi = 1 and by including xi if
xi = 0

– Note that mi=1 in row i

• Three-variable minterms

Introduction20T3 COMP3222/9222

Note that minterms are numbered
according to which variables
appear in uncomplemented form

of the truth table and mi=0 in all other rows
L01/S29

The result of ANDing
variables together

Introduction20T3 COMP3222/9222

Sum-of-Products form
• A function f can be represented by an expression that is

written as a sum of minterms, where each minterm is
ANDed with the value of f for the corresponding valua-
tion of input variables

• For example, for the function of slide L01/S26,

f(x1, x2) = m0∙1 + m1∙1 + m2∙0 + m3∙1
= m0 + m1 + m3
= x1x2 + x1x2 + x1x2

• A logic expression consisting of product (AND) terms that
are summed (ORed) is said to be in the sum-of-products
(SOP) form.

• If each product term is a minterm, then the expression is
called a canonical sum-of-products for the function f
– Every Boolean fn has just ONE canonical SOP representation

= Σ(m0, m1, m3)
= Σm(0, 1, 3)

x1 x2 f(x1, x2)

0 0 1

0 1 1

1 0 0

1 1 1

L01/S30

Introduction

Example 2.3
• Consider the function f(x1, x2, x3) = Σm(2, 3, 4, 6, 7)

• The canonical SOP expression is given using minterms
f(x1, x2, x3) = m2 + m3 + m4 + m6 + m7

= x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

• The expression can be simplified using algebraic
manipulation:
f = x1x2(x3 + x3) + x1(x2 + x2)x3 + x1x2(x3 + x3)
= x1x2 + x1x3 + x1x2 …SOP form
= (x1 + x1)x2 + x1x3 …Not in SOP form
= x2 + x1x3 …SOP form

20T3 COMP3222/9222 L01/S31

Introduction

Maxterms
• The principle of duality suggests that if it is possible to

synthesize a function f by considering the rows in the
truth table for which f = 1, then it should be possible to
synthesize f by considering the rows for which f = 0

• This alternative approach uses the complements of
minterms, which are called maxterms

20T3 COMP3222/9222 L01/S32

Introduction

Three-variable minterms and maxterms

20T3 COMP3222/9222

Observe the value of the example minterm m0 and maxterm M0 for each valuation of
the variables x1, x2, and x3

Note that maxterm Mi=0 in row i of the truth table and Mi=1 for all other rows

m0

1
0
0
0
0
0
0
0

M0
(m0)

0
1
1
1
1
1
1
1

L01/S33

(derived using DeMorgan)

M0 = m0 = x1x2x3 = x1 + x2 + x3

Introduction

Product-of-Sums form
• If a given function f is specified by a truth table, then its

complement f can be represented by a sum of minterms
for which f = 1, which are the rows of f where f = 0.

• For example, for the L01/S26 function, f(x1,x2) = Σm(0,1,3),
f(x1,x2) = m2 = x1x2

• If we complement this expression using DeMorgan’s
theorem, the result is f = f = x1x2 = x1 + x2 = M2

• The key point is that f = m2 = M2

• A logic expression consisting of sum (OR) terms that are
factors of a logical product (AND) is said to be of the
product-of-sums (POS) form

• If each sum term is a maxterm, then the expression is
called a canonical product-of-sums for the given function

= Π(M2) = ΠM(2)

20T3 COMP3222/9222 L01/S34

Introduction

Example 2.4
• Consider again the function of Example 2.3. Instead of

using the minterms, we can specify this function as a
product of maxterms for which f = 0, namely,
f(x1, x2, x3) = ΠM(0, 1, 5)

• Then the canonical POS expression is given by:
f(x1, x2, x3) = M0∙M1∙M5

= (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3)
• A simplified POS expression can then be derived as:

f = ((x1 + x2) + x3)((x1 + x2) + x3)(x1 + (x2 + x3))(x1 + (x2 + x3))
= ((x1 + x2) + x3x3)(x1x1 + (x2 + x3))
= (x1 + x2)(x2 + x3) … by the uniting theorem

• And note that use of the distributive property leads to:
f = x2 + x1x3

20T3 COMP3222/9222

f(x1, x2, x3) = Σm(2, 3, 4, 6, 7)

L01/S35

What’s the cost of
this expression?

Is this expression in SOP or POS form? What’s its cost?

Introduction

Exercise for you to do
1. Derive canonical SOP and POS expressions for the

three-valued function below.
2. Minimize each expression and sketch the resulting

circuits.
3. Compare the costs of all designs

Row
Number x1 x2 x3 f(x1, x2, x3)

0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 0

L01/S36

Summary so far
1. Logic design is concerned with finding the cheapest

implementation of combinational (a.k.a. combinatorial)
logic functions
– Circuit cost is measured by summing the number of gates and

the total number of gate inputs
2. The laws of Boolean algebra can be used to minimize

the cost of a combinational logic function
– Typically, these are applied one at a time with the objective of

eliminating one or more variables from a term or whole terms
from the function

3. There are two canonical representations of
combinational logic functions:
– Canonical sum-of-products represents a function as a sum

(OR) of minterms
– Canonical product-of-sums represents a function as a product

(AND) of maxterms
Introduction20T3 COMP3222/9222 L01/S37

A typical CAD flow for logic design

• HDL is similar to a computer
programming language except
that it is used to describe
hardware; NOT to be executed on
a processor

– Similar to a markup language

• We focus on one of two IEEE
standard languages that are
supported by virtually all vendors
that provide digital design
technology

– We study VHDL (Very High Speed
Integrated Circuit HDL)

– The other is Verilog
Introduction

Design conception

Hardware description
languageSchematic capture

DESIGN ENTRY

Design correct?

Functional simulation

No

Yes

No

Synthesis

Physical design

Chip configuration

Timing requirements met?

Timing simulation

20T3 COMP3222/9222

Computer Aided Design

Hardware
Description
Language

L01/S38

VHDL
• In comparison to schematic capture, use of a hardware

description language, such as VHDL, to capture a
design’s intent offers a number of advantages
– VHDL source code is plain text, which means it can easily be

edited, copied and searched; the designer can also easily
include documentation explaining how the design works

– Being a standard language, VHDL provides design portability – a
design specified in VHDL can be implemented in different types
of chips and with CAD tools from different vendors

– Portability is useful because digital circuit technology changes
rapidly – by using a standard language, the designer can focus
on the functionality of the circuit without being overly concerned
with the details of the implementation technology

– Together with its wide use, these features encourage code
sharing and reuse, which aids productivity

Introduction20T3 COMP3222/9222

Use of a graphical tool to provide a logic circuit diagram

L01/S39

A little VHDL history
• Developed in the 1980s, when integrated circuit

technology was rapidly advancing, as a standard means
of documenting complex digital circuits

• Became IEEE standard 1076 in 1987, and was revised
in 1993 as IEEE 1164. Updates occurred in 2000 and
2002, as well as most recently, in 2008.

• Originally conceived for documenting circuits, and for
modelling circuit behaviour, which allowed it to be used
as input to programs for simulating circuit operation

• More recently, it has become popular to use it as a
design entry method for CAD tools that synthesize
hardware implementations

• VHDL is quite complex; we will restrict ourselves to the
study of that subset of the language used for synthesis

Introduction20T3 COMP3222/9222 L01/S40

A simple logic fn and its VHDL entity declaration
• A VHDL entity declaration expresses what the design unit

“looks like” to the outside world, i.e., describes its interface

Introduction

f

x3

x1
x2

ENTITY example1 IS
PORT ( x1, x2, x3 : IN BIT ;

f : OUT BIT ) ;
END example1 ;

Signals of type
BIT can assume
values 0 and 1

The “mode” of a
signal indicates
its direction

Valid identifiers start with a letter, and comprise alpha-numeric and
underscore characters

20T3 COMP3222/9222

example1

L01/S41

A simple logic fn and its VHDL architecture
• The architecture of a VHDL design unit describes what

the design “looks like” on the inside i.e. what its
behaviour and/or structure is

Introduction

f

x3

x1
x2

ARCHITECTURE LogicFunc OF example1 IS
BEGIN

f <= (x1 AND x2) OR (NOT x2 AND x3) ; END LogicFunc ; Here, the functionality of the circuit is expressed using a simple signal assignment statement In VHDL, all statements need to be terminated by a semi-colon (;) Note that in VHDL, the Boolean operators all have the same precedence, hence we must use parentheses to indicate the intended meaning 20T3 COMP3222/9222 example1 L01/S42 Introduction Complete VHDL design entity f x3 x1 x2 In our code we’ll use capital letters to represent KEYWORDS in the code; obviously these can’t be used as identifiers Note that VHDL is not case sensitive 20T3 COMP3222/9222 L01/S43 Introduction Four-input example Note that simple signal assignment statements are examples of concurrent assignment statements – they are all “evaluated” at the same time when a signal on the RHS changes value; therefore the order the statements are listed in does not matter 20T3 COMP3222/9222 L01/S44 Introduction 1 0 1 0 1 0 1 0 x 1 x 2 Time x 3 f Exercise for you to attempt • For the timing diagram depicted below, synthesize the function f(x1, x2, x3) in the simplest SOP form and describe your implementation using VHDL • A good rule of thumb for writing clear VHDL: Can you visualize the circuit that should be synthesized from your VHDL code? 20T3 COMP3222/9222 L01/S45