• 沒有找到結果。

數位化

N/A
N/A
Protected

Academic year: 2022

Share "數位化"

Copied!
74
0
0

加載中.... (立即查看全文)

全文

(1)

數位邏輯設計與實習

主講者:杜勇進

(2)

教材

„ 數位邏輯設計,劉倫偉、高立圖書公司

„ 數位邏輯設計、江眧皚譯、滄海圖書公司

„ 數位邏輯設計、林銘波、全華圖書公司

„ Verilog FPGA晶片設計、林灶生、全華圖 書公司

(3)

課程大綱

„ Ch01數字系統與數碼系統

„ Ch02基本邏輯閘與布林代數

„ Ch03布林函數化簡

„ Ch04組合邏輯電路設計

„ Ch05序向邏輯電路

„ Ch06暫存器與計數器設計

„ Ch07 Verilog語法

„ Ch08實驗室實習

(4)

數位化

„ 類比:大自然環境

連續變化。如:壓力、濕度、溫度、電壓、

電流

„ 數位:電腦世界。不連續變化

„ 數位化Î類比量轉成數位量

„ 問題:如何表示?

„ 本章重點:人類的資料在電腦中如何表示

„ 123? -543? John ABC 台灣 ?

(5)

R(Radix,Base)進制

R>1

„ R=2進制:0,1

„ R=8進制:0,1,2,…6,7

„ R=10進制:0,1,2,……8,9

„ R=16進制: 0,1,2,……,9,A,B,C,D,E,F

„ R=...

(6)

b(R)進制

N a b a b ab a b a b a b a b ab

q q

q q

p p

i i p q

= + + + + + + + +

=

1

1

2 2

1 1

0 0

1 1

2 2 1

L L

(7)

各種進制的比較

十進制 二進制 八進制 十六進制

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A (或 a)

11 1011 13 B (或 b)

12 1100 14 C (或 c)

13 1101 15 D (或 d)

14 1110 16 E (或 e)

15 1111 17 F (或 f)

16 10000 20 10

(8)

B(R)進制轉成10進制

„ 2Î10進制

„ 8Î10進制

„ 16Î10進制

(9)

2->10進制(手算)

„ 1101.01 (2) =? (10)

„ Ans:13.25

(10)

2->10進制

„

展開成2的冪次方

11010101101 1 2 1 2 1 2 1 2 1 2 1 2 1 2 32 16 4 1 025 0125 003125

5340625

2

5 4 2 0 2 3 5

10

.

. . .

.

= × + × + × + × + × + × + ×

= + + + + + +

=

− − −

(11)

6->10進制(手算)

„ ex: 543 (6) =? (10)

„ Ans: 207 (10)

(12)

8->10進制

„ 展開成8的冪次方

(13)

16->10進制(手算)

„ ex: AB.C (16) =? (10)

Ans:171.75 (10)

(14)

16->10進制

„ 展開成16的冪次方

(15)

10進制轉成B(R) 進制

„ 10->2進制

„ 10->8進制

„ 10->16進制

„ 方法:整數連除R,小數連乘R

(16)

10->2進制(手算)

„ 100.125(10)Î?(2)

„ Ans:1100100.001 (2)

(17)

10->2進制

„

整數連除2,小數連乘2

„

109.78125

109 2 54 54 2 27 27 2 13 13 2 6

6 2 3 3 2 1 1 2 0

÷ =

÷ =

÷ =

÷ =

÷ =

÷ =

÷ =

LL LL LL LL LL LL LL

1 0 1 1 0 1

1 MSB

LSB 078125 2 156250

056250 2 11250 01250 2 0250

0250 2 0500 0500 2 1000

. .

. .

. .

. .

. .

× =

× =

× =

× =

× =

= +

= +

= +

= +

= +

1 056250 1 01250

0 0250 0 0500 1 0000

. . . . .

整數

(18)

10->8進制(手算)

„ ex: 245.5 (10) = ? (8)

„ Ans:365.4 (8)

(19)

10->8進制

„

整數連除8,小數連乘8

„

250.38

250 8 31 31 8 3

3 8 0

÷ =

÷ =

÷ =

LL ↓

LL LL 2 7 3

餘數

038 8 304 004 8 032 032 8 256 056 8 4 48

. .

. .

. .

. .

× =

× =

× =

× =

= +

= +

= +

= +

3 004 0 032 2 056 4 048

. . . .

整數

(20)

10->16進制(手算)

„ ex: 167.0625 (10) =? (16)

„ Ans: A7.1

(21)

10->16進制

„

整數連除16,小數連 乘16

„

167.45

167 16 10 10 16 0

÷ =

÷ =

LL LL

7

10 MSD LSD 整數部分 餘數

045 16 72 02 16 32 02 16 32

. .

. .

. .

× =

× =

× =

= +

= +

= + 7 02 3 02 3 02

. . . 小數部分 整數

167

10

=A 7

16

045 .

10

= 073 .

16

(22)

10->2進制(8421)

„

0 (10) =0000 (2)

„

1 (10) =0001 (2)

„

2 (10) =0010 (2)

„

3 (10) =0011 (2)

„

4 (10) =0100 (2)

„

5 (10) =0101 (2)

„

6 (10) =0110 (2)

„

7 (10) =0111 (2)

„

8 (10) =1000 (2)

„

9 (10) =1001 (2)

(23)

10,2,8,16進制

十進制 二進制 八進制 十六進制

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A (或 a)

11 1011 13 B (或 b)

12 1100 14 C (或 c)

13 1101 15 D (或 d)

14 1110 16 E (或 e)

15 1111 17 F (或 f)

16 10000 20 10

(24)

2,8,16進制互換

„ 2Î8進制

‡

小數點為準,每3 bit化成1數字

„ 8Î2進制

‡

每1數字轉成3 bits

„ 2Î16進制

‡

小數點為準,每4 bit化成1數字

„ 16Î2進制

‡

每1數字轉成4 bits

(25)

2->8進制

110010101.0110 = 110 010 101.011 000 = 6 2 5.3

(26)

8->2進制

4 7 2

8

= 1 0 0 1 1 1 0 1 0

2

5 43 1 . 8 = 101100011 001 . 2

(27)

2->16進制

{ { { { { { 0101 1101 10011011 0100 1110

5 D 9 . B 4 E

↓ ↓ ↓ ↓ ↓ ↓

.

(28)

16->2進制

} } } } } } 3 7 C . B 8 6

0111 1000 0110

0011 1100 1011

↓ ↓ ↓ ↓ ↓ ↓

.

(29)

8->16進制

„ 方法:8->2->16進制

„ 35 (8) =? (16)

„ Ans: 1D

(30)

16->8進制

„ 方法:16->2->8進制

„ AB (16) =? (8)

„ Ans:253 (8)

(31)

R進制四則運算

„ 四則運算:+ - × ÷

„ + - ×:逢R進位

„ ÷ 先化成10進制,再將結果化成R進制

(32)

R進制加法

„ 101.1 (2) +011.1 (2)

„ AB (16) +CD (16)

„ 123 (8) +456 (8)

„ Ans:1001.0 (2) 178 (16) 601 (8)

(33)

R進制減法

„ 110 (2) -011 (2)

„ 3FB (16) -1AE (16)

„ 724 (8) -156 (8)

„ Ans:011 (2) 24D (16) 546 (8)

(34)

R進制乘法

„ 101 (2) *011 (2)

„ 2A5 (16) *34 (16)

„ 45 (8) *23 (8)

„ Ans:1111 (2) 8984 (16) 1277 (8)

(35)

補數

„ R進制有兩種補數

‡

R's補數

‡

(R-1)'s補數

(36)

R's補數

„ 以R為底的任一正數N,整數部份長度n,小 數部份長度m,

„ 其R's補數ÎRn-N if N≠0

„ 543 (10) Î 457 (10)

„ 123 (8) Î 655 (8)

„ 1AF (16)Î E41 (16)

(37)

(R-1)'s補數

„ 以R為底的任一正數N,整數部份長度n,小 數部份長度m,

„ 其(R-1)'s補數ÎRn-R-m-N

„ 543 (10) Î 456 (10)

„ 123 (8) Î 654 (8)

„ 1AF (16)Î E40 (16)

(38)

2補數與1補數

„ N=1011 (2)

‡

2補數Î0101 (2)

‡

1補數Î0100 (2)

„ N=10000 (2)

‡

2補數Î10000 (2)

‡

1補數Î01111 (2)

(39)

負數表示

„ 符號大小表示法(sign magnitude)

„ 1's補數表示法(1's complement)

„ 2's補數表示法(2's complement)

(40)

符號大小表示法

„ 最左邊位元當符號用:0:表示正數;1表示 負數

„ 其餘位元表示大小

„ Ex n=8 bit (長度) 9 Î 0 000 1001 -9 Î 1 000 1001

„ n=3 bit (長度) 3 Î 0 11

-3 Î 1 11

(41)

1's補數表示法

„ 若是負數則取1's補數

„ Ex n=8 bit (長度) 9 Î 0 000 1001 -9 Î 1 111 0110

„ n=3 bit (長度) 3 Î 0 11

-3 Î 1 00

(42)

2's補數表示法

„ 若是負數則取2's補數

„ Ex n=8 bit (長度) 9 Î 0 000 1001 -9 Î 1 111 0111

„ n=3 bit (長度) 3 Î 0 11

-3 Î 1 01

(43)

N=4 bit 各種表示

十進制 帶號大小 1補數 2補數 十進制 帶號大小 1補數 2補數

+7 0111 0111 0111 -0 1000 1111 0000

+6 0110 0110 0110 -1 1001 1110 1111

+5 0101 0101 0101 -2 1010 1101 1110

+4 0100 0100 0100 -3 1011 1100 1101

+3 0011 0011 0011 -4 1100 1011 1100

+2 0010 0010 0010 -5 1101 1010 1011

+1 0001 0001 0001 -6 1110 1001 1010

+0 0000 0000 0000 -7 1111 1000 1001

-8 (不可能) (不可能) 1000

(44)

各種表示法的範圍

„ 符號大小表示法(sign magnitude) - (2n-1 – 1 ) ~ (2n-1 – 1 )

„ 1's補數表示法(1's complement) - (2n-1 – 1 ) ~ (2n-1 – 1 )

„ 2's補數表示法(2's complement) - (2n-1 ) ~ (2n-1 - 1 )

„ N=4

符號大小表示法:-7 ~ 7 1's補數表示法: -7 ~ 7 2's補數表示法 : -8 ~ 7

(45)

各種表示法的範圍

„ N=8

符號大小表示法:-127 ~ 127 1's補數表示法: -127 ~ 127 2's補數表示法 : -128 ~ 127

„ N=16

符號大小表示法:-32767 ~ 32767

1's補數表示法: -32767 ~ 32767 2's補數表示法 : -32768 ~ 32767

(46)

2's補數表示法優點

„ 可表示範圍較大(多1個)

„ 零只有一種表示法

„ 運算處理流程較簡單(減法只需加一次)

(47)

用加補數代替減法—1's

„ 取1's補數相加

„ 看結果

‡

有進位:再加1

‡

無進位:即為答案

(48)

1's 範例1

„

45-33 (n=8 bit)

„ 45=00101101

(2)

33=00100001

(2)

45-33=00101101 – 00100001 00101101

+ 11011110 (-33的1's補數表示)

=========

100001011

+ 1

=========

00001100Î 12

(49)

1's 範例2

„ 33-45 (n=8 bit)

„ 45=00101101 (2) 33=00100001 (2)

33 - 45= 00100001 – 00101101 00100001

+ 11010010 (-45的1's補數表示)

=========

11110011 Î -12

(50)

1's 範例3

„ 2-1 (以4bits表示)

„ 0010 - 0001

(51)

1's 範例4

„ 1-2 (以4bits表示)

„ 0001 - 0010

(52)

用加補數代替減法—2's

„ 取2's補數相加

„ 看結果

‡

有進位:捨棄,即為答案

‡

無進位:即為答案

(53)

2's 範例1

„ 45-33 (n=8 bit)

„ 45=00101101 (2) 33=00100001 (2)

45-33=00101101 – 00100001 00101101

+ 11011111 (-33的2's補數表示)

=========

100001100 Î 12

(54)

2's 範例2

„ 33-45 (n=8 bit)

„ 45=00101101 (2) 33=00100001 (2)

33 - 45= 00100001 – 00101101 00100001

+ 11010011 (-45的2's補數表示)

=========

11110100 Î -12

(55)

2's範例3

„ 2-1 (以4bits表示)

„ 0010 - 0001

(56)

2's範例4

„ 1-2 (以4bits表示)

„ 0001 - 0010

(57)

2's補數特別數

„ n=4(長度)

„ -1

„ -8

„ n=8 (長度)

„ -1

„ -128

(58)

溢位

„ 溢位(overflow):超出所能表示範圍

„ ex: (0100)2 + (0100)2 =?

(59)

溢位判斷

„ 方法:

‡

有進入sign bit之進位,而沒有從sign bit出來 的進位

‡

沒有進入sign bit之進位,而有從sign bit出來 的進位

(60)

溢位判斷1

„ (0100)2 + (0101)2

(61)

溢位判斷2

„ (1000)2 + (1110)2

(62)

數碼系統

„ 加權碼:每一bit有權重

BCD碼、84-2-1碼、2421碼、二五碼

„ 非加權碼:每一bit沒有權重

超三碼(excess-3)、葛雷碼(Gray)、五取 二碼(2 out of 5)

(63)

加權碼

w w w w

4 3 2 1

十進制數字 8 4 2 1 8 4 -2 -1 2 4 2 1 6 4 2 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 1 2 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 3 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 4 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 5 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 6 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 7 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 8 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 9 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

(64)

非加權碼

十進制數字 加三碼 循環碼 十進制數字 加三碼 循環碼

0 0011 0000 8 1011 1100 1 0100 0001 9 1100 1101 2 0101 0011 10 0100 0011 1111 3 0110 0010 11 0100 0100 1110 4 0111 0110 12 0100 0101 1010 5 1000 0111 13 0100 0110 1011 6 1001 0101 14 0100 0111 1001 7 1010 0100 15 0100 1000 1000

(65)

BCD碼

„ BCD(Binary Code Decimal)

„ 0~9用4個bit表示

„ (28)

10

Î (?)

BCD

„ (123.4)

10

Î(?)

BCD

„ (10010100.1000)

BCD

Î(?)

10

„ (00111001)

BCD

Î(?)

10

(66)

超三碼

„ 38 (10) = (?)x'3

„ 11001000.0101 (x'3) = (?)10

(67)

葛雷碼(Gray)

(68)

互斥或(Exclusive OR)

„ 不一樣為1

„ 一樣為0

„ 0♁0=0

„ 0♁1=1

„ 1♁0=1

„ 1♁1=0

(69)

二進制與葛雷碼互換

b 5 b 4 b 3 b 2 b 1 b 0 二進碼

g 5 g 4 g 3 g 2 g 1 g 0

格雷碼 (a)

所以對應的格雷碼為111011。

1 0 1 1 0 1

1 1 1 0 1 1

b 5 b 4 b 3 b 2 b 1 b 0 二進碼

g 5 g 4 g 3 g 2 g 1 g 0

格雷碼 (b)

所以對應的格雷碼為111110。

1 0 1 0 1 1

1 1 1 1 1 0

(70)

二進制Î葛雷碼(Gray)

„ 方法:由右至左,兩兩互斥(不一樣為1,一 樣為0)

„ 01010110 (2) Î? (gray)

(71)

葛雷碼(Gray) Î二進制

„ 方法:由左至右,兩兩互斥

„ 011111101 (gray)Î? (2)

(72)

ASCII

„ ASCII(American Standard Code for Information Interchange)

„ 每一字(符號)用7 bits表示

„ 0~31沒有字,通訊控制碼

„ ‘A’ Î100 0001 (2)Î0x41Î65 (10)

„ ‘a’ Î110 0001 (2)Î0x61Î97 (10)

„ ‘0’Î011 0000(2)Î0x30Î48(10)

(73)

ASCII表

(74)

錯誤偵測Î同位元

„ 奇同位:訊息與同位元"1"的總合為奇數

„ 偶同位:訊息與同位元"1"的總合為偶數

„ ex: 採奇同位

„ 1001□Î1

„ ex: 採偶同位

„ 1001□Î0

„

只能偵測奇數個錯誤,且無法更正(correct)

參考文獻

相關文件

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.

主要指標 單位 參考期.