You are on page 1of 276

NHẬP MÔN MẠCH SỐ

CHƢƠNG 1

Tổng quan

1
Thông tin giảng viên, Sách tham
khảo, Qui định môn học
Sách tham khảo

Digital design - Principles and


Practices, John F. Wakerly, 3rd
Edition, Prentice-Hall, 2001.
Digital systems principles and
Kỹ thuật số 1, Nguyễn như Anh, NXB ĐHQG applications, Ronald J. Tocci, 8th
TP.HCM, 2007. Edition, Prentice-Hall, 2001.
3
Mục tiêu môn học

• Hiểu được luận lý số (digital logic) ở mức cổng và mức


chuyển mạch (switch level) của các thành phần logic tổ hợp
(combinational logic) và logic tuần tự (sequential logic)

• Thiết kế và thực thi các mạch logic tổ hợp và tuần tự

• Phân tích được các mạch logic số từ đơn giản đến phức tạp

• Biết sử dụng các công cụ (tools) hỗ trợ trong thiết kế logic số

4
Vị trí, đối tƣợng môn học trong chuỗi
thiết kế và ứng dụng chip
 Vị trí của môn học  Đối tượng môn học:
 Cổng logic: AND, OR, NOT,…

 Chốt, Flip-flop, thanh ghi (register)

 Mạch logic tổ hợp: cộng, trừ, so


sánh, …

 Mạch logic tuần tự: mạch đếm đồng


bộ, bất đồng bộ, thanh ghi dịch,…

5
Chuỗi các môn học về thiết kế và ứng
dụng chip
• Toán rời rạc
• Nhập môn mạch số
• Kiến trúc máy tính
• Thiết kế luận lý số
• Hệ điều hành
• Hệ thống nhúng
• Vi xử lý – Vi điều khiển
• Thiết kế vi mạch: số, tương tự, hỗn hợp

6
Nhập môn Mạch số

Nội dung môn học:

 Chương 1: Giới thiệu

 Chương 2: Biểu diễn số trong các cơ số khác nhau

 Chương 3: Đại số Boolean và các cổng luận lý (logic gates)

 Chương 4: Mạch logic và đánh giá tối ưu

 Chương 5: Mạch tổ hợp

 Chương 6: Mạch tuần tự

7
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

8
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

9
Các thiết bị và hệ thống số

• Ngày nay, các thiết bị và hệ thống số hiện diện khắp nơi


trong cuộc sống của chúng ta

Ví dụ: máy tính Casio, computer, đồng hồ số, truyền hình


số vệ tinh, tivi số, audio/video, điện thoại thông minh,…

10
Những thuận lợi khi thao tác
trên dữ liệu số

• Dễ thiết kế

• Thông tin được lưu trữ dễ dàng

• Độ chính xác cao và ít bị tác động bởi nhiễu (noise)

• Có thể lập trình được

• Tốc độ đáp ứng nhanh

• Nhiều mạch số có thể chế tạo thành các Chip

11
Những hạn chế khi thao tác
trên dữ liệu số
 Các tín hiệu/thành phần trong thế giới thực chủ yếu tồn tại ở
dạng tương tự (analog): nhiệt độ, áp xuất, âm thanh, tốc độ,

Để chuyển dữ liệu từ dạng tương tự (analog) về dạng dữ liệu


số (digital) để xử lý, thông thường 3 bước sau được áp dụng:
– Chuyển tín hiệu tương tự từ thực tại về hình thức số
– Xử lý trên dữ liệu thuộc dạng số
– Chuyển dữ liệu số ở ngõ ra về lại hình thức tương tự rồi xuất ra
bên ngoài.

12
Tƣơng tự (analog)  Số (digital)

ADC DAC
13
Tƣơng tự (analog)  Số (digital)

Nhiều hệ thống kết hợp giữa xử lý tín hiệu tương tự và tín


hiệu số để đạt mục đích mong muốn.
CD drive

10110011101 Digital-to-analog Linear amplifier


Digital data converter Analog
reproduction
of music audio Speaker
signal
Sound
waves

14
Tƣơng tự (analog)  Số (digital)

15
Tƣơng tự (analog)  Số (digital)

16
Ví dụ thao tác trên dữ liệu số

• Nén audio/video để giảm dung lượng: MP3, MP4,…


Một CD có thể lưu trữ 20 bài hát khi không nén, nhưng
có thể lưu trữ 200 bài hát đã nén dữ liệu.
• Nén dữ liệu số cũng được dùng trong xử lý ảnh: JPEG,
PNG, …
Một ví dụ về cách thức nén dữ liệu

17
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

18
Những đặc điểm của số

• Trạng thái

– Cao (High): điện áp từ 2V đến 5V

– Thấp (Low): điện áp từ 0V đến 0.8V

– Không xác định (Invalid): điện áp từ 0.8V


đến 2V
• Có thể tạo ra lỗi (error) trong mạch số

19
Những đặc điểm của số

• Dạng sóng kiểu số (digital waveform) thay đổi giữa mức


thấp (Low) và mức cao (High) hoặc ngược lại.
– Một xung tích cực dương (positive-going pulse) khi nó
chuyển từ mức logic thấp (low) đến mức logic cao (high).
Ngược lại được gọi là xung tích cực âm (negative-going
pulse).
– Dạng sóng kiểu số được hình thành từ các chuỗi xung kết
hợp lại.

Positive-going pulse Negative-going pulse 20


Giản đồ định thời (timing diagram)

• Giản đồ định thời được dùng để chỉ ra quan hệ giữa hai


hay nhiều dạng sóng kiểu số

21
Dữ liệu nối tiếp (serial data) và
song song (parallel data)
• Dữ liệu có thể được truyền giữa hai thiết bị theo kiểu nối
tiếp (serial) hoặc theo kiểu song song (parallel)

22
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

23
Qui trình thiết kế Số

Yêu cầu thiết kế

Mô tả kỹ thuật
bằng sơ đồ, lưu đồ

Thiết kế

Mô phỏng

Sửa lại
Thiết kế hoạt thiết kế
động đúng?

24
Qui trình thiết kế Số

Thử nghiệm
thực tế Sửa lỗi

Kiểm tra

Có lỗi Sửa lại


nhỏ? thiết kế
Thiết kế hoạt
động đúng với
mô tả kỹ thuật?

Hoàn thành
sản phẩm 25
Ví dụ đƣờng dữ liệu (data path) của
một chip đơn giản

Ghi chú: học chi tiết hơn trong môn Kiến trúc máy tính 26
Thiết bị kiểm tra và đo lƣờng

• Máy phân tích luận lý (logic analyzer) có thể hiển thị đồng
thời nhiều kênh (channels) của thông tin dạng số và chỉ ra
dạng sóng của dữ liệu theo từng cột thời gian trên màn hình
hiển thị

27
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

28
Các loại chip Số

A. Dựa vào đặc điểm, tính năng


1. Các chip tiêu chuẩn, cơ bản (Standard chip)
– Chứa một lượng nhỏ các cổng logic
– Thực thi những hàm, chức năng đơn giản
– Ví dụ: các chip họ 7400

29
Các loại chip Số
A. Dựa vào đặc điểm, tính năng
2. Các chip có khả năng lập trình được
(Programmable Logic Devices (PLD) hoặc
Field-Programmable Gate Array (FPGA))
– Tập hợp các cổng chưa được kết nối, việc
kết nối giữa các cổng này có thể lập trình
được
– Chức năng của chip có thể được cấu hình
bởi người sử dụng
– Được thiết kế dựa vào các công cụ (tool)
CAD

Altera DE2 board with Cyclone II FPGA chip


30
Các loại chip Số
A. Dựa vào đặc điểm, tính năng
3. Các chip chuyên dụng thực hiện một ứng dụng cụ thể
(Application-Specific Integrated Circuit (ASIC) hoặc Custom-designed chips)
– Tối ưu cho một nhiệm vụ cụ thể
– Tối ưu về hiệu suất, tốc độ thực thi
– Nhiều mạch logic được tích hợp hơn
– Giá thành cao

An ASIC-based USB Bitcoin miner. The ASIC


chip is on the bottom-left of the device 31
A tray of ASIC chips
Các loại chip Số
B. Dựa vào độ tích hợp của các cổng logic
• Độ tích hợp nhỏ (Small Scale Integration - SSI): 1 đến 20 cổng
• Độ tích hợp trung bình (Medium Scale Integration - MSI): 20
đến 200 cổng
• Độ tích hợp lớn (Large Scale Integration - LSI): 200 đến
1.000 .000 cổng
• Độ tích hợp cực lớn (Very Large Scale Integration - VLSI):
trên 1.000.000 cổng

32
Chƣơng 1: Giới thiệu

• Tổng quan

• Những đặc điểm của Số (digital features)

• Qui trình thiết kế Số (digital design processing)

• Các loại chip Số

• Những thuật ngữ của Số

33
Những thuật ngữ của Số

• Tương tự (analog): tín hiệu được biểu diễn liên tục


• Số (digital): biểu diễn một lượng rời rạc hoặc tập hợp của các
giá trị rời rạc
• Nhị phân (binary): Một hệ cơ số 2, biểu diễn bằng hai giá trị 0
hoặc 1
• Bit: một ký tự nhị phân, có thể là 0 hoặc 1
• Chip logic lập trình được (programmable logic chip): Một loại
chip số có khả năng lập trình được để thực hiện một chức năng cụ
thể FPGA
• Chip logic chức năng cố định (fixed-function logic chip): Những
loại chip số có chức năng cố định, không thể thay đổi
ASIC 34
THẢO LUẬN ???

35
HỆ THỐNG SỐ

Chương 2

Biểu Diễn Các Dạng Số

1
Nội Dung

1. Giới thiệu các hệ thống số


– Số Thập Phân
– Số Nhị Phân
– Số Thập Lục Phân
– Số Bát Phân
2. Chuyển đổi giữa các hệ thống số
3. Biểu diễn số nhị phân
4. Biểu diễn số có dấu
5. Biểu diễn các loại số khác
– Số dấu chấm động
– BCD
– ASCII
2
1. Giới thiệu các hệ thống số

• Số Thập Phân

• Số Nhị Phân

• Số Thập Lục Phân

• Số Bát Phân

3
Hệ thống số Cơ số Chữ số
Thập Phân 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Nhị Phân 2 0, 1
Bát Phân 8 0, 1, 2, 3, 4, 5, 6, 7
Thập Lục 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
A, B, C, D, E, F

Các Hệ Thống Số
Số Thập Phân

Ví dụ: 2745.21410

Decimal point

weight
weight
weight
weight weight

5
Số Thập Phân

• Phân tích số thập phân : 2745.21410

Decimal point

• 2745.21410 =
2 * 103 + 7 * 102 + 4 * 101 + 5 * 100 +
2 * 10-1 + 1 * 10-2 + 4 * 10-3
6
Số Nhị Phân

Ví dụ: 1011.1012

Binary point

weight
weight
weight
weight weight

7
Số Nhị Phân

• Phân tích số nhị phân 1011.1012

Binary point

• 1011.1012 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 +
1 * 2-1 + 0 * 2-2 + 1 * 2-3
= 11.62510
8
Số Bát Phân

• Số Bát Phân : 3728


• 3728 = 3 * 82 + 7 * 81 + 2 * 80
= 25010

9
Số Thập Lục Phân

• Phân tích số thập lục phân : 3BA16


• 3BA16 = 3 * 162 + 11 * 161 + 10 * 160
= 95410

10
Chuyển đổi giữa các hệ thống số

11
Chuyển đổi sang số thập phân

• Nhân mỗi chữ số (digit) với trọng số (weight)

12
Ví Dụ

• Biểu diễn 37028 sang số thập phân

• Biểu diễn 1A2F16 sang số thập phân

13
Số Thập Phân => Số Nhị Phân

Decimal Binary

• Chia số thập phân với 2 và sau đó viết ra phần dư còn


lại
– Chia cho đến khi có thương số là 0.

• Phần số dư đầu tiên gọi là LSB (Bit trọng số nhỏ nhất)


• Phần số dư cuối cùng gọi là MSB (Bit trọng số lớn nhất)

14
Ví dụ : 2510 => Số Nhị Phân

15
Số Thập Phân => Số Thập Lục Phân

Decimal Hexadecimal

• Chia số thập phân cho 16 và viết ra phần dư còn lại


– Chia cho đến khi có thương số là 0.

• Phần số dư đầu tiên gọi là LSD (Chữ số ít quan trọng


nhất)
• Phần số dư cuối cùng gọi là MSD (Chữ số quan trọng
nhiều nhất)
16
Ví Dụ: 42310 => Thập Lục Phân

17
Thập Phân => Bát Phân

Decimal Octal

• Chia số thập phân cho 8 và viết ra phần dư còn lại


– Chia cho đến khi có thương số là 0.

• Phần số dư đầu tiên gọi là LSD (Chữ số ít quan trọng


nhất)
• Phần số dư cuối cùng gọi là MSD (Chữ số quan trọng
nhiều nhất)
18
Bát Phân => Nhị Phân

Octal Binary

• Chuyển đổi lần lượt mỗi chữ số ở dạng Bát Phân sang
nhóm 3 bits Nhị Phân
Octal 0 1 2 3 4 5 6 7
Binary 000 001 010 011 100 101 110 111

• VD:

19
Thập Lục Phân => Nhị Phân

Hex Bin
0 0000
Hexadecimal Binary 1 0001
2 0010
3 0011
4 0100
• Chuyển đổi lần lượt mỗi chữ số ở dạng Thập Lục 5 0101
6 0110
Phân sang nhóm 4 bits Nhị Phân 7 0111
8 1000
9 1001
• VD: A
B
1010
1011
C 1100
D 1101
E 1110
F 1111
20
Nhị Phân => Bát Phân

Binary Octal

• Nhóm 3 bits bắt đầu từ ngoài cùng bên trái của số


• Chuyển đổi mỗi nhóm trên sang dạng chữ số của Bát
Phân

• VD: 10110101112 => Bát Phân


13278

21
Nhị Phân => Thập Lục Phân

Binary Hexadecimal

• Nhóm 4 bits từ phía ngoài cùng bên trái của số


• Chuyển đổi mỗi nhóm trên sang 1 chữ số Thập Lục
• VD: 101011010101110011010102 => Thập Lục Phân

56AE6A16

22
Bát Phân <=> Thập Lục Phân

Binary

Octal Hexadecimal

• Chuyển đổi thông qua trung gian là số Nhị Phân

23
Ví dụ: 1F0C16 => Bát Phân

Chuyển đổi từ Thập Lục Phân sang Nhị Phân


1F0C16 = 1_1111_0000_11002

Chuyển đổi từ Nhị Phân sang Bát Phân


1_111_100_001_1002 = 174148

24
Ví Dụ: 10768 => Thập Lục phân

Chuyển đổi từ Bát Phân sang Nhị Phân


10768 = 1_000_111_1102

Chuyển đổi từ Nhị Phân sang Thập Lục Phân


10_0011_11102 = 23E16

25
Ví Dụ

• Thực hiện phép chuyển đổi giữa các hệ thống số

Decimal Binary Octal Hexadecimal


35
1101101
712
1AF

26
Phân Số

• Số Thập Phân => Số Nhị Phân

27
Ví dụ: 189.02310 => Số Nhị Phân

28
Ví Dụ

• Thực hiện phép chuyển đổi giữa các hệ thống số

Decimal Binary Octal Hexadecimal


29.8
110.1101
3.07
C.82

29
Các phép tính số nhị phân

• Phép Cộng

• Phép Nhân

• Phép Trừ

30
Phép Cộng

• 2 (1-bit) phép cộng 2 số nhị phân tổng quát

A B A+B
0 0 0
0 1 1
1 0 1
1 1 10

31
Phép Cộng

• Phép cộng 2 số nhị phân không dấu

32
Phép Nhân

• 2 1-bit Phép Nhân 2 số nhị phân tổng quát

A B A*B
0 0 0
0 1 0
1 0 0
1 1 1

33
Phép Nhân

• Phép nhân 2 số nhị phân không dấu

34
Phép Trừ

• Quy tắc thực hiện phép trừ như sau:


0-0=0
1-1=0
1-0=1
[1]0 - 1 = 1 Mượn1

• VD Thực hiện phép trừ 2 số nhị phân 5 bits: 00111


từ 10101
10101 21
00111 7
01110 = 14

35
Biểu diễn số có dấu

• Phương pháp biểu diễn số có dấu

• Dạng số bù 1

• Dạng số bù 2

• Chuyển dạng số bù 2 sang số nhị phân

• Các phép tính trong hệ thống số bù 2

• Hiện tượng TRÀN (Overflow)

36
Biểu diễn số có dấu

• Số dương (+) và Số âm (-)

• Sử dụng thêm 1 bit (sign bit) để thể hiện dấu của số:
– 0: dương
– 1: âm

• Bit thể hiện dấu nằm ở ngoài cùng bên trái của số

37
Biểu diễn số có dấu

Có rất nhiều phương pháp để biểu diễn số có dấu:


• Dấu và độ lớn
• Dạng số bù 1
• Dạng số bù 2
• Số quá-K
• Cơ số nền -2
• Bảng so sánh
• …
38
Phương pháp “dấu và độ lớn”

• Ví dụ: biểu diễn 1 số 6 bits có dấu

+52

-52

39
Phương pháp dạng số bù 1 và bù 2

• Dạng số bù 2 là một trong những cách phổ biến nhất


được sử dụng để biểu diễn số có dấu.

Ex:
Binary 0 1_ 0 0 1 0 _0 1 0 0 (29210)
Negate each bit
1’s 1 0_ 1 1 0 1_ 1 0 1 1 (-29210)
complement
+1
Add 1
2’s 1 0 1 1 0 1 1 1 0 0 (-29210)
complement

40
Biểu diễn số có dấu dưới dạng bù 2

+45

-45

41
Ví Dụ

• Biển diễn số có dấu áp dụng phương pháp dạng số bù 2


(a) +13

(b) -9

(c) -2

(d) -8

42
Chuyển đổi số bù 2 sang số nhị phân

Binary Ví dụ:
Negate each bit 10110
Add 1
2’s 01010
complement
Negate each bit
Add 1
Binary 10110

43
Phép cộng trong hệ thống số bù 2

• Thực hiện như phép cộng số nhị phân


– Bit dấu được xử lý dựa theo cách tương tự như các
bit độ lớn
– Bit nhớ ở vị trí cuối cùng sẽ được loại bỏ
– Nếu kết quả phép tính là số âm, thì đó chính là số
dạng bù 2

44
Ví Dụ

45
Ví Dụ

• Thực hiện phép cộng 2 số thập phân: +9 và -9?

46
Phép trừ trong hệ thống số bù 2

• Trong ví dụ 4 + (–9), phép cộng trong hệ thống số


bù 2 thực chất là phép trừ

• Quy tắc thực hiện phép trừ trong hệ thống số bù 2:

47
Ví Dụ

• 9–4 = ?

48
Hiện tượng tràn số học
• Hiện tượng Tràn (Overflow) xảy ra khi số lượng bit của
kết quả phép tính vượt quá số bit giới hạn quy định
– n bit biểu diễn 1 số từ quy tắc: -2n-1 to +2n-1-1
– Hiện tượng tràn luôn cho 1 kết quả sai hoàn toàn

=>Một mạch điện đặc biệt được thiết kế ra để phát hiện hiện
tượng tràn xuất hiện
49
Ví dụ hiện tượng Tràn

• Số có 4 bit, gồm 3 bit độ lớn và 1 bit dấu

• Hiện tượng Tràn không xảy ra đối với những phép tính
giữa 2 số khác dấu nhau 50
Các hệ thống số khác

• BCD

• Số dấu chấm động

• ASCII

51
BCD (Binary coded decimal)
• Mỗi chữ số của số thập phân được biểu diễn
bằng số nhị phân 4 bits tương ứng

• Ex: 1010 => BCD 84710 => BCD

52
BCD và Số Nhị Phân

13710 = 100010012 (Số Nhị Phân)

Decimal: 1 * 27 + 1 * 23 + 1 * 20

13710 = 0001_0011_0111 (BCD)

Decimal: 1 3 7

• BCD sử dụng nhiều bits hơn, thì việc chuyển đổi đơn
giản hơn
53
BCD

• Mạch thí nghiệm chuyển đổi


từ số BCD sang số thập phân

54
Số dấu chấm động

• Ký hiệu dấu chấm động có thể biểu diễn cho một


số có giá trị rất lớn hay rất nhỏ bằng cách sử dụng
một hình thức ký hiệu khoa học
• Ví dụ minh họa 1 số dấu chấm động 32 bit có độ
chính xác đơn.

S E (8 bits) F (23 bits)

Sign bit Biased exponent (+127) Magnitude with MSB dropped


(IEEE 754 Standard)

55
Số dấu chấm động
Biểu diễn giá trị của tốc độ ánh sáng, c, bằng ký hiệu của số
dấu chấm động có độ chính xác đơn (c = 0.2998 x 109)

Số Nhị Phân , c = 0001_0001_1101_1110_1001_0101_1100_00002.

Ký hiệu khoa học,


c = 1._0001_1101_1110_1001_0101_1100_0000 x 228.
S = 0 // số dương
E = 28 + 127 = 15510 = 1001 10112. (IEEE 754, bias = 127)
F là 23 bits tiếp theo sau khi bit có giá trị 1 đầu tiên xuất hiện.

32-bit độ chính xác đơn (phần cứng)


C = 0 10011011 0001_1101_1110_1001_0101 _110 56
ASCII

57
Thuật ngữ kỹ thuật số

Byte 1 byte gồm có 8 bits

Floating-point Một số được đại diện dựa trên ký hiệu khoa học, trong đó bao
number gồm một số mũ và phần định trị

Hexadecimal Hệ số có cơ số nền là 16
Octal Hệ số có cơ số nền là 8
BCD Binary coded decimal: là các mã số, trong đó mỗi chữ số
thập phân, từ 0 đến 9, được đại diện bởi một nhóm bốn bit

Alphanumeric Bao gồm các chữ số, chữ cái, và các ký hiệu khác

ASCII Mã tiêu chuẩn của Mỹ dùng trong việc trao đổi thông tin,
mã chữ và số được sử dụng rộng rãi nhất.

58
HỆ THỐNG SỐ

Chương 3

Giới Thiệu về Đại Số Boolean và

các Cổng Mạch Logic


Đại Số Boolean

• Đại Số Boolean chỉ có 2 giá trị xử lý duy nhất (2


trạng thái logic): 0 và 1

• 3 cổng mạch logic cơ bản:


– OR, AND và NOT
NỘI DUNG

• Cổng Logic cơ bản AND, OR, NOT


– Mạch Logic => Biểu thức Đại Số
– Biểu thức Đại Số => Mạch Logic

• Cổng Logic NAND và NOR

• Luận Lý Boolean
Cổng Logic Cơ Bản
Bảng Sự Thật
• Mô tả các mối quan hệ giữa inputs và outputs của
một mạch Logic

• Số lượng các mục tương ứng với số inputs


– A 2-input bảng sẽ có 22?= 4 mục
– A 3-input bảng sẽ có 23?= 8 mục
Cổng OR
• Biểu thức Boolean cho cổng logic OR có hoạt động:
– X = A + B — Đọc là ―X bằng A OR B‖
Dấu + không có nghĩa là phép cộng thông
thường , mà là ký hiệu cho cổng logic OR

• Bảng sự thật và biểu diễn cổng logic OR có 2 inputs:


AND Gate
• Cổng logic AND thực hiện tương tự như phép nhân:
– X = A  B — Đọc là ―X bằng A AND B‖
Dấu  không có nghĩa là phép nhân thông thường ,
mà là ký hiệu cho cổng logic AND
.
• Bảng sự thật và biểu diễn cổng logic AND có 2 inputs:
OR vs. AND

Ký hiệu của cổng logic OR có nghĩa là output


sẽ có trạng thái là HIGH khi có bất kỳ input
nào có trạng thái là HIGH

Ký hiệu của cổng logic AND có nghĩa là


output sẽ có trạng thái là HIGH khi tất cả
các input đều có trạng thái là HIGH
Cổng Logic NOT
• Biểu thức Boolean đối với cổng logic NOT

X = A — Đọc là: ―X bằng NOT A‖


Dấu thanh ngang phía ―X là đảo ngược của A‖
trên là ký hiệu cho cổng ―X là phần bù của A‖
logic NOT

A' = A
Có thể thay thế ký hiệu
cổng logic NOT bằng
dấu phẩy (')

Bảng sự thật cổng


Logic NOT
Cổng Logic NOT
• Cổng logic NOT có thể gọi chung là INVERTER

Dấu đảo ngược

Cổng logic này luôn luôn chỉ có duy nhất 1


input, và trạng thái của output sẽ đối nghịch
với trạng thái của input
Cổng Logic NOT
Cổng INVERTER nghịch đảo (phần bù) trạng thái tín
hiệu của các inputs tại các điểm trong cùng bước sóng

Bất cứ khi nào có: input = 0, output = 1, và ngược lại


Cổng Logic Cơ Bản

Ba cổng logic Boolean cơ bản có thể mô tả


được bất kỳ mạch logic nào
Mạch Logic => Biểu thức đại số
Mô tả mạch logic đại số
• Nếu một biểu thức có chứa cả hai cổng Logic AND
và OR, thì cổng logic AND sẽ được thực hiện trước :

• Trừ khi có một dấu ngoặc trong biểu thức


Mô tả mạch logic đại số

• Bất cứ khi nào có sự xuất hiện của cổng logic INVERTER


trong mạch, output sẽ có giá trị tương đương với input, kèm
theo dấu thanh ngang trên đầu của output
– Input A qua một inverter sẽ có output là A
Ví Dụ
Đánh giá OUTPUTs của mạch logic

• Ex: X = ABC(D + E) + FG

Quy tắc đánh giá một biểu thức Boolean:


 Thực hiện tất cả đảo ngược đối với các inputs đơn trước
 Thực hiện xử lý tất cả các phép tính trong ngoặc trước
 Thực hiện xử lý cổng logic AND trước rồi mới đến cổng
logic OR, trừ khi trường hợp cổng logic OR ở trong
ngoặc trước
 Nếu cả một biểu thức có thanh ngang trên đầu, thực hiện
các phép tính bên trong biểu thức trước, và sau đó đảo
ngược kết quả lại
Đánh giá OUTPUTs của mạch logic

• Cách tốt nhất để phân tích một mạch gồm có nhiều


cổng logic khác nhau là sử dụng bảng sự thật
– Cho phép chúng ta có thể phân tích một cổng hoặc một
tổ hợp các cổng logic có trong mạch cùng một lúc

– Cho phép chúng ta dễ dàng kiểm tra lại hoạt động của
mạch logic tổ hợp một cách chính xác nhất

– Bảng sự thật giúp ích trong việc phát hiện và xử lý lỗi


hay sự cố xuất hiện có trong mạch logic tổ hợp
Evaluating Logic Circuit Outputs

• Đánh giá outputs của mạch logic sau:


Đánh giá OUTPUTs của mạch logic
• Bước 1: Liệt kê tất cả các inputs có trong mạch logic tổ hợp

• Bước 2: Tạo ra một cột trong bảng sự thật cho mỗi tín hiệu
trung gian (node)

Node u đã được điền vào như là kết quả của


phần bù của tín hiệu input A
Đánh giá OUTPUTs của mạch logic

• Bước 3: điền vào các giá trị tín hiệu của cột node v

v =AB — Node v sẽ có giá trị HIGH


Khi A (node u) là HIGH và B là HIGH
Đánh giá OUTPUTs của mạch logic

• Bước 4: Dự đoán trước giá trị tín hiệu của node w là


outputs của cổng logic BC

Cột này là HIGH khi và chỉ khi B là HIGH và cả C là HIGH


Đánh giá OUTPUTs của mạch logic

• Bước cuối cùng: kết hợp một cách logic 2 cột v và w


để dự đoán cho output x

Từ biểu thức x = v + w, thì x output sẽ là HIGH khi v OR w là HIGH


Đánh giá OUTPUTS của mạch logic

• Ví dụ:
Biểu thức đại số=> Mạch Logic
Thiết kế mạch logic từ biểu thức
Boolean

- Biểu thức x = A.B.C có thể được thiết kế và vẽ


nên bởi 3 inputs là 3 cổng logic AND .

- 1 mạch logic có biểu thức x = A + B sẽ sử dụng


1 cổng logic OR gồm có 2 inputs, trong đó có 1
input sẽ có INVERTER kèm theo.
Ví Dụ

• Implement
Vẽ sơ đồ mạchalogic với output
circuit withnhư sau: y = AC + BC+ ABC
output

• Answer:
– A circuit with output y = AC + BC+ ABC contains three
terms which are ORed together

…and requires a three-input OR gate


Thiết kế mạch logic từ biểu thức
Boolean
• Mỗi cổng logic OR sẽ là một thành phần input của
cổng logic chính AND
Cổng Logic NOR và NAND
Cổng Logic NOR
• NOR = NOT OR
– X=A+B

Dấu đảo ngược


Cổng Logic NAND
• NAND = NOT AND
– X=AB

Dấu đảo ngược


Ví Dụ NAND/NOR

• Implement
Thực hiện vẽ sơ đồ mạch
logic logic for X = AB  (C +D)
circuit
–- Chỉ
Onlysửuse OR,cổng
dụng AND, NOT
logic OR,gates
AND, NOT
– Only use NOR and NAND gates
- Chỉ sử dụng cổng logic NOR và NAND
Các Định Lý Đại Số Boolean
Đại Số Boolean

• Máy tính kỹ thuật số là tổng hợp các mạch logic được


thực hiện dựa trên những hàm số của Boolean

• Khi chúng ta tạo nên một hàm số dựa trên Định Luật của
Boolean, thì sẽ tạo nên mạch logic nhỏ hơn và đơn giản
hơn
– Giá thành rẻ hơn, tiêu tốn ít điện năng hơn, và đặc biệt và
sẽ hoạt động xử lý nhanh hơn là mạch phức hợp.

• Do đó, dựa vào Định Luật của Boolean sẽ giúp chúng ta


thực hiện xử lý những hàm số Boolean thành những dạng
đơn giản nhất có thể
Định Luật Boolean I

Định Luật 1 nếu có bất kỳ input nào có Định Luật 2 khi một input có giá trị tín
giá trị tín hiệu là 0 trong cổng logic hiệu là 1 trong cổng logic AND thì không
AND, thì kết quả của ouput sẽ là 0 ảnh hưởng đến giá trị của tín hiệu ouput

Định Luật 3 xét từng trường hợp


Nếu x = 0, thì 0 • 0 = 0 Định Luật 4 có thể chứng minh bằng cách
Nếu x = 1, thì 1 • 1 = 1 tương tự
Do đó, x • x = x
Định Luật Boolean II
Định Luật 5 nếu có 1 input có giá trị
tín hiệu là 0 thì sẽ không gây ảnh
hưởng đến giá trị tín hiệu của output

Định Luật 6 nếu có 1 input là 1 thì output


của cổng logic OR luôn là 1.
Kiểm tra giá trị: 0 + 1 = 1 và 1 + 1 = 1

Định Luật 7 có thể chứng minh bằng


cách kiểm tra cả hai giá trị của x:
0 + 0 = 0 and 1 + 1 = 1

Định Luật 8 có thể chứng minh một cách


tương tự
Định Luật Boolean III
PHÉP GIAO HOÁN

PHÉP LiÊN KẾT / KẾT HỢP

PHÉP PHÂN PHỐI

(13c) x + yz = (x + y)(x + z)
Định Luật Boolean IV
• Định Luật Đa Biến
• Định Luật (14) và (15) không có thành phần đếm như
trong phép tính số học thông thường.
Định Luật Boolean V

Tính ñoái ngaãu (Duality):


Hai bieåu thöùc ñöôïc goïi laø ñoái ngaãu cuûa nhau khi ta
thay pheùp toaùn AND baèng OR, pheùp toaùn OR baèng
AND, 0 thaønh 1 vaø 1 thaønh 0
Ví Dụ

39/45
Định Luật DeMorgan’s
• Định Luật DeMorgan’s là phương pháp cực kỳ hữu
ích trong việc đơn giản hóa các biểu thức trong đó
một tích hay tổng của các biến được đảo ngược
Định Luật DeMorgan’s
• Mạch tương đương với ngụ ý của Định Luật (16)

Mạch logic tương đương


với hàm NOR
Định Luật DeMorgan’s
• Mạch tương đương với ngụ ý của Định Luật (17)

Mạch logic tương đương


với hàm NAND
Ví Dụ #1
• Áp dụng các định luật Boolean để đơn giản biểu thức
sau đây:
Ví Dụ #2
• Áp
UsedụngDeMorgan
định luật DeMorgan
theoremđể đơn
to giản các biểubelow
simplify thức
expressions
sau

(i) (M + N)(M + N)
(ii) (A + C + D)

• Đánh
How giá many, nhậntransistors
xét xem cócan
bao be
nhiêu thiết by
saved bị linh kiện
using
transistors
DeMorgancó thể tiết kiệm được bằng phương pháp
Theorem?
DeMorgan
Biểu diễn cổng logic (mở rộng)
• Ý nghĩa của 2 loại cổng logic NAND
Output là LOW khi
tất cả inputs là HIGH
Tích cực-HIGH

Output là HIGH khi


có ít nhất 1 input có
trạng thái là LOW
Tích cực-LOW
Universality of NAND Gates
• Làm sao sử dụng một tổ hợp các cổng logic NANDs
để tạo ra các hàm logic

Điều đó hoàn toàn có thể để thực hiện được bất cứ biểu thức
logic nào mà chỉ sử dụng duy nhất 1 loại cổng logic NANDs
Tính chất chung của cổng logic NOR

• Làm sao sử dụng một tổ hợp các cổng logic NORs để


tạo ra các hàm logic

Điều đó hoàn toàn có thể để thực hiện được bất cứ biểu thức
logic nào mà chỉ sử dụng duy nhất 1 loại cổng logic NORs
Biểu diễn cổng logic (mở rộng)
• Để biến đổi một cổng logic cơ bản sang một cổng
logic khác, có các cách như sau :
– Nghịch đảo OR sang AND hoặc AND sang OR
– Nghịch đảo mỗi input và output trong cùng một cổng logic
Biểu diễn cổng logic (mở rộng)

• Thêm vào 1 bong bóng (bubble) nghịch đảo khi ban


đầu không có
• Loại bỏ bong bóng khi đã có tín hiệu output xuất hiện
Danh sách chip IC thuộc họ 74LS…

Source: http://www.futurlec.com/IC74LS00Series.shtml
Thuật ngữ kỹ thuật số
Inverter Mạch logic thực hiện việc đảo ngược hoặc sẽ tạo ra
phần bù đối với giá trị của inputs

Truth table Bảng sự thật/ chân trị biểu diễn/thể hiện giá trị trạng
thái của tín hiệu inputs cũng như outputs tương ứng

Timing Một sơ đồ dạng sóng cho thấy mối quan hệ thời


diagram điểm thích hợp của tất cả các dạng sóng

Boolean Các phương pháp toán học đại số Boolean dành


algebra cho mạch logic
AND gate Vôùi coång AND coù nhieàu ngoõ vaøo,
ngoõ ra seõ laø 1 neáu taát caû caùc ngoõ vaøo ñeàu laø 1
Thuật ngữ kỹ thuật số
OR gate Vôùi coång OR coù nhieàu ngoõ vaøo,
ngoõ ra seõ laø 0 neáu taát caû caùc ngoõ vaøo ñeàu laø 0
NAND gate Vôùi coång NAND coù nhieàu ngoõ vaøo,
ngoõ ra seõ laø 0 neáu taát caû caùc ngoõ vaøo ñeàu laø 1

NOR gate Vôùi coång NOR coù nhieàu ngoõ vaøo,


ngoõ ra seõ laø 1 neáu taát caû caùc ngoõ vaøo ñeàu laø 0

Exclusive-OR Vôùi coång XOR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1
gate neáu toång soá bit 1 ôû caùc ngoõ vaøo laø soá leû

Exclusive-NOR Vôùi coång XNOR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1
gate neáu toång soá bit 1 ôû caùc ngoõ vaøo laø soá chaün
DIGITAL SYSTEMS

Lecture 5

Mạch tổ hợp:
Arithmetic Circuits
Nội dung

1. Mạch cộng (Carry Ripple (CR) Adder)

2. Mạch cộng nhìn trước số nhớ - (Carry Look-

Ahead (CLA) Adder)

3. Mạch cộng/ mạch trừ

4. Đơn vị tính toán luận lý (Arithmetic Logic Unit)


1. Mạch cộng Carry Ripple (CR)
Mạch cộng bán phần (Half Adder)

• Cộng 2 số 1 bit có 4 trường hợp

Số nhớ Tổng

x
Mạch cộng 1 bit có tổng và số y
nhớ như thế này được gọi là
mạch cộng bán phần (HA)

Sơ đồ mạch
Mạch cộng nhị phân song song
• Cộng những số có 2 hoặc nhiều bit
– Cộng từng cặp bit bình thường
– Nhưng ở vị trí cặp bit i, có thể có carry-in từ bit i-1

Số
hạng

Số
hạng

Tổng
(Sẽ cộng
Số vào vị trí
nhớ kế tiếp)
Thiết kế một bộ cộng toàn phần (Full Adder)

Bộ cộng toàn phần (FA)

– 3 ngõ vào (2 ngõ vào cho 2 số 1-bit cần tính tổng,


và 1 ngõ vào cho số nhớ đầu vào (carry-in)

– 2 ngõ ra (1 ngõ ra cho tổng và 1 cho số nhớ đầu


ra (carry-out)
Thiết kế một bộ cộng toàn phần (Full Adder)

Bảng sự thật

Biểu tượng
Thiết kế một bộ cộng toàn phần (Full Adder)

Si  xi  yi  ci

Bảng sự thật ci 1  xi yi  xi ci  yi ci
ci  cIN ci 1  cOUT
Thiết kế một bộ cộng toàn phần (Full Adder)

Si  xi  yi  ci
ci 1  xi yi  xi ci  yi ci ci  cIN
ci 1  cOUT

Biểu tượng

Biểu tượng khác


Sơ đồ mạch
Thiết kế một bộ cộng toàn phần (Full Adder)

• Sử dụng lại HA
Si  xi  yi  ci ci 1  xi yi  ci ( xi  yi )

x
y

Sơ đồ mạch HA
Sơ đồ chi tiết

Sơ đồ khối
Mạch cộng Carry Ripple (CR)
• Sơ đồ biểu diễn mạch cộng 4 bit song song sử
dụng full adder
Mạch cộng Carry Ripple
• Mạch FA bắt đầu với việc cộng các cặp bit từ LSB
đến MSB
– Nếu carry xuất hiện ở vị trí bit i, nó được cộng thêm
vào phép cộng ở vị trí bit thứ i+1

• Việc kết hợp như vậy thường được gọi là mạch


cộng carry-ripple
– vì carry được “ripple” từ FA này sang các FA kế tiếp
– Tốc độ phép cộng bị giới hạn bởi quá trình truyền số
nhớ
Mạch cộng Carry Ripple

• Mỗi FA có một khoảng trễ (delay), giả sử là


• Độ trễ phụ thuộc vào số lượng bit
– Carry-out ở FA đầu tiên C1 có được sau
– Carry-out ở FA đầu tiên C2 có được sau
=> Cn được tính toán sau

• Mô hình carry look ahead (CLA) thường được


sử dụng để cải thiện tốc độ
2. Mạch cộng nhìn trước số nhớ
Carry Look-Ahead (CLA) Adder
Hiệu năng
• Tốc độ của mạch bị giới hạn bởi độ trễ lớn nhất
dọc theo đường nối trong mạch

– Độ trễ lớn nhất được gọi là critical-path-


delay

– Đường nối gây ra độ trễ đó gọi là critical path


Carry Look-Ahead (CLA) Adder

• Cải thiện tốc độ mạch cộng


– Xác định nhanh giá trị carry-out ở mỗi lần cộng với
carry-in ở lần cộng trước sẽ có giá trị 0 hay 1

• Mục tiêu: giảm critical-path-delay


Carry Look-Ahead (CLA) Adder

• Hàm xác định carry-out ở lần cộng thứ i


ci+1= xiyi + xici + yici = xiyi + (xi + yi)ci

• Đặt gi = xiyi và pi = xi + yi => ci+1= gi + pici


 gi = 1 khi cả xi và yi đều bằng 1, không quan tâm ci
 g được gọi là hàm generate, carry-out luôn được
generate ra

 pi = 1 khi xi = 1 hoặc yi = 1; carry-out = ci


 p được gọi là hàm propagate, vì carry-in = 1
được propagate (truyền) ở lần cộng thứ i
Carry Look-Ahead (CLA) Adder

• Xác định carry-out của mạch cộng n bit


cn =gn-1 + pn-1cn-1
Mà cn-1=gn-2 + pn-2cn-2

cn=gn-1 + pn-1(gn-2 + pn-2cn-2)


cn=gn-1 + pn-1gn-2 + pn-1pn-2cn-2

• Tiếp tục khai triển đến lần cộng đầu tiên


cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+…+pn-1pn-2….p1g0+pn-1pn-2….p1p0c0
Carry Look-Ahead (CLA) Adder
Carry Look-Ahead (CLA) Adder

• Ví dụ: Trường hợp cộng 4 bit


C1 = G0 + P0.C0
C2 = G1 + P1.G0 + P1.P0.C0
C3 = G2 + P2.G1 + P2.P1.G0 + P2.P1.P0.C0
C4 = G3 + P3.G2 + P3.P2.G1 + P3P2.P1.G0 + P3P2.P1.P0.C0
Mạch cộng CR - critical path
Độ trễ 3 cổng đối với
Độ trễ 5 cổng đối với

Tóm lại, Độ trễ 2n+1 đối


với mạch cộng Carry
Ripple n-bit
Mạch cộng CLA - critical path

Độ trễ 3 cổng đối với


Độ trễ 3 cổng đối với
Độ trễ 3 cổng đối với

C1 = G0 + P0.C0
C2 = G1 + P1.G0 + P1.P0.C0

Độ trễ tổng cộng cho mạch


cộng CLA n-bit là độ trễ 4 cổng
- gi, pi: độ trễ 1 cổng
- Ci: độ trễ 2 cổng
- Độ trễ 1 cộng còn lại là do
tính tổng s
Giới hạn của CLA

• Biểu thức tính carry trong mạch cộng CLA


cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+…+pn-1pn-2….p1g0+pn-1pn-2….p1p0c0

CLA là giải pháp tốc độ cao (2 level AND-OR)

• Độ phức tạp tăng lên nhanh chóng khi n lớn


 Hierrachical approach để giảm độ phức tạp

• Fan-in issue có thể hạn chế tốc độ của CLA


 Thiết bị có vấn đề với fan-in issue (vd: FPGA) thường
kèm mạch riêng để hiện thực mạch cộng nhanh
3 Adder/ Subtractor
Mạch cộng/ trừ
• X,Y là 2 số không dấu n-bit
• Phép cộng: S=X+Y
• Phép trừ: D = X - Y = X + (-Y) =
= X+ (Bù 2 của Y)
= X+ (Bù 1 của Y) + 1
= X+ Y’+ 1
Mạch trừ
• Mạch cộng Carry Ripple có thể được dùng để xây
dựng mạch trừ Carry Ripple bằng cách đảo Y và đặt
số nhớ đầu tiên là 1
Tràn (Arithmetic Overflow)
• Overflow là khi kết quả của phép toán vượt
quá số bit biểu diễn phần giá trị
– n bit biểu diễn được số từ -2n-1 đến +2n-1-1
– Overflow luôn luôn cho ra 1 kết quả sai

=> Mạch để xác định có overflow hay không


Ví dụ về arithmetic overflow
• Với số 4 bit, 3 bit giá trị và 1 bit dấu

• Overflow không xuất hiện khi cộng 2 số trái dấu


Arithmetic overflow
• Overflow có thể phát hiện được (từ ví dụ ở slide
trước)
Overflow = c3 + c4
Overflow = c3 c4

• Với n bit
Overflow = cn-1 cn

• Mạch cộng/ trừ có thể bổ sung mạch kiểm tra overflow


với 1 cổng XOR
Ví dụ
• Thiết kế một mạch cộng/ trừ với 2 ngõ điều khiển
ADD và SUB
– ADD = 1: mạch cộng 2 số trong 2 thanh ghi A và B
– SUB = 1: mạch thực hiện phép trừ số B-A

Chú ý:
Trong một lúc chỉ một trong hai ngõ ADD, SUB bằng 1
Ví dụ
4 Arithmetic Logic Unit (ALU)
ALU
• ALUs có thể thực thi nhiều toán tử và hàm logic
khác nhau
– Các toán tử và hàm được xác định bởi một mã ngõ vào
Inputs
S2 S1 S0 Function
0 0 0 F = 0000
0 0 1 F = B – A – 1 + Cin
0 1 0 F = A – B – 1 + Cin
0 1 1 F = A + B + Cin
1 0 0 F=A B
1 0 1 F=A+ B
1 1 0 F=A*B
1 1 1 F = 1111
Any question?
NHẬP MÔN MẠCH SỐ

CHƯƠNG 6 – PHẦN 1

Mạch tuần tự: Chốt và Flip-flop


(Sequential circuit: Latches and Flip-flop)
Nội dung

1. S-R chốt (latch)

2. D chốt

3. D Flip-flop

4. T Flip-flop

5. S-R Flip-flop

6. J-K Flip-flop

7. Scan Flip-flop
1. S-R chốt (Set-Reset latch)
S-R chốt dùng cổng NOR

Bảng chức năng


Mạch logic

Ký hiệu
S-R chốt dùng cổng NOR

Ngõ vào thông thường

S và R chuyển từ mức 1 xuống mức 0 đồng thời


S-R chốt dùng cổng NAND

Bảng chức năng


Mạch logic

Ký hiệu
S-R chốt với ngõ vào cho phép (Enable)

Mạch logic Bảng chức năng

Ký hiệu
S-R chốt với ngõ vào cho phép (Enable)

SR=11, C:10

Hoạt động của S-R chốt


2. D chốt (Data Latch)
D chốt

Mạch logic Bảng chức năng

- Loại bỏ những hạn chế trong S-R chốt khi mà S và R


chuyển từ 1 xuống 0 đồng thời
- Ngõ vào điều khiển C thỉnh thoảng được gọi là ngõ
vào cho phép (enable)
- Khi C tích cực, Q = D  chốt mở/trong suốt
(transparent latch)
Ký hiệu C không tích cực, Q giữ giá trị trước đó
 chốt đóng (close latch)
D chốt

Bảng chức năng

Hoạt động của D chốt


3. D (Data) Flip-flop
D flip-flop kích cạnh lên
(Positive-edge-triggered D flip-flop)

Bảng chức năng


Mạch logic

- Một D-FF kích cạnh lên bao gồm một cặp D chốt
kết nối sao cho dữ liệu truyền từ ngõ vào D đến ngõ
ra Q mỗi khi có cạnh lên của xung Clock (CLK)
- D chốt (latch) đầu tiên gọi là Chủ (master), nó hoạt
động khi xung CLK bằng 0
Ký hiệu - D chốt thứ hai gọi là Tớ (slave), nó hoạt động khi
CLK bằng 1
D flip-flop kích cạnh lên
(Positive-edge-triggered D flip-flop)

Bảng chức năng

Hoạt động của D Flip-flop kích cạnh lên


D Flip-flop kích cạnh xuống
(Negative-edge-triggered D flip-flop)

Bảng chức năng


Mạch logic

- Một D-FF kích cạnh xuống thiết kế giống với


D-FF kích cạnh lên, nhưng đảo ngõ vào xung
Clock của 2 con D chốt
Ký hiệu
D flip-flop với ngõ vào điều khiển

Mạch logic Bảng chức năng

- Một chức năng mong muốn của D-FF là khả năng


lưu giữ (store) dữ liệu sau cùng hơn là nạp vào
(load) dữ liệu mới tại cạnh của xung Clock
- Để thực hiện được chức năng trên, ta thêm vào
ngõ vào cho phép (enable input) của mỗi FF.
Ký hiệu
Ngõ vào này thường ký hiệu là EN hoặc CE (chip
enable)
D-FF với ngõ vào bất đồng bộ
(D-FF with asynchronous inputs)

Mạch logic Bảng chức năng


• Các ngõ vào bất đồng bộ (Asynchronous inputs) thường được
sử dụng để ép ngõ ra Q và Q’ (Q-bù) của D-FF đến một giá trị
mong muốn mà không phụ thuộc vào ngõ vào D và xung CLK
• Những ngõ vào này thường ký hiệu PR (preset) và CLR
(clear)
• Những ngõ vào PR và CLR thường được dùng để khởi tạo
Ký hiệu giá trị ban đầu cho các FF hoặc phục vụ cho mục đích kiểm
tra hoạt động của mạch.
4. T (Toggle: lật) Flip-lop
T Flip-flop (T-FF)

T-FF được thiết kế từ D-FF Hoạt động của T-FF tích cực cạnh lên của T

- Ngõ ra Q hoặc QN của T-FF sẽ đảo trạng thái mỗi


khi có cạnh lên của xung T
- Ngõ ra Q có tần số bằng ½ tần số của ngõ vào T
 T-FF thường được sử dụng trong các bộ đếm
Ký hiệu
hoặc bộ chia tần số
T Flip-flop với ngõ vào cho phép

T-FF với ngõ vào cho phép Hoạt động của T-FF tích cực cạnh lên của T và
En được thiết kế từ D-FF ngõ vào cho phép En (Enable) tích cực mức cao

- Flip-flop thay đổi trạng thái tại cạnh lên của xung T
Ký hiệu
chỉ khi ngõ vào cho phép EN (enable) tích cực.
T Flip-flop với ngõ vào điều khiển và
xung Clock

Ký hiệu

Hoạt động của T-FF tích cực


cạnh lên của xung Clock

- Flip-flop thay đổi trạng thái tại cạnh lên của


xung Clock (CLK) chỉ khi ngõ vào cho phép
EN (enable) và ngõ vào T tích cực.
Bảng chức năng
5. S-R (Set-Reset) Flip-flop
S-R flip-flop dạng Chủ-Tớ
(Master-Slave S-R flip-flop )

Bảng chức năng


Mạch logic
- Flip-flop thay đổi giá trị ngõ ra Q chỉ khi có
cạnh xuống của ngõ vào điều khiển C
Ký hiệu - Tuy nhiên, giá trị ngõ ra Q thay đổi không chỉ
phu thuộc vào cạnh xuống của ngõ vào C mà
-Không có ký hiệu dấu > tại chân C còn trong suốt thời gian ngõ vào C bằng 1
(dynamic-input indicator) vì FF này
không thật sự được kích bằng cạnh
trước đó
-Ký hiệu trì hoãn ngõ ra (postponed-
Giá trị ở ngõ ra Q của FF khi có cạnh xuống
output indicator) chỉ ra rằng tín hiệu của xung C phụ thuộc vào giá trị ngõ ra của
ngõ ra không đổi cho đến khi ngõ vào chốt Chủ (Master latch) bằng 1 hoặc 0 khi ngõ
C xuống mức 0 vào C bằng 1 trước đó
S-R flip-flop dạng Chủ-Tớ
(Master-Slave S-R flip-flop )

Mạch logic Bảng chức năng

Hoạt động của S-R FF dạng Chủ-Tớ


S-R flip-flop kích cạnh lên
(Positive-edge-triggered S-R flip-flop )

CLK

Ký hiệu

Hoạt động của S-R FF kích cạnh lên

Bảng chức năng


6. J-K Flip-Flop
J-K flip-flop dạng Chủ-Tớ
(Master-Slave J-K flip-flop)

Mạch logic Bảng chức năng

- Ngõ vào J và K của J-K FF có chức năng tương


Ký hiệu tự với ngõ vào S và R của S-R FF

-Dấu > tại ngõ vào C (dynamic- - Tuy nhiên, khác với S-R FF, J-K FF giải quyết
input indicator) không được sử được vấn đề J và K tích cực đồng thời .
dụng
-Ký hiệu trì hoãn tại ngõ ra
(postponed-output indicator)
được sử dụng
J-K flip-flop dạng Chủ-Tớ
(Master-Slave J-K flip-flop)

Mạch logic Bảng chức năng

Hoạt động của J-K FF dạng Chủ-Tớ


J-K flip-flop kích cạnh lên
(Edge-triggered J-K flip-flop)

J-K FF kích cạnh lên được thiết


kế thừ D-FF kích cạnh lên Bảng chức năng

Ký hiệu

Hoạt động của J-K FF kích cạnh lên


7. Scan Flip-Flop
Scan flip-flop

Chế độ Chế độ
bình thường kiểm tra

D-FF kích cạnh lên có chế độ Scan

Bảng chức năng

Ký hiệu
Scan flip-flop

Một chuỗi 4 FFs hoạt động trong chế độ Scan

- Một tính năng quan trọng của các FF được chế tạo ở mức ASIC là khả năng Scan
(khả năng kiểm tra)
Các ngõ vào phụ (TI, TE, TO) được kết nối đến tất cả các FF theo một chuỗi Scan
để phục vụ cho mục đích kiểm tra
- Trong chế độ kiểm tra (testing mode), một chuỗi dữ liệu kiểm tra (test pattern)
được đưa vào các FF thay thế cho chuỗi dữ liệu thông thường
- Sau khi các test pattern được đưa vào các FF, các FF sẽ quay trở lại chế độ hoạt
động bình thường (normal mode)
- Sau một hay nhiều cạnh lên của xung Clock, các FF quay lại chế độ kiểm tra và
kết quả kiểm tra được xuất ra ngoài tại ngõ ra của các FF
Ghi chú

• Khi nguồn điện được đưa vào một Flip-flop (FF), nếu ngõ vào
PRESET hoặc CLEAR không tích cực thì giá trị ngõ ra của FF này
có thể rơi vào trạng thái không xác định (hoặc bằng 0 hoặc bằng 1)

• Để khởi tạo cho FF một giá trị mong muốn ban đầu, chúng ta phải
tích cực ngõ vào PRESET (nếu muốn ngõ ra bằng 1) hoặc CLEAR
(nếu muốn ngõ ra bằng 0).
Thảo luận?
NHẬP MÔN MẠCH SỐ

CHƯƠNG 6 – PHẦN 2

Mạch tuần tự: Bộ đếm


(Sequential circuit: Counters)
Nội dung
• Bộ đếm bất đồng bộ (Asynchronous counters)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
Nội dung
• Bộ đếm bất đồng bộ (Asynchronous counters)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
Bộ đếm bất đồng bộ
(Asynchronous counters)
Bộ đếm bất đồng bộ

Xem xét hoạt động của bộ đếm 4-bit bên dưới


– Clock chỉ được kết nối đến chân CLK của FF A
– J và K của tất cả FF đều bằng 1
– Ngõ ra Q của FF A kết nối với chân CLK của FF B, Bảng chức
tiếp tục kết nối như vậy với FF C, D. năng J-K FF
– Ngõ ra của các FF D, C, B và A tạo thành bộ đếm 4-
bit binary với D có trọng số cao nhất (MSB)

* tất cả ngõ vào J và K của các


FF được đưa vào mức 1
Bộ đếm bất đồng bộ

Sau cạnh xuống của xung CLK thứ 16,


bộ đếm sẽ quay trở lại trạng thái ban
đầu DCBA = 0000
Bộ đếm bất đồng bộ

• Các FFs không thay đổi trạng thái đồng bộ với xung Clock được
sử dụng
Trong ví dụ ở slide trước, chỉ FF A mới thay đổi tại cạnh xuống
của xung Clock (CLK), FF B phải đợi FF A thay đổi trạng thái
trước khi nó có thể lật, FF C phải đợi FF B, tương tự với FF D
phải đợi FF C
 Có trì hoãn (delay) giữa các FF liên tiếp nhau

• Chỉ FF có trọng số thấp nhất mới kết nối với xung Clock
• Bộ đếm trên còn được gọi là bộ đếm tích lũy trì hoãn
(ripple counter)
Ví dụ 1

• Giả sử bộ đếm ở Slide trước bắt đầu ở trạng thái


DCBA = 0000, sau đó xung Clock được đưa vào
• Sau một khoảng thời gian, ta ngắt xung Clock với mạch và đọc
được giá trị của bộ đếm DCBA = 0011
• Hỏi bao nhiêu xung Clock đã được đưa vào bộ đếm?

Đáp án: Bộ đếm có lặp vòng lại hay chưa?


 Chúng ta chưa có căn cứ
 Số lượng xung Clock đưa vào mạch trên có thể là 3, or 19,
or 35, or 51 và tiếp tục.
Bộ đếm bất đồng bộ
Hệ số của bộ đếm (MOD number)
• Hệ số của bộ đếm là số trạng thái khác nhau của bộ
đếm trước khi bộ đếm lặp lại chu trình đếm

Thêm vào Flip-flop sẽ tăng hệ số của bộ đếm


Bộ đếm bất đồng bộ
Hệ số của bộ đếm (MOD number)
• Chia tần số – mỗi FF sẽ có tần số ngõ ra bằng ½ tần số xung
đưa vào chân Clock của FF đó
• Giả sử tần số của xung Clock đưa vào bộ đếm trong ví dụ 1 là 16
kHz  Tần số của ngõ ra FF A, B, C, D lần lượt là 8, 4, 2, 1 kHz

Tần số của FF có trọng số lớn nhất sẽ bằng tần số


xung Clock đưa vào chia cho hệ số của bộ đếm
Ví dụ 2

• Cần bao nhiêu FF cho bộ đếm 1000 sản phẩm?

• Đáp án
29 = 512 => 9 FFs chỉ đếm được tối đa 512 sản phẩm
 không thỏa yêu cầu

210 = 1024 => 10 FFs đếm được tối đa 1024 > 1000
 Thỏa yêu cầu bài toán
Ví dụ 3
• Các bước để làm một đồng hồ số

• Cần bao nhiêu FF cho bộ đếm có hệ số đếm 60 (MOD-60)?

• Đáp án:
Không có số nguyên N để thỏa điều kiện 2N = 60
 Số N gần nhất là 6, khi đó 26 = 64 > 60
Vì đồng hồ số cần đếm chính xác  Không có đáp án với
yêu cầu thiết kế trên
Câu hỏi thảo luận?

1. Đúng hay sai? Trong một bộ đếm bất đồng bộ, tất cả các FF
thay đổi trạng thái tại cùng một thời điểm
2. Giả sử bộ đếm trong ví dụ 1 đang có giá trị DCBA = 0101.
Giá trị bộ đếm sẽ bằng bao nhiêu sau 27 xung clock tiếp theo?
3. Hệ số bộ đếm trong ví dụ 1 bằng bao nhiêu nếu 3 FF được
thêm vào bộ đếm?
Bộ đếm có Hệ số bộ đếm < 2N

• Bộ đếm bất đồng bộ thông thường giới hạn hệ số bộ


đếm bằng 2N (Hệ số đếm lớn nhất với N flip-flop được
sử dụng)

Tất cả ngõ
vào J, K
bằng 1

MOD-6 counter?
Bộ đếm có Hệ số bộ đếm < 2N

Bộ đếm MOD-6 được tạo từ bộ đếm MOD-8 bằng


cách clear bộ đếm khi trạng thái 110 xuất hiện
7-4 Counters with MOD Number <2N
Bộ đếm có Hệ số bộ đếm < 2N
Giản đồ chuyển trạng thái của bộ đếm MOD-6
- Mỗi vòng tròn nét liền chỉ ra một
trạng thái thực sự của bộ đếm
- Mỗi vòng tròn nét đứt chỉ một trạng
thái tạm của bộ đếm
Trạng thái
tạm - Mũi tên chỉ sự chuyển trạng thái từ
trạng thái này đến trạng thái khác
tương ứng với một xung Clock

- Không có mũi tên chỉ đến trạng thái


111 vì chu trình của bộ đếm sẽ
không có trạng thái này
- Trạng thái 111 có thể xuất hiện khi
bật nguồn (power-up), khi đó FF có
thể nhảy vào trạng thái ngẫu nhiên
Bộ đếm có Hệ số bộ đếm < 2N

LED sáng khi ngõ


ra FF mức cao
Ví dụ 4

• Xác định hệ số bộ đếm (MOD number) của mạch đếm bên dưới?
• Xác định tần số tại ngõ ra D?

* Tất cả ngõ
vào J, K bằng 1

• MOD-14 (14 trạng thái thật sự từ 0000 đến 1101)


• FreqD = 30kHz/14 = 2.14 kHz
Bộ đếm bất đồng bộ - Đếm xuống

• Bộ đếm xuống bất đồng bộ được xây dựng gần giống với
bộ đếm lên bất đồng bộ

Lưu đồ chuyển trạng thái của


bộ đếm xuống MOD-8
Bộ đếm bất đồng bộ - Đếm xuống

* Tất cả ngõ
vào J, K bằng 1

Bộ đếm xuống bất đồng


bộ ít được sử dụng trong
thực tế .
Cách phân biệt đếm lên/đến xuống của
bộ đếm bất đồng bộ

Đếm lên Đếm xuống

Chú ý: Q0 có trọng số nhỏ nhất (LSB)


Q2 có trọng số lớn nhất (MSB)
Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có xung
clock kích cạnh xuống, ngõ vào Preset và Clear tích cực cao.
Biết rằng trạng thái ban đầu của bộ đếm là 5.

Bước 1: Tìm số flip-flop cần dùng nhỏ nhất thỏa yêu cầu bài toán
(2N >= X)

Ta có: 23 >= 5 (MOD-5)  Sử dụng 3 FF


Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có xung clock
kích cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng
trạng thái ban đầu của bộ đếm là 5.
Bước 2: Vẽ lưu đồ chuyển trạng thái của bộ đếm
(Lưu ý: chỉ vẽ các trạng thái có trong chu trình đếm)

- Trạng thái Reset của bộ đếm:


Q2Q1Q0 = 010
- Trạng thái không có trong chu
trình đếm Q2Q1Q0 = 011, 100
Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có xung clock
kích cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng
trạng thái ban đầu của bộ đếm là 5.
Bước 3: Thiết kế mạch Reset của bộ đếm
 Trường hợp 1: 2N = X  Bỏ qua bước 3
 Trường hợp 2: 2N >= X
 Nếu số FF sử dụng từ 5 trở lên:
• Sử dụng cổng AND nếu Pr và Clr tích cực cao
cổng NAND nếu Pr và Clr tích cực thấp
• Kết nối các giá trị tại trạng thái Reset của bộ đếm với ngõ vào
của cổng AND/NAND ở trên
 Nếu số FF sử dụng nhỏ hơn 5:
Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có
xung clock kích cạnh xuống, ngõ vào Preset và Clear tích
cực cao. Biết rằng trạng thái ban đầu của bộ đếm là 5.
Bước 3: Thiết kế mạch Reset của bộ đếm
 Trường hợp 2: 2N >= X
 Nếu số FF sử dụng từ 5 trở lên: …
 Nếu số FF sử dụng nhỏ hơn 5:
• Sử dụng cổng AND nếu Pr và Clr tích cực cao
cổng NAND nếu Pr và Clr tích cực thấp
• Sử dùng bìa Karnaugh (bìa K) để rút gọn:
- Tại trạng thái Reset của bộ đếm, ta để giá trị 1
- Những trạng thái không có trong chu trình
đếm, để giá trị x (trị định)
• Kết nối các giá tại ngõ ra của các FF sau khi rút gọn
trên bìa K với ngõ vào của cổng AND/NAND ở trên
Mạch Reset của bộ đếm
Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có xung clock kích
cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng trạng thái
ban đầu của bộ đếm là 5.
Bước 4: Vẽ mạch cần thiết kế
(Lưu ý: - FF kích cạnh lên/xuống; mạch đếm lên/xuống;
- Pr và Clr tích cực cao/thấp
- Trạng thái của bộ đếm sau khi mạch được Reset)
Thiết kế bộ đếm có MOD-X
Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng T-FF có xung clock kích
cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng trạng thái
ban đầu của bộ đếm là 5.
Bước 5: Vẽ lưu đồ chuyển trạng thái đầy đủ của bộ đếm
(bao gồm các trạng thái không có trong chu trình đếm)
- Mạch Reset của bộ đếm

- Trạng thái không có trong chu


trình đếm Q2Q1Q0 = 011, 100
• Với Q2Q1Q0 = 011  Z = 1
 mạch bị Reset
• Với Q2Q1Q0 = 100  Z = 0
 mạch không bị Reset
Ví dụ 5

Thiết kế bộ đếm MOD-60 trong ví dụ 3


Ví dụ 6

Thiết kế bộ đếm bất đồng bộ MOD-10 đếm từ giá trị 0 đến 9.


Biết rằng FF sử dụng kích cạnh xuống, ngõ vào Pr và Clr tích
cực mức thấp
Nội dung
• Bộ đếm bất đồng bộ (Asynchronous counters)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
Bộ đếm đồng bộ
(Synchronous counters)
Bộ đếm đồng bộ
(Synchronous Counters)

• Bộ đếm đồng bộ hay bộ đếm song song là bộ đếm trong đó các FF được
kích đồng thời bởi một xung Clock
• Tín hiệu Clock được kết nối tới ngõ vào CLK của tất cả các FF trong mạch
 Delay của mạch sẽ bằng với delay của mỗi FF
• Khác với bộ đếm bất đồng bộ, bộ đếm đồng bộ có thể được thiết kế để tạo
ra chuỗi đếm bất kì theo mong muốn của người thiết kế

Bộ đếm đồng bộ thường sử dụng


trong các mạch có tần số cao
Phân tích bộ đếm đồng bộ
(Analyze synchronous Counters)

Ví dụ: Phân tích mạch đếm ở hình bên dưới

Bước 1: Tìm phương trình ngõ vào của các FF


S1 = Q’1Q’0 S0 = Q’0

R1 = Q1 R0 = Q’1 Q0
Phân tích bộ đếm đồng bộ
(Analyze synchronous Counters)

Ví dụ: Phân tích mạch


đếm ở hình bên dưới

Bước 2: Lập bảng chuyển trạng thái

S1 = Q’1Q’0
R1 = Q1
S0 = Q’0
Bảng chức năng S-R FF
R0 = Q’1 Q0
Trạng thái hiện tại (TTHT): Current State
Trạng thái kế tiếp (TTKT): Next State
Phân tích bộ đếm đồng bộ
(Analyze synchronous Counters)

Ví dụ: Phân tích mạch


đếm ở hình bên dưới

Bước 3: Vẽ lưu đồ chuyển trạng thái của bộ đếm


Thiết kế bộ đếm đồng bộ
(Design Synchronous Counter)

• Bộ đếm đồng bộ có thể được thiết kế để tạo ra chuỗi đếm bất kì


theo mong muốn của người thiết kế

• Thiết kế bộ đếm đồng bộ bằng cách nào?


Mô tả đầy đủ của một Flip-flop

Có 4 dạng FF cơ bản: D, T, SR, JK


FF có thể được mô tả bằng ký hiệu hình học, bảng chức năng (sự
thật), bảng đặc tính, phương trình đặc tính hoặc bảng kích thích
 Bảng dặc tính (Characteristic table)
Một bảng chỉ ra trạng thái kế tiếp như một hàm của trạng thái hiện tại
và ngõ vào của của mỗi FF
Phương trình đặc tính (Characteristic equation)
Một biểu thức chỉ ra quan hệ của trạng thái kế tiếp theo trạng thái hiện
tại và ngõ vào của mỗi FF
 Bảng kích thích (Excitation table )
Một bảng liệt kê các yêu cầu ngõ vào (input) để FF chuyển từ trạng thái
hiện tại đến trạng thái kế tiếp
Mô tả đầy đủ của D-FF

Ký hiệu Bảng chức năng Bảng đặc tính

Bảng kích thích


Phương trình đặc tính
Mô tả đầy đủ của T-FF

Ký hiệu Bảng chức năng Bảng đặc tính

Bảng kích thích Q+ = T + Q


Phương trình đặc tính
Mô tả đầy đủ của SR-FF

Ký hiệu Bảng chức năng


Bảng đặc tính

Bảng kích thích

Phương trình đặc tính


Mô tả đầy đủ của JK-FF

Ký hiệu
Bảng chức năng
Bảng đặc tính

Bảng kích thích

Phương trình đặc tính


Thiết kế bộ đếm đồng bộ

Ví dụ: Sử dụng JK-FF để thiết kế một bộ đếm 3-bit có chuỗi đếm


như bảng bên cạnh
C B A
0 0 0
Lưu ý: Thuộc tính (đếm lên/xuống) của bộ
0 0 1
đếm đồng bộ chỉ phụ thuộc vào trạng thái
hiện tại và trạng thái kế tiếp mà không 0 1 0
quan tâm đến sự kích của FF (kích cạnh 0 1 1
lên/xuống) 1 0 0
 Khác với bộ đếm bất đồng bộ 0 0 0
etc.

Bước 1: Tìm số FF nhỏ nhất thỏa yêu cầu bài toán


Ví dụ này đã chỉ ra sử dụng 3 FF ngay trong đề
Thiết kế bộ đếm đồng bộ

Bước 2: Vẽ biểu đồ chuyển trạng thái (state diagram) của bộ đếm


(Lưu ý: - vẽ tất cả các trạng thái có thể
- những trạng thái không có trong chu trình đếm, có thể cho
chuyển đến một trạng thái có trong chu trình đếm)

C B A
0 0 0
0 0 1
0 1 0
CBA
0 1 1
1 0 0
0 0 0
etc.
Thiết kế bộ đếm đồng bộ

Bước 3: Lập bảng chuyển trạng thái (state table)


- sử dụng biểu đồ chuyển trạng thái để lập một bảng bao gồm các trạng
thái hiện tại và trạng thái kế

CBA
Thiết kế bộ đếm đồng bộ

Bước 4: Lập bảng kích thích của mạch (circuit excitation table)
- Dựa vào trạng thái hiện tại và trạng thái kế tiếp, thêm các cột giá trị
ngõ vào mỗi FF vào bên phải bảng chuyển trạng thái
Thiết kế bộ đếm đồng bộ
Bước 5: Sử dụng bìa Karnaugh (bìa K) để tìm phương trình
ngõ vào của các FF được sử dụng
Thiết kế bộ đếm đồng bộ
Bước 6: Vẽ mạch cần thiết kế
Câu hỏi thảo luận?
Đúng hay Sai?
1. Thiết kế bộ đếm đồng bộ để thực hiện chuỗi đếm sau:
0010, 0011, 0100, 0111, 1010, 1111, và lặp lại.

2. Thiết kế bộ đếm đồng bộ để thực hiện chuỗi đếm sau:


0010, 0011, 0100, 0111, 1010, 0100, 1111 và lặp lại.
lại

Đáp án:
1. Đúng (có thể thiết kế được)
2. Sai (không thiết kế được)
Trạng thái “0100” đã xuất hiện 2 lần trong chu trình đếm.
Bộ đếm có khả năng định giá trị ban đầu
(Presettable Counters)

• Bộ đếm có khả năng định giá trị ban đầu là bộ đếm có thể định giá trị ban
đầu ngay khi mạch bắt đầu hoạt động. Việc định giá trị ban đầu có thể
thực hiện đồng bộ (synchronous) hoặc bất đồng bộ (asynchronous)
• Thao tác định giá trị ban đầu cho bộ đếm còn được gọi là nạp dữ liệu
song song (parallel loading) cho bộ đếm

1. Đưa giá trị dữ liệu mong


muốn vào các ngõ vào
song song (P2P1P0)

2. Điều khiển PL = 0 để nạp


dữ liệu ban đầu vào bộ
đém

Bộ đếm lên đồng bộ


- nạp dữ liệu song song bất đồng bộ
Câu hỏi thảo luận?

• Thế nào là bộ đếm có khả năng định giá trị ban đầu?

• Mô tả sự khác nhau giữa định giá trị theo kiểu đồng bộ


(synchornous presetting) và theo kiểu bất đồng bộ (asynchronous
presetting)?
Nội dung
• Bộ đếm bất đồng bộ (Asynchronous counters)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
– Delay của mạch (Propagation delay)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
Thanh ghi (Registers)
Truyền dữ liệu dạng thanh ghi
(Register Data Transfer)

Sự phân loại thanh ghi dựa vào 2 đặc điểm:


 Cách dữ liệu được đưa vào thanh ghi để lưu trữ
 Cách dữ liệu được lấy ra từ thanh ghi

• Thanh ghi nối tiếp (Serial register): dữ liệu được nạp vào thanh
ghi theo dạng nối tiếp từ phải sang trái hoặc từ trái sang phải
– Thanh ghi nối tiếp có dữ liệu ngõ ra được nối đến ngõ vào
(feedback) được gọi là thanh ghi quay vòng (rotate register)
– Thanh ghi nối tiếp có dữ liệu ngõ ra không nối đến ngõ vào được
gọi là thanh ghi dịch (shift register)

• Thanh ghi song song (Parallel register): dữ liệu được nạp vào
thanh ghi theo dạng song. Thanh ghi này còn được gọi là thanh
ghi nạp (load register)
Truyền dữ liệu dạng thanh ghi
(Register Data Transfer)

Ngõ vào song song - ngõ ra song song (PIPO)


(Parallel in/parallel out)
Truyền dữ liệu dạng thanh ghi
(Register Data Transfer)

Ngõ vào nối tiếp - ngõ ra nối tiếp (SISO)


(serial in/serial out)
Truyền dữ liệu dạng thanh ghi
(Register Data Transfer)

Ngõ vào song song - ngõ ra nối tiếp (PISO)


(Parallel in/serial out)

SH/LD = 0  parallel in/serial out


SH/LD = 1  serial in/serial out
Truyền dữ liệu dạng thanh ghi
(Register Data Transfer)

Ngõ vào nối tiếp - ngõ ra song (SIPO)


(Parallel in/serial out)
Bộ đếm thanh ghi thanh ghi dịch
(Shift Register Counter)

• Bộ đếm thanh ghi dịch sử dụng feedback—dữ liệu ngõ


ra của FF cuối được kết nối ngược lại ngõ vào của FF
đầu tiên
Bộ đếm thanh ghi dịch
Bộ đếm vòng tròn (Ring counter)
• Bộ đếm vòng tròn là bộ đếm trong đó ngõ ra Q của FF sau cùng
kết nối đến ngõ vào của FF đầu tiên

Bộ đếm vòng tròn 4-bit (MOD-4) Biểu đồ chuyển trạng thái


(Q0: MSB, Q3: LSB)

Bảng tuần tự Dạng sóng của bộ đếm


Bộ đếm thanh ghi dịch
Bộ đếm vòng tròn (Ring counter)
• Tần số tại ngõ ra của mỗi FF bằng ¼ tần số xung Clock đối với
bộ đếm vòng tròn MOD-4
– Bộ đếm vòng tròn MOD-N  cần N flip-flop
– Bộ đếm vòng tròn yêu cầu nhiều FF hơn bộ đếm Binary thông
thường có cùng hệ số (MOD) đếm (ví dụ: MOD-8 cần 8 FF so với 3
FF trong bộ đếm thông thường)
– Sự giải mã cho mỗi trạng thái đạt được bằng cách lấy giá trị ngõ ra
tương ứng của mỗi FF mà không cần dùng đến mạch giải mã.

• Để hoạt động chính xác, bộ đếm vòng tròn phải bắt đầu với chỉ
một FF có ngõ ra bằng 1 và các FF còn lại có ngõ ra bằng 0.
– Khi mới bật nguồn, giá trị của các FF sẽ không dự đoán được, bộ
đếm sẽ sử dụng chân Preset để định giá trị cho một FF và chân
Clear để xóa các FF còn lại trước khi xung Clock được đưa vào
Bộ đếm thanh ghi dịch
Bộ đếm Jonhson (Jonhson counter)
• Trong bộ đếm Johnson hay bộ đếm vòng xoắn (twisted-ring counter)
ngõ ra bù (Q-bù) của FF cuối cùng sẽ kết nối với ngõ vào của FF đầu
tiên.

Bộ đếm Johnson 3-bit (MOD-6)


(Q0: MSB, Q3: LSB) Biểu đồ chuyển trạng thái

Bảng tuần tự Dạng sóng của bộ đếm


Bộ đếm thanh ghi dịch
Bộ đếm Jonhson (Jonhson counter)
• Với hệ số bộ đếm là N (N là số chẵn), bộ đếm Johnson chỉ cần N/2 flip-flop
• Dạng sóng của mỗi FF là một xung vuông (50% duty cycle) và tần số bằng 1/N
tần số của xung Clock
• Dạng sóng ở mỗi ngõ ra của mỗi FF sẽ bị dịch đi một chu kì so với dạng sóng ở
ngõ ra của FF trước nó
• Bộ đếm Johnson cần cổng logic bên ngoài để giải mã cho trạng thái. Cổng
AND-2 được dùng để giải mã cho bộ đếm Jonhson mà không quan tâm số FF
được sử dụng.
(Bộ đếm vòng tròn không dùng thêm cổng logic để giải mã)
Câu hỏi thảo luận?
1. Bộ đếm thanh ghi dịch cần nhiều FF hơn bộ đếm Binary thông thường
với cùng hệ số bộ đếm (MOD number)?
2. Bộ đếm thanh ghi dịch cần mạch giải mã phức tạp hơn bộ đếm Binary
thông thường?
3. Làm sao để chuyển đổi bộ đếm vòng tròn sang bộ đếm Johnson?
4. Đúng hay Sai?
a) Ngõ ra của bộ đếm vòng tròn luôn luôn là xung vuông
b) Mạch giải mã cho bộ đếm Johnson đơn giản hơn bộ đếm Binary
thông thường?
c) Bộ đếm vòng tròn và Johnson là bộ đếm đồng bộ?
5. Cần bao nhiêu FF để thiết kế bộ đếm vòng tròn MOD-16? Bộ đếm
Johnson MOD-16?
Thảo luận?

You might also like