Giáo Trình Thiết Kế Luận Lý Số 2: Hướng Dẫn Chi Tiết Cho Sinh Viên Kỹ Thuật

Tài liệu nghiên cứu Thietkeluanlyso2 2023nov18, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về ., phục vụ nghiên cứu và ứng dụng thực tiễn

Chuyên ngành

Kỹ Thuật

Người đăng

Ẩn danh

Thể loại

Giáo Trình

2019

226
15
0

Phí lưu trữ

55 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: CÁC THIẾT BỊ LƯU TRỮ

1.1. Thanh ghi dịch

1.2. THIẾT KẾ MÁY TRẠNG THÁI

1.3. Từ mạch tổ hợp tới mạch tuần tự

1.4. Máy trạng thái hữu hạn

1.5. Bảng trạng thái

1.6. Rút gọn trạng thái

1.7. Phân hoạch trạng thái

1.8. Bảng kéo theo

1.9. Thiết kế mạch tuần tự theo mô hình máy trạng thái

1.10. Cấu trúc phần cứng của FSM

1.11. Bảng chuyển đổi

1.12. Bảng chuyển trạng thái

1.13. Quy trình thiết kế mạch tuần tự

1.14. Ví dụ thiết kế Moore FSM

1.15. Ví dụ thiết kế Mealy FSM

2. CHƯƠNG 2: THIẾT KẾ MÁY TRẠNG THÁI

3. CHƯƠNG 3: THIẾT KẾ KHỐI DỮ LIỆU VÀ KHỐI ĐIỀU KHIỂN

3.1. Thiết kế khối dữ liệu

3.2. Thiết kế khối dữ liệu song song

3.3. Thiết kế khối điều khiển

4. CHƯƠNG 4: THIẾT KẾ RTL

4.1. Mô hình thiết kế

4.2. Đường dữ liệu máy trạng thái hữu hạn (FSMD)

4.3. Biểu đồ giải thuật máy trạng thái (ASM)

4.4. Tổng hợp từ biểu đồ ASM

4.5. Chia sẻ thanh ghi

4.6. Chia sẻ khối chức năng

4.7. Chia sẻ bus

4.8. Hợp nhất thanh ghi

4.9. Đơn chu kỳ và đa chu kỳ

4.10. Pipeline khối chức năng

4.11. Pipeline đường dữ liệu

4.12. Pipeline đường điều khiển

5. CHƯƠNG 5: THIẾT KẾ BỘ VI XỬ LÝ

5.1. Chế độ đánh địa chỉ (Addressing Modes)

5.2. Thiết kế bộ vi xử lý

5.3. Thiết kế tập lệnh

5.4. Thiết kế CISC

5.5. Bộ vi xử lý RISC

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Giáo Trình Thiết Kế Luận Lý Số 2

Giáo trình Thiết kế Luận lý Số 2 được biên soạn nhằm cung cấp cho sinh viên kỹ thuật những kiến thức nâng cao về thiết kế hệ thống số. Tài liệu này không chỉ giúp sinh viên hiểu rõ về các khái niệm cơ bản mà còn trang bị cho họ các kỹ năng phân tích và thiết kế các hệ thống số phức tạp. Nội dung giáo trình được chia thành 5 chương, mỗi chương tập trung vào một khía cạnh khác nhau của thiết kế luận lý số.

1.1. Mục tiêu của Giáo Trình Thiết Kế Luận Lý Số 2

Mục tiêu chính của giáo trình là giúp sinh viên nắm vững các khái niệm về thiết kế hệ thống số, từ đó phát triển kỹ năng cần thiết cho nghề nghiệp trong lĩnh vực công nghệ thông tin.

1.2. Đối tượng sử dụng giáo trình

Đối tượng chính của tài liệu này là sinh viên các chuyên ngành kỹ thuật máy tính, điện tử - viễn thông, và vi điện tử, những người cần kiến thức chuyên sâu về thiết kế hệ thống số.

II. Thách thức trong Thiết Kế Luận Lý Số 2

Thiết kế luận lý số 2 đối mặt với nhiều thách thức, từ việc hiểu rõ các khái niệm lý thuyết đến việc áp dụng chúng vào thực tiễn. Sinh viên thường gặp khó khăn trong việc phân tích và tổng hợp các hệ thống số phức tạp, điều này đòi hỏi sự kiên nhẫn và thực hành liên tục.

2.1. Khó khăn trong việc áp dụng lý thuyết vào thực tiễn

Nhiều sinh viên gặp khó khăn trong việc chuyển đổi các khái niệm lý thuyết thành các ứng dụng thực tế, điều này có thể dẫn đến sự thiếu tự tin trong quá trình học tập.

2.2. Thiếu tài liệu tham khảo chất lượng

Việc thiếu tài liệu tham khảo chất lượng và cập nhật có thể làm cho sinh viên khó khăn trong việc tìm hiểu sâu về các chủ đề phức tạp trong thiết kế luận lý số.

III. Phương Pháp Thiết Kế Luận Lý Số 2 Hiệu Quả

Để vượt qua các thách thức trong thiết kế luận lý số, sinh viên cần áp dụng các phương pháp học tập hiệu quả. Việc kết hợp lý thuyết với thực hành sẽ giúp sinh viên nắm vững kiến thức và kỹ năng cần thiết.

3.1. Học tập qua dự án thực tế

Tham gia vào các dự án thực tế sẽ giúp sinh viên áp dụng lý thuyết vào thực tiễn, từ đó nâng cao khả năng giải quyết vấn đề và sáng tạo.

3.2. Sử dụng phần mềm mô phỏng

Phần mềm mô phỏng giúp sinh viên thực hành thiết kế và kiểm tra các hệ thống số mà không cần phải xây dựng phần cứng thực tế, tiết kiệm thời gian và chi phí.

IV. Ứng Dụng Thực Tiễn của Thiết Kế Luận Lý Số 2

Thiết kế luận lý số 2 có nhiều ứng dụng thực tiễn trong các lĩnh vực như viễn thông, điện tử, và công nghệ thông tin. Những kiến thức và kỹ năng từ giáo trình này sẽ giúp sinh viên có thể tham gia vào các dự án thực tế trong ngành công nghiệp.

4.1. Ứng dụng trong thiết kế vi xử lý

Kiến thức về thiết kế luận lý số là rất quan trọng trong việc phát triển các bộ vi xử lý hiện đại, nơi mà hiệu suất và tối ưu hóa tài nguyên là rất cần thiết.

4.2. Ứng dụng trong hệ thống nhúng

Thiết kế luận lý số cũng được áp dụng rộng rãi trong các hệ thống nhúng, nơi mà việc tối ưu hóa về kích thước và hiệu suất là rất quan trọng.

V. Kết Luận và Tương Lai của Thiết Kế Luận Lý Số 2

Giáo trình Thiết kế Luận lý Số 2 không chỉ cung cấp kiến thức lý thuyết mà còn trang bị cho sinh viên các kỹ năng thực tiễn cần thiết. Tương lai của thiết kế luận lý số hứa hẹn sẽ phát triển mạnh mẽ với sự tiến bộ của công nghệ.

5.1. Xu hướng phát triển trong thiết kế số

Xu hướng hiện nay là phát triển các hệ thống số thông minh hơn, với khả năng tự động hóa và tối ưu hóa cao hơn, điều này sẽ tạo ra nhiều cơ hội cho sinh viên.

5.2. Tầm quan trọng của việc cập nhật kiến thức

Sinh viên cần thường xuyên cập nhật kiến thức mới và tham gia vào các khóa học bổ sung để theo kịp với sự phát triển nhanh chóng của công nghệ trong lĩnh vực thiết kế luận lý số.

10/07/2025
Thietkeluanlyso2 2023nov18

Trích đoạn nội dung tài liệu

CHƯƠNG 1 CÁC THIẾT BỊ LƯU TRỮ 1. Giới thiệu Sự khác biệt giữa mạch tuần tự và mạch tổ hợp chính là ngõ ra của mạch tuần tự phụ thuộc vào cả tổ hợp ngõ vào hiện tại và tổ hợp ngõ vào trong quá khứ. Để có thể sử dụng được các tổ hợp ngõ vào trong quá khứ thì mạch tuần tự phải có khả năng lưu trữ thông tin, điều này dẫn đến sự khác nhau về cấu trúc giữa mạch tuần tự và mạch tổ hợp, đó là mạch tuần tự có thêm các thiết bị lưu trữ như trong Hình 1. Thiết bị lưu trữ IN Q Ngõ ra CLK Luận lý tổ hợp Ngõ vào Hình 1.1: Cấu trúc mạch tuần tự Trong đó, khối luận lý tổ hợp có chức năng xử lý thông tin tương tự như trong các mạch tổ hợp.

Còn lại, việc lưu trữ sẽ được khối thiết bị lưu trữ đảm trách và ngõ vào CLK sẽ quyết định việc lưu trữ có xảy ra hay không. Trong Giáo trình Thiết kế Luận lý Số đã trình bày các thiết bị lưu trữ bao gồm: Latch, flipflop, thanh ghi và bộ đếm. Tiếp nối trong giáo trình này, chúng ta sẽ cùng tìm hiểu thanh ghi và bộ đếm theo một hướng tiếp cận khác và tìm hiểu thêm các thiết bị lưu trữ mới, bao gồm: Register Files (tập thanh ghi), RAM (Random Access Memory - bộ nhớ truy cập ngẫu nhiên), ngăn xếp (stack) và hàng đợi (queue). Thanh ghi Về bản chất, thanh ghi chỉ là một mở rộng luận lý về khả năng lưu trữ của flipflop vì nó được cấu thành bởi các flipflop nối chung 1 CLK với nhau và cộng thêm một số cổng luận lý cơ bản để xử lý thông tin.

Các flipflop được sử dụng trong thanh ghi có thể là bất kỳ flipflop nào, nhưng phổ biến nhất vẫn là D flipflop.2 và Hình 1.3 lần lượt trình bày ký hiệu và cấu trúc một thanh ghi 4 bit sử dụng D flipflop. 4 I O 4 REG CLK Hình 1.2: Ký hiệu thanh ghi 4 bit D Q I3 O3 CLK I2 D Q O2 CLK I1 D Q O1 CLK I0 D Q O0 CLK CLK Hình 1.3: Cấu trúc thanh ghi 4 bit Ký hiệu và giao tiếp của một thanh ghi khá đơn giản, bao gồm: • Ngõ vào I được sử dụng để nhận dữ liệu từ bên ngoài, về tổng quát, I có thể có độ rộng n bit. 2 • Ngõ ra O được sử dụng để xuất dữ liệu ra bên ngoài, tương tự như ngõ vào I, ngõ ra O có thể có độ rộng n bit và đúng bằng độ rộng bit của ngõ vào I. • Ngõ vào CLK (tích cực theo cạnh) là ngõ vào xung clock được sử dụng để cập nhật giá trị ở ngõ ra.

Vì chúng ta đang sử dụng D flipflop nên O = I khi CLK tích cực. Cũng có thể bổ sung tính năng thiết lập giá trị ban đầu cho thanh ghi độc lập với clock bằng cách bổ sung các tín hiệu bất đồng bộ PRE và CLR như trong Hình 1. CLR PRE I3 D PRE Q O3 CLK CLR I2 D PRE Q O2 CLK CLR I1 D PRE Q O1 CLK CLR I0 D PRE Q O0 CLK CLK CLR Hình 1.4: Cấu trúc thanh ghi với các ngõ vào bất đồng bộ 3 Khi ngõ vào bất đồng bộ CLR tích cực (CLR = 0) thì ngõ ra của tất cả các D flipflop sẽ được xóa về 0. Khi ngõ vào bất đồng bộ PRE tích cực (PRE = 0) thì ngõ ra của tất cả các D flipflop sẽ được thiết lập lên 1.

Lưu ý là các ngõ vào bất đồng bộ CLR và PRE độc lập với ngõ vào CLK và có độ ưu tiên cao hơn CLK, vì thế nếu CLK và một trong các ngõ vào bất đồng bộ cùng tích cực thì mạch sẽ hoạt động theo ngõ vào bất đồng bộ. Hoạt động của thanh ghi với các ngõ vào bất đồng bộ được tóm tắt trong Bảng 1.1: Bảng hoạt động của thanh ghi với các ngõ vào bất đồng bộ CLR PRE CLK Oi Hoạt động 0 0 X X Không dự đoán được 0 1 X 0 Xóa 1 0 X 1 Thiết lập 1 1 ↑ Ii Lưu Lưu ý là trường hợp CLR và PRE cùng bằng 0 thì ngõ ra của các D flipflop không thể dự đoán được, tùy thuộc vào đặc tính của nhà sản xuất mà ngõ ra có thể bằng 0 hoặc 1. Chúng ta sẽ ký hiệu trong Hình 1.5 để biểu diễn thay cho thanh ghi trong Hình 1. 4 I PRE O 4 REG CLK CLR Hình 1.5: Ký hiệu thanh ghi với các ngõ vào bất đồng bộ Thanh ghi sẽ tự động cập nhật giá trị mỗi khi ngõ vào CLK tích cực.

Tuy nhiên, trong một số ứng dụng thì đòi hỏi dữ liệu cần phải được lưu trữ trong một khoảng thời gian nào đó trước khi được cập 4 nhật lại. Vì thế có thể bổ sung thêm một tín hiệu nạp hoặc cho phép để cho phép thanh ghi được cập nhật giá trị mỗi khi ngõ vào CLK tích cực hay không như trong Hình 1. Thanh ghi trong Hình 1.6 còn được gọi là thanh ghi nạp song song. Bằng cách bổ sung các bộ chọn, chúng ta có thể điều khiển việc thanh ghi được cập nhật giá trị mới (Nạp = 1) hoặc thanh ghi phải giữ nguyên giá trị cũ (Nạp = 0) mỗi khi ngõ vào CLK tích cực.

Hoạt động của thanh ghi với ngõ vào nạp trong Hình 1.6 được tóm tắt trong Bảng 1. Nạp 0 D Q O3 I3 1 CLK 0 D Q O2 I2 1 CLK 0 D Q O1 I1 1 CLK 0 D Q O0 I0 1 CLK CLK Hình 1.6: Cấu trúc thanh ghi với ngõ vào nạp Bảng 1.2: Bảng hoạt động của thanh ghi với ngõ vào nạp Nạp O Hoạt động 0 Q Không đổi 1 I Nạp dữ liệu 5 Chúng ta sẽ sử dụng ký hiệu trong Hình 1.7 để biểu diễn thanh ghi với ngõ vào nạp trong Hình 1. 4 I O 4 Nạp REG CLK Hình 1.7: Ký hiệu thanh ghi với ngõ vào nạp Ngoài ra, có thể kết hợp các ngõ vào bất đồng bộ và ngõ vào nạp cho thanh ghi để có thể có một thanh ghi đa năng hơn như ký hiệu trong Hình 1. Tùy thuộc vào ứng dụng mà có thể sử dụng thanh ghi với chức năng mong muốn như trong Hình 1.2 hoặc Hình 1.5 hoặc Hình 1.7 hoặc thậm chí là Hình 1.

4 I PRE O 4 Nạp REG CLK CLR Hình 1.8: Ký hiệu thanh ghi với ngõ vào bất đồng bộ và ngõ vào nạp 1. Thanh ghi dịch Trong nội dung 1.2 chúng ta đã tìm hiểu cách bổ sung các bộ chọn phía trước các D flipflop để điều khiển việc nạp giá trị song song cho thanh ghi. Bằng một số điều chỉnh nhỏ, chúng ta cũng có thể sử dụng các bộ chọn để điều khiển việc dịch dữ liệu được lưu trữ trong thanh ghi. Thanh ghi có chức năng này được gọi là thanh ghi dịch.9 và Hình 1.10 lần lượt trình bày cấu tạo và ký hiệu của một thanh ghi dịch phải 4 bit.

6 O3 O2 O1 O0 Dịch 0 0 0 0 D Q D Q D Q D Q IL 1 1 1 1 CLK CLK CLK CLK CLK Hình 1.9: Cấu tạo thanh ghi dịch phải 4 bit O 4 Dịch SHIFT REG CLK Hình 1.10: Ký hiệu thanh ghi dịch phải 4 bit Chức năng của thanh ghi dịch trong Hình 1.9 được trình bày trong Bảng 1.3: Bảng hoạt động của thanh ghi dịch phải 4 bit Dịch O[3:0] Hoạt động 0 Q3Q2Q1Q0 Không đổi 1 ILQ3Q2Q1 Dịch phải 1 bit Ngoài ra, có thể bổ sung tính năng dịch trái và nạp giá trị song song cho thanh ghi dịch bằng cách sử dụng các bộ chọn 4:1 như trong Hình 1.4 lần lượt trình bày ký hiệu và hoạt động của thanh ghi dịch này. I3 I2 I1 I0 IR S0 S1 0 0 0 0 1 D Q 1 D Q 1 D Q 1 D Q 2 2 2 2 IL 3 3 3 3 CLK CLK CLK CLK CLK O3 O2 O1 O0 Hình 1.11: Cấu tạo thanh ghi dịch đa năng 4 bit 7 4 I IL IR O S1 S0 SRwPL CLK Hình 1.12: Ký hiệu thanh ghi dịch đa năng 4 bit Bảng 1.4: Bảng hoạt động của thanh ghi dịch đa năng S1S0 O[3:0] Hoạt động 00 Q3Q2Q1Q0 Không đổi 01 I3I2I1I0 Nạp dữ liệu song song 10 Q2Q1Q0IR Dịch trái 11 ILQ3Q2Q1 Dịch phải Thanh ghi dịch đa năng có thể được sử dụng để chuyển một luồng dữ liệu nối tiếp thành một luồng dữ liệu song song và chuyển từ một luồng dữ liệu song song thành một luồng dữ liệu nối tiếp với các tùy chọn ngõ ra là bit có trọng số lớn nhất (MSB – Most Significant Bit) hoặc bit có trọng số nhỏ nhất (LSB – Least Significant Bit). Vì thế, những thanh ghi này thường được sử dụng trong các mạch truyền thông nối tiếp. Bộ đếm Bộ đếm là một loại thanh ghi đặc biệt có chức năng tự động chuyển giá trị lưu trữ theo một thứ tự đã được xác định trước mỗi khi ngõ vào CLK tích cực.13 và Hình 1.14 lần lượt trình bày ký hiệu và cấu tạo của một bộ đếm lên 4 bit.

O 4 Bộ đếm CLK Hình 1.13: Ký hiệu bộ đếm lên 4 bit 8 4 I O 4 Bộ tăng REG CLK Count CLK Hình 1.14: Cấu tạo bộ đếm lên 4 bit Phụ thuộc vào bộ tăng mà chúng ta sẽ có chuỗi giá trị đếm khác nhau, ví dụ nếu bộ tăng là bộ tăng 2 thì chúng ta sẽ có chuỗi giá trị đếm là 0, 2, 4, … 14, 0. Bộ đếm chỉ thay đổi giá trị đếm mỗi khi ngõ vào CLK tích cực. Ngoài ra có thể bổ sung thêm tính năng đếm xuống cho bộ đếm bằng cách bổ sung thêm một bộ giảm và một bộ chọn để lựa chọn tính năng đếm lên hay đếm xuống như Hình 1. D 4 I O 4 Bộ tăng REG 0 CLK CLK 1 Bộ giảm Count Hình 1.15: Cấu tạo bộ đếm lên/xuống 4 bit Hình 1.5 lần lượt trình bày ký hiệu và chức năng của bộ đếm lên/xuống 4 bit trong Hình 1.

O 4 D Bộ đếm lên/xuống CLK Hình1.16: Ký hiệu bộ đếm lên/xuống 4 bit 9 Bảng 1.5: Bảng hoạt động của bộ đếm lên/xuống 4 bit D Hoạt động 0 Đếm lên 1 Đếm xuống Để kiểm soát việc cho phép bộ đếm có được đếm hay không và thêm khả năng nạp giá trị ban đầu thì có thể bổ sung vào bộ đếm 2 bộ chọn như Hình 1. Trong đó E là tín hiệu cho phép đếm (E = 1) và Nạp là tín hiệu cho phép nạp giá trị song song. Nạp D E 0 4 I O Bộ tăng 4 A 4 1 REG 0 0 1 CLK CLK 1 Bộ giảm Count Hình 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ