Trung tâm đào tạo thiết kế vi mạch Semicon


  • ĐĂNG KÝ TÀI KHOẢN ĐỂ TRUY CẬP NHIỀU TÀI LIỆU HƠN!
  • Create an account
    *
    *
    *
    *
    *
    Fields marked with an asterisk (*) are required.
wafer.jpg

Tìm hiểu về Lint check trong thiết kế Verilog

E-mail Print PDF

Kết quả hình ảnh cho hinh anh verilogTìm hiểu về Lint check trong thiết kế Verilog HDL (RTL Rule Check)

Trong thiết kế Verilog HDL, hàng loạt các quy tắc thiết kế được đưa ra nhằm đảm bảo việc các kĩ sư thiết kế sẽ tuân thủ các nguyên tắc về cấu trúc code, filename, comment, sự phân lớp khi coding, các quy tắc khi thiết kế đồng bộ, bất đồng bộ …

Điều này đảm bảo code sẽ dễ đọc và có thể sử dụng lại được. Hơn thế nữa, việc tuân thủ các quy tắc này sẽ giúp các kĩ sư thiết kế tránh được các bug căn bản, mà đôi khi rất khó phát hiện hoặc tốn nhiều công sức để có thể phát hiện được trong quá trình làm verification.

Lint check là phương thức check tính kiểm tra thiết kế có tuân thủ đúng các quy tắc thiết kế hay không, nhằm giải quyết các vấn đề trên. Đây là phương thức static (không apply test vector) nên sẽ không tốn nhiều resource khi thực hiện. Một vài quy tắc thiết kế mà khi vi phạm, lint sẽ báo lỗi có thể kể đến như sau:

– Code không có khả năng synthesize

– Code tạo ra latch không như mong muốn

– Không khai báo đủ biến trong sensitivity list

– Mạch tạo loop trong quá trình thiết kế

– Khai báo biến mà không sử dụng

– Tín hiệu không được lái (undriven signals)

– Code có khả năng tạo ra race condition

– Sử dụng sai phép gán blocking và non-blocking

– Sử dụng sai reset đồng bộ và reset bất đồng bộ

– Dòng code dài quá quy định cho phép

Xem xét ví dụ sau:

Ví dụ 1:

always @ (a or b or c)
case (addr)
2’b00: out = a;
2’b01: out = b;
2’b10: out = c;
2’b11: out = d;
endcase

Lint tool sẽ báo lỗi do tín hiệu “d” không được khái báo trong sensitivity list và mạch có thể tạo latch không như mong muốn.

Ví dụ 2:

always @ ( in1 or in2 or out)
out = out + in1 + in2;
Đâu là lỗi trong đoạn code này?

Xem thêm và thảo luận chủ đề này tại diễn đàn  thietkechip.com

Học thiết kế vi mạch tại trung tâm đào tạo thiết kế vi mạch: semiconvn.com

Last Updated ( Monday, 20 July 2015 19:13 )  
Chat Zalo