Download presentation
Presentation is loading. Please wait.
1
Gheorghe M. Ştefan http://arh.pub.ro/gstefan/ - 2014 -
2
Course: 3 hours/week Text book: http://arh.pub.ro/gstefan/0-BOOK.pdf Seminar: 2 hours every two weeks Laboratory: 2 hours every two weeks Grading: 30% seminar 40% home works 30% final exam Mandatory: 50% from lab & seminar 2014Digital Integrated Circuits - week one2
3
WHAT’S A DIGITAL SYSTEM? Framing the digital domain Defining a digital system Our first target 2014Digital Integrated Circuits - week one3
4
Analog to Digital Conversion (ADC) 2014Digital Integrated Circuits - week one4 s(t): a continuous, analog signal clock : periodic square wave with frequency f clock = 1/T sample rate: samples per second (SPS), is given by 1/T resolution: number of bits used to express the level (3 bits in our example)
5
2014Digital Integrated Circuits - week one5 Both, sample rate and resolution are doubled Commercial ADC: up to 6 GSPS 6 – 24 bits resolution (at 6 GSPS only 12 bits) 0
6
Generic digital system 2014Digital Integrated Circuits - week one6
7
What is computer science? 2014Digital Integrated Circuits - week one7
8
Digital system. Formal definition 2014Digital Integrated Circuits - week one8 DS = (X, Y, S, f, g) X {0,1} n is the n-bit input set Y {0,1} m is the m-bit output set S {0,1} q is the q-bit internal state (state) set f:(X × S) → S is the state transition function g:(X × S) → Y is the output transition function If x t X, y t Y, s t S s t = f(x t-1, s t-1 ) is a sequential function y t = g(x t, s t ) is a combinational function
9
Digital Circuit: the simplest embodiment of a Digital System Binary configurations: input: X n-1, X n-2, … X 0 output: Y m-1, Y m-2, … Y 0 state: S q-1, S q-2, … S 0 with: X i, Y j, S k, {0,1} coded with: 0 Volt for 0 1-2 Volt for 1 combinational circuits registers clock signal 2014Digital Integrated Circuits - week one9
10
Combinational circuit 2014Digital Integrated Circuits - week one10 On in all n-bit binary configurations must be considered Output can change at any input bit switch : always @(*) On out some (rarely all) of m-bit binary configurations are considered t p : propagation time shaded time interval: transition time from F(in1) to F(in2)
11
The Register 2014Digital Integrated Circuits - week one11 t su : set-up time t hold : hold time t p : propagation time from active edge of clock to output T clock : the period of the clock signal … t i-1 t i t i+1 … : discrete ticking time shaded interval: the input can change in this time interval
12
Digital system in Verilog HDL 2014Digital Integrated Circuits - week one12
13
2014Digital Integrated Circuits - week one13 The content of file 0_parameter.v : Color code: blue – reserved words green – comments orange - numbers
14
The result of synthesis 2014Digital Integrated Circuits - week one14 stateTransition combinational module is instantiated as s tateTrans outputTransition combinational module is instantiated as outTrans fd is the register; its output goes forward to outTrans and backward to close the loop though stateTrans module
15
Our first target 2014Digital Integrated Circuits - week one15 Rare and isolated wrong pixels must be corrected. No video sensor is perfect. s(t) : the input sample at the moment t s’(t) : the corrected sample at the moment t The algorithm: s’(t) = if (s(t)= 0) then (s(t-1) + s(t+1))/2 else s(t)
16
The error 2014Digital Integrated Circuits - week one16
17
The actual timing 2014Digital Integrated Circuits - week one17
18
To make the correction, three successive values: in (t-3] in (t-2) in(t-1) must be loaded as the internal state of the circuit. The structure of the internal state consists of 3 sub-states: State[11:0] = {ss3[3:0],ss2[3:0],ss1[3:0]} State transition function: state(t) = {ss3, ss2, ss1} state(t+1) = {ss2, ss1, in(t)} Output transition function: Out(t) = (ss2 = 0) ? (ss3+ss1)/2 : ss2 Results a latency of 2 clock cycles 2014Digital Integrated Circuits - week one18
19
2014 Digital Integrated Circuits - week one19 state[11:8] = xxxx state[7:4] = xxxx state[3:0] = xxxx + /2 sel = 0 ? in = xxxx xxxx out = xxxx x clock 01
20
2014 Digital Integrated Circuits - week one20 state[11:8] = xxxx state[7:4] = xxxx state[3:0] = xxxx + /2 sel = 0 ? in = 0111 xxxx out = xxxx x clock 01
21
2014 Digital Integrated Circuits - week one21 state[11:8] = xxxx state[7:4] = xxxx state[3:0] = 0111 + /2 sel = 0 ? in = 1001 xxxx out = xxxx 0 clock 01
22
2014 Digital Integrated Circuits - week one22 state[11:8] = xxxx state[7:4] = 0111 state[3:0] = 1001 + /2 sel = 0 ? in = 1010 xxxx out = 0111 0 clock 01
23
2014 Digital Integrated Circuits - week one23 state[11:8] = 0111 state[7:4] = 1001 state[3:0] = 1010 + /2 sel = 0 ? in = 1011 1000 out = 1001 0 clock 01
24
2014 Digital Integrated Circuits - week one24 state[11:8] = 1001 state[7:4] = 1010 state[3:0] = 1011 + /2 sel = 0 ? in = 1100 1010 out = 1010 0 clock 01
25
2014 Digital Integrated Circuits - week one25 state[11:8] = 1010 state[7:4] = 1011 state[3:0] = 1100 + /2 sel = 0 ? in = 1011 1011 out = 1011 0 clock 01
26
2014 Digital Integrated Circuits - week one26 state[11:8] = 1011 state[7:4] = 1100 state[3:0] = 1011 + /2 sel = 0 ? in = 1010 1011 out = 1100 0 clock 01
27
2014 Digital Integrated Circuits - week one27 state[11:8] = 1100 state[7:4] = 1011 state[3:0] = 1010 + /2 sel = 0 ? in = 1000 1011 out = 1011 0 clock 01
28
2014 Digital Integrated Circuits - week one28 state[11:8] = 1011 state[7:4] = 1010 state[3:0] = 1000 + /2 sel = 0 ? in = 0101 1001 out = 1010 0 clock 01
29
2014 Digital Integrated Circuits - week one29 state[11:8] = 1010 state[7:4] = 1000 state[3:0] = 0101 + /2 sel = 0 ? in = 0011 0111 out = 1000 0 clock 01
30
2014 Digital Integrated Circuits - week one30 state[11:8] = 1000 state[7:4] = 0101 state[3:0] = 0011 + /2 sel = 0 ? in = 0010 0101 out = 0101 0 clock 01
31
2014 Digital Integrated Circuits - week one31 state[11:8] = 0101 state[7:4] = 0011 state[3:0] = 0010 + /2 sel = 0 ? in = 0010 0011 out = 0011 0 clock 01
32
2014 Digital Integrated Circuits - week one32 state[11:8] = 0011 state[7:4] = 0010 state[3:0] = 0010 + /2 sel = 0 ? in = 0000 0010 out = 0010 0 clock 01
33
2014 Digital Integrated Circuits - week one33 state[11:8] = 0010 state[7:4] = 0010 state[3:0] = 0000 + /2 sel = 0 ? in = 0101 0001 out = 0010 0 clock 01
34
2014 Digital Integrated Circuits - week one34 state[11:8] = 0010 state[7:4] = 0000 state[3:0] = 0101 + /2 sel = 0 ? in = 0111 0011 out = 0011 1 clock 01
35
2014 Digital Integrated Circuits - week one35 state[11:8] = 0000 state[7:4] = 0101 state[3:0] = 0111 + /2 sel = 0 ? in = 1001 0011 out = 0101 0 clock 01
36
2014Digital Integrated Circuits - week one36
37
2014Digital Integrated Circuits - week one37
38
Simulation 2014Digital Integrated Circuits - week one38
39
Simulation (cont) 2014Digital Integrated Circuits - week one39
40
Synthesis: top level 2014Digital Integrated Circuits - week one40
41
Synthesis: second level 2014Digital Integrated Circuits - week one41
42
Synthesis: third level 2014Digital Integrated Circuits - week one42
43
The functions involved in digital pixel correction The predicate function - (ss2 = 0) - used to detect the wrong pixel The addition function, used to compute the interpolation The division by 2 function, used to compute the interpolation The selection function, according to the result of the predicate function select the result of interpolation or the current value The storage function, triggered by the active edge of clock, used to store the internal state of the system 2014Digital Integrated Circuits - week one43
44
The first crossing through the matter Main targets: Form behavioral to structural description in Verilog Working with simple combinational functions Learning about the internal structure of register Simple applications Provide the motivation for: Understand the transistor level description of a logic circuit Designing digital systems using digital circuits 2014Digital Integrated Circuits - week one44
45
DIGITAL CIRCUITS Combinational circuits Zero circuit Selection circuit (multiplexor) Adder Divider Sequential circuits Elementary latches Clocked latches (transparent on the active level) Master-Slave flip-flops (triggered by the active edge) Register Applications Shift register Counter 2014Digital Integrated Circuits - week one45
46
Combinational circuits 2014Digital Integrated Circuits - week one46 xyxy(xy)’ 0001 0101 1001 1110 xy xyxy(x y)’ 0001 0110 1010 1101 xyx+y(x+y)’ 0001 0110 1010 1110
47
Zero circuit: a n-input NOR 2014Digital Integrated Circuits - week one47 fan-in: number of inputs of a logic circuit depth: number of logic levels of a logic circuit size: the total number of inputs in all the circuits fan-in = 2 depth = 1 size = 2 fan-in = n depth = 1 size = n fan-in = 8 depth = 7 size = 14 fan-in = 8 depth = 3 size = 14
48
Selection circuit (multiplexer) 2014Digital Integrated Circuits - week one48 out = sel in1 + sel’ in0
49
2014Digital Integrated Circuits - week one49 Behavioral: Structural:
50
Synthesis result for n = 4 2014Digital Integrated Circuits - week one50
51
Adder 2014Digital Integrated Circuits - week one51 For n=1, results the one-bit adder. The logic expressions are sum = a b c = (a b) c carry = a b + c (a b)
52
2014Digital Integrated Circuits - week one52 sum = a’b’c + a’bc’ + ab’c’ + abc = a’(b’c + bc’) + a(b’c’ + bc) = a’(b c) + a(b c)’ = a (b c) = a b c carry = a’bc + ab’c + abc’ + abc= = (a’b+ab’)c+ab(c’+c)= = (a b)c + ab
53
Integer divide by 2 == right shift Integers Positive integers: from 8’b0000_0000 = 0 to 8’b1111_1111 = +255 Signed integers: from 8’b1_0000000 = -128 through 8’b0_0000000 = 0 to 8’b0_1111111 = +127 Negative integer is the positive one, complemented+1 +127=0_1111111 ->1_0000000+1=1_0000001=-127 Divide by 2 For positive integers: logic right shift (with 0 input) 8’b1001_1100 (156) => 8’b0100_1110 (78) For signed integers: arithmetic right shift (with sign input) - sign is preserved 8’b1_1011001(-70) => 8’b1_1101100 (-35) 2014Digital Integrated Circuits - week one53
54
Home work 1 Problems from 2.1 to 2.7; see Text Book at http://dcae.pub.ro/gstefan/0-BOOK.pdf Send your home work as a one-file word document to gstefan@arh.pub.ro With the subject: CID_42x_LastName_FirstName_TCy Example: CID_421_Popescu_Ion_TC4 2014Digital Integrated Circuits - week one54
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.