Ngôn ngữ mô tả phần cứng (Hardware Description Languages- HDLs) là ngôn ngữ lập trình đặc biệt dùng mô tả cấu trúc và hành vi của mạch logic số. Nó được sử dụng phổ biến trong quy trình thiết kế chip từ mô tả thiết kế, mô phỏng đến kiểm thử.
HDLs cung cấp phương pháp hiệu quả và linh hoạt để mô tả các mạch số phức tạp, nó cho phép mô tả trừu tượng chức năng và hoạt động của mạch số cũng như có thể mô tả chi tiết kết nối giữa các cổng logic. Nó cho phép mô tả mạch ở nhiều cấp độ khác nhau từ mức hành vi, mức thanh ghi đến cổng logic.
HDLs cũng dùng cho kiểm thử và mô phỏng mạch, cho phép người thiết kế kiểm tra và đánh giá thiết kế trước khi triển khai thiết kế vật lý. Việc sử dụng ngôn ngữ bậc cao như HDLs cho phép mô phỏng nhanh, phát hiện sớm các lỗi và cho phép sửa đổi và mô phỏng lại một cách nhanh chóng, đặc biệt với các thiết kế lớn và phức tạp.
Có một số ngôn ngữ HDL phổ biến nhưng có 2 ngôn ngữ chính thường được sử dụng là VHDL và Verilog.
- VHDL (Very High Speed Integrated Circuit HDL) được phát triển từ thập niên 80 cho các ứng dụng quốc phòng và được chuẩn hóa bởi IEEE. Ngôn ngữ này có cú pháp nghiêm ngặt và cấu trúc chặt chẽ nên thường được sử dụng trong các ứng dụng yêu cầu độ tin cậy cao. Vì tính chặt chẽ và yêu cầu nghiêm ngặt về cú pháp nên ngôn ngữ này khá khó học đối với người mới.
- Verilog là ngôn ngữ có cú pháp tương tự ngôn ngữ C nên thân thiện với người thiết kế hơn, đặc biệt với người mới và quen với lập trình phần mềm. Nó là ngôn ngữ được sử dụng rộng rãi nhất cho thiết kế mạch số và phù hợp cho mô tả mạch ở mức low-level và dùng trong kiểm thử thiết kế nhờ cú pháp đơn giản và linh hoạt hơn.
Một ngôn ngữ khác được dùng khá phổ biến hiện nay là SystemVerilog là phiên bản mở rộng của Verilog thêm các tính năng kiểm thử nâng cao như classes, randomization, assertions,… nên được sử dụng nhiều trong kiểm thử thiết kế. Bài tới chúng ta sẽ tìm hiểu sâu hơn về kiểm thử thiết kế (Verification).
Tóm lại, ngôn ngữ mô tả phần cứng HDLs đóng vai trò vô cùng quan trọng trong quy trình thiết kế chip, mọi thiết kế chip hiện nay đều dựa trên mô tả và kiểm thử bằng HDLs, trong đó VHDL, Verilog và SystemVerilog là những ngôn ngữ phổ biến nhất, người học thiết kế chip cần thành thạo ít nhất một trong các ngôn ngữ này.