MỤC LỤC MỤC LỤC 2 DANH MỤC HÌNH ẢNH 4 LỜI NÓI ĐẦU 6 I. CƠ SỞ LÝ THUYẾT 1 1. Các khái niệm chung 1 1.1 Transitor 1 1.2 Vi mạch số tích hợp 2 1.3 Cổng logic 3 1.4 Phần tử nhớ 4 1.5 Mạch logic tổ hợp 6 1.6 Mạch logic tuần tự 6 1.7 Các phương pháp thể hiện thiết kế. 6 2. Yêu cầu đối với một thiết kế logic 8 3. Các công nghệ thiết kế mạch logic số 8 4. Kiến trúc của các IC khả trình 9 4.1 PROM 9 4.2 PAL 11 4.3 PLA 11 4.4 GAL 12 4.5 CPLD 12 4.6 FPGA 13 5. Giới thiệu về VHDL 14 6. Cấu trúc của chương trình mô tả bằng VHDL 15 7. Phân loại mã nguồn VHDL 16 8. THIẾT KẾ MẠCH SỐ TRÊN FPGA 17 8.1 Tổng quan về kiến trúc FPGA 17 8.2 Ứng dụng của FPGA trong xử lý tín hiệu số 18 8.3 Kiến trúc chi tiết Xilinx FPGA Spartan3E. 18 9. Quy trình thiết kế FPGA bằng ISE 20 9.1 Mô tả thiết kế 20 9.2 Tổng hợp thiết kế 20 9.3 Hiện thực hóa thiết kế 23 9.4 Cấu hình FPGA 26 9.5 Kiểm tra thiêt kế trên FPGA 27 II. THỰC HÀNH 27 1 Thiết kế thanh ghi dịch nối tiếp 27 1.1 Cấu tạo và cơ chế hoạt động 27 1.2 Cơ chế hoạt động 28 1.3 Ứng dụng 29 1.4 Thiết kế thanh ghi dịch nối tiếp 4bit trên ISE 14.7 29 2. Thiết kế khối giao tiếp 4x7seg Digits 33 2.1 Cấu tạo 33 2.2 Cơ chế hoạt động 33 2.3 Thiết kế khối giao tiếp 4x7seg Digits 35 3. Thiết kế giao tiếp nối tiếp RS232 41 3.1 Tổng quan về giao tiếp RS232 41 3.2 Cơ chế 43 3.3 Thiết kế giao tiếp nối tiếp RS232 44 4. Thiết kế khối điều khiển LCD1602A 66 4.1 Cấu tạo 66 4.2 Cơ chế hoạt động 69 4.3 Thiết kế khối điều khiển LCD1602A 72 5. Thiết kế bộ điều khiển VGA 84 5.1 Cấu tạo 84 5.2 Cơ chế hoạt động 85 5.3 Thiết kế bộ điều khiển VGA 86 DANH MỤC HÌNH ẢNH Hình 1 1: Transistor BJT 1 Hình 1 2: FET 2 Hình 1 3: Hình dáng và sơ đồ chân của IC 2 Hình 1 4: Mô hình Vi mạch số tích hợp và Vi mạch tích hợp thực tế 3 Hình 1 5: Mô hình cổng logic cơ bản 3 Hình 1 6: Ký hiệu các cổng logic 3 Hình 1 7: Đồ thị thời gian của Dff và D lacth 4 Hình 1 8: Bảng chân lý của RsFF 4 Hình 1 9: Bảng chân lý của JkFF 5 Hình 1 10: Bảng chân lý của TFF 5 Hình 1 11: Mạch dãy 6 Hình 1 12: Mô tả mạch số bằng sơ đồ 7 Hình 1 13: Phân loại thiết kế vi mạch số 8 Hình 1 14: Cấu trúc PROM 10 Hình 1 15: Cấu trúc PAL 11 Hình 1 16: Cấu trúc PLA 12 Hình 1 17: Cấu trúc CPLD 13 Hình 1 18: Kiến trúc tổng quan của FPGA 14 Hình 1 19: Cấu trúc của một thiết kế VHDL 16 Hình 1 20: Các dạng mã nguồn VHDL 16 Hình 1 21: Tham số của các dòng FPGA Spartan 3E 18 Hình 1 22: Kiến trúc tổng quan của Spartan 3E FPGA 19 Hình 1 23: Quy trình thiết kế trên FPGA 20 Hình 1 24:Các dạng mô tả thiết kế trên FPGA 20 Hình 1 25: Tổng hợp thiết kế FPGA trên Xilinx ISE 21 Hình 1 26: Sơ đồ công nghệ 22 Hình 1 27: Sơ đồ logic 23 Hình 1 28: Quá trình hiện thực hóa FPGA 23 Hình 1 29: Quá trình biên dịch 24 Hình 1 30: Phân bố và kết nối 26 Hình 1 31: Kiểm tra thiết kế FPGA 27 Hình 2 1: Thanh ghi dịch phải nối tiếp n bit 27 Hình 2 2: Đường dữ liệu trong thanh ghi dịch chuyển 27 Hình 2 3: Dạng sóng ra của thanh ghi dịch phải n bit 28 Hình 2 4: Thanh ghi dịch 4 bit 28 Hình 2 5: RTL Schematic 4bit thanh ghi dịch phải nối tiếp 29 Hình 2 6: Kết quả mô phỏng trên Modelsim 32 Hình 2 7: Cấu tạo Led 7 đoạn 33 Hình 2 8: Sơ đồ kết nối 33 Hình 2 9: Khối giao tiếp 4x7seg Digits với Kit FPGA Spantan 3 34 Hình 2 10: sevensegment display timing diagram 35 Hình 2 11: Sơ đồ về cách triển khai của khối 35 Hình 2 12: Kết quả mô phỏng trên Modelsim 40 Hình 2 13: RS232 42 Hình 2 14: Dạng sóng của Tx 43 Hình 2 15: Dạng sóng của Rx 44 Hình 2 16: Chu trình ghi dữ liệu lên LCD1602A 67 Hình 2 17: Chu trình đọc dữ liệu lên LCD1602A 68 Hình 2 18: Bảng tập lệnh của LCD 69 Hình 2 19:Sơ đồ khối điều khiển LCD 70 Hình 2 20:Giản đồ thời gian của hoạt động điều khiển LCD 70 Hình 2 21: Khởi tạo LCD1602A cho chế độ 8bit 71 Hình 2 22:Cấu tạo cáp VGA chuẩn 15 chân 85 Hình 2 23:Mạch giao tiếp VGA đơn giản 85 Hình 2 24:Giản đồ sóng tín hiệu quét ngang và dọc cho màn hình VGA 86 LỜI NÓI ĐẦU Thiết kế số sử dụng ngôn ngữ mô tả phần cứng(Verilog, VHDL, System C,…) để thực hiện các bài toán thiết kế về mặt chức năng cho các khối số có mật độ tích hợp lớn cỡ LSI, VLSI và lớn hơn và giới thiệu căn bản về các công nghệ giúp hiện thực hóa thiết kế chức năng thành sản phẩm ứng dụng, trong đó tập trung chính vào công nghệ FPGA, một nền tảng công nghệ mới đã và đang phát triển rất mạnh hiện nay. Khác với các bài toán tổng hợp và phân tích cho các mạch cỡ SSI, MSI, các bài toán ở đây có hướng tới các ứng dụng cụ thể thực tiễn với quy mô lớn hơn và buộc phải sử dụng các công cụ trợ giúp thiết kế trên máy tính và ngôn ngữ thiết kế VHDL. Ngày nay với sự phát triển hết sức mạnh mẽ của công nghệ, thuật toán ngày càng được đổi mới và tối ưu hóa nhằm nâng cao tính hiệu quả của nó. Tuy nhiên, công nghệ phát triển càng cao thì đòi hỏi phần cứng phải đủ nhanh để xử lý. Các mạch lọc tương tự trước đây không còn đủ khả năng để đáp ứng yêu cầu đó nữa. Vì vây, FPGA đã ra đời như một giải pháp cung cấp môi trường làm việc hiệu quả cho các ứng dụng thực tế. Tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính. Ngoài ra, nhờ mật độ cổng logic cao, FPGA được ứng dụng cho nhữ bài toán đòi hỏi khối lựng tính toán lớn và udngf trong các hệ thống làm việc theo thời gian thực. Những ứng dụng trong thực tế của FPGA rất rộng rãi, bao gồm: các hệ thống hàng không, vũ trụ, quốc phòng, … Đặc biệt, với khả năng tái lập trình, người sử dụng có thể thay đổi lại thiết kế mạch của mình trong vài giờ Nhờ những đặc điểm mạnh mẽ và ứng dụng thực tiễn của FPGA chúng em đã quyết định nghiên cứu và thực hành 5 bài: Bài 1: Thanh ghi dịch nối tiếp Bài 2: LED 7 đoạn dạng quét 4 số Bài 3: Giao tiếp nối tiếp (RS232) Bài 4: Màn hình LCD 1602A Bài 5: Điều khiển VGA Để thực hiện được các bài trên chúng em xin gửi lời cảm ơn chân thành gửi đến tất cả các thầy cô trong khoa Điện Tử Viễn Thông đã dạy dỗ và giúp đỡ chúng em trong suốt thời gian vừa qua. Chúng em xin chân thành cảm ơn thầy giáo hướng dẫn Dương Phúc Phần giảng viên khoa Điện Tử Viễn Thông đã nhiệt tình hướng chỉ bảo và cung cấp nhiều kiến thức cũng như tài liệu trong suốt quá trình chúng em hoàn thành các bài trên.
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA ĐIỆN TỬ VIỄN THÔNG - BÁO CÁO THỰC TẬP CƠ SỞ Giảng viên: Dương Phúc Phần Sinh viên thực hiện: Hà Nội, tháng 11, năm 2020 MỤC LỤC DANH MỤC HÌNH ẢNH LỜI NĨI ĐẦU Thiết kế số sử dụng ngơn ngữ mơ tả phần cứng(Verilog, VHDL, System C,…) để thực toán thiết kế mặt chức cho khối số có mật độ tích hợp lớn cỡ LSI, VLSI lớn giới thiệu cơng nghệ giúp thực hóa thiết kế chức thành sản phẩm ứng dụng, tập trung vào cơng nghệ FPGA, tảng cơng nghệ phát triển mạnh Khác với tốn tổng hợp phân tích cho mạch cỡ SSI, MSI, toán có hướng tới ứng dụng cụ thể thực tiễn với quy mô lớn buộc phải sử dụng công cụ trợ giúp thiết kế máy tính ngơn ngữ thiết kế VHDL Ngày với phát triển mạnh mẽ công nghệ, thuật toán ngày đổi tối ưu hóa nhằm nâng cao tính hiệu Tuy nhiên, cơng nghệ phát triển cao địi hỏi phần cứng phải đủ nhanh để xử lý Các mạch lọc tương tự trước khơng cịn đủ khả để đáp ứng u cầu Vì vây, FPGA đời giải pháp cung cấp môi trường làm việc hiệu cho ứng dụng thực tế Tính linh động cao q trình thiết kế cho phép FPGA giải toán phức tạp mà trước thực nhờ phần mềm máy tính Ngồi ra, nhờ mật độ cổng logic cao, FPGA ứng dụng cho nhữ tốn địi hỏi khối lựng tính tốn lớn udngf hệ thống làm việc theo thời gian thực Những ứng dụng thực tế FPGA rộng rãi, bao gồm: hệ thống hàng khơng, vũ trụ, quốc phịng, … Đặc biệt, với khả tái lập trình, người sử dụng thay đổi lại thiết kế mạch vài Nhờ đặc điểm mạnh mẽ ứng dụng thực tiễn FPGA chúng em định nghiên cứu thực hành bài: Bài 1: Thanh ghi dịch nối tiếp Bài 2: LED đoạn dạng quét số Bài 3: Giao tiếp nối tiếp (RS232) Bài 4: Màn hình LCD 1602A Bài 5: Điều khiển VGA Để thực chúng em xin gửi lời cảm ơn chân thành gửi đến tất thầy cô khoa Điện Tử Viễn Thông dạy dỗ giúp đỡ chúng em suốt thời gian vừa qua Chúng em xin chân thành cảm ơn thầy giáo hướng dẫn Dương Phúc Phần giảng viên khoa Điện Tử Viễn Thơng nhiệt tình hướng bảo cung cấp nhiều kiến thức tài liệu suốt q trình chúng em hồn thành Chúng em xin chân thành cảm ơn! I CƠ SỞ LÝ THUYẾT Các khái niệm chung 1.1 Transitor Là linh kiện bán dẫn có khả làm việc công tắc bật tắt dùng để khuếch đại tín hiệu Transitor phần tử vi mạch số tích hợp, từ cổng logic đơn giản AND, OR, NOT đến loại phức tạp mạch điều khiển ngoại vi, vi điều khiển, vi xử lý… Transitor làm từ vật liệu bán dẫn (sermiconductor) Chất bán dẫn dùng để cấu tạo transitor thường Germany (Ge) Silic (Si) kích tạp lượng nhỏ Photpho(P) Boron (B) với mục đích tăng mật độ electron (kiểu N) tự tăng mật độ lỗ trống (kiểu P) tương ứng tinh thể bán dẫn Cấu trúc nguyên lý dạng transitor trình bày hình đây: Hình 1-1: Transistor BJT Hình 1-2: FET 1.2 Vi mạch số tích hợp Cịn gọi IC – Intergrated Circuits, chip, cấu trúc mạch điện thu nhỏ cách tích hợp chủ yếu từ transitor với mật độ cao, ngồi cịn có linh kiện điện thụ động khác khối bán dẫn mỏng Các vi mạch tích hợp có số lượng tín hiệu đầu vào đầu để thực chức cụ thể Trong khn khổ giáo trình chủ yếu nghiên cứu vi IC số, tức dạng IC làm việc với tín hiệu số Hình 1-3: Hình dáng sơ đồ chân IC Hình 1-4: Mơ hình Vi mạch số tích hợp Vi mạch tích hợp thực tế Các vi mạch có mật độ tích hợp từ hàng vài chục đến hàng trăm triệu, đến hàng tỷ transitor miếng bán dẫn có kích thước xấp xỉ kích thước đồng xu 1.3 Cổng logic Cổng logic hay logic gate cấu trúc mạch điện (sơ đồ khối hình) lắp ráp từ linh kiện điện tử để thực chức hàm logic y = f(xn, xn-1, , x1, x0) Trong tín hiệu vào xn-1, xn-2, , x1, x0 mạch tương ứng với biến logic xn-1, xn-2, , x1, x0 hàm Tín hiệu y mạch tương ứng với hàm logic y Với cổng thường giá trị n ≤ Hình 1-5: Mơ hình cổng logic Hình 1-6: Ký hiệu cổng logic 1.4 Phần tử nhớ D-Latch D flip-flop Latch Flip-Flop phần tử nhớ quan trọng thiết kế VLSI, sơ đồ cấu tạo chi tiết mơ tả trình bày kỹ phần Kỹ thuật số Ở phần nhắc lại tính chất Flip-Flop bổ xung thêm tham số thời gian thực phần tử D-Latch phần tử nhớ làm việc theo mức xung, cụ thể tín hiệu Clock giá trị Q đầu giá trị đầu vào, tín hiệu Clock = giá trị đầu khơng đổi Nói cách khác D-latch làm việc cửa đóng mở tín hiệu Q D tương ứng với mức điện áp xung Clock D-flip-flop phần tử nhớ làm việc theo sườn xung, có hai dạng sườn sườn lên (rising edge) xung thay đổi từ 0->1 sườn xuống (falling edge) xung thay đổi từ 1->0 Khi khơng có u cầu đặc biệt Flip-flop làm việc với sườn xung lên thường sử dụng Hình 1-7: Đồ thị thời gian Dff D lacth Các flip-flop khác - RS Flip-flop: Hình 1-8: Bảng chân lý RsFF 10 RS Flip-flop có đầu vào hai tín hiệu Reset Set Set =1 tín hiệu đầu nhận giá trị không phụ giá trị Q, Reset =1 đầu Q = không phụ thuộc giá trị Q Đối với RS-flipflop khơng đồng giá trị Q thay đổi phụ thuộc R/S tức thì, cịn RS flip-flop đồng tín hiệu Q thay đổi thời điểm sườn xung Clock - JK-flip-flop Hình 1-9: Bảng chân lý JkFF Theo bảng chân lý JK-flip flip hoạt động linh hoạt thực chức giống D-flip flop RS flip-flop, trạng thái khí J=0, K=1 Reset, J=1, K=0 Set Tuy khơng có đầu vào liệu D để JK flip-flop làm việc D-flip flip tín hiệu D nối với J K cho nhận giá trị đối J - T- flip-flop Hình 1-10: Bảng chân lý TFF Khi T giá trị Qnextbằng đảo giá trị trước Qprev T = giá trị đầu khơng thay đổi 99 to_integer(unsigned( w_Col_Count)) >= g_ACTIVE_COLS-1-1) else (others => '0'); Pattern_Grn(6)