TỔNG QUAN VỀ HDL, VHDL, VERILOG VÀ THIẾT KẾ BỘ GIẢI MÃ DÙNG VERILOG
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN - ĐIỆN TỬ YYYYY YYYYY THỰC TẬP NÂNG CAO HDL Đề Tài: Tổng quan về HDL, VHDL, Verilog và thiết kế bộ giải mã dùng verilog Giảng viên hướng dẫn : Chử Đức Hoàng Sinh viên thực hiện : Phạm Tiến Đại Vũ Xuân Đạo Lê Tuấn Đạt Đinh Công Đạt Phùng Tiến Đạt Trần Hữu Long Lớp : Điện Tử 2AHN Nhóm : 6 1 Hà Nội 01- 2012 MỤC LỤC LỜI NÓI ĐẦU 3 TỔNG QUAN VỀ HDL, VHDL, VERILOG VÀ THIẾT KẾ BỘ GIẢI MÃ DÙNG VERILOG 4 PHẦN I: TỔNG QUAN VỀ HDL VERILOG .4 1.6.7.Thiết kế từ trên xuống (top-down) .20 PHẦN II: TỔNG QUAN VỀ VHDL 28 2.1. Giới thiệu về ngôn ngữ mô tả phần cứng VHDL. 28 2.2. Cấu trúc một mô hình hệ thống mô tả bằng VHDL 30 2.2.1. Thực thế (entity) của mô hình. .30 2.2.2. Kiến trúc của mô hình. .32 PHẦN III: THIẾT KẾ BỘ GIẢI MÃ DÙNG VERILOG 34 3.1. Ví dụ 1: Thiết kế mạch giải mã 3 sang 8 .34 3.2. Ví dụ 2 : Thiết kế mạch giải mã 4 sang 16 41 KẾT LUẬN .46 2 LỜI NÓI ĐẦU Hiện nay các mạch tích hợp ngày càng thực hiện được nhiều chức năng hơn, do đó chúng ngày càng trở nên phức tạp hơn. Các phương pháp thiết kế mạch truyền thống như dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ các phần tử không còn đáp ứng được các yêu cầu đặt ra khi thiết kế. Hơn nữa các mạch thiết kế ra yêu cầu phải được thử nghiệm kỹ lưỡng trước khi đưa vào chế tạo hàng loạt. 3 Mặt khác cần phải xây dựng một bộ tài liệu hướng dẫn vận hành hệ thống hoàn chỉnh dễ hiểu và thống nhất. Chúng ta đã làm việc với một số chương trình phần mềm hỗ trợ cho việc thực hiện mô tả mạch hay hiểu được cách thiết kế mạch. Ví dụ: Proteus, HDL,VHDL, Verilog…Trong phần này chúng ta sử dụng hai ngôn ngữ phần cứng chuẩn công nghiệp là VHDL và Verilog. Cả hai ngôn ngữ này đều được sử dụng rộng rãi và đã được IEE chấp nhận. Dưới đây là bài viết : “Tổng quan về HDL, VHDL, Verilog và thiết kế bộ giải mã dùng Verilog”. Bài viết này sẽ giúp chúng ta hiểu một cách tổng quan nhất về HDL, VHDL, Verilog và biết cách thiết kế một bộ giải mã sử dụng Verilog, thông qua phần mềm Quatus II. TỔNG QUAN VỀ HDL, VHDL, VERILOG VÀ THIẾT KẾ BỘ GIẢI MÃ DÙNG VERILOG PHẦN I: TỔNG QUAN VỀ HDL VERILOG. 1.1. Giới thiệu về HDL và verilog: 1.1.1. Lịch sử phát triển HDL: 4 a) ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon University) Mô phỏng nhưng không tổng hợp b) Abel (circa 1983) – được triển bởi Data-I/O Mục tiêu dùng cho các thiết bị luận lý khả lập trình Không tốt cho máy trạng thái c) Verilog ( circa 1985) – phát triển bởi Gateway ( now Cadence) Đặc tả được đưa ra từ 1985 Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal Hiệu quả và dễ viết Berkeley phát triển công cụ tổng hợp vào thập niên 80 Được IEEE chuẩn hóa • Verilog standardized (Verilog-1995 standard) • Verilog-2001 standard d) VHDL (circa 1987) - DoD sponsored standard Dưa trên VHSIC phát triển bởi DARPA Tương tự như Ada (Nhấn mạnh vào tái sử dụng và bảo trì) Ngữ nghĩa phỏng mô rõ ràng Rất tổng quát nhưng dài dòng Được IEEE chuẩn hóa • VHDL standardized (’87 and ’93) Cấu trúc nghiêm ngặt 1.1.2. Giới thiệu về HDLs: a) HDLs (Hardware Description Languages) Không là một ngôn ngữ lập trình Tựa C Thêm những chức năng mô hình hóa, mô phỏng chức năng. Verilog vs. VHDL b) Các bước thiết kế bằng HDL Mô tả mạch từ khóa Biên dịch để kiểm tra cú pháp (syntax) Mô phỏng để kiểm tra chức năng của mạch 1.1.3. Verilog HDL: a) Verilog là một ngôn ngữ lớn Có nhiều tính năng cho tổng hợp và mô phỏng phần cứng Có thể biểu diễn những đặc trưng mức thấp • Transistor Có thể hoạt động như ngôn ngữ lập trình • Cấu trúc lặp 5 • Cấu trúc điều khiển…. b) Các công cụ mô phỏng chấp nhận toàn bộ khái niệm của Verilog c) Các công cụ tổng hợp công chỉ chấp nhận một phần các khái niệm của Verilog d) Chỉ tập trung nghiên cứu một phần Sử dụng ở một mức thích hợp Tập trung trên những cấu trúc tổng hợp được Tập trung tránh những cấu trúc gây khi tổng hợp 1.2. Ngôn ngữ đặc tả phần cứng (HDL): Là ngôn ngữ thuộc lớp ngôn ngữ máy tính ( computer language). Dùng để miêu tả cấu trúc và hoạt động của một vi mạch. Dùng mô phỏng, kiểm tra hoạt động của vi mạch. Biểu diễn hành vi theo thời gian và cấu trúc không gian của mạch. Bao gồm những ký hiệu biểu diễn thời trang và sự đồng thời ( time and concurrence). Ưu điểm: Dễ quản lý những mạch lớn và phức tạp. Uyển chuyển và độc lập với công nghệ. Cho phép tái sử dụng những thiết kế đã có sẵn. Mạch có thể dược tổng hợp tự động từ đặc tả. VerilogTM & VHDL. Được sử dụng rộng rãi trong công nghiệp. Theo chuẩn IEEE (Institute of Electrical and Electronics Engineerings). Được hỗ trợ bởi các công cụ tổng hợp ASIC (appilcationspecific integrated circuits) và FPGA (field- programmable gate arrays). 6 1.3. Phương pháp luận thiết kế HDL: Kiểm tra: thiết kế đã đúng yêu cầu chưa? Ánh xạ đặc tả thành các hiện thực Chức năng: Hành vi I/O Mức thanh ghi (Kiến trúc) Mức lý luận (Cổng) Mức transistor (Điển tử) Timing: Waveform Behavior 7 Dưới đây là lưu đồ thiết kế ASICs bằng HDL: 1.3.1. Design spelification ( thiết kế ý niệm): Đặc tả chi tiết: 8 Chức năng. Thời gian. Năng lượng tiêu hao. Biểu diễn: Đồ thị trạng thái ( state transation graph). Máy trạng thái (algorithmic state machine). Ngôn ngữ cấp cao: system C , superLog… 1.3.2. Thiết kế phân hoạch ( design partition): Mạch lớn được phân chia thành các mạch nhỏ hơn. Mỗi mạch nhỏ này được đặc tả bằng HDL. Mỗi mạch nhỏ có thể được tổng hợp trong thời gian chấp nhận được. Phương pháp thiết kế từ trên xuống ( top – down design/ hierarchical design). 9 1.3.3. Design Entry: Đặc tả thiết kế theo một dạng chuẩn Ngày nay dùng HDL. Mô hình hành vi (behavioral modeling). Được sử dụng nhiều trong công nghiệp. Chỉ ra mạch sẽ thực hiện chức năng gì. Không cần chỉ ra xây dựng phần cứng như thế nào. Các bước thiết kế dùng mô hình hành vi: Tạo hành vi nguyên mẫu cho thiết kế. Kiểm tra chức năng: Sử dụng những công cụ tổng hợp tối ưu và ánh xạ thiết kế vào một công nghệ. 1.3.4. Mô phỏng và kiểm tra chức năng ( Simulation and function verification). 10 [...]... III: THIẾT KẾ BỘ GIẢI MÃ DÙNG VERILOG Mạch giải mã là mạch có chức năng ngược lại với mạch mã hoá tức là nếu có 1 mã số áp vào ngõ vào thì tương ứng sẽ có 1 ngõ ra được tác động, mã ngõ vào thường ít hơn mã ngõ ra Tất nhiên ngõ vào cho phép phải được bật lên cho chức năng giải mã Mạch giải mã được ứng dụng chính trong ghép kênh dữ liệu, hiển thị led 7 đoạn, giải mã địa chỉ bộ nhớ, thiết kế bộ cộng... Ví dụ 1: Thiết kế mạch giải mã 3 sang 8 Mạch giải mã 3 đường sang 8 đường bao gồm 3 ngõ vào tạo nên 8 tổ hợp trạng thái, ứng với mỗi tổ hợp trạng thái được áp vào sẽ có 1 ngõ ra được tác động 34 Từ bảng sự thật ta có thể vẽ được sơ đồ mạch logic của mạch giải mã trên Cấu trúc mạch giải mã 3 sang 8 Rút gọn hàm logic sử dụng mạch giải mã : 35 Nhiều hàm logic có ngõ ra là tổ hợp của nhiều ngõ vào có thể... hệ con đó được thiết kế độc lập) Thứ sáu là khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế: VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vì vậy nó có thể được sử dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chia sẻ thiết kế Và nó cũng cho phép dùng lại các phần... dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE VHDL được sự hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống 28 Thứ hai là khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế VHDL cho phép thiết kế bằng nhiều phương pháp ví dụ phương pháp thiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện sẵn có VHDL cũng... dụng công cụ tổng hợp để tạo ra biểu diễn luận lý tối ưu và thực hiện theo một công nghệ hiện có Công cụ tối ưu loại bỏ những dư thừa và giảm diện tích mạch logic cần dùng để thực hiện Kết quả sẽ được ánh xạ vào một FPGA: Netlist Cơ sở dữ liệu 1.3.8 Thiết kế sau tổng hợp ( Post – synthesis design validation): Bộ so sánh được thực hiện bằng phần mềm hoặc bằng đồ họa Tìm hiểu và giải quyết... phỏng một bản thiết kế bao gồm cả các hệ con được mô tả chi tiết Thứ năm là khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô tả đáp ứng được tiêu chuẩn VHDL Các kết quả mô tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưng cùng tuân theo tiêu chuẩn VHDL Cũng như một nhóm 29 thiết kế có thể... nhiều ngõ vào có thể được xây dựng từ mạch giải mã kết hợp với một số cổng logic ở ngõ ra(mạch giải mã chính là 1 mạch tổ hợp nhiều cổng logic cỡ MSI) Mạch giải mã đặc biệt hiệu quả hơn so với việc sử dụng các cổng logic rời trong trường hợp có nhiều tổ hợp ngõ ra Ví dụ sau thực hiện mạch cộng 3 số X, Y, Z cho tổng là S và số nhớ là C thực hiện bằng mạch giải mã : Giả sử mạch cộng thực hiện chức năng... Quay về bước 3 nếu phát hiện lỗi Ba bước tiến hành kiểm tra Lập kế hoạch kiểm tra: chức năng nào cần kiểm tra và kiểm ra thế nào? Thiết kế mẫu kiểm tra ( testbench) Thực hiện kiểm tra 1.3.5 Thiết kế tích hợp và kiểm tra ( design integration and verification) Các mạch nhỏ được tích hợp lại và kiểm tra Chức năng: Cần có các testbench riêng... trong thiết kế Ảnh hưởng xấu đến hoạt động của mạch Làm giảm băng thông Sử dụng phần mềm để tạo ra các kiểm tra chính xác về các đặc tính điện và thời gian ( electrical characteristics and timing performance) 1.3.14 Design sign – off: Các ràng buộc được thỏa mãn Đặc tả bao gồm hình dạng hình học cho quá trình sản xuất Các tài nguyên được mở rộng để chip sản xuất ra thỏa mãn thiết kế về hiệu... hình cấu trúc mạch tổ hợp Thiết kế cấu trúc tương tự như tạo ra một sơ đồ (schematic) Schematic Hình biểu diễn cổng logic, 17 • • • • • Ngõ vào ra, Các đường kết nối giữa các cổng Mô hình cấu trúc HDL Danh sách các cổng cơbản và kết nối giữa chúng Các phát biểu chỉ ra ngõ vào-ra 1.6.3 Verilog primitives Primitives là các đối tượng cơ bản có thể được sử dụng trong thiết kế 26 đối tượng chức năng được