Giáo Trình Thực Hành Thiết Kế Vi Mạch Số Với VHDL

Giáo trình nghiên cứu thực hành thiết kế vi mạch số với vhdl, trình bày lý thuyết rõ ràng, minh họa ví dụ thực tế, phù hợp sinh viên .

Chuyên ngành

Kỹ Thuật Điện Tử

Người đăng

Ẩn danh

Thể loại

Giáo Trình

2017

450
6
0

Phí lưu trữ

75 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

DANH SÁCH HÌNH

DANH SÁCH BẢNG

1. CHƯƠNG 1: HƯỚNG DẪN SỬ DỤNG KIT FPGA XILINX FPGA XC3S500E

1.1. GIỚI THIỆU BỘ KIT FPGA - XILINX

1.2. KHẢO SÁT CÁC THÀNH PHẦN CƠ BẢN CỦA KIT

1.2.1. NGUỒN CUNG CẤP

1.2.2. CÁC SWITCH GẠT – SLICE SWITCH

1.2.3. CÁC NÚT NHẤN – PUSH BUTTON

1.2.4. CÁC LED BẢY ĐOẠN

1.2.5. LED MA TRẬN 8×8

1.2.6. BUZZER – CẢM BIẾN NHIỆT 1 DÂY DS18B20 – LED THU HỒNG NGOẠI

1.2.7. GIAO TIẾP CÔNG SUẤT ULN2003

1.2.8. GIAO TIẾP IC THỜI GIAN THỰC DS1302

1.2.9. GIAO TIẾP IC DAC 0832

1.2.10. GIAO TIẾP VỚI IC MAX232 CHUẨN RS232

1.2.11. GIAO TIẾP CHUẨN PS/2

1.2.12. GIAO TIẾP SD CARD

1.2.13. GIAO TIẾP VGA

1.2.14. GIAO TIẾP SRAM IS61 LV 25616

1.2.15. GIAO TIẾP SDRAM IS4 2S1 6400/HY57V1620

2. CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG ISE DESIGN SUITE

2.1. KHỞI ĐỘNG XILINX ISE DESIGN SUITE

2.2. SOẠN THẢO CHƯƠNG TRÌNH ISE WEBPACK

2.3. TỔNG HỢP CHƯƠNG TRÌNH

2.4. GÁN CÁC PORT CHO CÁC CHÂN CỦA THIẾT BỊ LẬP TRÌNH

2.5. CÁCH THỨC NẠP CHƯƠNG TRÌNH VÀO THIẾT BỊ LẬP TRÌNH

3. CHƯƠNG 3: THIẾT KẾ MẠCH TỔ HỢP

3.5. MẠCH GIẢI ĐA HỢP

3.6. MẠCH GIẢI MÃ LED 7 ĐOẠN

3.7. MẠCH CỘNG SỐ NHỊ PHÂN

3.8. MẠCH CHUYỂN ĐỔI SỐ NHỊ PHÂN THÀNH SỐ BCD

3.8.1. NGUYÊN LÝ CHUYỂN ĐỔI

3.8.2. GIẢI THÍCH NGUYÊN LÝ CHUYỂN ĐỔI

3.8.3. CÁC CHƯƠNG TRÌNH CHUYỂN ĐỔI

4. CHƯƠNG 4: THIẾT KẾ MẠCH TUẦN TỰ 1: CHIA XUNG, ĐẾM NHỊ PHÂN, MÔ HÌNH TRẠNG THÁI MÁY

4.2. MẠCH ĐỒNG BỘ THÔNG THƯỜNG

4.3. CHIA TẦN SỐ

4.4. MẠCH TẠO TÍN HIỆU CHO PHÉP

4.5. ĐẾM NHỊ PHÂN HIỂN THỊ LED ĐƠN, ĐẾM LÊN, ĐẾM XUỐNG

4.6. MẠCH ĐỒNG BỘ NGẪU NHIÊN

4.7. CHỐNG DỘI PHÍM NHẤN, SWITCH GẠT

4.7.1. HIỆN TƯỢNG DỘI PHÍM VÀ NÚT NHẤN, MÔ HÌNH CHỐNG DỘI

4.7.2. CÁC CHƯƠNG TRÌNH ỨNG DỤNG DÙNG NÚT NHẤN CÓ CHỐNG DỘI

4.8. CÁC CHƯƠNG TRÌNH ĐẾM VÒNG, ĐẾM JOHNSON

4.9. THIẾT KẾ CHƯƠNG TRÌNH THEO SƠ ĐỒ KHỐI

5. CHƯƠNG 5: THIẾT KẾ MẠCH TUẦN TỰ 2: ĐẾM HIỂN THỊ TRÊN LED 7 ĐOẠN

5.2. MẠCH ĐẾM HIỂN THỊ TRÊN LED 7 ĐOẠN QUÉT – CÁCH 1

5.3. MẠCH ĐẾM HIỂN THỊ TRÊN LED 7 ĐOẠN QUÉT – CÁCH 2

5.4. MẠCH ĐẾM NHỊ PHÂN

5.5. MẠCH ỨNG DỤNG – ĐỒNG HỒ SỐ

5.6. MẠCH ĐỌC NHIỆT ĐỘ TỪ CẢM BIẾN 1 DÂY DS18B20

5.6.1. CẢM BIẾN NHIỆT DS18B20

5.6.2. HÌNH ẢNH VÀ TÊN CÁC CHÂN CỦA CẢM BIẾN

5.6.3. SƠ ĐỒ KHỐI CỦA CẢM BIẾN DS18B20

5.6.4. HOẠT ĐỘNG CỦA CẢM BIẾN DS18B20

5.6.5. HOẠT ĐỘNG CẢNH BÁO QUÁ NHIỆT CỦA CẢM BIẾN DS18B20

5.6.6. CẤP NGUỒN CHO CẢM BIẾN DS18B20

6. CHƯƠNG 6: THIẾT KẾ MẠCH TUẦN TỰ 3: GIAO TIẾP LCD, GLCD

7. CHƯƠNG 7: THIẾT KẾ MẠCH GIAO TIẾP BỘ NHỚ RAM BẰNG VHDL

8. CHƯƠNG 8: GIAO TIẾP TRUYỀN DỮ LIỆU

Tóm tắt

I. Hướng Dẫn Thiết Kế Vi Mạch Số Với VHDL Đầy Đủ Nhất

Vi mạch số là một lĩnh vực quan trọng trong công nghệ điện tử, đặc biệt là trong thiết kế và phát triển các hệ thống nhúng. Việc sử dụng ngôn ngữ mô tả phần cứng như VHDL giúp cho quá trình thiết kế trở nên dễ dàng và hiệu quả hơn. Bài viết này sẽ cung cấp cái nhìn tổng quan về thiết kế vi mạch số với VHDL, từ những khái niệm cơ bản đến các ứng dụng thực tiễn.

1.1. Tổng Quan Về Vi Mạch Số Và VHDL

Vi mạch số đã phát triển mạnh mẽ trong hơn 40 năm qua. VHDL (VHSIC Hardware Description Language) là một ngôn ngữ lập trình mô tả phần cứng, cho phép thiết kế và mô phỏng các mạch logic phức tạp. Việc nắm vững VHDL là cần thiết cho những ai muốn tham gia vào lĩnh vực thiết kế vi mạch.

1.2. Lợi Ích Của Việc Sử Dụng VHDL Trong Thiết Kế

Sử dụng VHDL mang lại nhiều lợi ích như khả năng mô phỏng trước khi thực hiện thiết kế thực tế, dễ dàng trong việc sửa đổi và bảo trì mã nguồn. Hơn nữa, VHDL hỗ trợ việc thiết kế các mạch synthesizable và có thể được triển khai trên các thiết bị như FPGA.

II. Những Thách Thức Trong Thiết Kế Vi Mạch Số Với VHDL

Mặc dù VHDL mang lại nhiều lợi ích, nhưng việc thiết kế vi mạch số cũng gặp phải nhiều thách thức. Các vấn đề như tối ưu hóa hiệu suất, giảm thiểu tiêu thụ năng lượng và đảm bảo tính chính xác trong thiết kế là những yếu tố quan trọng cần được xem xét.

2.1. Vấn Đề Tối Ưu Hóa Hiệu Suất

Tối ưu hóa hiệu suất trong thiết kế vi mạch số là một thách thức lớn. Các nhà thiết kế cần phải cân nhắc giữa tốc độ hoạt động và tiêu thụ năng lượng. Việc sử dụng các kỹ thuật như pipelining và parallel processing có thể giúp cải thiện hiệu suất.

2.2. Đảm Bảo Tính Chính Xác Trong Thiết Kế

Tính chính xác là yếu tố quan trọng trong thiết kế vi mạch. Việc kiểm tra và xác minh mã VHDL thông qua các testbench VHDL là cần thiết để đảm bảo rằng thiết kế hoạt động như mong đợi trước khi triển khai trên phần cứng.

III. Phương Pháp Thiết Kế Vi Mạch Số Với VHDL Hiệu Quả

Để thiết kế vi mạch số hiệu quả, cần áp dụng các phương pháp và kỹ thuật phù hợp. Việc sử dụng các công cụ phần mềm hỗ trợ thiết kế và mô phỏng là rất quan trọng.

3.1. Sử Dụng Công Cụ Phần Mềm EDA

Công cụ phần mềm EDA (Electronic Design Automation) như Xilinx ISE hoặc Vivado giúp cho việc thiết kế và mô phỏng các mạch VHDL trở nên dễ dàng hơn. Những công cụ này cung cấp giao diện thân thiện và nhiều tính năng hữu ích cho việc phát triển vi mạch.

3.2. Kỹ Thuật Mô Phỏng Và Kiểm Tra

Mô phỏng là bước quan trọng trong quy trình thiết kế. Việc sử dụng testbench VHDL cho phép kiểm tra tính đúng đắn của thiết kế trước khi triển khai. Các kỹ thuật như mô phỏng đồng bộ và mô phỏng không đồng bộ cũng cần được áp dụng để đảm bảo tính chính xác.

IV. Ứng Dụng Thực Tiễn Của Thiết Kế Vi Mạch Số Với VHDL

Thiết kế vi mạch số với VHDL có nhiều ứng dụng thực tiễn trong các lĩnh vực như viễn thông, tự động hóa, và thiết bị điện tử tiêu dùng. Các sản phẩm như FPGA, bộ điều khiển và cảm biến đều sử dụng công nghệ này.

4.1. Ứng Dụng Trong Thiết Bị Viễn Thông

Trong lĩnh vực viễn thông, thiết kế vi mạch số giúp cải thiện hiệu suất truyền tải dữ liệu. Các mạch logic được thiết kế bằng VHDL có thể xử lý tín hiệu nhanh chóng và hiệu quả.

4.2. Ứng Dụng Trong Tự Động Hóa

Vi mạch số cũng được sử dụng rộng rãi trong tự động hóa công nghiệp. Các hệ thống điều khiển và giám sát sử dụng VHDL để thiết kế các mạch điều khiển phức tạp, giúp tăng cường hiệu suất và độ chính xác.

V. Kết Luận Về Thiết Kế Vi Mạch Số Với VHDL

Thiết kế vi mạch số với VHDL là một lĩnh vực đầy tiềm năng và thách thức. Việc nắm vững các kiến thức và kỹ năng trong lĩnh vực này sẽ giúp các kỹ sư điện tử phát triển các sản phẩm công nghệ tiên tiến trong tương lai.

5.1. Tương Lai Của Thiết Kế Vi Mạch Số

Với sự phát triển không ngừng của công nghệ, thiết kế vi mạch số sẽ tiếp tục phát triển. Các công nghệ mới như AI và IoT sẽ tạo ra nhiều cơ hội mới cho các kỹ sư trong lĩnh vực này.

5.2. Khuyến Khích Nghiên Cứu Và Phát Triển

Khuyến khích các sinh viên và kỹ sư tham gia vào nghiên cứu và phát triển trong lĩnh vực thiết kế vi mạch số. Việc này không chỉ giúp nâng cao kiến thức mà còn đóng góp vào sự phát triển của ngành công nghiệp điện tử.

24/07/2025
Giáo trình thực hành thiết kế vi mạch số với vhdl

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu về cấu hình kit FPGA: giới thiệu cấu hình kit, cấu hình chip, các kết nối chip FPGA với các ngoại vi, sơ đồ kết nối, chân kết nối, mức logic tích cực. Chương 2: Hướng dẫn sử dụng phần mềm EDA dùng để lập trình thiết kế chip. Chương 3: Thực hành thiết kế các mạch tổ hợp. Bao gồm các mạch giải mã, mã hóa, đa hợp, giải đa hợp, giải mã led 7 đoạn, mạch cộng, mạch trừ, mạch chuyển đổi.

Các bài tổ hợp này với các tín hiệu vào là switch, nút nhấn và ngõ ra điều khiển led đơn, led 7 đoạn. Chương 4: Thực hành thiết kế các mạch tuần tự 1. Bao gồm mạch chia tần số, mạch chia tần số với nhiều cấp tần số khác nhau, mạch tạo tín hiệu cho phép, mạch tạo nhiều tín hiệu cho phép khác nhau. Mạch đếm nhị phân, đếm lên, đếm xuống, điều khiển cho phép đếm, ngừng đếm.

Mô hình máy trạng thái Moore và Mealy. Chống dội nút nhấn và switch. Mạch đếm từ nút nhấn. Các mạch đếm vòng và đếm Johnson.

Chương 5: Thực hành thiết kế các mạch tuần tự 2. Bao gồm mạch đếm 1 số hiển thị trên 1 led 7 đoạn, đếm 2 số hiển thị trên 2 led 7 đoạn quét, đếm 3 số hiển thị trên 3 led 7 đoạn quét, đếm 4 số hiển thị trên 4 led 7 đoạn quét. Hai bộ đếm độc lập, đếm với các tần số khác nhau lựa chọn bằng switch, bằng nút nhấn tăng, giảm và nhiều yêu cầu điều khiển khác. Mạch đồng hồ số hiển thị giờ, phút, giây từ cơ bản đến nâng cao cho phép chỉnh được giờ, phút, giây bằng các nút nhấn giống như đồng hồ thực tế.

Mạch đọc nhiệt độ từ cảm biến nhiệt 1 dây DS18B20 hiển thị trên led 7 đoạn dùng máy trạng thái. Chương 6: Thực hành thiết kế mạch điều khiển LCD. Bao gồm mạch giao tiếp điều khiển LCD hiển thị chuỗi. Mạch đếm, mạch đồng hồ số, mạch đọc nhiệt độ từ cảm biến nhiệt DS18B20 hiển thị trên LCD.

Tương tự giao tiếp với GLCD trắng đen. Chương 7: Thực hành thiết kế mạch giao tiếp bộ nhớ RAM. Thiết kế bộ điều khiển bộ nhớ thực hiện chức năng đọc/ghi dữ liệu. Bài thực hành thiết kế gồm mạch giao tiếp ghi dữ liệu vào và đọc dữ liệu ra từ bộ nhớ SRAM và SDRAM hiển thị trên LCD.

Chương 8: Thực hành thiết kế mạch giao tiếp máy tính qua UART. Thiết kế mạch tạo tốc độ baud, mạch phát, mạch nhận và bộ đệm FIFO. Bài thực hành bao gồm mạch giao tiếp truyền dữ liệu giữa máy tính và FPGA hiển thị dữ liệu truyền và nhận trên LCD và máy tính, bên máy tính sử dụng phần mềm Terminal để thực hiện truyền và nhận dữ liệu với 4 kit FPGA. Tương tự giao tiếp với các thiết bị qua chuẩn I2C như đồng hồ thời gian thực, bộ nhớ Eeprom và các thiết bị hay bộ nhớ theo chuẩn SPI.

Trong quá trình biên soạn không thể tránh được các sai sót nên rất mong các bạn đọc đóng góp, xây dựng cho cuốn Giáo trình thực hành thiết kế vi mạch số với VHDL. Mọi góp ý xin hãy vui lòng gởi về nhóm tác giả theo địa chỉ phund@hcmute.vn hoặc phu_nd@yahoo. Nhóm tác giả xin cảm ơn các bạn bè đồng nghiệp đã đóng góp nhiều ý kiến, xin cảm ơn người thân trong gia đình đã tạo điều kiện thuận lợi để nhóm tác giả có nhiều thời gian biên soạn giáo trình này. Nguyễn Đình Phú Trương Thị Bích Ngà 5 DANH SÁCH HÌNH Hình 1-1.

Kit dùng chip – FPGA XILINX – XC3S500E – PQ208. Giao tiếp FPGA với các ngoại vi. Sơ đồ mạch giao tiếp với các switch. Sơ đồ mạch giao tiếp với các nút nhấn.

Sơ đồ mạch giao tiếp với các led đơn. Sơ đồ mạch giao tiếp với 8 led 7 đoạn anode chung. Sơ đồ mạch giao tiếp với 1 led ma trận 8x8. Sơ đồ mạch công suất của IC ULN 2003.

Sơ đồ mạch IC thời gian thực với FPGA. Sơ đồ mạch IC nhớ Eeprom AT24C04 với FPGA. Sơ đồ mạch IC DAC 0832. Sơ đồ mạch IC Max 232 với FPGA.

Sơ đồ mạch chuẩn PS2 với FPGA. Sơ đồ mạch kết nối SD card với FPGA. Sơ đồ mạch kết nối cổng VGA với FPGA. Sơ đồ mạch kết nối mạch dao động với FPGA.

Sơ đồ mạch kết nối bộ nhớ SRAM với FPGA. Sơ đồ mạch kết nối bộ nhớ SDRAM với FPGA. Biểu tượng chương trình Xilinx ISE Design Suite 14. Giao diện của chương trình ISE.

Tạo Project mới. Menu để nhập tên thư mục cho Project. Nhập tên thư mục cho Project. Menu dùng để chọn các thông số của Project.

Màn hình sau khi khai báo xong tên và chọn chip FPGA. Màn hình để tạo file nguồn mới. Màn hình chọn kiểu lập trình và đặt tên cho file nguồn mới. Màn hình thiết lập các tín hiệu vào ra.

Màn hình xuất hiện 2 tag. Màn hình file nguồn chưa có lệnh. Màn hình file nguồn sau khi nhập các lệnh. Chọn chức năng tổng hợp chương trình.

Kết quả tổng hợp thành công. Kết quả tổng hợp bị lỗi. Chọn mục để tiến hành gán chân. Hình phần mềm gán chân đang khởi động.

Giao diện phần mềm gán chân sau khi khởi động xong. Tiến hành mở cửa sổ để gán chân. Vị trí để gán chân. Kết quả sau khi gán chân.

Chọn biên dịch cho cả chương trình. Kết quả sau khi biên dịch thành công. Generate Target PROM/AC File. Giao diện chương trình nạp “ISE iMPACT”.

Khởi tạo kết nối. Khởi tạo kết nối để nhận dạng chip FPGA. Khởi tạo kết nối để nhận dạng chip FPGA. Chọn file để nạp vào chip FPGA.

Chọn file để nạp vào chip PROM. Chỉ nạp cho FPGA. Sẵn sàng nạp. Nạp thành công.

Hai mạch giải mã 2 sang 4: lệnh gán lựa chọn và điều kiện. Đặt tên dạng bus cho các tín hiệu vào ra. Cửa sổ xuất hiện các chương trình con. Bắt đầu tạo source cho chương trình con.

Chọn ngôn ngữ và đặt tên cho chương trình con. Đặt tên cho các tín hiệu vào ra của chương trình con. Kiểm tra cú pháp chương trình con. Kết quả kiểm tra cú pháp đúng.

Kết quả kiểm tra cú pháp đúng chương trình chính. Chọn biểu tượng add. Chọn file gán chân để add. Thông báo file gán chân OK.

Toàn bộ các chương trình. Tên các tín hiệu trong file gán chân. Hai mạch giải mã 2 sang 4: lệnh if và và case. Sơ đồ khối mạch mã hóa ưu tiên 4 sang 2: dùng lệnh gán lựa chọn và điều kiện.

Sơ đồ khối mạch đa hợp 4 kênh. Sơ đồ khối mạch đa hợp 4 kênh – 2 bit. Sơ đồ khối mạch giải đa hợp 4 kênh ra. Sơ đồ khối mạch giải mã led 7 đoạn.

Sơ đồ khối mạch cộng 2 số nhị phân 4 bit. Sơ đồ khối chuyển đổi số nhị phân 4 bit sang số BCD. Sơ đồ khối mạch chuyển đổi mã nhị phân sang mã Gray. Sơ đồ khái niệm của mạch tuần tự đồng bộ.

Sơ đồ khối mạch tạo xung 1Hz. Dạng sóng mạch chia 16 dùng mạch chia 16. Dạng sóng mạch chia 10 dùng mạch chia mod-10. Sơ đồ khái niệm mạch tạo xung 1Hz.

Sơ đồ khối chia 2 xung 1Hz và 10Hz. Sơ đồ khối mạch chia 10 xung. Sơ đồ khối mạch tạo xung cho phép 1Hz. Sơ đồ khái niệm mạch tạo xung cho phép 1Hz.

Sơ đồ khối mạch tạo xung cho phép 1Hz và xung cho phép 1Hz. Sơ đồ khối mạch đếm nhị phân đồng bộ 4 bit. Sơ đồ khối mạch đếm nhị phân 8 bit, đếm xung 5Hz. Sơ đồ khối mạch đồng bộ ngẫu nhiên FSM.

Đồ hình trạng thái FSM của mạch đếm. Sơ đồ mạch phát hiện mức 1 trong 3 xung liên tiếp. Mô hình trạng thái mạch phát hiện mức 1 trong 3 xung liên tiếp. Sơ đồ khối mạch phát hiện mức 1 trong 3 xung liên tiếp.

Sơ đồ kết nối switch và nút nhấn với FPFA. Dạng sóng của nút nhấn hay switch bị dội và sau khi chống dội. Mô hình trạng thái chống dội sw/btn. Mạch đếm nhị phân 4 bit từ nút nhấn có chống dội.

Mạch làm hẹp xung. Giản đồ thời gian của mạch làm hẹp xung. Mạch đếm nhị phân 4 bit từ nút nhấn có chống dội – cách 2. Mạch đếm nhị phân 4 bit từ nút nhấn có chống dội – cách 3.

Mạch đếm lên/xuống nhị phân 4 bit từ 2 nút nhấn có chống dội. Mạch điều khiển 8 led sáng tắt dần từ phải sang trái. Mạch điều khiển 8 led 2 chương trình lựa chọn bằng switch. Mạch điều khiển 8 led 2 chương trình tự động.

Mạch điều khiển 8 led 2 chương trình tự động: 1 điểm sáng di chuyển. Mạch điều khiển 8 led 4 chương trình tự động. Mạch điều khiển 8 led sáng dồn phải sang trái. Dữ liệu bit thứ 7 di chuyển từ thứ 0 đến thứ 7 – 8 vị trí.

Dữ liệu bit thứ 6 di chuyển từ thứ 0 đến thứ 6 – 7 vị trí, bit thứ 7 cố định. Lưu đồ điều khiển 8 led sáng dồn. Sơ đồ khối mạch đếm nhị phân 8 bit, đếm xung 5Hz. Tạo ký hiệu cho chương trình con CHIA_10ENA.

Tạo source mới theo Schematic. Sơ đồ mới khởi tạo. Sơ đồ sau khi lấy 3 ký hiệu tạo từ 3 file VHDL. Sơ đồ mới thêm cổng NOT.

Sơ đồ sau khi kết nối dây và port. Giao diện đổi tên cho tín hiệu CKHT. Sơ đồ mạch sau khi đã đổi tên các port IO. Có 2 chương trình chính.

Tổng hợp thành công. Mạch đếm từ 0 đến 9 hiển thị led 7 đoạn. Mạch đếm từ 00 lên 99 hiển thị led 7 đoạn. Mạch đếm từ 000 lên 999 hiển thị led 7 đoạn.

Mạch đếm từ 0000 lên 9999 hiển thị led 7 đoạn. Mạch đếm từ 0 đến 9 hiển thị led 7 đoạn – cách 2. Sơ đồ khối mạch “GIAIMA_HIENTHI_8LED_7DOAN”. Mạch đếm từ 00 đến 99 hiển thị led 7 đoạn – cách 2.

Mạch đếm từ 000 đến 999 hiển thị led 7 đoạn – cách 2. Mạch đếm từ 0 đến 999 hiển thị led 7 đoạn. Mạch đếm từ 0 đến 9999 hiển thị led 7 đoạn. Mạch đếm từ 00 đến 99 có lựa chọn đếm lên/xuống bằng switch .

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ