Top Banner
ELECTRONICS DIGITAL CIRCUITS
38

ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

Aug 23, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

ELECTRONICSDIGITAL CIRCUITS

Page 2: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

DIGITAL SIGNALS

• Digital electronics uses signals which can take logical values – one of two

discrete states:

• ‚0’, LOW

• ‚1’, HIGH

• In fact these two correspond to analog voltages:

• Most commonly:

• 0V

• VCC/VDD (5V, 3.3V, 2.5V, 1.2V, 1.1V … )

• Or other strictly defined (i.g. -5V/+5V)

Page 3: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

LOGIC LEVELS

• Digital circuit has voltage levels defined, corresponding to logical values:

• Input voltage range (VIL i VIH - Input Low/High), for which the continous voltage

level is interpreted as a particular logical value

• Output voltage range (VOL, VOH - Output Low/High), that the circuit outputs, for a

given logical value

• CMOS technology circuit

voltages (VDD = 5V):

• Output for ‚1’ – (4.7V, 5V)

• Output for ‚0’ – (0V, 0.2V)

• Input for ‚1’ – (2V, 5V)

• Input for ‚0’ – (0V, 0.8V)

Page 4: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

LOGIC LEVELS

• Connection of digital circuits must ensure, that input and output logical levels

between the circuits match to each other (worst case must be considered):

• Circuits made with the same technology can be connected together

e.g. TTL<->TTL, or CMOS<->CMOS

• For different technologies the voltage levels must be compared. E.g. circuits of the

given technologies can be

connected together –

CMOSv->TTL, but not the

other way - TTL->CMOSv

(TTL out 3.3V < CMOSv in 3.7V

– worst case not satisfied)

• Independently of the technology

each digital circuit precisely

specifies its voltage levels

Page 5: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

LOGIC LEVELS

• Example NAND gate, depending on the supply voltage level:

Page 6: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

7400 SERIES

• 7400 series assigns numbers to particular logical circuits

• They are made with different technologies, but the same numbers e.g.

SN74LS08N, 74HCT08DB (circuit consisting of four two-input AND gates)

Page 7: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

BOOLEAN ALGEBRA & OPERATORS

• Boolean algebra consists of:

• B set consisting of elements { 0, 1 }

• One-argument operator:

• Negation (inversion, NOT)

• 𝑥

• ~𝑥

• Two-argument operators:

• Disjunction (sum, OR)

• 𝑥 + 𝑦

• 𝑥 ∨ 𝑦

• Conjunction (product, AND)

• 𝑥 ⋅ 𝑦

• 𝑥 ∧ 𝑦

x y 𝑥 + 𝑦 𝑥 ⋅ 𝑦

0 0 0 0

0 1 1 0

1 0 1 0

1 1 1 1

x ~𝑥

0 1

1 0

Page 8: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

PROPERTIES

• Associativity + commutativity

• Distributivity of AND over OR

• De Morgan laws

• Others

Page 9: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

OPERATORS 2

• Additiona operators can be defined:

• Implication

• Equivalence

• Exlusive OR (XOR)

• 𝑥⨁𝑦

• Inverted OR (NOR)

• ~(𝑥 + 𝑦)

• 𝑥 ∨ 𝑦

• Inverted AND (NAND)

• ~(𝑥 ⋅ 𝑦)

• 𝑥 ∧ 𝑦

x y ~(𝑥 + 𝑦) ~(𝑥 ⋅ 𝑦)

0 0 1 1

0 1 0 1

1 0 0 1

1 1 0 0

x y 𝑥 → 𝑦 𝑥 ⟺ 𝑦 𝑥⨁𝑦

0 0 1 1 0

0 1 1 0 1

1 0 0 0 1

1 1 1 1 0

Page 10: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

LOGIC GATES

• Electronic components realizing logical

operation are called logical gates:

• Identity (buffer)

𝑞 = 𝑥

• Negation (NOT)

𝑞 = ~𝑥

• Conjunction (AND)

𝑞 = 𝑎 ⋅ 𝑏

• Disjunction (OR)

𝑞 = 𝑎 + 𝑏

• Inverted AND (NAND)

𝑞 = ~(𝑎 ⋅ 𝑏)

• Inverted OR (NOR)

𝑞 = ~(𝑎 + 𝑏)

• Exlusive OR (XOR)

𝑞 = 𝑎⨁𝑏

• Inverted exlusive OR (XNOR)

𝑞 = ~(𝑎⨁𝑏)

Page 11: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

IMPLEMENTATION

• NAND gate implementation in TTL and CMOS technologies:

Page 12: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

FUNCTIONAL COMPLETENESS

• A set of functional complete gates – a set of logic gates that allows to

implement any boolean function with it.

• The following gate sets are functionally complete:

• AND, NOT

• OR, NOT

• NAND

• NOR

• Using only one type of logic gates simplifies physical complexity of a circuit

(e.g. only NAND gates are used)

Page 13: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

FUNCTIONAL COMPLETE SET - NAND

• Realization of other gates using only NAND gate

• NOT:

• y = nand(x, x) = ~(x ⋅ x) = ~x

• y = nand(x, 1) = ~(x ⋅ 1) = ~x

• AND:

• y = nand(nand(x, y), nand(x, y)) = and(x, y)

y = ~((~(a ⋅ b)) ⋅ ~(a ⋅ b)) = ~(~(a ⋅ b)) = a ⋅ b

• OR:

• y = nand(nand(a, a), nand(b, b)) = or(a, b)

• ~((~(a * a)) * (~(b * b))) = ~(~a * ~b) = a + b (De Morgan law)

• Buffer:

• y = nand(nand(x, x), nand(x, x)) = y

Page 14: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

FUNCTIONAL COMPLETE SET - NAND

• OR:

• OR aimilar to previous example (De Morgan law) + inversion

• y = nand(or(a, b), or(a, b)) = nor(a, b)

• ~((a + b) * (a + b)) = ~(a + b)

• XOR:

• y = (a ⋅ ~b) + (~a ⋅ b)

• XNOR: additional inversion on the output

Page 15: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

DIGITAL CIRCUITS

• Digital circuits can be represented as a „black box”, having inputs and outputs.

• An „input vector” is passed to the input, and an „output vector” is given at the

output.

• Digital circuits are divided into:

• Combination – output state at the given moment is dependent on the input state at

the same moment.

• Sequential – output state at a given moment is dependent on the input state at the

same moment and at previous moments. Such a circuit has its internal state.

Sequential circuits are divided into:

• Synchronous, where output and internal vector state changes are synchronized

with the external clock signal.

• Asynchronous, where there is no external clock signal and vector state

changes occur „immediately” when the input changes.

Page 16: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

COMBINATIONAL DIGITAL CIRCUITS

• A combinational digital circuit can be described in variuos ways:

• By boolean equation

• y = a + (b ⋅ c)

• With a Truth table – all the possible input vectors are listed and have an output

value assigned

• With a Karnaugh Mapabc y

000 0

001 0

010 0

011 1

100 1

101 1

110 1

111 1

ab\c 0 1

00 0 0

01 0 1

11 1 1

10 1 1

Page 17: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

CODES

• Decimal system

• For a decimal number n, consisting of decimal digit sequence dkdk-1dk-2...d1d0, the

value of n is equal to:

𝑛 =

𝑖=0

𝑘

10𝑖 ⋅ 𝑑𝑖

• Binary system

• Analogous. Base of the system is the value of 2, instead the value of 10.

• For a binary number n, consisting of bit sequence bkbk-1bk-2... b1b0, the value of n is

equal to:

𝑛 =

𝑖=0

𝑘

2𝑖 ⋅ 𝑏𝑖

• Example: 11012 = 23 ⋅ 1 + 22 ⋅ 1 + 21 ⋅ 0 + 20 ⋅ 1 = 8 + 4 +1 = 1310

Page 18: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

CODES – GRAY CODE

• Gray code is a binary code for which the cosecutive words differ in only one

bit between each other.

• Gray code:

• Two-bit: 00, 01, 11, 10

• Three-bit: 000, 001, 011, 010, 110, 111, 101, 100

• Four-bit code can be made by adding a leading zero to all three-bit code words,

and then adding a leading one to all three-bit code words, but in reverse order

Page 19: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

KARNAUGH MAP

• A combinational circuit can be described by a set of boolean equations, truth

table, which consists of output values for all the possible inputs, or by a

Karnaugh Map.

• Karnaugh Map is a table, the cells of which contain the output vector values.

• Cell position determines the input vector given for this particular cell.

• Rows/columns define the input vector parts.

• The consecutive rows/columns are numbered by using Gray code.

Page 20: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

KARNAUGH MAP

• A function given with a Truth Table and a

Karnaugh Map.

x3x2\x1x0 00 01 11 10

00 0 0 0 0

01 0 1 0 1

11 1 1 0 1

10 1 1 0 0

x3x2x1x0 y

0000 0

0001 0

0010 0

0011 0

0100 0

0101 1

0110 1

0111 0

1000 1

1001 1

1010 0

1011 0

1100 1

1101 1

1110 1

1111 0

Page 21: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

KARNAUGH MAP

• Problem: How to implement a circuit, given with a Karnaugh Map, with the

minimum possible number of logic gates ?

1. Group all the neighbouring 1`s int groups of size being a power of 2 (2^N = 1,

2, 4, 8..) Groups should be as big as possible. Grouping through the table edges

is allowed.

• Ones can occur in multiple groups

at the same time

• All the ones must be covered

• No zeros can be covered by the groups

2. For each group a product of input variables

must be assigned.

3. The resulting function is a sum of the products.

x3x2\x1x0 00 01 11 10

00 0 0 0 0

01 0 1 0 0

11 1 1 0 1

10 1 1 0 0

Page 22: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

KARNAUGH MAP – EXAMPLE 1

1. Group of four ones - 𝑥3 ⋅ (~𝑥1)

2. Group of two ones - 𝑥2 ⋅ ~𝑥1 ⋅ 𝑥0

3. Group of two ones - 𝑥3 ⋅ 𝑥2 ⋅ (~𝑥0)

(through an edge)

4. Resulting function:

y = 𝑥3 ⋅ ~𝑥1 + 𝑥2 ⋅ ~𝑥1 ⋅ 𝑥0+ 𝑥3 ⋅ 𝑥2 ⋅ (~𝑥0)

5. Implementation using (only) NAND gates:

x3x2\x1x0 00 01 11 10

00 0 0 0 0

01 0 1 0 0

11 1 1 0 1

10 1 1 0 0

Page 23: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

KARNAUGH MAP – EXAMPLE 2

• Function of four variables, given with Karnaugh Map.

• Groups of ones:

• ~𝑥1 ⋅ ~𝑥0

• ~𝑥3 ⋅ ~𝑥0

• 𝑥3 ⋅ ~𝑥2 ⋅ 𝑥1 ⋅ 𝑥0

• Resulting function:

y = ~𝑥1 ⋅ ~𝑥0 + ~𝑥3 ⋅ ~𝑥0 + 𝑥3 ⋅ ~𝑥2 ⋅ 𝑥1 ⋅ 𝑥0

• Implementation with AND and OR gates, and with NAND gates (NOT gates

omitted):

x3x2\x1x0 00 01 11 10

00 1 0 0 1

01 1 0 0 1

11 1 0 0 0

10 1 0 1 0

Page 24: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS

• Sequential digital circuit is a circuit, which output state at a given moment is

dependent on the input state at the same moment and at previous moments.

• This implies a requirement for the circuit to have a „memory” to remember the

information regarding previous input vectors.

• Sequential circuits are divided into:

• Synchronous – where input and output vector states change only at the moments

determined by an external clock (the circuit is synchronized with the external clock).

• Asynchronous – where there is no external clock signal and vector state changes

occur „immediately” when the input changes.

Page 25: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – RS FLIP-FLOP

• The „memory” elements are flip-flops. Flip-flop „remembers” one bit of

information.

• Asynchronous RS flip-flop

• Inputs:

• Set (S)

• Reset (R)

• Active low level

(in neutral state it has a value of ‚1’)

• Activating both inputs is forbidden

• Outputs:

• Output (Q)

• Inverted output (~Q)

• RS flip-flop symbol:

Page 26: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – RS FLIP-FLOP

• Initial state (inputs not active ~S = 1, ~R=1, remembered Q = 0)

1

1

0

1

Page 27: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – RS FLIP-FLOP

• Setting value (inputs ~S = 0, ~R = 1, setting Q = 1)

0

1

1

0

1

1

0

1

Page 28: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – RS FLIP-FLOP

0

1

1

0

1

1

0

1

1

1

1

0

• Stable state (inputs inactive ~S = 1, ~R=1, remembered Q = 1)

Page 29: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – RS FLIP-FLOP

• Resetting value (inputs ~S = 1, ~R = 0, resetting Q = 0)

0

1

1

0

1

1

0

1

1

0

0

1

1

1

1

0

Page 30: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – D FLIP-FLOP

• D flip-flop

• Is synchronized with an external clock

• Triggering occurs at positive clock edge

• At each trigger, the flip-flop remembers

the input value D

• Regardles of the changing input in between – the

data is remembered only at clock edges

Page 31: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – D FLIP-FLOP

• Truth table of an example D-type flip-flop

• Real circuit SN74HCS74 consisting of a common hybrid solution (2 in 1):

• D-type flip-flop with CLK and D inputs

• RS-type flip-flop with ~PRE (~S - set) and ~CLR (~R - reset) inputs

• X w tabeli oznacza dowolną wartość (nie ma znaczenia, tzw. „don`t care”)

Page 32: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – D FLIP-FLOP

• Frequency divider implemented with a D-type flip-flop

• Square rectangular siglan is given at the CLK input of the flip-flop

• The inverted output (~Q) is fed

back to the input D

• The output signal (Q) changes

its state at every positive clock

edge

• The output frequency is one half

of the input frequency

Page 33: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – T FLIP-FLOP

• T flip-flop

• Is synchronized with an external clock

• Triggering occurs at positive clock edge

• At each trigger, the flip-flop changes its internal state if the input value is ‚1’

• An analogous frequency divider realized with T-type flip-flop:

Page 34: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

SEQUENTIAL DIGITAL CIRCUITS – JK FLIP-FLOP

• JK flip-flop

• Is synchronized with an external clock

• Triggering occurs at positive clock edge

• The remembered value changes according

to the given truth table

• Real circuit SN74HC109 consisting of a common hybrid solution (2 in 1):

• JK-type flip-flop with CLK, J and K inputs

• RS-type flip-flop with ~PRE (~S - set)

and ~CLR (~R - reset) inputs

Page 35: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

BINARY COUNTER

• Two bit counter, with overflow:

• 00

• 01

• 10

• 11

• Internal state represented by two D-type flip-flops

• Input signals:

• Stop (s) – counter stalls, if signal is active

• Up – counts up, when active, down, when inactive.

• Circuit output is its internal state

Page 36: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

STATE DIAGRAM

• Next internal state table, dependent on present state and input signals

00 01

11 10

~su

~su

~su

~su ~s~u~s~u

~s~u

~s~u

s s

s s

q1q0\su 00 01 11 10

00 11 01 00 00

01 00 10 01 01

11 10 00 11 11

10 01 11 10 10

d1d0:

Page 37: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

TRANSFER FUNCTIONS

• Flip-flop input functions

q1q0\su 00 01 11 10

00 1 0 0 0

01 0 1 0 0

11 1 0 1 1

10 0 1 1 1

q1q0\su 00 01 11 10

00 1 1 0 0

01 0 0 1 1

11 0 0 1 1

10 1 1 0 0

d1(s, u, q1, q0)d1 q1

clk

d0(s, u, q1, q0)d0 q0

clk

s

u

clk

d1: d0:

Page 38: ELECTRONICShome.elka.pw.edu.pl/.../electronics1-zrue/6-digital.pdf · 2021. 4. 14. · CODES –GRAY CODE •Gray code is a binary code for which the cosecutive words differ in only

TRANSFER FUNCTIONS

q1q0\su 00 01 11 10

00 1 0 0 0

01 0 1 0 0

11 1 0 1 1

10 0 1 1 1

q1q0\su 00 01 11 10

00 1 1 0 0

01 0 0 1 1

11 0 0 1 1

10 1 1 0 0

d1: d0:

• d1 = q1s + q1~q0u + q1q0~u + ~q1q0~su + ~q1~q0~s~u

• d0 = q0s + ~q0~s