Tổng quan về giáo trình
Tài liệu Hướng dẫn Thực hành Thiết kế Luận lý Số do ThS. Lâm Đức Khải và ThS. Trần Đại Dương biên soạn, được Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh ấn hành năm 2021, phục vụ công tác đào tạo tại Trường Đại học Công nghệ Thông tin (ĐHQG-HCM). Trong chương trình đào tạo kỹ sư ngành Kỹ thuật Máy tính và Kỹ thuật Điện tử – Viễn thông, học phần thực hành Thiết kế Luận lý Số giữ vị trí nòng cốt thuộc khối kiến thức chuyên ngành nâng cao, đóng vai trò cầu nối chuyển tiếp từ lý thuyết mạch số sang thiết kế hệ thống số chuyên dụng và vi xử lý.
Mục tiêu học tập của giáo trình nhằm trang bị cho người học năng lực sử dụng ngôn ngữ mô tả phần cứng Verilog HDL (theo các chuẩn IEEE 1364 và IEEE 1800) để thiết kế, tổng hợp luận lý, mô phỏng chức năng và hiện thực hóa các hệ thống số trên công cụ tự động hóa thiết kế điện tử (EDA Tool) Altera Quartus II v13.0SP1, sau đó nạp cấu hình kiểm thử trên bo mạch phần cứng Altera DE2 Board.
Giáo trình được cấu trúc thành 6 bài thực hành chuyên đề theo quy trình thiết kế vi mạch chuẩn từ mức khối chức năng cơ bản đến hệ thống vi xử lý hoàn chỉnh. Cấu trúc mỗi bài học được chuẩn hóa thống nhất qua 6 phân mục: Mục tiêu, Nội dung thực hành, Cơ sở lý thuyết, Chuẩn bị ở nhà, Hướng dẫn thực hành và Vận dụng.
Điểm đặc sắc của tài liệu là phương pháp tiếp cận gắn liền giữa yêu cầu đào tạo đại học với quy trình kỹ thuật thực tế trong doanh nghiệp thiết kế vi mạch. Nội dung giảng dạy không dừng lại ở việc mô phỏng phần mềm mà hướng dẫn sinh viên trực tiếp chuyển đổi các mô tả giải thuật thành sơ đồ phần cứng RTL (Register-Transfer Level), kiểm soát quá trình tổng hợp mạch tuần tự, mạch tổ hợp và tối ưu hóa tài nguyên phần cứng trên chip FPGA.
Nội dung kiến thức cốt lõi
[Bài 1: Verilog HDL & Cấu trúc cơ bản]
[Bài 6: Bộ vi xử lý RISC (CE118)]
Các chương/chủ đề chính
- Bài 1. Giới thiệu Verilog HDL: Trình bày tổng quan về các công cụ EDA, lược sử chuẩn hóa Verilog từ Gateway Design Automation (1984), OVI, IEEE 1364-1995/2001 đến SystemVerilog IEEE 1800-2009/2017. Cung cấp các mức mô tả mạch (mức hành vi và mức cấu trúc), cú pháp khai báo module, các cổng vào/ra (
input, output, inout), kiểu dữ liệu mạng (wire) và biến (reg), 4 mức logic (0, 1, x, z). Hệ thống hóa các toán tử số học, toán tử trên bit, toán tử rút gọn, toán tử quan hệ, toán tử dịch chuyển, toán tử ba ngôi ?:, phép ghép {} và phép lặp {{}}. Phân tích bản chất của phép gán liên tục assign, phép gán thủ tục trong khối initial/always, phân biệt phép gán chặn (blocking =) với không chặn (non-blocking <=), ngõ vào reset đồng bộ/bất đồng bộ và cách mô tả các flip-flop D, T, JK cũng như các khối cơ bản (Full Adder, Half Adder, Multiplexer, Decoder, Comparator).
- Bài 2. Thiết kế máy trạng thái: Cung cấp cơ sở lý thuyết về máy trạng thái hữu hạn (FSM), cấu trúc phần cứng của hai mô hình Moore FSM và Mealy FSM. Hướng dẫn quy trình thiết kế mạch tuần tự: lập sơ đồ trạng thái, rút gọn trạng thái tương đương, mã hóa trạng thái (theo số đếm nhị phân hoặc ưu tiên liền kề Gray code), tối ưu hóa hàm logic cho ngõ vào flip-flop và ngõ ra. Hiện thực hóa mạch phát hiện chuỗi bit tuần tự (như chuỗi
1101 hoặc 2 chữ số cuối mã số sinh viên) bằng mã nguồn Verilog HDL.
- Bài 3. Thiết kế các thành phần của khối dữ liệu: Hướng dẫn xây dựng các khối chức năng xử lý dữ liệu độ rộng 8-bit, bao gồm: bộ chọn kênh MUX2 8-bit, MUX4 8-bit; bộ số học và luận lý ALU 8-bit (kết hợp giữa khối số học AU 8-bit gồm bộ cộng/trừ 8-bit và khối luận lý LU 8-bit gồm các cổng AND, OR, NOT, XOR 8-bit); bộ dịch đa năng Barrel Shifter 8-bit cho phép dịch trái tối đa 7 vị trí; tập thanh ghi Register Files (chứa 4 thanh ghi 8-bit); thanh ghi cải tiến có tín hiệu cho phép ghi (Write Enable) dựa trên D flip-flop; bộ nhớ RAM 4 word 8-bit.
- Bài 4. Thiết kế khối dữ liệu: Quy trình thiết kế khối dữ liệu (Datapath) đơn chu kỳ hoàn chỉnh. Hướng dẫn phân tích bài toán, xác định các bước tính toán, lựa chọn và kết nối các thành phần phần cứng (ALU, thanh ghi, bộ dịch, MUX), xây dựng sơ đồ đường truyền dữ liệu và xác minh chức năng từng bước thông qua mô phỏng dạng sóng.
- Bài 5. Thiết kế khối điều khiển: Trình bày cấu trúc và quy trình thiết kế khối điều khiển (Control Unit) cho vi mạch chuyên dụng ASIC. Hướng dẫn lập từ điều khiển (Control Word), xây dựng đồ hình chuyển trạng thái, lập bảng chuyển trạng thái, tổng hợp khối luận lý trạng thái kế tiếp và khối luận lý tạo tín hiệu điều khiển ngõ ra (địa chỉ đọc/ghi, enable, mã thao tác cho ALU và bộ dịch). Tiến hành tích hợp khối điều khiển với khối dữ liệu để tạo thành hệ thống ASIC hoàn chỉnh, kiểm tra xác minh trên bo mạch FPGA.
- Bài 6. Thiết kế bộ vi xử lý RISC: Hiện thực hóa kiến trúc bộ vi xử lý hoàn chỉnh CE118Processor. Trình bày chu kỳ thực thi lệnh, các chế độ định địa chỉ, cấu trúc định dạng lệnh kiểu R, tập lệnh hợp ngữ và mã máy tương ứng. Hướng dẫn lập biểu đồ máy trạng thái giải thuật (ASM chart), thiết kế khối dữ liệu vi xử lý, khối điều khiển, con trỏ lệnh PC, bộ nhớ lệnh IMEM, bộ nhớ dữ liệu DMEM, tích hợp toàn diện hệ thống và xác minh thực thi chương trình trên phần mềm và phần cứng.
Kiến thức nền tảng được xây dựng
Giáo trình củng cố nền tảng lý thuyết mạch số thông qua đại số Boolean, bảng chân trị, bảng chuyển trạng thái và các mô hình biểu diễn giải thuật phần cứng (FSM, ASM chart).
Đồng thời, tài liệu định hình nguyên lý phân tách kinh điển trong kiến trúc máy tính: tách biệt hệ thống số phức tạp thành Khối dữ liệu (Datapath - nơi lưu trữ và biến đổi dữ liệu) và Khối điều khiển (Control Unit - nơi sinh các xung nhịp và từ điều khiển chỉ đạo đường truyền dữ liệu).
Học viên nắm vững nguyên lý đồng bộ xung clock (posedge, negedge), cơ chế kích khởi mức/cạnh và bản chất phần cứng sau khi biên dịch từ mã lệnh mô tả.
Kỹ năng phát triển
- Kỹ năng kỹ thuật: Sử dụng thành thạo Verilog HDL để viết mã nguồn mô tả phần cứng có khả năng tổng hợp (synthesizable code); thao tác phân cấp thiết kế (hierarchical design); sử dụng công cụ Altera Quartus II v13.0SP1 để biên dịch, tổng hợp RTL, gán chân I/O và nạp bitstream cấu hình xuống kit FPGA DE2.
- Kỹ năng phân tích: Năng lực tối ưu bảng trạng thái, phân tích đường truyền dữ liệu, lập bảng mã hóa điều khiển (Control Word), đọc và kiểm tra biểu đồ thời gian (waveform timing analysis).
- Năng lực thực nghiệm: Khả năng truy vết lỗi logic phần cứng, kiểm tra tính đúng đắn của thiết kế ở mức mô phỏng trước khi triển khai thực tế trên vi mạch bán dẫn.
Phương pháp giảng dạy và học tập
Giáo trình áp dụng phương pháp tiếp cận kết hợp giữa thiết kế từ dưới lên (Bottom-up) và thiết kế từ trên xuống (Top-down). Trong các bài đầu, người học đi từ các cổng logic, flip-flop và linh kiện cơ bản để hiểu tường tận cơ chế vận hành mức mạch; sau đó, ở các bài nâng cao, sinh viên tiếp cận bài toán từ đặc tả hệ thống mức cao, phân rã kiến trúc thành Datapath và Control Unit, rồi tích hợp thành vi xử lý hoàn chỉnh.
Quy trình tổ chức bài học 6 bước đảm bảo tính sư phạm chặt chẽ:
- Mục tiêu: Cung cấp chuẩn đầu ra chi tiết về kiến thức và kỹ năng cần đạt.
- Nội dung thực hành: Tóm tắt các module và mạch điện cụ thể cần hoàn thành tại phòng thí nghiệm.
- Cơ sở lý thuyết: Nhắc lại nền tảng toán học, bảng chân trị, cấu trúc phần cứng và cú pháp lệnh liên quan.
- Chuẩn bị ở nhà: Đưa ra các bài tập bắt buộc sinh viên phải lập bảng chuyển trạng thái, vẽ sơ đồ khối và viết trước mã nguồn nhằm tối ưu hóa thời gian thực hành.
- Hướng dẫn thực hành: Cung cấp chỉ dẫn kỹ thuật từng bước trên giao diện phần mềm Quartus II, từ tạo project, viết code, phân cấp module, gán chân đến mô phỏng dạng sóng.
- Vận dụng: Đưa ra các bài toán mở rộng (chẳng hạn như mạch nhận dạng chuỗi bit tùy biến theo MSSV hoặc ASIC đếm số bit 0) yêu cầu sinh viên phối hợp nhiều khối chức năng để giải quyết độc lập.
Phương pháp đánh giá kết quả học tập dựa trên ba thành phần: mức độ chuẩn bị bài tập trước ở nhà, kết quả thực hiện mô phỏng chức năng trên máy tính và khả năng kiểm tra xác minh thiết kế trên phần cứng FPGA DE2 thực tế.
Điểm nổi bật và cập nhật
- Bám sát chuẩn công nghiệp: Giáo trình hệ thống hóa các chuẩn ngôn ngữ Verilog HDL và SystemVerilog được IEEE công nhận (IEEE 1364-1995, IEEE 1364-2001, IEEE 1800-2009, IEEE 1800-2017), hướng dẫn sinh viên áp dụng tập cú pháp có thể tổng hợp được (synthesizable subset) tương thích với các phần mềm EDA công nghiệp.
- Trực quan hóa cấu trúc phần cứng: Tài liệu đi kèm hệ thống danh mục hình vẽ và bảng biểu phong phú (từ Hình 1.1 đến Hình 6.9, Bảng 1.1 đến Bảng 6.2). Mỗi đoạn mã nguồn Verilog đều có hình ảnh sơ đồ mạch tương ứng sau khi tổng hợp (Netlist viewer), giúp sinh viên thấy rõ mối liên hệ giữa câu lệnh lập trình (
assign, if-else, case, for, always) và phần cứng thực tế (cổng logic, MUX, D-FF, chốt dữ liệu).
- Tính thực tiễn cao: Toàn bộ các bài thực hành đều được định hướng cấu hình trực tiếp trên kit phần cứng Altera DE2 Board thông qua môi trường Altera Quartus II v13.0SP1.
- Hiện thực hóa vi xử lý CE118Processor: Đưa đồ án thiết kế bộ vi xử lý RISC hoàn chỉnh vào nội dung thực hành chính khóa, giúp sinh viên làm chủ từ khâu thiết kế tập lệnh, lập biểu đồ ASM, thiết kế Datapath/Control Unit cho đến nạp mã máy và kiểm thử chương trình hợp ngữ.
Đối tượng sử dụng giáo trình
- Sinh viên chuyên ngành: Phù hợp trực tiếp cho sinh viên năm 2 và năm 3 thuộc các ngành Kỹ thuật Máy tính, Kỹ thuật Điện tử – Viễn thông, Công nghệ Thông tin, Kỹ thuật Vi mạch và Hệ thống Nhúng.
- Điều kiện tiên quyết: Người học cần có kiến thức nền tảng về thiết kế luận lý số cơ bản (đại số logic, bảng Karnaugh, flip-flop, mạch đếm, thanh ghi). Đã làm quen với các thao tác cơ bản trên phần mềm Altera Quartus II v13.0SP1 và kit DE2 Board (có thể tham khảo trước cuốn Tài liệu Hướng dẫn Thực hành Nhập môn Mạch số của cùng nhóm tác giả).
- Giảng viên và cán bộ hướng dẫn phòng lab: Tài liệu cung cấp đề cương thực hành chuẩn hóa, hệ thống bài tập và quy trình kiểm thử đồng bộ cho các khóa đào tạo đại học và cao đẳng kỹ thuật.
- Kỹ sư và người tự học: Tài liệu là nguồn tham khảo kỹ thuật cho các kỹ sư phần cứng, kỹ sư thiết kế FPGA/ASIC cần tra cứu cú pháp Verilog HDL chuẩn và quy trình thiết kế máy trạng thái cũng như khối đường truyền dữ liệu.
Bảng đối chiếu các bài thực hành và khối kiến thức
| Bài thực hành |
Mục tiêu kiến thức cốt lõi |
Khối phần cứng hiện thực |
Công cụ & Môi trường |
| Bài 1 |
Cú pháp Verilog HDL, mức mô tả cấu trúc và hành vi, phép gán liên tục và thủ tục |
Full Adder, Half Adder, MUX, Decoder 2:4, Comparator, D/T/JK Flip-flop |
Quartus II v13.0SP1 |
| Bài 2 |
Mô hình FSM (Moore & Mealy), rút gọn trạng thái, mã hóa trạng thái |
Mạch phát hiện chuỗi bit 1101, mạch nhận diện MSSV |
Quartus II & DE2 Board |
| Bài 3 |
Thiết kế các thành phần đường truyền dữ liệu độ rộng 8-bit |
MUX2, MUX4, ALU 8-bit (AU/LU), Barrel Shifter, Register Files (4x8-bit), RAM (4-word) |
Quartus II v13.0SP1 |
| Bài 4 |
Quy trình phân tích và xây dựng khối dữ liệu đơn chu kỳ |
Datapath hoàn chỉnh kết nối ALU, Shifter, Register Files |
Quartus II v13.0SP1 |
| Bài 5 |
Xây dựng khối điều khiển, lập Control Word, tích hợp hệ thống ASIC |
Control Unit, khối giải mã trạng thái kế tiếp, ASIC hoàn chỉnh |
Quartus II & DE2 Board |
| Bài 6 |
Kiến trúc máy tính RISC, chu kỳ lệnh, định dạng lệnh R, biểu đồ ASM |
Bộ vi xử lý CE118Processor (PC, IMEM, DMEM, ALU, Register Files) |
Quartus II & DE2 Board |
Câu hỏi thường gặp
1. Giáo trình này được biên soạn dành cho đối tượng nào?
Giáo trình phục vụ trực tiếp cho sinh viên ngành Kỹ thuật Máy tính, Kỹ thuật Điện tử – Viễn thông và các ngành kỹ thuật liên quan đã học qua môn Nhập môn Mạch số, đang học các môn chuyên sâu về thiết kế luận lý và vi mạch.
2. Người học cần chuẩn bị kiến thức nền tảng gì trước khi tiếp cận tài liệu?
Cần nắm vững lý thuyết mạch số cơ bản (đại số Boolean, mạch tổ hợp, mạch tuần tự, cổng logic cơ bản) và các thao tác cơ bản trên phần mềm Altera Quartus II v13.0SP1. Người học chưa có nền tảng có thể đọc trước cuốn Tài liệu Hướng dẫn Thực hành Nhập môn Mạch số của cùng tác giả.
3. Điểm khác biệt của tài liệu so với các sách lý thuyết thiết kế số là gì?
Tài liệu tập trung hoàn toàn vào quy trình thực hành kỹ thuật: cung cấp các module Verilog hoàn chỉnh, hướng dẫn từng bước tạo project, tổng hợp mạch, phân tích sơ đồ RTL sau tổng hợp và xác minh thiết kế trên chip FPGA Altera DE2 Board thực tế.
4. Làm thế nào để tự học giáo trình này đạt hiệu quả cao?
Người học cần thực hiện nghiêm túc phần "Chuẩn bị ở nhà" (viết code, giải thuật, vẽ đồ hình trạng thái) trước khi mở máy tính; sau đó đối chiếu kết quả mô phỏng dạng sóng trên phần mềm và giải các bài tập trong phần "Vận dụng" để củng cố kỹ năng phân tích.
5. Giáo trình có tài liệu bổ trợ nào đi kèm không?
Tài liệu kết nối chặt chẽ với Tài liệu Hướng dẫn Thực hành Nhập môn Mạch số cùng nhóm tác giả để hỗ trợ sinh viên về cách sử dụng phần mềm Altera Quartus II và cấu hình kit phần cứng DE2 Board. Người đọc có thể trao đổi học thuật trực tiếp với tác giả qua hòm thư điện tử duongtd@uit.edu.vn.
Kết luận
Tài liệu Hướng dẫn Thực hành Thiết kế Luận lý Số của ThS. Lâm Đức Khải và ThS. Trần Đại Dương là tài liệu học thuật chuẩn mực, cung cấp lộ trình thực hành có hệ thống về thiết kế số hiện đại bằng ngôn ngữ Verilog HDL. Lộ trình đào tạo 6 bài dẫn dắt người học từ việc nắm bắt cú pháp mô tả phần cứng cơ bản, thiết kế máy trạng thái FSM, xây dựng các khối linh kiện xử lý dữ liệu ALU/Shifter/RAM, kết hợp Datapath và Control Unit thành mạch ASIC chuyên dụng, cho đến tích hợp hoàn chỉnh một bộ vi xử lý RISC CE118Processor. Tài liệu là học liệu tham khảo giá trị cho sinh viên, giảng viên và kỹ sư trong lĩnh vực thiết kế vi mạch và kỹ thuật máy tính.