RTL LINT – 5 LỖI PHỔ BIẾN KHI THIẾT KẾ RTL

Thứ Bảy, 17 tháng 05, 2025

1. Latch Inference

Trong thiết kế mạch số bằng Verilog, một vấn đề thường gặp là latch inference – hiện tượng công cụ mô phỏng hoặc tổng hợp tự động suy diễn ra một phần tử lưu trữ (latch) mà designer có thể không hề mong muốn.

Khi nào latch inference xảy ra?

Khi trình mô phỏng hoặc công cụ tổng hợp đọc mã Verilog, chúng sẽ diễn giải nội dung như sau:

  • Nếu trong một khối lệnh case hoặc khối điều kiện if-else, một số trường hợp xử lý giá trị đầu vào bị thiếu (không được mô tả rõ ràng), thì:
  • Ví dụ, nếu trong case ta xử lý giá trị 0, 1 nhưng bỏ sót giá trị 2, thì:
    + Công cụ sẽ hiểu rằng, nếu trạng thái hiện tại là 2, giá trị của biến y sẽ giữ nguyên, bởi vì chúng ta không nói phải thay đổi nó thế nào.
    + Điều này đồng nghĩa với việc cần một phần tử lưu trữ để ghi nhớ giá trị cũ của y – tức là, một latch sẽ được tạo ra.

Vậy nên, khi không mô tả đầy đủ các trường hợp, công cụ sẽ ngầm hiểu rằng designer muốn tạo một latch để lưu trữ giá trị trước đó.

Cách khắc phục latch inference

Để tránh latch inference ngoài ý muốn, chúng ta nên:

  • Mô tả đầy đủ tất cả các trường hợp đầu vào trong caseif-else
  • Hoặc, nếu không muốn liệt kê hết, cần sử dụng một câu lệnh default để xử lý các trường hợp chưa được nêu.

Một ví dụ đơn giản nhất:

case(state)

2'b00: y = 1'b0;

2'b01: y = 1'b1;

default: y = 1'b0; // tránh latch inference

endcase


Nếu để latch inference tồn tại trong thiết kế, ta có thể gặp những rủi ro sau:

  • Chuyển từ logic tổ hợp thành logic tuần tự
    Latch khiến thiết kế không còn là thuần túy combinational logic, mà trở thành sequential logic. Điều này làm thay đổi bản chất thiết kế.
  • Khó kiểm soát thời gian và timing
    Latch không được đồng bộ bởi clock như flip-flop, nên khó dự đoán thời gian lan truyền (propagation delay), dễ gây lỗi timing, hazard, và glitch.
  • Độ tin cậy thiết kế giảm
    Hành vi giữ giá trị cũ có thể gây ra những lỗi rất khó phát hiện trong mô phỏng, đặc biệt là trong các corner case.
  • Khó bảo trì và debug
    Khi phát hiện lỗi trong các giai đoạn muộn như kiểm thử hệ thống hoặc sau khi tape-out, việc sửa lỗi liên quan đến latch có thể cực kỳ tốn kém và rắc rối.
  • Có thể ảnh hưởng tới việc tổng hợp (synthesis)
    Một số công cụ tổng hợp sẽ tự động thêm latch vật lý, làm tăng diện tích chip, tiêu thụ điện năng lớn hơn, và ảnh hưởng tới hiệu suất tổng thể.

——————————————————

Hiện tại ICTC đang mở các khóa học thiết kế vi mạch từ cơ bản đến nâng cao, các bạn có thể tìm hiểu tại các bài viết sau nhé:

 

Truy cập Server EDA Miễn Phí của ICTC để thực hành thiết kế vi mạch:
Truy cập Server EDA Miễn Phí

 

Thứ Bảy, 17 tháng 05, 2025

Đội Ngũ Giảng Viên Đến Từ Các Công ty vi mạch hàng đầu với NHiều năm kinh nghiệm

Khóa học thiết kế vi mạch ICTC giảng viên từ Ampere
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ MediaTek Singapore
Khóa học thiết kế vi mạch ICTC giảng viên từ BOS
Khóa học thiết kế vi mạch ICTC giảng viên từ Marvell
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ NSING

Nổi Bật

Workshop Làm Quen Với Linux

Workshop Làm Quen Với Linux

Để giúp các bạn làm quen với command line, terminal trong Linux, ICTC sẽ tổ chức một buổi workshop về Linux với cơ hội thực hành trực tiếp trên Server ICTC cùng host là anh Thông (người xây dựng và quản lý Server ICTC). Nội dung workshop: Hướng dẫn làm quen và thực...

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Boom!  Cảm giác vỡ òa khi màn hình hiện kết quả design của bạn đã "pass" golden model – cửa ải cuối cùng trước khi “tốt nghiệp”!À quên, còn một điều kiện là coverage phải đủ nữa nha  Nhưng mà... cái cảm giác được thông báo ALL_PASSED vẫn là một điều gì đó thật đặc...

Bài Viết Mới

Intel Đang Trở Thành Công Ty Nhà Nước?

Intel Đang Trở Thành Công Ty Nhà Nước?

Chính phủ Mỹ mới đây đã chính thức trở thành cổ đông lớn nhất của Intel khi chuyển gần 9 tỷ USD hỗ trợ trong khuôn khổ Đạo luật CHIPS thành cổ phần công ty. Theo thỏa thuận, Washington mua 433,3 triệu cổ phiếu phổ thông với giá trung bình 20,47 USD/cổ, tương đương...

Thời Cơ Dành Cho Huawei Trong Lĩnh Vực Chip AI

Thời Cơ Dành Cho Huawei Trong Lĩnh Vực Chip AI

Cách đây vài năm, Huawei từng rơi vào tình cảnh khó khăn nhất vì căng thẳng thương mại Mỹ - Trung. Khi đó, công ty không thể sử dụng dịch vụ Google trên điện thoại, đồng thời gặp nhiều rào cản trong việc mua sắm linh kiện và chip cao cấp. Nhưng thay vì chùn bước,...

PDK Là Gì Mà Tại Sao Muốn Làm Chip Là Phải Có?

PDK Là Gì Mà Tại Sao Muốn Làm Chip Là Phải Có?

Hôm nay, hãy cùng Học Vi Mạch Cùng ICTC tìm hiểu về một khái niệm đi đâu cũng gặp khi làm việc trong ngành vi mạch bán dẫn nhé. Bạn có bao giờ nghe tới những cái tên như PDK 130nm SkyWater hay PDK 28nm TSMC chưa? Đây chính là những bộ Process Design Kit, tập hợp dữ...

BẠN CHƯA BIẾT BẮT ĐẦU TỪ ĐÂU?

Sau nhiều năm tư vấn và đào tạo vi mạch cho hàng trăm bạn sinh viên, học sinh và phụ huynh, kết hợp với kinh nghiệm từ các anh chị kỹ sư vi mạch có nhiều năm kinh nghiệm, đây là tất cả những kinh nghiệm và tài liệu mà mình đúc kết, tổng hợp lại được thành một quy trình tìm hiểu ngành vi mạch để các bạn mình mới tham gia vào ngành có thể bắt đầu một cách hiệu quả nhất.

 

Bấm nút bên dưới để tìm hiểu về ngành, về nghề nghiệp cũng như những thứ bản thân cần chuẩn bị để tham gia vào hành trình trở thành kỹ sư vi mạch tuy có phần gian nan nhưng vô cùng thú vị bạn nhé!

LỘ TRÌNH TỰ HỌC VI MẠCHGROUP CHAT HỌC TẬP VI MẠCH