Với các chức năng lôgic phức tạp vấn đề kiểm tra được tính đúng đắn của sơ đồ thiết kế là một việc làm cực kỳ quan trọng. Trước khi thử nghiệm trên phần cứng cần phải chắc chắn quá trình lôgic diễn ra một cách chính xác.
Hình 5. 12 Kết quả mô phỏng thực hiện lôgic bảng chọn.
Phần mềm WINSIM đi cùng với WINCUPL giúp ta làm công việc này. Trách nhiệm của người lập trình ở đây là phải tạo ra tất cả các tình huống có thể xảy ra đối với tổ hợp các tín hiệu lôgic đầu vào. Các tổ hợp này gọi là các
testvectơ. Ứng với các testvectơWINSIM sẽ cho ta biết tất cả các tín hiệu đầu ra. Đối chiếu với các kết quả mà ta chờ đợi, chính là các mô tả quá trình lôgic
như các bảng 5.2, 5.3, ta sẽ biết được thiết kế có phù hợp không. Nếu không,
ta sẽ phải rà soát lại thiết kế của mình.
WINSIM thể hiện kết quả mô phỏng dưới dạng đồ thị, ví dụ về một kết
quả như vậy đối với CPLD1 cho trên hình 5.12. Trên đó có thể thấy ở cột đầu
tiên, signal, là tất cả các tín hiệu lôgic mà ta quan tâm, gồm cả các đầu vào, các biến trung gian và các đầu ra. Cột tiếp theo, value, là giá trị của các tín
hiệu này ứng với các testvectơ ở các cột tiếp theo. Các cột tiếp theo, đánh số
1, 2, 3, … là các testvectơ khác nhau. Dạng sóng trên các hàng là giá trị của
các tín hiệu tại các testvectơ 1, 2, … Có thể chọn màu khác nhau cho các tín
hiệu vào và các tín hiệu khácđể dễ phân biệt.
Các dạng sóng tín hiệu đối với các testvectơ cho kết quả đúng với các quá
trình lôgic cần thiết kế trên đây. Tuy nhiên WINSIM chỉ cho phép kiểm tra
tính đúng đắn của các quy luật lôgic mà không cho biết sự thực hiện các quy luật này theo thời gian. Yếu tố thời gian thực ra là do phần cứng quyết định và cần được kiểm tra kỹ bởi người thiết kế trên mô hình thử nghiệm.