Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
1,08 MB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN THIẾT KẾ LOGIC SỐ Giảng viên: TS Nguyễn Ngọc Minh Điện thoại/E-mail: 84-4- 3351 9391 Bộ môn: KTĐT-Khoa KTĐT Học kỳ/Năm biên soạn: Kỳ 1/2012 www.ptit.edu.vn Thiết kế logic số Trang Chương NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL TS Nguyễn Ngọc Minh Khoa KTĐT1 www.ptit.edu.vn Thiết kế logic số Trang Nội dung • Lịch sử phát triển VHDL • Những ưu điểm VHDL • Cấu trúc ngôn ngữ VHDL www.ptit.edu.vn Thiết kế logic số Trang Tài liệu tham khảo • • • The Designer's Guide to VHDL by Peter Ashenden, Morgan Kaufmann, 1996 VHDL mini-reference by Prof Nelson – http://www.eng.auburn.edu/department/ee/mgc/vhd l.html VHDL Tutorial: – http://esd.cs.ucr.edu/labs/tutorial/ – http://www.vhdl-online.de/tutorial/ – http://www.seas.upenn.edu/~ese201/vhdl/vhdl_pri mer.html – http://www.asic-world.com/vhdl/tutorial.html – ………………………………… www.ptit.edu.vn Thiết kế logic số Trang Lịch sử phát triển VHDL • Là ngôn ngữ mô tả phần cứng cho mạch tích hợp tốc độ cao • VHDL: VHSIC hardware description language • VHSIC (Very High Speed Intergrated Circuit) • Ngôn ngữ VHDL công ty Intermetics, IBM Texas Instruments bắt đầu nghiên cứu phát triển vào tháng 7/1983 • Phiên công bố vào tháng 81985 • Năm 1987 IEEE đưa tiêu chuẩn VHDL (IEEE-1076-1987) • Năm 1993, IEEE đưa phiên IEEE-10161993 www.ptit.edu.vn Thiết kế logic số Trang • Bản tiêu chuẩn năm 2000 2002 bổ sung số ý tưởng về VHDL hướng đối tượng • Năm 2006, ủy ban kỹ thuật VHDL Accellera ủy nhiệm IEEE để thực cập nhật cho tiêu chuẩn đưa phiên VHDL 3.0 (tiêu chuẩn VHDL-2006) • Năm 2008, Accellera đưa phiên VHDL 4.0 (tiêu chuẩn VHDL 2008) VHDL-2X VHDL-93 VHDL-87 www.ptit.edu.vn Thiết kế logic số Trang Những ưu điểm VHDL + Các mạch số ngày phức tạp, phương pháp thiết kế truyền thống dùng phương pháp tối thiểu hoá hàm Boolean hay dùng sơ đồ phần tử trở lên khó khăn nhiều thời gian + Phương pháp sử dụng ngôn ngữ mô tả phần cứng( HDL-Hard ware Description Languages ) trở thành phương pháp thiết kế hệ thống điện tử số phổ biến toàn giới www.ptit.edu.vn Thiết kế logic số Trang Những ưu điểm VHDL • Sử dụng VHDLcho phép: • Thiết kế, chạy mô phỏng, gỡ rối mức cao trước chuyển sang mạch số mức cổng flip-flop • Cung cấp công cụ để tổng hợp hệ thống số trước thực chuyển đổi • VHDL phát triển ngôn ngữ độc lập • không gắn với phương pháp thiết kế, mô tả hay công nghệ phần cứng • Người thiết kế tự lựa chọn công nghệ, phương pháp thiết kế sử dụng ngôn ngữ www.ptit.edu.vn Thiết kế logic số Trang Những ưu điểm VHDL • Thứ tính công cộng : – tiêu chuẩn IEEE – VHDL hỗ trợ nhiều nhà sản xuất thiết bị nhiều nhà cung cấp công cụ thiết kế mô hệ thống • Thứ hai khả hỗ trợ nhiều công nghệ phương pháp thiết kế – cho phép thiết kế nhiều phương pháp – hỗ trợ cho nhiều loại công cụ thiết kế mạch • Thứ ba tính độc lập với công nghệ – VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng www.ptit.edu.vn Thiết kế logic số Trang Những ưu điểm VHDL • Thứ tư khả mô tả mở rộng: – VHDL cho phép mô tả hoạt động phần cứng từ mức hệ thống mức cổng logic • Thứ năm khả trao đổi kết quả: – Vì VHDL tiêu chuẩn chấp nhận, nên mô hình VHDL chạy mô tả đáp ứng tiêu chuẩn VHDL • Thứ sáu khả hỗ trợ thiết kế mức lớn khả sử dụng lại thiết kế: – VHDL phát triển ngôn ngữ lập trình bậc cao, – sử dụng để thiết kế hệ thống lớn với tham gia nhóm nhiều người – cho phép dùng lại phần có sẵn www.ptit.edu.vn Thiết kế logic số Trang 10 Các lệnh lặp • Lệnh lặp loop chứa thân vòng lặp bao gồm dãy câu lệnh thực nhiều lần • Cú pháp lệnh lặp sau: [:] [] loop {}| {next [] [when ];}| {exit [] [when ];} end loop [nhãn]; www.ptit.edu.vn Thiết kế logic số Trang 104 VD Count_down: Process Variable Min,Sec: integer range to 60; Begin L1: loop L2: loop exit L2 when (Sec=0); wait until CLK’event and CLK=’1’; Sec:=Sec-1; End loop L2; Exit L1 when (Min=0); Min:=Min-1; Sec:=60; End loop L1; End process www.ptit.edu.vn Count_down; Thiết kế logic số Trang 105 VD process ( A, B_bus ) begin for i in downto loop C_bus (i)