Xây dựng một hệ thống giải nén thành phần ảnh tĩnh trong MPEG2 trên nền FPGA

119 11 0
Xây dựng một hệ thống giải nén thành phần ảnh tĩnh trong MPEG2 trên nền FPGA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng một hệ thống giải nén thành phần ảnh tĩnh trong MPEG2 trên nền FPGA Xây dựng một hệ thống giải nén thành phần ảnh tĩnh trong MPEG2 trên nền FPGA Xây dựng một hệ thống giải nén thành phần ảnh tĩnh trong MPEG2 trên nền FPGA luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC XÂY DỰNG MỘT HỆ THỐNG GIẢI NÉN THÀNH PHẦN ẢNH TĨNH TRONG MPEG2 TRÊN NỀN FPGA NGÀNH : KỸ THUẬT ĐIỆN TỬ MÃ SỐ : NGUYỄN TUẤN ANH Người hướng dẫn khoa học: TS Nguyễn Phương HÀ NỘI - 2006 R LỜI CAM ĐOAN Tôi xin cam đoan nội dung nội dung luận văn công sức nghiên cứu, kết làm việc cá nhân Nếu phát gian lận, man trá xin hoàn toàn chịu trách nhiệm Hà Nội, tháng 11 năm 2006 Người thực Nguyễn Tuấn Anh R LỜI CẢM ƠN Tôi xin chân thành gửi lời cảm ơn tới tồn thể thầy bạn bè đồng nghiệp tham gia đóng góp ý kiến, chia sẻ kinh nghiệm động viên khuyến khích để tơi hoàn thành tốt luận văn thu kết nghiên cứu có ý nghĩa Đặc biệt, tơi xin vô cảm ơn hướng dẫn bảo tận tình Tiến sỹ Nguyễn Phương, Tiến sỹ Nguyễn Quốc Trung thật hỗ trợ nhiều q trình nghiên cứu Bên cạnh đó, tơi mong muốn bày tỏ tình cảm vơ trân trọng biết ơn tới cha mẹ người thân gia đình giúp đỡ, động viên tơi tồn q trình thực đề tài, giúp đỡ tơi lúc khó khăn tưởng khơng thể vượt qua để tơi đạt kết ngày hồm R MỤC LỤC Lời cam đoan Lời cảm ơn Danh mục bảng Danh mục hình vẽ, đồ thị MỞ ĐẦU: MỤC ĐÍCH ĐỀ TÀI 15T 15T CHƯƠNG : CƠ SỞ TỔNG QUAN VỀ NÉN VÀ GIẢI NÉN THÀNH PHẦN ẢNH NỘI MPEG VÀ ỨNG DỤNG FPGA 11 15T 15T 1.1) TỔNG QUAN VỀ NÉN VÀ GIẢI NÉN THÀNH PHẦN ẢNH NỘI MPEG 11 15T 15 T 1.1.1) Vai trò nén ảnh 11 15T 15 T 1.1.2) Kỹ thuật nén thành phần ảnh tĩnh MPEG 13 15T 15 T 1.1.2.1) Phép biến đổi DCT 13 15T 15T 1.1.2.2) Bộ lượng tử hóa (quantizer): 16 15T 15T 1.1.2.3) Bộ chuyển đổi thứ tự quét phần tử block 18 15T 15T 1.1.2.4) Bộ mã hóa Runlength (RLE) 20 15T 15 T 1.1.2.5) Mã hóa Huffman 21 15T 15T 1.1.3) Nội dung cần thực hệ thống 24 15T 15 T 1.1.3.1) Những chức hệ giải nén ảnh nội MPEG 24 15T 15 T 1.1.3.2) Sơ lược đánh giá yêu cầu tài nguyên hệ thống 24 15T 15 T 1.2) FPGA VÀ ỨNG DỤNG TRONG HỆ THỐNG MULTIMEDIA 24 15T 15T 1.2.1) Sơ lược ứng dụng FPGA hệ thống multimedia DSP: 24 15T 15 T 1.2.1.1) Các ghi dịch 25 15T 15 T 1.2.1.2) Các đếm: 25 15T 15 T 1.2.1.3) Thành phần nhớ 26 15T 15 T 1.2.1.4) Các thành phần thực phép toán số học logic 27 15T 15 T 1.2.1.5) Các đệm chiều hai chiều 27 15T 15T 1.2.2) Các nguyên tắc xây dựng hệ thống multimedia dựa FPGA 28 15T 15 T CHƯƠNG : XÂY DỰNG HỆ GIẢI NÉN THÀNH PHẦN ẢNH NỘI MPEG TRÊN FPGA 29 15T 15T 2.1) IDCT (DCT): 29 15T 15 T 2.2) GIẢI LƯỢNG TỬ: 36 15T 15 T 2.3) GIẢI QUÉT 44 15T 15T 2.4) MÃ HÓA VÀ GIẢI MÃ RUNLENGTH 46 15T 15 T 2.5) MÃ HÓA HUFFMAN 50 15T 5T CHƯƠNG : HỆ THỐNG THỰC TẾ VÀ CÁC KẾT QUẢ THỰC HIỆN 62 15T 15T 3.1) ĐÁNH GIÁ VIỆC XÂY DỰNG MỘT HỆ THỐNG THỰC TẾ: 62 15T 15T 3.1.1) Lựa chọn phương thức phù hợp dựa chip FPGA sẵn có 62 15T 15T 3.1.2) Hệ thống thực tế 62 15T 15 T 3.1.3) Cách thức trình bày nội dung chương 63 15T 15 T 3.2) SƠ ĐỒ HỆ THỐNG GIẢI NÉN 63 15T 15 T 3.3) CÁC THÀNH PHẦN CƠ BẢN: 66 15T 15 T 3.3.1) Bộ giải mã Huffman 67 15T 15T 3.3.1.1) Ứng dụng chip Spartan 67 15T 15T 3.3.1.2) Kết tổng hợp 68 15T 15 T 3.3.2) Bộ giải mã RLE 69 15T 15 T 3.3.2.1) Ứng dụng chip Spartan 69 15T 15T 3.3.2.2) Kết tổng hợp 69 15T 15 T 3.3.3) Bộ chuyển đổi dạng quét zigzag thành dạng bình thường 70 15T 15 T 3.3.3.1) Ứng dụng chip Spartan 70 15T 15T 3.3.3.2) Kết tổng hợp 71 15T 15 T 3.3.4) Bộ giải lượng tử 71 15T 15T 3.3.4.1) Ứng dụng chip Spartan 71 15T 15T 3.3.4.2) Kết tổng hợp 72 15T 15 T 3.3.5) Bộ IDCT 73 15T 15 T 3.3.5.1) Ứng dụng chip Spartan 73 15T 15T 3.3.5.2) Kết tổng hợp: 75 15T 15 T 3.4) CÁC THÀNH PHẦN PHỤ TRỢ TRONG HỆ THỐNG: 76 15T 15T 3.4.1) Thành phần nhớ đệm FIFO_8: 76 15T 15T 3.4.2) Bộ nhớ đệm fifo_huffman 78 15T 15T 3.4.3) Thành phần giao tiếp SRAM: 80 15T 15T 3.4.4) Thành phần giao tiếp VGA 81 15T 15 T 3.4.5) Thành phần giao tiếp thao tác người sử dụng 83 15T 15T 3.4.6) Phương pháp chuyển đổi từ dạng block 8x8 thành dạng đưa hình 83 15T 15 T 3.4.7) Lưu trữ liệu nén trước đưa vào giải nén: 86 15T 15 T 3.4.7.1) Quản lý đồng hồ 89 15T 15T 3.4.7.2) Thanh ghi dịch so sánh 90 15T 15T 3.5) KẾT QUẢ MÔ PHỎNG 91 15T 15 T 3.5.1)Mô giải mã Huffman 91 15T 15 T 3.5.2) Mô giải mã RLE 92 15T 15 T 3.5.3) Mô giải lượng tử 92 15T 15T 3.5.4) Mô chuyển zigzag – quét thường 93 15T 15 T 3.5.6) Thực ảnh thực 94 15T 15T 3.5.6.1) Ảnh sử dụng thử nghiệm: 95 15T 15T 3.5.6.2) Các công đoạn thực hiện: 95 15T 15 T 3.5.6.3) Các thông số nén: 96 15T 15 T 3.6) ĐÁNH GIÁ TỔNG HỢP HỆ THỐNG 96 15T 15 T A PHỤ LỤC 100 15T 15T R 15TU DANH MỤC CÁC BẢNG Bảng 2.1: Mối quan hệ quantizer_scale, quantizer_scale_code quantizer_scale 40 Bảng 2.2: Nội dung mã hóa DC: (Mã kích thước, Mã giá trị) 51 Bảng 2.3: Quy định mã hóa kích thước DC 53 Bảng 2.4: Các từ mã VLC tương ứng với cặp Run/Level cho block thuộc ảnh Intra 54 Bảng 2.5: Mã hóa Run Level theo sau mã Escape 59 Bảng 3.1: Bảng tổng kết đặc tính cấu trúc họ FPGA Spartan3 62 Bảng 3.2: Các chân tín hiệu quan trọng giải mã Huffman 68 Bảng 3.3: Bảng chân tín hiệu quan trọng giải mã RLE 69 Bảng 3.4: Các chân tín hiệu giải quét zigzag 70 Bảng 3.5: Các chân tín hiệu giải lượng tử 71 Bảng 3.6: Các chân tín hiệu IDCT 73 Bảng 3.7: Khoảng thời gian tín hiệu 83 Bảng 3.8: Các chân tín hiệu khối điều khiển hiển thị hình 84 Bảng 3.9: Bảng chức giao diện khối 89 Bảng A.1: Bố trí chân giao tiếp mở rộng A-2 111 Bảng A.2: Cách thức cấu hình block Ram Spartan3 113 U15T 15TU 15TU 15TU U15 T U15T U15 T 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU U15 T U15T U15 T U15 T U15T U15T U15T U15 T U15T U15 T U15T U15T R 15TU 15TU 15TU DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Sơ đồ khối q trình mã hóa (nén) ảnh dựa DCT 12 Hình 1.2: Mã hóa giải mã MPEG2 13 Hình 1.3: Khái lược thao tác phần tử khối nén giải nén JPEG 14 Hình 1.4: DCT biến đổi 64 điểm ảnh thành 64 giá trị tổ hợp chúng 15 Hình 1.5: So sánh lượng tử hóa tuyến tính lượng tử hóa phi tuyến với vùng chết (dead zone) 17 Hình 1.6: Lượng tử hóa thích ứng theo phân bố Gauss 18 Hình 1.7: Phân bố xác suất hệ số x DCT (frame) 19 Hình 1.8: Phân bố xác suất hệ số x DCT (field) 19 Hình 1.9: Quét zigzag 20 Hình 1.10: Histogram hệ số DCT tính theo giá trị tuyệt đối 21 Hình 1.11: Histogram runlength 22 Hình 1.12: Ví dụ tạo mã hóa Huffman 23 Hình 2.1: Biểu diễn hệ thống 2D-IDCT xây dựng dựa hệ 1D-IDCT 31 U15T U 15T U15 T 15TU 15TU U 15T U15 T 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU U15T U15 T U15 T U15 T U15T U15 T U15T U15 T 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU 15TU Hình 2.2: Khâu tính tốn 1D-IDCT 34 Hình 2.3: Khâu tính tốn 1D-IDCT thứ hai 35 Hình 2.4: Các thành phần đầy đủ lượng tử hóa dùng MPEG 42 Hình 2.5: Các thành phần đầy đủ giải lượng tử hóa MPEG 43 Hình 2.6: quét phần tử theo phương pháp zigzag 45 Hình 2.7: quét phần tử theo phương pháp luân phiên (MPEG2) 45 Hình 2.8: Sơ đồ q trình thực mã hóa runlength (rle) 47 Hình 2.9: Sơ đồ trình thực giải mã RLE 49 Hình 2.10: Cơ chế mã hóa Huffman động (tạo bảng kích thước bảng mã tương ứng) JPEG 50 Hình 2.11: Sơ đồ mã hóa Huffman 60 Hình 2.12: Sơ đồ giải mã Huffman 61 Hình 3.1: Sơ đồ tồn hệ thống giải nén JPEG 64 Hình 3.2: Cây thư mục thành phần hệ giải mã Huffman 67 Hình 3.3: Thành phần đệm fifo thành phần đọc liệu từ flash huff_dec 76 Hình 3.4: Sơ đồ cài đặt FIFO với xung đồng hồ vào/ra độc lập 77 Hình 3.5: giản đồ thời gian thể trình ghi lên FIFO 77 Hình 3.6: giản đồ thời gian thể trình đọc từ fifo 77 Hình 3.7: Chân giao tiếp đệm fifo giải mã Huffman giải mã rle 78 Hình 3.8: Cài đặt đệm fifo_huffman 79 Hình 3.9: Giản đồ thời gian thể chức chân prog_full (với giá trị ngưỡng = 6) 79 Hình 3.10: Giản đồ thời gian thể chức chân prog_empty (với giá trị ngưỡng = 3) 80 Hình 3.11: Cấu trúc thành phần giao tiếp RAM 81 Hình 3.12: Dạng tín hiệu VGA 82 Hình 3.13: Khoảng thời gian tín hiệu 82 Hình 3.14: Dạng block 8x8 ảnh giải nén 85 Hình 3.15: Dạng qt tín hiệu hình 86 Hình 3.16: Phân bố liệu nhớ Flash 87 Hình 3.17: Giao tiếp chân FPGA flash cấu hình trạng thái đọc liệu người dùng 88 Hình 3.18: Cấu trúc thành phần gia diện flash 88 Hình 3.19: Giản đồ tín hiệu chân đọc flash 90 Hình 3.20: Tín hiệu báo tìm thấy đoạn liệu flash 90 Hình 3.21: Tín hiệu báo vừa hoàn thành đọc hết byte 90 U15 T U15 T U15T U 15T U15 T U15 T U15 T U15T U15T 15TU 15TU 15TU 15TU 15TU U15T U15 T U15 T U15 T U15 T 15TU 15TU 15TU 15TU U15T U15 T U15 T U15 T 15TU 15TU U15 T U15T 15TU U15T 15TU 15TU 15TU 15TU 15TU 15TU 15TU U15T U15 T U15 T U15 T U15 T U15T U15 T 15TU 15TU 15TU 15TU U1 5T U15T U15 T U15T 15TU 15TU 15TU 15TU Hình 3.22: Kết mơ tín hiệu vào giải mã Huffman 91 Hình 3.23: Kết mơ giải mã RLE 92 Hình 3.24: Kết mô giải lượng tử (iquant) 92 Hình 3.25: Kết mơ chuyển đổi từ dạng quét zigzag sang dạng quét thông thường 93 Hình 3.26: Kết mơ IDCT 94 Hình 3.27: Ảnh thử nghiệm q trình mã hóa giải mã 95 Hình A.1: So sánh số lượng đơn vị nhóm khác họ Virtex4 (nguồn FPGA) 101 Hình A.2: Bố trí thành phần linh kiện board thử nghiệm XC3S200 108 Hình A.3: Board mạch thử nghiệm spartan 109 Hình A.4: Bố trí chân giao tiếp khe mở rộng board spartan-3 110 Hình A.5: Hướng vào liệu Block RAM spartan3 112 Hình A.6: Cấu hình cho Block RAM hoạt động theo chế độ Dual Port hay single Port 113 Hình A.7: Cách thức bố trí RAM Block RAM 114 Hình A.8: Bố trí block RAM FIFO 115 Hình A.9: Sơ đồ giao tiếp nhân cứng 115 U15 T U15 T U15T U15 T 15TU 15TU 15TU U15T U15T U15T 15TU 15TU 15TU 15TU 15TU U15T U15T U15T U15 T U15T 15TU 15TU 15TU U15T U15 T U15T -7- MỞ ĐẦU: MỤC ĐÍCH ĐỀ TÀI Hiện nay, cơng nghệ điện tử phát triển trình độ cao đạt nhiều thành tựu bật nhiều lĩnh vực chuyên ngành khác Các sản phẩm điện tử ứng dụng nhiều mặt khác sống Các hệ thống điện tử xâm nhập vào thiết bị sản xuất vật dụng sống Các hệ thống điện tử trở nên phức tạp với mức độ tích hợp linh kiện cao Chúng khơng cịn hệ thống thực chức đơn giản mà ngày trở nên phức tạp, tinh vi, thực nhiều yêu cầu công việc, đa chức tốc độ đáp ứng lớn Đặt phát triển chung cơng nghệ điện tử tồn giới, thấy ngành điện tử Việt Nam non trẻ Chúng ta không tạo nhiều sản phẩm có sản phẩm sản xuất Việt Nam mức độ phần trăm đóng góp tổng giá trị chung sản phẩm chưa phải cao, đặc biệt khía cạnh cơng nghệ Có nhiều ngun nhân dẫn tới chậm phát triển điện tử Việt Nam Trong tương lai lâu dài, để điện tử Việt Nam có chỗ đứng vững chắc, cần phải xây dựng ngành điện tử với hệ thống sở hạ tầng cơng nghệ tốt, có khả chế tạo sản xuất sản phẩm có hàm lượng cơng nghệ cao, tự sản xuất linh kiện thiết bị, Tuy nhiên, để đạt thành tựu thời gian ngắn khó khăn lớn yêu cầu phải đầu tư tài lớn có lực lượng nhà khoa học cơng nghệ đơng đảo Vì vậy, ngành điện tử Việt Nam phải chọn hướng khéo léo để đảm bảo khơng ngày tụt hậu so với công nghệ điện tử giới Một giải pháp áp dụng phát triển theo hướng sản phẩm có Các FPGA loại có khả xử lý DSP tốt ứng dụng nhiều ứng dụng DSP khác siêu tính, lọc, mã hóa giải mã multimedia tốc độ cao, Về cấu tạo DSP nhúng FPGA: - Do thân FPGA có cấu trúc mềm dẻo yều cầu tiết kiệm tài nguyên, nên DSP nhúng thường có dạng đơn giản, khơng có nhớ riêng, khơng có ghi riêng, cịn thành phần MAC FPGA Spartan3 sử dụng luận văn khơng có thành phần MAC, mà có nhân + Các FPGA tích hợp thành phần thông tin tốc độ cao: FPGA có mục đích sử dụng chủ yếu cho chuyển mạch thông tin hệ thông tin, truyền dẫn tốc độ cao (như Ethernet 10Gbps, ATM, SDH,….) + Các FPGA tích hợp thành phần khác: Tùy theo hướng sử dụng FPGA lĩnh vực mà tích hợp thành phần nhúng phù hợp: - Thành phần giao tiếp PCI - Thành phần điều khiển RAM - Thành phần giao tiếp Flash + Các FPGA tích hợp nhiều thành phần nói (DSP + thu phát + vi xử lý) A.1.2) FPGA ứng dụng công nghệ sản xuất chip tiên tiến - Tính chất mềm dẻo FPGA cho phép chip sản xuất liên tục ứng dụng công nghệ sản xuất chip tiên tiến - Yêu cầu số lượng sản phẩm lớn đòi hỏi ngày tăng tài nguyên hệ thống cho phép nâng cấp liên tục cấu trúc FPGA Ví dụ: FPGA họ Virtex5 sử dụng cơng nghệ tích hợp 65nm (Cu), 12 lớp, chip tích hợp nhiều thành phần bao gồm thành phần tương tự (I/O, RAM, PLL, Impedance controlling, onchip temperature sensor, onchip ADC,) A.1.3) Cấu trúc IP ứng dụng FPGA phát triển nhiều hãng IP (Intellectual property) thành phần quan trọng việc phát triển FPGA Người thiết kế sử dụng IP giúp cho việc phát triển nhanh chóng dự án Trên giới có hãng chuyên phát triển IP để bán cho nhà thiết kế khác Các IP cập nhật Ngoài ra, người thiết kế tự tạo IP cung cấp miễn phí Việc phân loại FPGA cịn dựa tính đa ứng dụng IP: - Một số IP viết dạng khái quát - Một số IP viết cho loại chip cụ thể hãng Các IP viết cho nhiều loại ứng dụng khác nhau: - Các IP thực chức giao thức trao đổi thơng tin: ví dụ IP viết cho RS232, Ethernet, USB, CAN, IEEE1394, v.v - Các IP thực chức giao thức trao đổi thông tin viễn thông: IP cho chuyển mạch - Các IP thực chức xử lý multimedia: ví dụ IP viết cho JPEG, JPEG2000, MPEG1,2,4, - Các IP thực chức kết nối đa xử lý: - Các IP thực chức xử lý giao diện thông tin: tạo tín hiệu giả ngẫu nhiên, tạo PN cho CDMA - Các IP thực chức khác A.1.4) Phần mềm phát triển ứng dụng FPGA gồm nhiều loại khác Ban đầu, việc phát triển ứng dụng PLD dựa công cụ đơn giản ngôn ngữ ABEL, Tuy nhiên, có nhiều cơng cụ khác để phát triển hệ thống PLD Sở dĩ có phát triển nhanh số lượng chất lượng cơng cụ phần mềm nguyên nhân sau: - Sự phát triển nhanh chóng thị trường chíp FPGA với nhu cầu ngày đa dạng nhiều ứng dụng khác - Sự kế thừa phần phần mềm sử dụng phát triển ASIC - Sự quan tâm đặc biệt nhiều học giả PLD nói chung FPGA nói riêng, coi cơng cụ dễ dàng cho phát triển ý tưởng Việc phân loại cơng cụ phần mềm phát triển cho FPGA dựa số quan điểm khác nhau: - Về vai trò ứng dụng phần mềm: Vì trình phát triển ứng dụng FPGA gồm nhiều công đoạn khác nhau, nên có nhiều loại phần mềm khác hỗ trợ cho cơng đoạn phát triển + Phần mềm hỗ trợ việc tích hợp FPGA bo mạch chung, tạo mạch in: ví dụ Protel + Phần mềm hỗ trợ việc tổng hợp (synthesizing) + Phần mềm hỗ trợ trình layout chip + Phần mềm hỗ trợ việc tạo tác vụ kiểm tra kiểm thử (verification) + Phần mềm hỗ trợ việc mô (simulating) Tiêu biểu họ phần mềm Modelsim + Phần mềm hỗ trợ việc xây dựng hệ thống Ngôn ngữ sử dụng phần mềm đa dạng, chủ yếu xoay quanh ngôn ngữ HDL C + HDL ngôn ngữ dạng kinh điển ứng dụng phát triển FPGA Đặc điểm họ ngôn ngữ gần gũi với việc mô tả phần cứng, không phụ thuộc nhiều vào đặc điểm họ IC, hiệu tổ hợp cao Nhược điểm thiếu tính cấu trúc (khơng phải ngơn ngữ bậc cao), thiếu tính khả chuyển, xa rời với ngôn ngữ tự nhiên, v.v , dẫn tới thời gian phát triển gỡ rối tương đối thời gian Một nhược điểm việc mơ máy tính tỏ chậm nhiều so với ngôn ngữ bậc cao (do phải mô tả chi tiết thành phần) + Các phần mềm dựa ngôn ngữ C phát triển thời gian gần tỏ có nhiều ưu điểm Trong ưu điểm bật dễ phát triển khả mô nhanh Một nhược điểm cần khắc phục khả tổng hợp chưa tốt.So với ngôn - Về xuất xứ phần mềm: chia làm loại + Phần mềm nhà sản xuất chip cung cấp: Ví dụ công cụ ISE Xilinx Đặc điểm phần mềm thường tích hợp đầy đủ cơng đoạn q trình phát triển, bao gồm: Ưu điểm phần mềm nhà sản xuất chip cung cấp khả tích hợp nhanh sản phẩm vào công cụ, hiệu sử dụng tài nguyên tương đối cao (do hãng nắm rõ cấu trúc bên ưu, nhược điểm chip họ sản xuất ra) Một ưu điểm lớn nhiều công cụ số cung cấp miễn phí Nhược điểm loại phần mềm hỗ trợ cho họ chip hãng sản xuất, gây khó khăn cho việc chuyển từ thiết kế cho chip hãng sang hãng khác + Phần mềm hãng thứ ba cung cấp: + Phần mềm người sử dụng tự viết A.2) Phần mềm phát triển ISE Xilinx A.2.1) Lựa chọn sử dụng ISE ISE hãng Xilinx phát triển ứng dụng cho sản phẩm PLD hãng, từ CPLD đơn giản FPGA Bản ISE Foundation 8.1 chạy hệ điều hành Windows2000/XP, Sun Solaris 2.8, RedHat Linux A.2.2) Đặc điểm công cụ ISE: - Dễ sử dụng - Hỗ trợ gần đầy đủ họ chip sản xuất khác Xilinx (bản Foundation) Tuy nhiên, phần mềm Xilinx nên khơng hỗ trợ họ chip hãng khác - Dễ dàng tích hợp phần mềm khác Xilinx, phần mềm thơng dụng khác (Ví dụ Multisim) - Được nâng cấp thường xun - Tích hợp nhiều cơng cụ khác nhau, bao gồm công cụ vẽ mạch, đồ hình trạng thái, tạo core mềm, viêt VHDL, Verilog, Tổng hợp, Place and Route, Mô phỏng, v.v… - Miễn phí (họ WebPack) A.2.3) Xây dựng ứng dụng ISE - Board thử nghiệm Spartan Board thử nghiệm Spartan board thử nghiệm cấp thấp sử dụng chip spartan S400, board cịn có nhớ Static RAM dung lượng Mbyte, cịn có giao tiếp cổng VGA, giao tiếp cổng PS/2 Led hiển thị, nút bấm mềm cơng tắc Hình A.2: Bố trí thành phần linh kiện board thử nghiệm XC3S200 Hình A.3: Board mạch thử nghiệm spartan Tuy cấu trúc board thử nghiệm đơn giản (vì mà giá thành tương đối rẻ - phù hợp với thử nghiệm trường học), thành phần lại phù hợp cho việc xây dựng phát triển hệ giải nén thử nghiệm Những thành phần có ứng dụng hệ thống gồm - LED báo hiệu - Cổng giao tiếp VGA - Cổng mở rộng - Các phím bấm mềm - Bộ nhớ RAM - Dao động thạch anh 50 MHz sẵn có board A.2.3.1) Giao tiếp VGA Vì tín hiệu hình tín hiệu VGA 256 mức xám, nên giao tiếp VGA sẵn có khơng đủ khả để tạo giao tiếp (do có mức tín hiệu cho màu R,G,B, tức tạo màu - mức xám) Vì lý trên, cần sử dụng cổng mở rộng để giao tiếp với hình thơng qua biến đổi DAC (biến đổi bit đầu thành 256 mức xám, trước đưa vào chân R, G, B hình) Hình A.4: Bố trí chân giao tiếp khe mở rộng board spartan-3 Trong mạch, sử dụng giao tiếp mở rộng A2 với bố trí chân sau: Bảng A.1: Bố trí chân giao tiếp mở rộng A-2 - chân tín hiệu mức xám đưa DAC là: - Chân đưa xung đồng hồ A.2.3.2) Về block ram spartan3 XC3S400 có 16 block ram riêng biệt, block ram có tổng dung lượng 18 kbit Hình A.5: Hướng vào liệu Block RAM spartan3 BLOCK RAM thực chất RAM cổng (DUAL PORT) Phương thức đọc ghi liệu BLOCK RAM thực theo cách: (1) Ghi vào đọc cổng A (2) Ghi vào đọc cổng B (3) Truyền liệu từ cổng A tới cổng B (4) Truyền liệu từ cổng B tới cổng A Chính nhờ cấu trúc mềm dẻo mà dễ dàng tổ chức Block RAM thành nhớ FIFO Ngoài cách thức tổ chức độ rộng bus địa mềm dẻo, bảng đây: Bảng A.2: Cách thức cấu hình block Ram Spartan3 Độ rộng BUS DI/DO Độ rộng bit DIP/DOP (w-p bit) (p bit) Tổng số Độ rộng Số ô nhớ độ rộng bit bus địa định (w bit) địa (n) (r bit) Dung lượng BLOCK RAM (bit 1 14 16 384 16 384 2 13 192 16 384 4 12 096 16 384 11 048 18 432 16 18 10 024 18 432 32 36 512 18 432 Hình A.6: Cấu hình cho Block RAM hoạt động theo chế độ Dual Port hay single Port BLOCK RAM (hay cịn gọi SelectRAM) cấu hình thành dạng cổng kép cổng đơn hình Và cách tổ chức khơng gian nhớ thực hình sau: Hình A.7: Cách thức bố trí RAM Block RAM Trong hệ giải mã JPEG, sử dụng nhớ FIFO khâu trung gian giải mã Huffman VLC Sử dụng BLOCK RAM làm FIFO cho hiệu cao mặt sử dụng tài nguyên tốc độ: Yêu cầu FIFO thiết kế là: - Độ rộng bus: 20 bit, gồm bit Runlength, 12 bit Value, bit cờ EOB, bit cờ DC - Số nhớ 1K Hình A.8: Bố trí block RAM FIFO A.2.3.3) Về nhân cứng Spartan XC3S400 có 16 nhân cứng Có thể tổ chức dạng nhân đồng nhân bất đồng bộ: Hình A.9: Sơ đồ giao tiếp nhân cứng Trong thiết kế thống kê số lượng nhân sử dụng: Đối với mạch nén JPEG: - Biến đổi DCT: sử dụng nhân cho tầng DCT-1D thứ nhân cho tầng DCT -1D thứ - Mã hóa Huffman: sử dụng nhân cho tầng Barrel shifter - Lượng tử hóa: sử dụng nhân cho tầng tính giá trị lượng tử theo thang ma trận lượng tử, nhân cho phép nhân giá trị vừa tính với phần tử DCT trước lượng tử Tổng cộng sử dụng 13 nhân < 16 nhân Đối với mạch giải nén JPEG - Biến đổi IDCT: sử dụng nhân cho tầng IDCT-1D thứ nhân cho tầng IDCT-1D thứ - Giải lượng tử:sử dụng nhân tương tự lượng tử Tổng cộng sử dụng 18 nhân, nhiều số nhân cứng mà S400 tích hợp sẵn Để giải vấn đề để đạt tối ưu hệ thống, sử dụng 16 nhân cứng cho biến đổi IDCT nhân tổng hợp cho giải lượng tử Sở dĩ lựa chọn phương pháp nguyên nhân sau: - Sự đồng mặt tốc độ nhân IDCT giải lượng tử - Các thành phần khác giải lượng tử kéo tốc độ chung xuống thấp sử dụng nhân tổng hợp phù hợp - Do việc sử dụng nhiều số nhân tổng hợp dẫn đến tiêu tốn nhiều số lượng slice không sử dụng hết số nhân cứng sẵn có ... 1.2.1.3) Thành phần nhớ Trong hệ thống giải nén JPEG sử dụng nhiều thành phần nhớ Thành phần nhớ với nội dung không thay đổi (thành phần ROM) Các thành phần sử dụng để chứa hệ số cho thành phần sau:... Tổng quan nén giải nén thành phần ảnh nội MPEG 1.1.1) Vai trò nén ảnh Nén giải nén ảnh đóng vai trị quan trọng hệ thống xử lý multimedia Quá trình nén ảnh cho phép trì chất lượng ảnh xét mặt quan... TỔNG QUAN VỀ NÉN VÀ GIẢI NÉN THÀNH PHẦN ẢNH NỘI MPEG VÀ ỨNG DỤNG FPGA 11 15T 15T 1.1) TỔNG QUAN VỀ NÉN VÀ GIẢI NÉN THÀNH PHẦN ẢNH NỘI MPEG 11 15T 15 T 1.1.1) Vai trò nén ảnh

Ngày đăng: 15/02/2021, 00:04

Mục lục

    RTÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan