Thiết kế RTL: Đường dữ liệu và pipeline
Xác định quy ước về số học và chu kỳ, rồi thiết kế ALU, bộ điều khiển, pipeline và bộ đệm ready-valid. Bốn bài thực hành với mô hình tham chiếu có thể chạy sẽ kiểm tra các giới hạn số học, trạng thái dừng, FIFO và thứ tự trước dự án tổng kết tính toán luồng.
Bạn sẽ học được gì
- Phân biệt quy ước về độ rộng, tính có dấu, bit nhớ và tràn số
- Lập lịch truyền thanh ghi, điều khiển FSM và bộ nhớ đồng bộ
- Tính độ trễ, thông lượng và khoảng khởi phát
- Xử lý dừng ready-valid và các trạng thái biên FIFO mà không mất dữ liệu
- Xây dựng phép kiểm tra bằng bảng theo dõi bao quát xung đột và đặt lại
- Kiểm chứng dự án tổng kết tính toán luồng bằng các mô hình độc lập
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
- Quy ước số và số học
- Chuyển phương trình thành quy ước đường dữ liệuKhái niệm
Xác định độ rộng, sự kiện chấp nhận và kết quả hợp lệ cùng với phép toán.
- Độ rộng, mở rộng dấu và tràn sốKhái niệm
Dùng ví dụ số để phân biệt cách diễn giải, mở rộng và thu hẹp.
- Thực hành: mô hình tham chiếu ALU tám bitThực hành
Kiểm tra ADD, SUB, AND, XOR, bit nhớ và bit mượn bằng chương trình độc lập.
- Kiểm tra: bit nhớ và tràn số có dấuKiểm tra
Phân biệt các giới hạn số khi diễn giải không dấu và có dấu.
- Truyền thanh ghi và điều khiển
- Đọc phép truyền thanh ghi tại các cạnh xung nhịpKhái niệm
Tách trạng thái cũ và trạng thái tiếp theo, rồi theo dõi cách tín hiệu cho phép giữ giá trị đã lưu.
- Lập lịch tài nguyên dùng chung bằng FSMKhái niệm
Tích lũy bốn giá trị bằng một bộ cộng đồng thời xác định chuyển trạng thái và ghi nhận dữ liệu.
- Quy ước thời gian cho yêu cầu và phản hồi bộ nhớKhái niệm
Phân biệt đọc đồng bộ, thẻ được trì hoãn và xung đột cùng địa chỉ.
- Kiểm tra: giữ kết quả đã hoàn thànhKiểm tra
Tách việc chuyển giao trong DONE khỏi việc chấp nhận yêu cầu tiếp theo.
- Thời gian và thông lượng pipeline
- Lưu toàn bộ giao dịch tại ranh giới pipelineKhái niệm
Chia phép cộng rồi nhân tỷ lệ, đồng thời giữ valid, thẻ và độ rộng đồng bộ.
- Độ trễ, thông lượng và khoảng khởi phátKhái niệm
Tính riêng độ trễ một giao dịch và tốc độ hoàn thành duy trì.
- Thực hành: theo dõi hai tầng và các ô trốngThực hành
Tính trạng thái tiếp theo từ trạng thái cũ và so sánh thẻ, giá trị, cạnh đầu ra.
- Kiểm tra: ý nghĩa của II=1Kiểm tra
Tránh nhầm số tầng với thông lượng duy trì.
- Điều khiển luồng ready-valid
- Sự kiện chấp nhận và tính ổn định khi dừngKhái niệm
Phân công trách nhiệm nguồn và đích, đồng thời giữ tải dữ liệu đang dừng.
- Thiết kế thanh ghi co giãn một ôKhái niệm
Chấp nhận vào ô trống hoặc thay phần tử được nhận đồng thời.
- Thực hành: kiểm tra 1024 mẫu dừngThực hành
Thử giữ, thay thế và làm trống với mọi mẫu ready mười chu kỳ.
- Kiểm tra: đếm giao dịch đang dừngKiểm tra
Phân biệt thời lượng valid với số lần bắt tay thực tế.
- FIFO và ranh giới xung đột
- FIFO trống, đầy và truyền đồng thờiKhái niệm
Tách số phần tử khỏi con trỏ và xác định hành vi push/pop tại biên.
- Phụ thuộc, xung đột tài nguyên và chuyển tiếpKhái niệm
So sánh dừng với chuyển tiếp khi phép toán cần kết quả trước đó.
- Duy trì đối soát giao dịch qua xóa luồng và đặt lạiKhái niệm
Tách hủy khỏi chuyển giao và đồng bộ trạng thái valid với hàng đợi kỳ vọng.
- Kiểm tra: thay thế trong FIFO đầyKiểm tra
Tính số phần tử và thứ tự khi push và pop đồng thời.
- Kiểm chứng và bộ tính luồng
- Kết hợp bảng theo dõi với bất biến cục bộKhái niệm
Kiểm tra giá trị, thứ tự, số phần tử và tính ổn định khi dừng từ giao dịch đã chấp nhận.
- Thực hành tổng kết: FIFO và bộ tính luồng hai tầngThực hành
Nối FIFO đầu vào độ sâu hai, hai tầng co giãn và bảng theo dõi.
- Đo hiệu năng và đánh giá thiết kếKhái niệm
Xác định cửa sổ quan sát, chẩn đoán dừng và giới hạn bằng chứng mô hình.
- Kiểm tra cuối: dừng không mất dữ liệu và tháo hếtKiểm tra
Kết hợp số học, đối soát công việc đang chờ và điều kiện hoàn thành.