đặt vấn đề, 3 choJơng, kết luận và lài liệu tham kháả0. chojong I: Tổng quan về công nghệ FPGA choJơng này trình ay tổng quan về công nghệ FPGA, các lĩnh vực ứng dụng của công nghệ này và các công cụ phát triển, hỗ lrợ lập trình trên FPGA. choJơng II Một số kỹ thuật xử lý hình ảnh choJơng này trình sày các khái niệm cơ sản về hình ảnh, các l0ại nhiễu và giới thiệu mot sé phoJơng pháp xử lý hình ảnh, đánh giá hiệu quả của các phoJơng pháp xử lý dữ liệu hình ảnh. chojơng III Ứng dụng công nghệ FPGA xử lý dữ liệu đa phoJơng tiện dạng ảnh Thực hiện thiết kế lõi IP xử lý nâng ca0 chất lơợng hình ảnh, cụ thể lõi IP sẽ xác định các điểm ảnh s¡ị lỗi và sửa chúng, xác định màu sằng phojơng pháp nội suy, sửa ma lrận màu.
Phần kết luận của luận văn trình pay cdc kết qua đạt đơjợc và những hạn chế của luận văn, hơjớng phái triển của luận văn lr0ng các nghiên cứu liếp the. 4 chŒ|ƠNG I: TốïIG QUATI VE cONG HIGhỆ FPGA 1. Lịch sử ra đời FPGA Hăm 1984 T0ss Freeman là ngojời đầu liên thiết kế PFGA và cũng là ngojời sáng lập công ‡y Xilinx. Kiến trúc mới của FPGA ch0 phép tích hợp số lojong lon các phần lử sán dẫn và0 một vi mạch s0 với kiến trúc lrojớc đó là cPLD.
FPGA có khả năng chứa từ 100.000 đến vài tỷ cổng 10gic, tr0ng khi cPLD chỉ chứa từ 10.000 cổng l0gic, c0n số này đối với PAL vá PLA còn thấp hơn rất nhiều chỉ dat vai nghìn đến 10. SPLD thojờng là mội mảng l0gic AITD/OL' lập trình dojgc có kích thojéc xác định và chứa một số lolợng hạn chế các phần lử nhớ đồng bộ (d0đ&ed 2egisiez). cau trúc này hạn chế khả năng thực hiện những hàm phức lạp và thông thojờng hiệu xuất làm việc của vi mạch phụ thuộc và0 cấu trúc cụ thể của vi mạch hơn là và0 yêu cau sài 10án. Kiến trúc của FPGA là kiến trúc mảng các khối I0gic, khối l0gic nhỏ hơn nhiều nếu đem s0 sánh với một khối SPLD, øu điểm này giúp FPGA có thể chứa nhiều hơn các phần tử l0gic và phát huy lối đa khả năng lập trình của các phần tử 10gic và hệ thống mạch kết nối, để dat dojgc muc dich may thi kiến trúc của FPGA phức lạp hơn nhiều s0 với cPLD.
Một điểm khác siệt với cPLD là tr0ng những FPGA hiện đại đơợc lích hợp nhiều những bộ 10gic số học đã sơ bộ lỗi quhóa hỗ trợ TAM, T0M lốc độ ca0, hay các bộ nhân. Hg0ài khả năng lái cấu trúc vi mạch 10àn cục, FPGA hiện lại còn hỗ tro lái cấu lrúc mội sộ phận riêng lẻ lr0ng khi vẫn đảm sả0 h0ạt động bình thojong ch0 các bộ phận khác. Su phat trién cia FPGA các thiết ni lap trimh dogc, goi chung 1a cdc thiết sị khả trình, có vai trò rất quan trọng lr0ng thiết kế phần cứng số. chúng là các chíp đa dụng có thể 5 đơojợc cầu hình †he0 nhiều cách ch0 nhiều ứng dụng khác nhau.
6 + L0Oại đầu liên của thiết bị khả lrình đojợc sử dụng rộng rãi là Pr0grammasle read-0nly Mem0ry-PT0M. PT0M là thiết sị lập trình chỉ đojợc mội lần gồm một dãy các ô nhớ chỉ đọc. PT0M có thể thực hiện sất kỳ một ham 10gic theO bang su that 1a0 do, bằng cách sử dụng các dojong dia chi mhoy các ngõ nhập và0 và ngõ xuất đựơc xác định nội dung các sí! nhớ. có hai 10ai PIOM co ban 1a Mask-Pr0grammaple va Field-Pr0grammatle.
- Mask-Pr0grammanle là l0ại thiết sị đợc lập trình sởi nhà sản xuất. các chip may thojong sam xuat cdc chip lôgíc lốc độ ca0 vì các kết nối bên lr0ng thiết bị đojợc thực hiện sằng phần cứng ngay lừ khi sản xuất. - Eield-Pr0grammanle là thiết sị đơiợc lập trình bởi ngojời dòng. các kế nối bên lr0ng của Field-Pr0grammanle luôn cần đến mội số chuyền mạch lập trình đơjợc (cầu chì, transisl0r truyền.) vì vậy lốc độ truyền chậm hơn của thiết sị nối cứng ( Mask-Pe0geammaole).
Tuy nhiên nó có nhiều gu điểm nhợ|:. các chíp Field-Pr0grammanle có thể lập trình tr0ng thời gian ngắn (kh0ảng vài phút hay vài giờ đồng hồ) còn các chíp Mask-Pr0grammasle khi sản xuất phải thực hiện tr0ng thời gian dài (hàng tuần hay hàng tháng). các chíp Field-Pr0grammasle rẻ hơn nhiều s0 với Mask- Pr0grammanle khi sản xuất với số lơiợng nhỏ. hai siến thể của PT0M là EPT0M chúng đều có chung dịu điểm là có khả năng x0á và lập trình lại nhiều lần.
Tiếp đến là các thiết s¡ PLD, chúng thông thơjờng có cấu †ạ0 gồm một dãy các công AIID đơjợc nối với một dãy các công 0T. L0ại cơ bản của PLD là PAL, PAL gồm một khối các cổng AIID lập trình đojợc nối đến các khối công 0T cố định. Một l0ại nữa của PLD linh h0ạt hơn PAL là PLA. PLA cũng có cấu trúc giống PAL nhơing các kết nói khả trình.
Tr0ng PLA cũng có hai l0ại là Mask- Pr0grammaple va Field-Pr0grammabple. ca hai 10ai PLD trén ch0 phép thuc hién caéc mach l0gic cé téc độ ca0 tuy 7 nhiên cầu lrúc đơn giản của chúng chỉ ch0 phép thực hiện đojợc các mach 10gic cỡ nhỏ. 8 LOai thiết sị khả trình lồng quát nhất gồm dãy các phần lử rời rạc có thé kết nối với nhau the0 mô tả của ngơiời sử dụng, đojợc gọi là Mask-Pr0grammasle Gate Array (MPGA) chúng có câu lrúc cơ sản nhất là gồm các hàng lransisl0r có thể đojợc kết nối với nhau đề thực hiện các mạch I0gic. các kết nối d0 ngơiời dòng định nghĩa này có thể lr0ng cả hàng và cả cội.
dịu điểm chính của MPGA s0 với PLD là nó cung cấp các kiến trúc lông quát ch0 phép thực hiện các mạch l0gic lớn hơn. Vì cấu lrúc của chúng có thê mở rộng lớn hơn cùng với số lolợng l0gic lớn hơn. FPGA đã kết hợp khả năng lập trình của PLD và kết cấu nối có thề mở rộng của MPGA. D0 đó các thiết bị lập trình IOại này có mật độ l0gíc ca0 hơn.
FPGA dojgc cong ty Xilinx giới thiệu lần đầu liên và0 năm 1985 và đến nay đã có nhiều công ly phát triển mhoy: Aclel, Allera, Plessey, Plus l0gic, Quick. cầu lúcFPGA Tài nguyên kết x. Logic Block i 1 E1 1l 1L | hình 1-1. cấu trúc FPGA.
9 FPGA là mạch lích hợp chứa nhiều (64 đến hơn 10.000) ô 10gic (10gic cell) giống nhau có thề xem là các thành phần chuẩn. Mỗi ô I0gic giữ một hay một số chức năng độc lập (hình 1-1). các ô giống nhau đojợc kết nối bởi một ma trận đơqờng dẫn và các chuyên mạch khả trình. IIgơiời thực hiện thiết kế bằng các đặc lroIng lôgic đơn của mỗi ô và lựa chọn đóng các chuyên mach tr0ng ma trận kết nối.
Mảng của các 6 logic va kiểu kết nói là kết cấu xây dựng khối cơ bản †r0ng mạch lôgIc. các thiết kế phức tap dojgc ta0 ra bằng cách kết hợp các khối cơ sản đề †ạ0 ra các mạch đojợc mô lả. Mô hình lông quát của FPGA gồm mội dãy hai chiều các khối lôgic (I0gi€ ol0&) có thê đơjợc kết nối bằng các nguồn kết nói chung. các nguồn kết nối gồm các đ0ạn kết néi (segment) có thê có chiều dài khác nhau.
bên lr0ng các kết nối là các chuyền mạch lập trình đojợc dòng đề nối các khối lôgic với các đ0ạn dây, các khối và0/ra hay các đ0ạn dây với nhau. Mạch lôgic cài đặt tr0ng FPGA bằng cách ánh xạ lôgic và0 các khối lôgic riêng rẽ và sau đó nối các khối lôgic cấu hình (@0xƒfigueaole l0gic bl0đ) cần thiết qua các chuyên mạch. các khối cLb cung cấp các phần lử chức năng với cấu trúc sử dụng I0gic. các khối và0/ra (1⁄0 510đ) cung cấp gia0 diện giữa các gói chân và các đojờng lín hiệu bên lr0ng.
Tài nguyên kết nối khả trình cung cấp các bộ phận lruyền dẫn tới kết nối đầu và0 và đầu ra của các cLb và các I0b trOng mang riéng. Vậy cấu lrúc FPGA gồm sa phần lử chính: các khối lôgic cấu hình (cLb), các khối và0/ra (I0b) và các kết nối. qác khối lôgic dấu hình: cấu lrúc và nội dung của l0gic sl0ck đơjợc gọi the0 kiến trúc của nó. Kiến trúc của khối lôgic có thể thiết kế the0 nhiều cách khác nhau, có thể là các cổng AIID 2 ngõ nhập, các bộ dồn kênh (Muii2lexez) hay các sảng lìm kiếm (LOck- up Tavle).
Tig0ai ra có thể chứa các Flip-Fl0p để hỗ trợ ch0 việc thực hiện một cách luần lự. qác nguồn kết nói : các nguồn kết nối có cấu trúc và nội dung dojoc goi la kién trvc dojong 11 (Muting Aechiteduze). Kién trúc T0uling gồm các đ0ạn đây nối và các chuyển mạch khả lrình. các chuyền mạch khả trình có cấu †ạ0 khác nhau nhơi pass- transisl0r, đơjợc điều khiển sởi các cell STAM, các phần tử cầu chì nghịch, EPT0M transisl0r và EET0M transil0r.
Giống nhơi các khối lôgic có nhiều cách khác nhau để thiết kế các kiến trúc r0uhng. Một số FPGA Cung cấp nhiều kết nối đơn giản giữa các khối l0gic, một số khác cung cấp í† kết nối hơn nên r0ulÙing phức lạp hơn. Phân lUại FPGA FPGA có nhiều l0ại khác nhau có cấu trúc và đặc lính riêng tuỳ †he0 lừng hãng sản xuất, luy nhiên chúng có sốn lOại chính sau: cấu trúc mảng đối xứng (Symmelzieal Asay), câu trúc PLD phân cấp (hieeachieeal PLD), câu trúc hàng (Tw vase) va cau tric đa cong (Sea Of Gate) m6 1 dơjới đây. Mảng đối xứng Cấu trúc hàng So Kết nối ` Kết nối Logic Block ——t— Logic Block ~——— Logic PLD —— Block Ket noi lw “ Tr ¢ ¡Kết nổi phủ lên Logic PLD phân cấp Đa cổng hình 1.2 các l0ại cau tric FPGA 12 1.
các công nghệ lập tình FPGA có nhiều cách thực hiện các phần tử lập trình, các công nghệ lập trình hiện đang sử dụng là: AM lĩnh, cầu chì nghịch (anhi-fuse), EPIL'0M transisi0r và EET0M transisl0r. Mặc dò công nghệ lập trình khác nhau, tat ca các phần tir lap trình đều có chung lính chất là có thể cấu hình đơjợc lr0ng một lr0ng hai trang thai OI hOặc 0FE. các phần tử lập trình đojợc dùng đề thực hiện các kết nói lập trình đojợc giữa các khối lôgic của các FPGA, còn FPGA thong thojong cé thé hon 100.000 phần tử lập trình. Vì vậy các phần tử lập trình phải có những lính chất sau: - chiếm càng í† diện ích của chip càng lốt.
- có trở kháng thấp khi ở trạng thái 011 và trở kháng ca0 khi ở trang thái OFF. - có điện dung ký sinh thấp khi kết nói các đ0ạn dây. - có thể chế †ạ0 một cách tin cậy số lojợng lớn phần tử lập trình trên một chíp. có thể luỳ thuộc và0 ứng dụng cụ thê va co cdc sé long phan tr lap tinh có thề có các đặc lính khác.