Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 133 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
133
Dung lượng
2,87 MB
Nội dung
Đại Học Quốc Gia TP Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN PHAN TRUNG THIẾT KẾ CORE MẠCH ĐIỀU KHIỂN MÀN HÌNH ĐƠN SẮC Chuyên ngành: Mã số ngành: Công Nghệ Thông Tin 01.02.10 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2004 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: TS Phạm Tường Hải Cán chấm nhận xét 1: TS Đinh Đức Anh Vũ Cán chấm nhận xét 2: PGS TS Nguyễn Hữu Phương Luận văn Thạc Só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 29 tháng 12 năm 2004 TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc -TP HCM, ngày tháng năm 200 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên NGUYỄN PHAN TRUNG Ngày, tháng, năm sinh : 02 / 02 / 1959 Chuyên ngành : Công Nghệ Thông Tin I- TÊN ĐỀ TÀI : Phái : Nam Nơi sinh : Hà nội MSHV: CNTT12 - 029 Thiết Kế Core Mạch Điều Khiển Màn Hình Đơn Sắc II- NHIỆM VỤ VÀ NỘI DUNG : III- NGÀY GIAO NHIỆM VỤ: 02 / 02 / 2004 IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 30 / 11 / 2004 V- CÁN BỘ HƯỚNG DẪN: TS Phạm Tường Hải CÁN BỘ HƯỚNG DẪN CN BỘ MÔN QL CHUYÊN NGÀNH Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua TRƯỞNG PHÒNG ĐT - SĐH Ngày tháng năm TRƯỞNG KHOA QL NGÀNH Lời Cảm Ơn Trong thời gian vừa qua nhà trường trang bị thêm số kiến thức q báu lónh vực công nghệ thông tin Nhờ kiến thức đặc biệt dẫn thầy TS PHẠM TƯỜNG HẢI thực luận văn cao học Tôi xin chân thành cảm ơn thầy Hải thầy cô khoa công nghệ thông tin TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM Tôi cảm ơn bạn nhóm làm luận văn cao học hỗ trợ giải số vướng mắc gặp phải thực Cuối cảm ơn người thân gia đình tạo điều kiện vật chất tinh thần để hoàn thành luận văn Ngày 20 tháng 10 năm 2004 Nguyễn Phan Trung TÓM TẮT LUẬN VĂN THẠC SĨ Kết thực nhiệm vụ luận án đúc kết luận văn tốt nghiệp dày 126 trang (không kể phần phụ lục), bố cục thành chương , tóm tắt sau: Chương I mở đầu nhu cầu thực tế phương pháp giải Chương II tổng thuật công trình liên quan đến đề tài Chương III sở lý thuyết (ngôn ngữ mô tả phần cứng, công cụ thiết kế Max + PlusII ) phương pháp lý thuyết để triển khai đề tài Chương IV lý thuyết hiển thị ảnh hình CRT Chương V mô tả chức MC6845 Chương VI Thiết kế thực mạch FPGA (dùng board UP2) Chương VII kết luận đề tài thực i MỤC LỤC CHƯƠNG I MỞ ĐẦU .1 I.1 NHU CẦU THỰC TẾ: I.2 PHƯƠNG PHÁP GIẢI QUYẾT: CHƯƠNG II TỔNG THUẬT CÁC CÔNG TRÌNH CÓ LIÊN QUAN ĐẾN ĐỀ TÀI II.1 Vieät Nam: II.2 Trên giới: CHƯƠNG III CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP TRIỂN KHAI ĐỀ TÀI III.1 Kiến thức chung: III.1.A Ngôn ngữ VHDL: III.1.B Tài liệu thiết keá : III.1.B.1 CÁC ĐẶC ĐIỂM CỦA PHẦN MỀM MAX+PLUS II III.1.B.2 THIEÁT KEÁ TRONG MAX+PLUS II III.1.B.3 CỬA SỔ QUẢN LYÙ MAX+PLUS II III.1.B.4 CÁC ỨNG DỤNG MAX+PLUS II III.1.B.5 DESIGN FILES, ANCILLARY FILES VAØ PROJECTS 10 III.1.B.6 BIỂU DIỄN PHÂN CẤP PROJECT 11 III.1.B.7 BIÊN DỊCH PROJECT 12 III.1.B.8 KIEÅM TRA PROJECT 14 III.1.B.9 PHẦN CỨNG LẬP TRÌNH 17 III.2 Phương pháp triển khai đề tài: 21 III.2.A Tổng quan phương pháp top-down: 21 III.2.B Qui trình thiết kế: 24 III.2.B.1 Kieåm tra hệ thống thiết kế: 25 III.2.B.2 cAÙC mỨC trừu tưNG cỦA cÁC giai đoạn thiẾT kẾ: 25 III.2.C PHƯƠNG PHÁP THIẾT KẾ CORES 26 III.2.C.1 LUOÀNG THIEÁT KEÁ CORES 26 III.2.C.2 QUAÙ TRÌNH PHÁT TRIỂM CORES 27 CHƯƠNG IV CÁC BỘ PHẬN HIỂN THỊ BẰNG MÀN HÌNH CRT 29 IV.1 Các phương pháp tạo ảnh CRT 29 IV.1.A Quyét mành (Raster Scan) 29 IV.1.B Quyeùt vector 31 IV.2 Hieån thị thông tin chữ_ số nửa đồ họa: 32 IV.3 Thiết bị cuối hình chữ – số 33 IV.3.A Laøm tươi theo phương pháp DMA 34 IV.3.B Làm tươi dùng nhớ chuyên dùng (Delicated Memory); 35 CHƯƠNG V V.1 ĐẶC TẢ CHỨC NĂNG MẠCH ĐIỀU KHIỂN CRT ĐƠN SẮC 36 MẠCH ĐIỀU KHIỂN MÀN HÌNH (CRTC ) 36 ii V.2 MIÊU TẢ HỆ THỐNG GIAO DIỆN CỦA CRTC 40 V.3 MIÊU TẢ CHÂN 42 V.3.A Mạch ghép nối với xử lý 42 V.3.B ĐIỀU KHIỂN MÀN HÌNH 43 V.3.C TẠO CÁC ĐỊA CHỈ ĐỂ QUÝET BỘ NHỚ HIỂN THỊ 43 V.3.D CÁC CHÂN KHÁC (OTHER PIN) 43 V.4 MIÊU TẢ CRTC 44 V.4.A CÁC MIÊU TẢ FILE THANH GHI 47 V.4.A.1 Thanh ghi địa chæ: 47 V.4.A.2 Thanh ghi định thời R0 – R9 47 V.4.B ĐIỀU KHIỂN CON TRỎ 52 V.4.C CAÙC THANH GHI KHAÙC 53 V.5 HOẠT ĐỘNG CỦA CRTC 54 V.5.A BIỂU ĐỒ ĐỊNH THỜI CÁC TÍNH HIỆU MẠCH GHÉP NỐI MÀN HÌNH 54 BẢNG V-7 CÁC GIÁ TRỊ LẬP TRÌNH VÀO CÁC THANH GHI CRTC 54 V.5.B CÁC ỨNG DỤNG CRTC THÊM VÀO 54 V.5.C Bảng tính crtc 57 V.6 TÓM TẮT 58 CHƯƠNG VI THIẾT KẾ MAÏCH 59 VI.1 đặc tả Phân tích core mạch điều khiển hình đơn sắc: 60 VI.1.A Khối ghi: 62 VI.1.B Mạch định thời ngang: 62 VI.1.C Mạch xen kẽ định thời dọc: 63 VI.1.D Maïch Address Generator 63 VI.1.E Maïch cursor 63 VI.1.F Maïch Light Pen 64 VI.2 THIẾT KẾ CORE MẠCH TẠO TÍN HIỆU ĐIỀU KIỂN MÀN HÌNH ĐƠN SẮC 64 VI.2.A Mạch điều khiển ghi: 65 VI.2.B Mạch đinh thời ngang 68 VI.2.C maïch xen kẽ định thời dọc: 70 VI.2.C.1 Mạch địa dòng xen kẽ: 70 VI.2.C.2 Mạch định thời dọc 74 VI.2.C.3 Tích hợp 75 VI.2.D Mạch tạo địa chỉ: 77 VI.2.E Mạch điều khieån cursor 79 VI.2.F Maïch Light Pen 82 VI.2.G crtc_core 84 VI.3 Thư viện linh kiện cho crtc_core 88 VI.3.A inv_1: 88 VI.3.B Họ mạch and 89 VI.3.B.1 and_2: 89 VI.3.B.2 And_3: 90 VI.3.B.3 And_4 : 90 VI.3.B.4 And_6: 90 iii end behavior; 91 VI.3.C Họ mạch nand 91 VI.3.C.1 nand_2: 91 VI.3.C.2 nand_3: 92 VI.3.D Họ mạch OR 92 VI.3.D.1 OR_2: 92 VI.3.D.2 OR_3: 93 VI.3.D.3 OR_6: 93 VI.3.E Hoï mach NOR 94 VI.3.E.1 NOR_2: 94 VI.3.E.2 nor_6: 94 VI.3.F d_latch: 95 VI.3.G Họ mạch Flipflop 96 VI.3.G.1 cl_jk : 96 VI.3.G.2 RSFF_NOR2 : 97 VI.3.H ghi rEG(n): 98 VI.3.I hoï so saùnh 99 VI.3.I.1 Comparator 99 VI.3.I.2 comparato_1 100 VI.3.I.3 comparator_2 101 VI.3.J hoï counter 101 VI.3.J.1 Counter 101 VI.3.J.2 COUNTER_1: 102 VI.3.J.3 counter_a3 103 VI.3.J.4 counter_load 104 VI.3.J.5 coun_cus 105 VI.3.K Mod_N 106 VI.3.L mux1_2n 107 VI.3.M mux_cus 107 VI.3.N decoder 108 VI.3.O bus3s 109 VI.4 chương trình mô 110 VI.4.A Lý thuyết liên quan: 110 VI.4.A.1 Giao dieän VGA 110 VI.4.A.2 Cách hoạt động thiết bị VGA 110 VI.4.B Phần thực mô 112 VI.5 Kinh nghiệm tìm trình lập trình VHDL môi trường Max+Plus 116 CHƯƠNG VII KẾT LUẬN .117 TÀI LIỆU THAM KHẢO………………………………………………………………………………………………………………………………………………………………………… 124 CHÚ GIẢI CÁC TỪ VIẾT TẮT………………………………………………………………………………………………………………………………………………………………125 iv HÌNH III-1 HÌNH III-2 HÌNH III-3 HÌNH III-4 HÌNH III-5 HÌNH III-6 HÌNH III-7 HÌNH III-8 HÌNH III-9 HÌNH III-10 HÌNH III-11 HÌNH III-12 HÌNH III-13 HÌNH III-14 HÌNH III-15 HÌNH III-16 HÌNH III-17 HÌNH III-18 HÌNH III-19 HÌNH IV-1 HÌNH IV-2 HÌNH IV-3 HÌNH IV-4 MỤC LỤC HÌNH MÔI TRƯỜNG THIẾT KẾ MAX + PLUS II CÁC ỨNG DỤNG TRONG MAX + PLUS II CỬA SỔ CHÍNH CỦA MAX + PLUS II MENU TRONG CỬA SỔ QUẢN LYÙ MAX + PLUS II MAX + PLUS II DESIGN ENTRY METHODS 11 BIỂU DIỄN PHÂN CẤP TRONG MAX + PLUS II 11 BỘ BIÊN DỊCH MAX + PLUS II 12 KIEÅM TRA PROJECT MAX+PLUS II 14 MAX + PLUS II PROGRAMMER 16 PHƯƠNG PHÁP LUẬN LẬP TRÌNH THIẾT BỊ 17 SƠ ĐỒ KHỐI CỦA KIT LẬP TRÌNH UP2 21 THUÛ TỤC ĐỆ QUI 22 THIẾT KẾ TOP-DOWN VÀ HIỆN THỰC BOTTOM-UP 22 KIỂM TRA MỨC ĐẦU TIÊN CỦA PHÂN HOẠCH 23 KIỂM TRA HIỆN THỰC PHẦN CỨNG CỦA SSC1 VÀ SSC2 23 KIỂM TRA HIỆN THỰC PHẦN CỨNG CỦA SSC3 23 KIỂM TRA THIẾT KẾ CUỐI CÙNG RÚT GỌN HƠN 24 QUI TRÍNH THIẾT KẾ HỆ THỐNG SỐ 24 KIỂM TRA MỖI GIAI ĐOẠN THIẾT KẾ BẰNG VIỆC MÔ PHỎNG ĐẦU RA CỦA NÓ 26 ỐNG HÌNH TIA CATHODE CRT 29 MONITOR ỐNG HÌNH 31 NGUYÊN LÝ QUÝET MÀNH 31 A TẠO ẢNH BẰNG QUÉT VECTOR B TẠO MẦU BẰNG CÁCH THAY ĐỔI ĐIỆN ÁP TĂNG TOÁC 31 HÌNH IV-5 THỂ HIỆN KÝ TỰ BẰNG MA TRẬN ĐIỂM 5×7 32 HÌNH IV-6 CHUYỂN ĐỔI SONG SONG SANG NỐI TIẾP CÁC KÝ TỰ 33 HÌNH IV-7 CÁC CHỨC NĂNG CỦA THIẾT BỊ CUỐI CRT 33 HÌNH IV-8 LÀM TƯƠI MÀN HÌNH THEO PHƯƠNG PHÁP DMA 34 HÌNH IV-9 SƠ ĐỒ KHỐI THIẾT BỊ CUỐI CRT LÀM TƯƠI BẰNG DMA 34 HÌNH IV-10 SƠ ĐỒ KHỐI THIẾT BI CUỐI CRT THEO BỘ NHỚ CHUYÊN DÙNG 35 HÌNH V-1 KHỐI ĐIỀU KHIỂN MÀN HÌNH BẰNG 6845 37 HÌNH V-2 ĐỊNH THỜI ĐỌC BUS(ĐỌC THÔNG TIN TỪ CRTC) 38 HÌNH V-3 ĐỊNH THỜI GHI BUS( GHI THÔNG TIN VÀO CRTC) 38 HÌNH V-4 SƠ ĐỒ ĐỊNH THỜI CỦA CRTC 39 HÌNH V-5 SƠ ĐỒ ĐỊNH THỜI CỦA CLK, MA0-MA13, LPSTB 40 HÌNH V-6 A.HỆ THỐNG QUÉT MÀNH KHÔNG XEN KẼ .B, HỆ THỐNG QUÉT MÀNH XEN KẼ 40 HÌNH V-7 THỂ HIỆN KÝ TỰ LÊN MÀN HÌNH VÀ TÍN HIỆU VIDEO 41 HÌNH V-8 TRONG SUỐT ĐỊNH THỜI CẤU HÌNH BỘ NHỚ HIỂN THỊ DÙNG MPU HỌ M6845 42 HÌNH V-9 SƠ ĐỒ KHỐI CỦA CRTC 6845 46 HÌNH V-10 MINH HỌA ĐỊNH DẠNG MÀN HÌNH CRT 48 HÌNH V-11 ĐỊNH THỜI NGANG CỦA CRTC 49 HÌNH V-12 ĐỊNH THỜI DỌC CỦA CRTC 50 HÌNH V-13 QUI ĐỊNH VỀ XEN KẼ 52 HÌNH V-14 ĐIỀU KHIỂN CON TROÛ 53 HÌNH V-15 GIAO TIẾP CỦA BÚT QUANG 54 HÌNH V-16 ĐỊNH THỜI CON TRỎ 55 HÌNH V-17 SƠ ĐỒ TẦNG ĐỊA CHỈ CỦA BỘ NHỚ HIỂN THỊ 56 HÌNH VI-1 SƠ ĐỒ KHỐI CỦA CRTC-CORE 60 HÌNH VI-2 SƠ ĐỒ PHÂN TÍCH CRTC_CORE 61 HÌNH VI-3 KIẾN TRÚC TỔNG QUÁT CỦA CRTC_CORE 61 v HÌNH VI-4 HÌNH VI-5 HÌNH VI-6 HÌNH VI-7 HÌNH VI-8 HÌNH VI-9 HÌNH VI-10 HÌNH VI-11 HÌNH VI-12 HÌNH VI-13 HÌNH VI-14 HÌNH VI-15 HÌNH VI-16 HÌNH VI-17 HÌNH VI-18 HÌNH VI-19 HÌNH VI-20 HÌNH VI-21 HÌNH VI-22 HÌNH VI-23 HÌNH VI-24 HÌNH VI-25 HÌNH VI-26 HÌNH VI-27 HÌNH VI-28 HÌNH VI-29 HÌNH VI-30 HÌNH VI-31 HÌNH VI-32 HÌNH VI-33 HÌNH VI-34 HÌNH VI-35 HÌNH VI-36 HÌNH VI-37 HÌNH VI-38 HÌNH VI-39 HÌNH VI-40 HÌNH VI-41 HÌNH VI-42 HÌNH VI-43 HÌNH VI-44 HÌNH VI-45 HÌNH VI-46 HÌNH VI-47 HÌNH VI-48 HÌNH VI-49 HÌNH VI-50 HÌNH VI-51 HÌNH VI-52 HÌNH VI-53 HÌNH VI-54 HÌNH VI-55 SƠ ĐỒ TỔNG QUÁT CỦA KHỐI THANH GHI 62 SÔ ĐỒ KHÁI QUÁT MẠCH ĐỊNH THỜI NGANG 62 SƠ ĐỒ XEN KẼ VÀ ĐỊNH THỜI DỌC 63 SƠ ĐỒ KHÁI QUÁT MẠCH ADDRESS GENERATOR 63 SƠ ĐỒ KHÁI QUÁT CỦA MAÏCH CURSOR 64 SƠ ĐỒ KHÁI QUÁT CỦA MẠCH LIGHT PEN 64 SƠ ĐỒ CẤU TRÚC KHỐI THANH GHI 65 MÔ PHỎNG KHÁI QUÁT KHỐI THANH GHI 68 SƠ ĐỒ CẤU TRÚC MẠCH ĐỊNH THỜI NGANG 69 MÔ PHỎNG MẠCH ĐỊNH THỜI NGANG 70 SƠ ĐỒ KHỐI MẠCH ĐỊA CHỈ DÒNG VÀ XEN KẼ 70 SƠ ĐỒ KIẾN TRÚC CỦA MẠCH ĐỊA CHỈ DÒNG VÀ XEN KẼ 71 CHẾ ĐỘ THƯỜNG (KHÔNG XEN KEÕ) 73 CHẾ ĐỘ ĐỒNG BỘ XEN KẼ 73 CHẾ ĐỘ XEN KẼ VÀ VIDEO 74 SƠ ĐỒ KHỐI MẠCH ĐỊNH THỜI DỌC 74 KIẾN TRÚC CỦA MẠCH ĐỊNH THỜI DỌC 75 KIẾN TRÚC CỦA MẠCH XEN KẼ VÀ ĐỊNH THỜI DỌC 76 MÔ PHỎNG MẠCH XEN KẼ VÀ ĐỊNH THỜI DOÏC 77 KIẾN TRÚC MẠCH SINH ĐỊA CHỈ LUẬN LÝ 78 MÔ PHỎNG MẠCH ADDRESS GENERATOR 79 MẠCH ĐIỀU KHIỂN CURSOR 80 MÔ PHỎNG MẠCH TẠO CURSOR 82 SƠ ĐỒ KIẾN TRÚC MẠCH LIGHT PEN 82 MÔ PHỎNG MẠCH LIGHT PEN 83 MÔ PHỎNG TOÀN CẢNH CRTC_CORE 86 MOÂ PHỎNG RÕ GIÁ TRỊ NẠP CÁC THANH GHI R10, R11, R12, R13, R14, R15, R16 87 MÔ PHỎNG GIÁ TRỊ TRONG R16, R17 VÀ THỂ HIỆN R10,R11,R12,R13,R14,R15 87 CỔNG ĐẢO INV_1 89 COÅNG AND_2 89 COÅNG AND_3 90 COÅNG AND_4 90 COÅNG AND_6 91 COÅNG NAND_2 91 COÅNG NAND_3 92 COÅNG OR_2 92 COÅNG OR_3 93 COÅNG OR_6 93 COÅNG NOR_2 94 COÅNG NOR_6 94 MẠCH CÀI D_LATCH 95 FLIPFLOP CL_JK 96 RSFF_NOR2 97 THANH GHI REG(N) 98 MACH COMPARATOR 99 MAÏCH COPARATOR_1 100 MAÏCH COPARATOR_2 101 KÝ HIỆU CỦA COUNTER 102 KÝ HIỆU CỦA MẠCH COUNTER_1 102 KÝ HIỆU COUNTER_3 103 KYÙ HIEÄU COUNTER_LOAD 104 KÝ HIỆU MẠCH COUN_CUS 105 107 VI.3.L MUX1_2N Mux1_2n multiplexer có đường vào n bit điều khiển tín hiệu option để có ngõ n bit Ký hiệu MUX1_2N diễn tả hình sau: HÌNH VI-57 KÝ HIỆU CỦA MUX1_2N MUX1_2N thể ngôn ngữ VHDL: library ieee; use ieee.std_logic_1164.all; entity mux1_2n is generic(n: natural:=2); port( Ia: in std_logic_vector(n-1 downto 0); Ib: in std_logic_vector(n-1 downto 0); Option: in std_logic; Muxout: out std_logic_vector(n-1 downto 0)); end mux1_2n; architecture behv of mux1_2n is begin process(Ia, Ib, Option) begin case Option is when '0' => Muxout Muxout end case; end process; end behv; VI.3.M MUX_CUS Dùng riêng cho mạch Cursor Có đường tín hiệu vào có đường điều khiển đường tín hiệu Ký hiệu mạch thể hình sau: HÌNH VI-58 KÝ HIỆU MẠCH MUX_CUS 108 Mạch thể ngôn ngữ VHDL nhö sau: library ieee; use ieee.std_logic_1164.all; entity mux_cus is port( Ia : in std_logic; Ib : in std_logic; Ic : in std_logic; Id : in std_logic; c1, c2 : in std_logic; Muxout : out std_logic); end mux_cus; architecture behv of mux_cus is signal Option : std_logic_vector(1 downto 0); begin option Muxout Muxout Muxout Muxout end case; end process; end behv; VI.3.N DECODER Giải mã đường vào 16 đường Ký hiệu mạch hình sau: HÌNH VI-59 KÝ HIỆU DECODER DECODER thể ngôn ngữ VHDL: library ieee; use ieee.std_logic_1164.all; entity Decoder is port(input : in STD_LOGIC_VECTOR(4 downto 0); output: out STD_LOGIC_VECTOR(17 downto 0)); end Decoder; 109 architecture behavior of DECODER is begin process(input) begin case(input) is when "00000" => output output output output output output output output output output output output output output output output output output output