Kiểm tra lô-gic

Một phần của tài liệu Bài giảng Thiết kế hệ thống VLSI: Phần 2 (Trang 59 - 61)

Các kiểm tra lô-gic thường là các kiểm tra đầu tiên mà một nhà thiết kế có thể xây dựng như một phần trong quá trình thiết kế. Chẳng hạn, có thể đặt ra các câu hỏi "Liệu bộ cộng này có thực hiện việc cộng?", "Liệu bộ đếm này có thực hiện việc đếm?"... Chúng ta biết rằng, các thử nghiệm và kiểm tra cần phải được thực hiện để chứng minh rằng một mô tả cổng được tổng hợp phải có chức năng hoạt động tương đương với mô tả RTL nguồn. Hình 5.2 chỉ

151 ra rằng chúng ta có thể mong muốn chứng minh rằng một mô tả RTL là tương đương với các tiêu chuẩn thiết kế ở một mô tả chức năng mức cao hơn hoặc một mức tiêu chí trừu tượng. Mô tả chức năng có thể là một mô tả bằng lời; một mô tả bằng chữ với ngôn ngữ thông thường; một mô tả trong một số ngôn ngữ lập trình bậc cao chẳng hạn như C, FORTRAN, Pascal, hoặc LISP; một chương trình trong một ngôn ngữ mô phỏng hệ thống chẳng hạn như System C; hoặc một ngôn ngữ mô tả phần cứng như VHDL hoặc Verilog; hoặc đơn giản là một bảng các đầu vào và các đầu ra yêu cầu. Thường các nhà thiết kế tạo ta một "mô hình vàng" trong một trong các dạng thức vừa đề cập và nó trở thành một mô hình tham chiếu của tất cả các phép kiểm tra của các biểu diễn khác. Tương đương chức năng liên quan đến việc thực hiện một bộ mô phỏng ở một mức độ nào đó trên hai mô tả của chíp (chẳng hạn một ở mức cổng và một ở mức chức năng) và việc đảm bảo rằng các đầu ra là tương đương ở một số điểm kiểm tra thuận tiện theo thời gian với mọi đầu vào được cung cấp. Điều này được thực hiện một cách thuận tiện nhất trong mô tả HDL bằng việc sử dụng các chuẩn kiểm tra (test bench), tức là một đóng gói xung quanh một mô-đun và cung cấp các kích thích và các kiểm tra tự động. Phép kiểm tra được chi tiết nhất có lẽ là phép kiểm tra thực hiện trên cơ sở chu kỳ tiếp chu kỳ. Càng ngày càng có sự gia tăng việc kiểm tra thử liên quan đến thời gian thực hoặc hoạt động gần với thời gian thực trong các hệ thống dựa trên FPGA để khẳng định chất lượng hoạt động mức hệ thống trong hệ thống cuối cùng mong muốn, tức là một hệ thống thực tế sẽ sử dụng chíp sau khi chíp hoàn thành. Điều này được khuyến cáo bởi vì có một sự tăng mức độ phức tạp của chíp và hệ thống mà chúng thực hiện. Ví dụ, trong một vùng diện tích của các chíp cho mạng cục bộ vô tuyến không dây (WLAN), nếu không có các hệ thống mô phỏng thời gian thực, chúng ta không thể mô phỏng các ảnh hưởng ẩn của kênh thông tin không tin cậy với các can nhiễu ngoài băng.

Hình 5.2Sự tương đương chức năng ở các mức độ trừu tượng khác nhau

Chúng ta có thể kiểm tra sự tương đương chức năng thông qua việc mô phỏng ở các mức độ khác nhau của phân cấp thiết kế. Nếu mô tả là ở mức RTL, các hoạt động ở mức hệ thống có thể được kiểm tra một cách đầy đủ. Ví dụ, trong trường hợp một bộ vi xử lý, chúng ta có thể nạp hệ điều hành và chạy các chương trình chính yếu đối với mô tả chức năng. Tuy

152 nhiên, điều này có thể là không thực tế (do thời gian chạy mô phỏng có thể quá dài) đối với một mô hình ở mức cổng lô-gic và thậm chí còn khó khăn hơn cho một mô hình ở mức transistor. Một cách để giải quyết vấn đề này là sử dụng sự kế thừa phân cấp ngay bên trong một hệ thống để kiểm tra các chíp và các mô-đun bên trong chíp. Nghĩa là, kết hợp với các giao tiếp mô-đun được xác định rõ, đi theo nhánh dài cùng với sự tăng của tính tương đồng mà một hệ thống bao gồm nhiều chíp VLSI sẽ thực hiện trước tiên.

Trong hầu hết các dự án, khối lượng của các cố gằng kiểm tra thường vượt xa rất nhiều so với các cố gắng thiết kế.

Một phần của tài liệu Bài giảng Thiết kế hệ thống VLSI: Phần 2 (Trang 59 - 61)