Mạch logic số
Bắt đầu từ tín hiệu số và các cổng logic AND·OR·XOR, rồi thiết kế mạch tổ hợp, latch, flip-flop, bộ đếm và máy trạng thái. Trực tiếp liên hệ bảng chân trị, biểu thức, mạch và dạng sóng; kiểm chứng qua bài thực hành RTL. Phần chuyên sâu tùy chọn mở rộng đến đường dữ liệu và giao diện.
Bạn sẽ học được gì
- Phân biệt giá trị logic với điện áp; giải thích bảng chân trị, ký hiệu và mạch tương đương của tám loại cổng.
- Thiết kế mạch tổ hợp từ đặc tả bằng SOP, POS và bản đồ Karnaugh, rồi kiểm tra toàn bộ tổ hợp đầu vào.
- Xác định điều kiện đầu vào và giá trị biên của bộ mã hóa, bộ giải mã, MUX, DEMUX, bộ cộng và bộ so sánh.
- Giải thích sự khác nhau giữa latch và flip-flop; thiết kế quy tắc cập nhật của reset, enable và clock.
- Cài đặt bộ đếm, thanh ghi dịch và máy trạng thái bằng RTL; phân tích thời gian, đầu vào bất đồng bộ và chống dội.
- Kiểm chứng bằng mô hình tham chiếu độc lập và hoàn thành bộ phát hiện mẫu 101 có chồng lấp.
- Mở rộng sang ALU, bộ nhớ, FIFO, pipeline và giao diện trong phần nâng cao tùy chọn.
Trước khi bắt đầu
Bài tập trên trình duyệt dùng mô hình giáo dục, không biên dịch hay chạy HDL. Để chạy mã nguồn riêng, hãy làm theo hướng dẫn Digital Design Studio cho hệ điều hành của bạn và đăng nhập khi thao tác yêu cầu.
Cài đặt và khởi chạy lần đầu ↗ · Tải xuống ↗Chương trình học
- Tín hiệu số và biểu diễn số
- Tín hiệu số: điều kiện đọc điện áp thành 0 và 1Khái niệm
Phân biệt logic với điện áp, tính ngưỡng đầu vào, dự phòng nhiễu và độ trễ lan truyền.
- Hệ đếm và biểu diễn độ rộng cố địnhKhái niệm
Ngoài chuyển đổi hệ đếm, tính phạm vi biểu diễn, số bit cần thiết và sai số cắt bỏ.
- Cổng logic và bảng chân trị
- Cổng cơ bản: AND, OR, NOT, BUFFERKhái niệm
Liên hệ ký hiệu mạch với bảng chân trị và ghép điều kiện bằng nhiều cổng.
- Đọc NAND, NOR và ký hiệu đảoKhái niệm
Phân biệt phạm vi phủ định, dùng De Morgan liên hệ ký hiệu và biểu thức cùng chức năng.
- XOR, XNOR: giống, khác và parityKhái niệm
Phân biệt XOR hai đầu vào với parity nhiều đầu vào và giải thích giới hạn phát hiện lỗi.
- Cổng phổ dụng: xây mạch chỉ bằng NANDKhái niệm
Chứng minh tính đầy đủ chức năng của NAND, NOR bằng cấu trúc và kiểm tra tín hiệu trung gian của XOR.
- Từ biểu thức logic đến thiết kế mạch
- Đại số Boolean, biến đổi tương đương và chi phí cài đặtKhái niệm
Biến đổi mạch bằng De Morgan và đặt nhân tử chung; phân biệt tương đương logic với thời gian.
- Từ bảng chân trị đến biểu thức: minterm, maxterm, SOP, POSKhái niệm
Suy ra cùng hàm từ các hàng đầu ra 1 và đầu ra 0, rồi liên hệ ký hiệu Karnaugh.
- Bản đồ Karnaugh và điều kiện don’t-careKhái niệm
Rút gọn biểu thức bằng tính kề của mã Gray và nêu rõ giả thiết về đầu vào không dùng.
- Thực hành thiết kế: từ đặc tả đến mạch đa số ba đầu vàoThực hành
Chuyển đặc tả bằng lời thành bảng chân trị đầy đủ, nối các bước tối thiểu hóa, cài đặt và kiểm tra toàn bộ.
- Địa chỉ và mạch lựa chọn
- Bộ giải mã, lựa chọn one-hot và đầu vào hợp lệKhái niệm
Đổi địa chỉ nhị phân thành từng đường chọn, thiết kế enable, phạm vi và bất biến lựa chọn.
- Bộ mã hóa và ưu tiên: chọn một trong nhiều yêu cầuKhái niệm
Phân biệt giả thiết đầu vào one-hot với valid và kết quả lựa chọn của bộ mã hóa ưu tiên.
- DEMUX và bộ giải mã: gửi dữ liệu theo đường chọnKhái niệm
So sánh chiều và vai trò của MUX, DEMUX, bộ giải mã; kiểm tra one-hot và tối đa một bit 1.
- Tín hiệu và cổng: quy ước độ rộng, hướng, thời gianKhái niệm
Đọc giao diện và tách tiêu chuẩn kiểm tra đầu ra tổ hợp khỏi đầu ra trạng thái.
- Từ bảng chân trị đến MUX và khai triển ShannonKhái niệm
Suy ra công thức lựa chọn và phân rã hàm logic bất kỳ bằng MUX.
- Mạch số học và so sánh
- Bộ cộng và cấu trúc truyền carryKhái niệm
Suy ra biểu thức bộ cộng đầy đủ; phân tích chức năng, độ rộng và độ trễ ripple carry cùng nhau.
- Bù hai, mở rộng dấu và overflowKhái niệm
Phân biệt diễn giải signed và điều kiện overflow phép cộng bằng công thức, phản ví dụ.
- Bộ so sánh và đặc tả giá trị biênKhái niệm
Phân biệt so sánh unsigned, signed của cùng chuỗi bit và kiểm tra biên.
- Latch, flip-flop và lưu trạng thái
- Khởi đầu của ghi nhớ: phản hồi và SR, D latchKhái niệm
Hiểu hai trạng thái ổn định của mạch nối chéo, giải thích tổ hợp đầu vào cấm của SR latch và khoảng trong suốt của D latch.
- D flip-flop: từ mức đến cạnhKhái niệm
So sánh thời điểm cập nhật latch, flip-flop và liên hệ ý nghĩa thanh ghi, setup, hold.
- Flip-flop, enable và ưu tiên điều khiểnKhái niệm
Định nghĩa giữ, nạp, reset bằng trạng thái kế tiếp và tránh clock gating ngoài ý muốn.
- Chuyển trạng thái đồng bộ và vai trò clockKhái niệm
Diễn giải hệ đồng bộ như một tập thanh ghi cùng đọc trạng thái trước.
- Cài đặt và kiểm chứng RTL của MUX
- Chọn tổ hợp và độ trễ đầu ra có thanh ghiKhái niệm
Phân tích giao diện và độ trễ khi lưu kết quả MUX vào thanh ghi.
- RTL tổ hợp và phép gán đầy đủKhái niệm
Biểu diễn cùng hàm bằng toán tử điều kiện và always_comb; tìm thiếu phép gán gây latch.
- Thực hành: kiểm tra toàn bộ MUX và phân tích đầu ra được lưuThực hành
Áp cùng đầu vào vào đường tổ hợp và đường thanh ghi; kiểm tra bằng bảng chân trị và thời điểm lấy mẫu.
- Thời điểm lấy mẫu và quan hệ nhân quả của dạng sóngKhái niệm
Đọc dạng sóng bằng cách tách ổn định tổ hợp, bắt clock và thứ tự sự kiện.
- Kiểm chứng MUX: kiểm tra toàn bộ và thuộc tínhKhái niệm
Kiểm tra riêng bao phủ đầu vào tổ hợp và hành vi lưu, đồng thời tối thiểu hóa phản ví dụ.
- Kiểm tra thiết kế: tương đương mạch chọn và thời điểm quan sátKiểm tra
Phân biệt kiểm chứng chỉ cần chân trị với kiểm chứng phải quan sát clock.
- Bộ đếm và cập nhật trạng thái đồng bộ
- Số trạng thái, độ rộng bộ đếm và mã không dùngKhái niệm
Tính số bit lưu từ phạm vi đếm và định nghĩa phục hồi trạng thái sai.
- Trạng thái kế tiếp và ưu tiên reset của bộ đếmKhái niệm
Gộp tăng, giữ, reset và quay vòng vào một đặc tả rồi tính từng cạnh.
- Nonblocking và cập nhật trạng thái đồng thờiKhái niệm
Tách giá trị cũ và mới để đọc đúng RTL pipeline, bộ đếm.
- Thực hành: kiểm tra reset, quay vòng và bất biến bộ đếmThực hành
Đối chiếu từng cạnh lên với tham chiếu, tách ảnh hưởng giá trị đầu, reset và độ rộng.
- Bộ đếm modulo, bão hòa và xung kết thúcKhái niệm
Thiết kế xử lý cực đại và chu kỳ chính xác của tín hiệu terminal-count.
- Gỡ lỗi bộ đếm và phản ví dụ tối thiểuKhái niệm
Thiết kế kiểm tra ngắn phân biệt lỗi reset, enable và biên quay vòng.
- Kiểm tra thiết kế: biên độ rộng, ưu tiên và quay vòngKiểm tra
Dùng đặc tả chuyển trạng thái để quyết định giá trị biên và điều khiển đồng thời.
- Thanh ghi dịch và luồng dữ liệu
- Chỉ mục vector, thứ tự bit và dấuKhái niệm
Đọc đường dữ liệu bằng cách tách số bit, thứ tự truyền nối tiếp và diễn giải số học.
- Đầu vào nối tiếp và ranh giới khungKhái niệm
Định nghĩa thứ tự đầu vào, cạnh hợp lệ và xác định vị trí bit khi đổi nối tiếp sang song song.
- Phương trình trạng thái thanh ghi dịchKhái niệm
Biểu diễn dịch bit bằng chuyển trạng thái vector, liên hệ chiều dài lưu và trễ đầu ra.
- Độ rộng của slice, nối và lặpKhái niệm
Tính tổng độ rộng tín hiệu nối và điều kiện bảo toàn giá trị khi xây đường dữ liệu.
- Thực hành: dịch dữ liệu nối tiếp và kiểm tra thứ tự bitThực hành
Kết hợp chuỗi bit và tham chiếu số nguyên để kiểm tra hướng, bit mất và trễ sau reset.
- Phân biệt trễ chu kỳ và thông lượngKhái niệm
Xác định mốc quan sát đường trễ N tầng và tính latency, throughput định lượng.
- Kiểm chứng mạch dịch và căn chỉnh dữ liệu, validKhái niệm
Tìm lỗi bị mẫu đối xứng che và tín hiệu valid lệch một chu kỳ.
- Kiểm tra thiết kế: trễ, căn chỉnh và bảo toàn đầu vàoKiểm tra
Kiểm tra không chỉ hướng dịch mà cả số lần dịch dữ liệu hợp lệ và mốc quan sát.
- Thời gian, đầu vào thực và máy trạng thái
- Setup, hold và ngân sách thời gianKhái niệm
Tách trễ đường cực đại/cực tiểu và tính hold độc lập với tần số clock.
- Hazard logic và giới hạn biểu thức tương đươngKhái niệm
Phân tích vì sao hai mạch tương đương ổn định vẫn có dạng sóng tức thời khác do độ trễ.
- Ranh giới clock domain và metastabilityKhái niệm
Hiểu phạm vi bộ đồng bộ hai tầng, phân biệt truyền một bit, xung ngắn và nhiều bit.
- Nút nhấn thực: đồng bộ, chống dội và một sự kiệnKhái niệm
Phân biệt đồng bộ đầu vào bất đồng bộ với xóa dội tiếp điểm; thiết kế debounce theo mẫu liên tiếp.
- Máy trạng thái: tách trạng thái, chuyển và đầu raKhái niệm
Viết FSM từ bảng đặc tả; so Moore, Mealy, trạng thái bất hợp lệ và chính sách yêu cầu.
- Kế hoạch kiểm chứng, coverage và tham chiếu độc lậpKhái niệm
Phân biệt qua kiểm tra với thỏa đặc tả; đưa biên, điều kiện chéo và phản ví dụ tối thiểu vào kế hoạch.
- Thiết kế tổng hợp: phát hiện mẫu 101 chồng lấpKhái niệm
Áp dụng tối thiểu trạng thái, hợp lệ đầu vào, đầu ra có thanh ghi và tham chiếu độc lập vào một thiết kế.
- Nâng cao tùy chọn · Đường dữ liệu số học
- ALU và cờ zero, negative, carry, overflowKhái niệm
Tạo ADD/SUB bằng bộ cộng chung, tách carry và overflow signed để suy cả điều kiện so sánh.
- Barrel shifter và các tầng MUXKhái niệm
Hiện thực lượng dịch thay đổi bằng các tầng MUX dịch 1·2·4·8 vị trí, xử lý chia sẻ hướng dịch, điền dấu và lượng dịch vượt độ rộng.
- Dấu chấm cố định, làm tròn và bão hòaKhái niệm
Xác định phạm vi số theo định dạng W,F, thiết kế làm tròn về số chẵn bằng guard·sticky và bão hòa sau làm tròn.
- Bộ nhân unsigned nhiều chu kỳ bằng dịch và cộngKhái niệm
Chia phép cộng các tích riêng qua W chu kỳ, kiểm chứng thời điểm nhận và hoàn tất, lần tích lũy cuối, độ rộng và bất biến.
- Chuyên sâu tùy chọn · Bộ nhớ và FIFO
- Bộ nhớ đồng bộ và hợp đồng xung đột đọc/ghiKhái niệm
Phân biệt thời điểm phản hồi của đọc qua thanh ghi và các chế độ read-first·write-first·no-change; thiết kế trách nhiệm riêng của valid và khởi tạo địa chỉ.
- Tập thanh ghi hai cổng đọc, một cổng ghi và bypassKhái niệm
Hiện thực hai cổng đọc độc lập và ghi đồng bộ; kiểm tra bypass theo từng xung đột địa chỉ cùng chính sách khởi tạo và valid.
- Con trỏ và chính sách biên của FIFO một đồng hồKhái niệm
Hiện thực con trỏ và occupancy của FIFO sâu 4; quy định rõ điều kiện chấp nhận push/pop đồng thời khi empty và full.
- Kế hoạch kiểm chứng FIFO, bộ nhớ và scoreboard độc lậpKhái niệm
Viết queue scoreboard độc lập với con trỏ triển khai, kết nối điều kiện biên, reset, valid và đọc chưa khởi tạo với kế hoạch kiểm chứng.
- Chuyên sâu tùy chọn · Pipeline và giao diện
- Ready/valid và bộ đệm đàn hồi một ôKhái niệm
Thiết kế điều kiện truyền không mất hay trùng dữ liệu và vào/ra đồng thời trong đường dữ liệu có thể dừng.
- Pipeline nhân-cộng và căn chỉnh dữ liệuKhái niệm
Chia phép tính bằng các ranh giới thanh ghi; bảo đảm dữ liệu, valid và toán hạng phụ thuộc cùng một giao dịch.
- Pipeline có thể dừng và backpressureKhái niệm
Tính ready theo từng tầng để tránh mất, trùng hoặc tính lại dữ liệu trong lúc dừng và di chuyển đồng thời.
- Giao diện thanh ghi và thời điểm phát sinh tác dụngKhái niệm
Đặc tả địa chỉ, ghi theo byte và dừng phản hồi; bảo đảm một yêu cầu dẫn đến đúng một lần thay đổi trạng thái.
- Thực hành tổng hợp: bộ phát UART và thời gian khungKhái niệm
Kết hợp bộ đếm chia tần, thanh ghi dịch và điều khiển luồng để tạo khung 8N1, rồi kiểm chứng các ranh giới bit.