Tìm hiểu tổng quan về công nghệ FPGA

Tài liệu Tìm hiểu tổng quan về công nghệ FPGA: Chương 1 Tổng quan về công nghệ fpga Giới thiệu chung về FPGA Chương này tập trung trình bày về công nghệ FPGA và các mạch phần cứng được xây dựng trên công nghệ FPGA. Đây là công nghệ tiên tiến đã được nghiên cứu rất nhiều và được ứng dụng rộng rãi trên thế giới. FPGA là viết tắt của (Field-Programmable Gate Array), đây là loại IC trong đó cho phép người thiết kế lập trình thay đổi các thiết kế của mình. FPGA xuất hiện như một giải pháp cơ bản cho vấn đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh chịu trong quá trình nghiên cứu sản phẩm của công nghệ điện tử. FPGA là loại thiết bị khả trình (PLD) tiên tiến nhất hiện nay của nghành công nghệ chế tạo IC chuyên biệt mà vẫn được gọi là ASIC. Sự phát triển của các thiết bị khả trình (PLD) Các thiết bị lập trình được, gọi chung là các thiết bị khả trình, có vai trò rất quan trọng trong thiết kế phần cứng số. Chúng là các chíp đa dụng có thể được cấu hình theo nhiều cách cho nhiều ứng dụng khác nhau. ...

doc35 trang | Chia sẻ: hunglv | Lượt xem: 1950 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Tìm hiểu tổng quan về công nghệ FPGA, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Chương 1 Tổng quan về công nghệ fpga Giới thiệu chung về FPGA Chương này tập trung trình bày về công nghệ FPGA và các mạch phần cứng được xây dựng trên công nghệ FPGA. Đây là công nghệ tiên tiến đã được nghiên cứu rất nhiều và được ứng dụng rộng rãi trên thế giới. FPGA là viết tắt của (Field-Programmable Gate Array), đây là loại IC trong đó cho phép người thiết kế lập trình thay đổi các thiết kế của mình. FPGA xuất hiện như một giải pháp cơ bản cho vấn đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh chịu trong quá trình nghiên cứu sản phẩm của công nghệ điện tử. FPGA là loại thiết bị khả trình (PLD) tiên tiến nhất hiện nay của nghành công nghệ chế tạo IC chuyên biệt mà vẫn được gọi là ASIC. Sự phát triển của các thiết bị khả trình (PLD) Các thiết bị lập trình được, gọi chung là các thiết bị khả trình, có vai trò rất quan trọng trong thiết kế phần cứng số. Chúng là các chíp đa dụng có thể được cấu hình theo nhiều cách cho nhiều ứng dụng khác nhau. + Loại đầu tiên của thiết bị khả trình được sử dụng rộng rãi là Programmable read-only Memory-PROM. PROM là thiết bị lập trình chỉ được một lần gồm một dãy các ô nhớ chỉ đọc. PROM có thể thực hiện bất kỳ một hàm logic theo bảng sự thật nào đó, bằng cách sử dụng các đường địa chỉ như các ngõ nhập vào và ngõ xuất đựơc xác định nội dung các bít nhớ. Có hai loại PROM cơ bản là Mask-Programmable và Field-Programmable. - Mask-Programmable là loại thiết bị được lập trình bởi nhà sản xuất. Các chíp này thường sản xuất các chíp lôgíc tốc độ cao vì các kết nối bên trong thiết bị được thực hiện bằng phần cứng ngay từ khi sản xuất. - Field-Programmable là thiết bị được lập trình bởi người dùng. Các kết nối bên trong của Field-Programmable luôn cần đến một số chuyển mạch lập trình được (cầu chì, transistor truyền…) vì vậy tốc độ truyền chậm hơn của thiết bị nối cứng ( Mask-Programmable). Tuy nhiên nó có nhiều ưu điểm như: . Các chíp Field-Programmable có thể lập trình trong thời gian ngắn (khoảng vài phút hay vài giờ đồng hồ) còn các chíp Mask-Programmable khi sản xuất phải thực hiện trong thời gian dài (hàng tuần hay hàng tháng). . Các chíp Field-Programmable rẻ hơn nhiều so với Mask-Programmable khi sản xuất với số lượng nhỏ. Hai biến thể của PROM là EPROM (Eraseable Programmable Read Only Memory) và EEPROM (Electrically Eraseable Programmable Read Only Memory) chúng đều có chung ưu điểm là có khả năng xoá và lập trình lại nhiều lần. Tiếp đến là các thiết bị PLD (Programmable Logic Device) chúng thông thường có cấu tạo gồm một dãy các cổng AND được nối với một dãy các cổng OR. Loại cơ bản của PLD là PAL (Programmable Array Logic), PAL gồm một khối các cổng AND lập trình được nối đến các khối cổng OR cố định. Một loại nữa của PLD linh hoạt hơn PAL là PLA (Programmable Logic Array). PLA cũng có cấu trúc giống PAL nhưng các kết nối khả trình. Trong PLA cũng có hai loại là Mask-Programmable và Field-Programmable. Cả hai loại PLD trên cho phép thực hiện các mạch logic có tốc độ cao tuy nhiên cấu trúc đơn giản của chúng chỉ cho phép thực hiện được các mạch logic cỡ nhỏ. Loại thiết bị khả trình tổng quát nhất gồm dãy các phần tử rời rạc có thể kết nối với nhau theo mô tả của người sử dụng, được gọi là Mask-Programmable Gate Array (MPGA) chúng có cấu trúc cơ bản nhất là gồm các hàng transistor có thể được kết nối với nhau để thực hiện các mạch logic. Các kết nối do người dùng định nghĩa này có thể trong cả hàng và cả cột. Ưu điểm chính của MPGA so với PLD là nó cung cấp các kiến trúc tổng quát cho phép thực hiện các mạch logic lớn hơn. Vì cấu trúc của chúng có thể mở rộng lớn hơn cùng với số lượng logic 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. Do đó các thiết bị lập trình loại này có mật độ logíc cao hơn. FPGA được công ty Xilinx giới thiệu lần đầu tiên vào năm 1985 và đến nay đã có nhiều công ty phát triển như: Actel, Altera, Plessey, Plus logic, Quick... 1.1.2 Field-Programmable Gate Aray (FPGA) I/O cell Logic Block Tài nguyờn kết nối Hỡnh 1.1 Mụ hỡnh FPGA 1.1.2.1 Cấu trúc các FPGA FPGA là mạch tích hợp chứa nhiều (64 đến hơn 10.000) ô logic (logic cell) giống nhau có thể xem là các thành phần chuẩn. Mỗi ô logic giữ một hay một số chức năng độc lập. Các ô giống nhau được kết nối bởi một ma trận đường dẫn và các chuyển mạch khả trình. Người thực hiện thiết kế bằng các đặc trưng lôgic đơn của mỗi ô và lựa chọn đóng các chuyển mạch trong ma trận kết nối. Mảng của các ô lôgic và kiểu kết nối là kết cấu xây dựng khối cơ bản trong mạch lôgic. Các thiết kế phức tạp được tạo ra bằng cách kết hợp các khối cơ bản để tạo ra các mạch được mô tả. Mô hình tổng quát của FPGA gồm một dãy hai chiều các khối lôgic (logic block) có thể đượ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 đoạn kết nối (segment) có thể có chiều dài khác nhau. Bên trong các kết nối là các chuyển mạch lập trình được dùng để nối các khối lôgic với các đoạn dây, các khối vào/ra hay các đoạn dây với nhau. Mạch lôgic cài đặt trong FPGA bằng cách ánh xạ lôgic vào các lôgic riêng rẽ và sau đó nối các khối lôgic cấu hình (Configurable logic Block) cần thiết qua các chuyển mạch. Các khối CLB cung cấp các phần tử chức năng với cấu trúc sử dụng logic. Các khối vào/ra (I/O Block) cung cấp giao diện giữa các gói chân và các đường tín hiệu bên trong. Tài nguyên kết nối khả trình cung cấp các bộ phận truyền dẫn tới kết nối đầu vào và đầu ra của các CLB và các IOB trong mạng riêng. Vậy cấu trúc FPGA gồm ba phần tử chính: Các khối lôgic cấu hình (CLB), các khối vào/ra (IOB) và các kết nối. a. Các khối lôgic cấu hình (Configurable logic Block) Cấu trúc và nội dung của logic block được gọi theo kiến trúc của nó. Kiến trúc của khối lôgic có thể thiết kế theo nhiều cách khác nhau, có thể là các cổng AND 2 ngõ nhập, các bộ dồn kênh (Multiplexer) hay các bảng tìm kiếm (Lock-up Table). Ngoài ra có thể chứa các Flip-Flop để hỗ trợ cho việc thực hiện một cách tuần tự. b. Các nguồn kết nối (Routes) Các nguồn kết nối có cấu trúc và nội dung được gọi là kiến trúc đường (Routing Architecture). Kiến trúc Routing gồm các đoạn đây nối và các chuyển mạch khả trình. Các chuyển mạch khả trình có cấu tạo khác nhau như pass-transistor, được điều khiển bởi các cell SRAM, các phần tử cầu chì nghịch, EPROM transistor và EEROM transitor. Giống như các khối lôgic có nhiều cách khác nhau để thiết kế các kiến trúc routing. Một số FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ít kết nối hơn nên routing phức tạp hơn. 1.1.2.2 Phân loại FPGA FPGA có nhiều loại khác nhau có cấu trúc và đặc tính riêng tuỳ theo từng hãng sản xuất, tuy nhiên chúng có bốn loại chính sau: cấu trúc mảng đối xứng (Symmetrical Array), cấu trúc PLD phân cấp (hierachircal PLD), cấu trúc hàng (Row base) và cấu trúc đa cổng (Sea of Gate) mô tả dưới đây. Đa cổng PLD phân cấp Kết nối Logic Block Logic Block Kết nối Cấu trúc hàng Logic Block Kết nối Mảng đối xứng Kết nối phủ lên Logic Block PLD Block Hỡnh 1.2 Bốn loại FPGA trờn thực tế 1.1.3 Các công nghệ lập trì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à: RAM tĩnh, cầu chì nghịch (anti-fuse), EPROM transistor và EEROM transistor. Mặc dù công nghệ lập trình khác nhau, tất cả các phần tử lập trình đều có chung tính chất là có thể cấu hình được trong một trong hai trạng thái ON hoặc OFF. Các phần tử lập trình được dùng để thực hiện các kết nối lập trình được giữa các khối lôgic của các FPGA, còn FPGA thông thường có thể hơn 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 tính chất sau: - Chiếm càng ít diện tích của chíp càng tốt. - Có trở kháng thấp khi ở trạng thái ON và trở kháng cao khi ở trạng thái OFF. - Có điện dung ký sinh thấp khi kết nối các đoạn dây. - Có thể chế tạo một cách tin cậy số lượng lớn phần tử lập trình trên một chíp. Có thể tuỳ thuộc vào ứng dụng cụ thể và có các số lượng phần tử lập trình có thể có các đặc tính khác. Về mặt chế tạo, các phần tử lập trình nếu có thể chế tạo theo công nghệ CMOS chuẩn là tốt nhất. Dưới đây sẽ trình bày chi tiết các công nghệ lập trình FPGA. a. Công nghệ lập trình dùng RAM tĩnh Hỡnh 1.3 Cụng nghệ lập trỡnh RAM tĩnh . Cổng transitor Bộ dồn kênh Transistor truyền RAM Cell Dây nối Dây nối Đường gọi ra Dây nối MUX RAM Cell 2 RAM Cell 1 Dây nối Dây nối RAM Cell Công nghệ lập trình dùng RAM tĩnh (SRAM) sử dụng công nghệ CMOS tiêu chuẩn. Các kết nối lập trình được điều khiển bằng các transistor khác trên chíp hoặc bật (On) các transistor truyền dẫn cũng như các cổng transistor để tạo một kết nối hay tắt (Off) để ngắt kết nối. Trong trường hợp transistor truyền dẫn và cổng transistor như hình trên, phần tử RAM Cell điều khiển cổng truyền bật hoặc tắt. Khi tắt giữa hai dây nối với cổng truyền dẫn sẽ có một trở kháng rất cao. Khi bật nó sẽ tạo một trở kháng thấp kết nối giữa hai dây nối. Đối với bộ dồn kênh, SRAM Cell điều khiển ngõ nhập nào của bộ dồn kênh sẽ được nối với ngõ ra của nó. Cách này thường dùng để kết nối tuỳ chọn từ một hay nhiều ngõ nhập của một khối logic. Trong các FPGA sử dụng công nghệ lập trình SRAM, các khối logic có thể được kết hợp với nhau qua cách kết hợp cả bộ dồn kênh (Multiplexer) và cổng truyền dẫn (pass-gate). Vì SRAM là bộ nhớ bay hơi, các FPGA này phải được tái cấu hình mỗi khi cấp nguồn cho chíp. Điều này có nghĩa là hệ thống sử dụng các chíp này phải có một số cơ chế lưu trữ thường trực cho các bit của RAM Cell, chẳng hạn ROM hay đĩa từ. Các bit của RAM Cell có thể được nạp vào FPGA một cách tuần tự hay định địa chỉ như một phần tử của mảng (theo cách thông thường của một RAM). Các chíp được thực hiện theo công nghệ SRAM có diện tích khá lớn, bởi vì cần ít nhất 5 transistor cho mỗi RAM Cell cũng như các transistor cần thêm cho cổng truyền dẫn hay bộ dồn kênh. Ưu điểm của kỹ thuật này là cho phép FPGA có thể được tái cấu hình ngay trên mạch rất nhanh và nó có thể được chế tạo bằng công nghệ CMOS chuẩn. b. Các thiết bị lập trình cầu chì nghịch (Anti-fuse) Công nghệ lập trình anti-fuse được sử dụng trong các FPGA của Actel-Corp, Quick Logic và Cross Point Solution. Tuy anti-fuse được sử dụng trong các loại FPGA này có cấu tạo khác nhau, nhưng chức năng của chúng là như nhau. Một anti-fuse bình thường sẽ ở trạng thái cao, nhưng có thể bị “nóng chảy” thành trạng thái điện trở thấp khi được lập trình ở điện thế cao. Dưới đây sẽ giới thiệu cấu tạo của các anti-fuse của Actell và Quick Logic. Anti-fuse của Actell được gọi là PLICE. Nó cấu trúc hình chữ nhật gồm 3 lớp: Lớp dưới cùng chứa các silic mang nhiều điện tích dương (n+diffusion), lớp giữa là một lớp điện môi (Oxy-Nitơ-Oxy cách điện), và lớp trên cùng là Poly-Silic. n+diffusion Poly-Si metal 1 wire anti-fuse metal 2 wire b) Cấu trúc n+diffusion silicon substrate dielectric Oxide Poly_si a) Mặt cắt ngang Hình 1.4 Công nghệ lập trình cầu chì nghịch PLICE Anti-fuse PLICE được lập trình bằng cách đặt một điện thế cao thích hợp (18V) giữa hai đầu của anti-fuse và dòng điều khiển khoảng 5mA qua thiết bị. Dòng và áp này tạo ra một nhiệt lượng đủ nóng bên trong lớp điện môi làm nó nóng chảy và tạo ra một liên kết dẫn điện giữa các điện cực. Các transistor chịu được các điện thế cao được chế tạo bên trong FPGA để đáp ứng cho dòng và điện áp đủ lớn. Cả hai lớp dưới cùng và trên cùng của cầu chì nghịch được nối với các dây kim loại để khi được lập trình cầu chì nghịch sẽ tạo ra một kết nối có trở kháng thấp (300W đến 500W) giữa hai dây kim loại. Anti-fuse của Quick-Logic được gọi là ViaLink. Nó tương tự như PLICE cũng có ba lớp kim loại. Tuy nhiên, ViaLink sử dụng kim loại mức 1 cho lớp dưới cùng, một hợp chất vô dịnh hình cho lớp giữa và kim loại mức 2 cho lớp trên cùng. Khi ở trạng thái không được lập trình, anti-fuse có trở kháng hàng gigaôm, nhưng khi được lập trình nó sẽ tạo ra một kết nối giữa hai lớp kim loại trở kháng khoảng 80W. Anti-fuse được chế tạo bằng cách thêm 3 mặt nạ đặc biệt trong quy trình chế tạo CMOS thông thường. ViaLink anti-fuse được lập trình bằng cách đặt một điện thế 10V giữa các đầu của nó, dòng được cấp đủ, trạng thái của Silic vô định hình sẽ thay đổi và tạo ra một liên kết điện giữa hai lớp kim loại. Diện tích các chíp sử dụng kỹ thuật anti-fuse rất nhỏ so với công nghệ khác. Tuy nhiên, bù lại cần phải có không gian lớn cho các transistor điện thế cao cần để giữ cho dòng và áp cao lúc lập trình. Nhược điểm của anti-fuse là quy trình chế tạo chúng phải thay đổi so với quy trình chế tạo SMOS. oxide Silic vụ định hỡnh metal 2 metal 1 Hình 1.5 Công nghệ lập trình cầu chì nghịch ViaLink c. Công nghệ lập trình dùng EPROM và EEROM điện trở nguồn +5v EPROM transistor Bit line gnd Word line Floating Gate Select Gate Hình 1.6 Công nghệ lập trình EPROM transistor Công nghệ được dùng trong các FPGA của Altera Corp, và Plus Logic. Công nghệ này giống như sử dụng trong bộ nhớ EPROM. Không giống CMOS transistor đơn giản, một EPROM transistor gồm hai cổng, một cổng treo (floating-gate) và một cổng chọn (select-gate). Cổng treo được đặt giữa cổng chọn và kênh dẫn của transitor, cổng này được gọi như thế vì nó không có kết nối điện đến bất kỳ mạch nào. ở trạng thái bình thường không được lập trình, không có điện tích giữa cổng treo (floating-gate) và transitor có thể chuyển sang trạng thái ON một cách bình thường bằng cổng chọn (select-gate). Khi transistor được lập trình bằng một dòng điện lớn chạy giữa nguồn và kênh, một điện tích được giữ lại ở cổng treo. Điện tích này làm transistor chuyển sang trạng thái OFF. Bằng cách này, EPROM transistor có thể có chức năng của một phần tử lập trình được. Một EPROM transistor có thể được tái lập trình bằng cách huỷ bỏ lớp điện tích được giữ lại ở cổng treo (phơi dưới ánh sáng cực tím sẽ kích hoạt các electron chuyển từ cổng vào chất nền của transistor). EPROM transistor được sử dụng trong FPGA theo cách khác với SRAM và anti-fuse thay vì dùng cho lập trình kết nối hai dây, EPROM transistor được sử dụng để “kéo xuống” các ngõ nhập của logic-block. Như hình vẽ (1.6), một đường dây gọi là “word line” (theo thuật ngữ bộ nhớ) được nối với cổng chọn của EPROM transistor, khi transistor chưa được lập trình ở trạng thái ON. “Word line” có thể làm cho “bit line” không được nối với ngõ nhập của logic-block vì bị kéo về mức logic không. Nhiều EPROM transistor ứng với nhiều “word line” được nối với cùng một “bit line”, khi một điện kéo lên nguồn nối với “bit line”, mô hình không những cho EPROM transistor thực hiện các kết nối mà còn thực hiện các chức năng logic AND nối dây (wired-AND). Nhược điểm của phương pháp này là các điện trở tiêu tốn năng lượng cố định. Một ưu điểm của EPROM transistor là chúng có thể tái lập trình mà không cần bộ nhớ bên ngoài. Tuy nhiên, không giống SRAM, EPROM transistor không thể được tái lập trình ngay trên bo mạch. Phương pháp dùng EEPROM (được sử dụng trong các FPGA của Advanced Micro Device-AMD) tương tự như công nghệ EPROM, ngoại trừ EEPROM transistor tốn gấp đôi diện tích chíp so với EPROM transistor và cần nhiều nguồn điện thế (để tái lập trình) mà các loại khác không cần. Các công nghệ lập trình FPGA được tóm tắt trong bảng dưới đây: Bảng 1.1 Các đặc tính của công nghệ lập trình Công nghệ lập trình Tính bay hơi Có thể lập trình Diện tích chíp R(Kohm) C(pf) Static RAM Cell Có Trong mạch Lớn 1-2 10-20 PLICE Anti-fuse Không Không Anti-fuse nhỏ Số transistor lớn 300-500 3-5 ViaLink Anti-fuse Không Không Anti-fuse nhỏ Số transistor lớn 50-80 1-3 EPROM Không Ngoài mạch Nhỏ 2-4 10-20 EEPROM Không Trong mạch 2xEPROM 2-4 10-20 1.2 Các ứng dụng của FPGA FPGA là thế hệ sau của IC khả trình nên chúng có thể ứng dụng trong hầu hét các ứng dụng của hiện đang dùng MPGA, PLD và các mạch tích hợp loại nhỏ (SSI). Các mạch tích hợp là ứng dụng đặc biệt FPGA là thiết bị tổng quát nhất để thực hiện các mạch lôgic số. Chúng đặc biệt thích hợp cho các mạch tích hợp chuyên dụng đặc biệt (ASIC) như bộ cộng, bộ điều khiển lôgic Flip-Flop... b. Thiết kế mạch ngẫu nhiên Mạch lôgic ngẫu nhiên thường được thực hiện bằng PAL. Nếu tốc độ của mạch không đòi hỏi khắt khe (các PAL nhanh hơn hầu hết các FPGA) thì mạch có thể thực hiện bằng FPGA. Hiện nay một FPGA cần từ 10 đến 20 PAL. c. Thay thế các chíp SSI cho mạch ngẫu nhiên Các mạch hiện tại trong các sản phẩm thương mại thường chứa nhiều chíp SSI. Trong nhiều trường hợp có thể thay thế bằng FPGA để giảm diện tích bo mạch. d. Chế tạo mẫu FPGA rất lý tưởng cho việc tạo mẫu các sản phẩm. Giá thành thực hiện thấp và thời gian thực hiện thiết kế vật lý ngắn, cung cấp các ưu điểm hơn nhiều so với các phương tiện truyền thống khác để chế tạo mẫu phần cứng. Các mẫu ban đầu có thể thực hiện rất nhanh và những thay đổi sau đó được thực hiện rất nhanh và ít tốn kém. e. Máy tính dựa trên FPGA Một loại máy tính dựa trên FPGA có thể tái lập trình ngay trên FPGA. Các máy này có một bo mạch chứa các FPGA với các chân nối với các chíp lân cận giống như thông thường. ý tưởng là là một chương trình phần mềm có thể được “biên dịch” (sử dụng kỹ thuật tổng hợp mức cao, mức lôgic và mức sơ đồ bằng tay) vào ngay phần cứng. Phần cứng này sẽ được thực hiện bằng cách lập trình bo mạch FPGA. Phương pháp này có hai ưu điểm chính: một là không cần quá trình lấy lệnh như các bộ xử lý truyền thống vì phần cứng đã gộp cả lệnh. Kết quả là tốc độ có thể tăng lên hàng trăm lần. Hai là, môi trường tính toán có thể thực hiện song song mức cao, làm tăng tốc thêm nữa. f. Tái cấu hình thành phần trực tiếp FPGA cho phép có thể thay đổi theo mong muốn cấu trúc của một máy đang hoạt động. Một ví dụ là các thiết bị máy tính từ xa có thể thay đổi trực tiếp để khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho ứng dụng này là những FPGA có các chuyển mạch lập trình được. 1.3 Giới thiệu các loại thiết bị FPGA của hãng XILINX 1.3.1 Các loại thiết bị FPGA trên thị trường Trong nghành công nghiệp chế tạo IC đang phát triển và phạm vi ngày càng mở rộng, chỉ có một số hãng đi đầu và chiếm được thị trường trong việc cung cấp các sản phẩm FPGA. Trong đó phải kể đến ba hãng lớn là: Xilinx, Actel và Altera. Bảng 1.2. Tóm tắt kiến trúc một số loại FPGA trên thị trường Công ty Kiến trúc tổng quát Kiểu khối logic CN lập trình Xilinx Symmetrical Array Look-up Table Static RAM Actel Hierachical-PLD PLD Block EPROM Altera Row-based Multiplexers-Based Anti-fuse Plessey Sea-of-gates NAND-gate Static RAM Plus Hierachical-PLD PLD Block EPROM AMD Hierachical-PLD PLD Block EPROM QuyckLogic Symmetrical Array Multiplexers-Based Anti-fuse Algotronix Sea-of-gates Multiplexers-Based Gate Static RAM 1.3.2 Kiến trúc tổng quát FPGA của Xilinx Kiến trúc tổng quát của Xilinx được mô tả như hình vẽ. FPGA gồm một mảng hai chiều các khối lập trình được gọi là các khối logic CLBs (configurable Logic Block) với các kênh Routing (Routing chanel) ngang giữa các hàng Block và các kênh dọc giữa các cột Block. Các nguồn tài nguyên có thể lập trình được điều khiển bởi các SRAM cell. Xilinx gồm có các họ cơ bản là: XC2000, XC3000, XC4000,...Virtex-II, Spartan, Virtex II Pro, theo thứ tự tăng dần về công nghệ và linh hoạt lớn hơn. Hỡnh 1.7 Cấu trỳc tổng quỏt FPGA của Xilinx Logic Block Lập trình được Kênh routing dọc Kênh routimg ngang I/O Block Sau đây sẽ trình bày các thành phần cơ bản FPGA họ Virtex-II của Xilinx. 1.3.3 FPGA Virtex-II của Xilinx Kiến trúc Virtex-II được tối ưu hoá cho các thiết kế mật độ và tốc độ cao. Như biểu diễn trên hình vẽ, Virtex-II gồm các khối vào/ra (IOBs) và các khối logic cấu hình (CLBs). Các khối vào/ra khả trình cung cấp giao diện giữa các chân của vi mạch với các khối logic bên trong. Virtex-II sử dụng công nghệ hiện đại nhất FPGA. Mật độ tích hợp từ 40k8M cổng hệ thống, tần số xung nhịp bên trong lên đến 420 MHz trong truyền dữ liệu đạt 840Mb/s. Phân cấp bộ nhớ RAM lựa chọn (Select RAM). Chức năng số học gồm khối nhân 18 bit 18 bit chuyên dụng. Tài nguyên logic mềm dẻo gồm hơn 93 thanh ghi nội bộ, 184 bộ chốt, 93184 bảng tìm kiếm (LUT) hay dãy thanh ghi dịch 16 bit và bus nội bộ 3 trạng thái. Mạch điều khiển đồng bộ xụng nhịp lên đến 12 Module điều khiển đồng bộ xung nhịp số (DCM), bộ đệm phân bố xung nhịp toàn bộ thiết bị. Công nghệ kết nối linh hoạt được tích hợp VHDL và Verilog, có thể tạo lại cấu hình từng phần. Hình1.8: Kiến trúc chung của Virtex-II Đặc trưng cấu tạo các thành phần trong họ Virtex-II FPGA được tóm tắt trong bảng sau: Bảng 1.3 Tóm tắt về thiết bị Virtex-II. Thiết bị Cổng hệ thống CLB (1CLB=4slices=max128bit) Số bộ nhân Khối SelectRAM DCM Chân vào ra lớn nhất Ma trận hàng cột Slices Max của RAM phân bố Khối 18Kbit Max RAM (Kbit) XC2V40 40K 88 256 8 4 4 72 4 88 XC2V80 80K 168 512 16 8 8 144 4 120 XC2V250 250K 2416 1.526 48 24 24 132 8 200 XC2V500 500K 3224 3.072 96 32 32 576 8 264 XC2V1000 1M 4032 5.120 160 40 40 720 8 432 XC2V1500 1.5M 4840 7.680 240 48 48 864 8 528 XC2V2000 2M 5648 10.572 336 56 56 1.008 8 624 XC2V3000 3M 6458 14.336 448 96 96 1.728 12 720 XC2V4000 4M 8072 23.040 720 120 120 2.160 12 912 XC2V6000 6M 9688 33.792 1.056 144 144 2.592 12 1.104 XC2V8000 8M 112104 46.592 1.456 168 168 3.024 12 1.108 1.3.3.1 Khối vào/ra (IOBs) Switch Matrix IOB PAD4 IOB PAD3 IOB PAD2 IOB PAD1 Dilferential Pair Dilferential Pair Hỡnh 1.9 Khối vào/ra (IOB) của Virtex-II Các khối vào/ra của Virtex-II được thực hiện trong những nhóm hai hay bốn trên chu vi bao quanh thiết bị. Mỗi khối vào/ra có thể được sử dụng như là đầu vào hoặc/và đầu ra. Hai khối có thể được sử dụng như một cặp vi sai. Mỗi cặp luôn được kết nối tới ma trận chuyển mạch như được thể hiện trên hình 1.9. Mỗi khối IOB gồm sáu phần tử nhớ được mô tả trong hình 1.10: Hình 1.10 Khối IOB của Virtex-II Mỗi phần tử nhớ được cấu tạo từ Flip-flop DSP lật theo sườn dương hay theo mức. ở đầu vào, đầu ra và đường 3 trạng thái có sử dụng một hay hai thanh ghi DDR. CLOCK D11 O1 CLkK1 D2 O2 CLkK1 DDR MUX FDDR D111 O1 CLkK1 D2 O2 CLkK1 DDR MUX FDDR DCM Hỡnh 1.11 Thanh ghi DDR Tốc độ dữ liệu kép (DDR) đạt được do hai thanh ghi trên mỗi nhánh được CLOCK D11 O1 CLkK1 D2 O2 CLkK1 DDR MUX FDDR D111 O1 CLkK1 D2 O2 CLkK1 DDR MUX FDDR DCM Hỡnh 1.11 Thanh ghi DDR điểm nhịp bởi sườn lên (hay sườn xuống) của các đồng hồ khác nhau. Hai tín hiệu đồng hồ được phát ra bởi DCM và phải được đảo pha như thể hiện trong hình 1.10. Có hai đầu vào, đầu ra và các tín hiệu 3 trạng thái, mỗi tín hiệu được luân phiên điểm nhịp. Trong một đường truyền xung nhịp thì có độ giữ chậm đồng nhất. Mỗi nhóm thanh ghi có tín hiệu cho phép xung nhịp (ICE cho thanh ghi đầu vào, OCE cho thanh ghi đầu ra và TCE cho thanh ghi ba trạng thái). Tín hiệu cho phép xung nhịp mặc định có mức tích cực cao. Nếu bên trái không được kết nối, cho phép xung nhịp cho phần tử nhớ mặc định ở mức tích cực. Mỗi khối vào/ra IOB có thể thiết lập hay reset đồng bộ hay không đồng bộ (tín hiệu SR và REV). Tín hiệu SR đưa phần tử nhớ vào trạng thái quy định bởi SRHIGHT hay SRLOW. SRHIGHT đưa phần tử vào logic “1”, SRLOW đưa vào trạng thái “0”. Khi SR được sử dụng, tín hiệu vào thứ hai (REV) đưa phần tử nhớ vào trạng thái ngược lại. Điều kiện RESET ưu tiên hơn điều kiện thiết lập. Trạng thái ban đầu được xác định bởi các thuộc tính riêng INIT0, INIT1. Mặc định, SRLOW bắt buộc thuộc tính INIT0 và SRHIGHT bắt buộc thuộc tính INIT1. Đối với mỗi phần tử nhớ, các thuộc tính SRHIGHT, SRLOW, INIT0, INIT1 độc lập. FF LATCH D1 Q1 CE CLK1 SR REW FF LATCH D2 Q2 CE CLK2 SR REW FF1 DDR MUX FF2 INT1 INT0 SRHIGHT SRLOW 1 CLK2 1 REV SR CLK1 CE OQ or TQ Hình 1.12 Cấu hình của thanh ghi/chốt trong khối (IOB) Các tuỳ chọn vào/ra. Đầu vào: Đầu vào của khối IOB của Virtex-II là đường truyền tín hiệu vào trực tiếp hoặc thông qua lựa chọn đầu vào Flip-Flop hay chốt, hay thông qua thanh ghi đầu vào DDR. Lựa chọn phần tử giữ chậm trên đầu vào D của phần tử cất giữ để loại bỏ thời gian giữ chậm từ đệm đến đệm (pad-to-pad). Giữ chậm đối xứng bên trong phân bố xung nhịp của thiết bị Virtex-II, và khi được sử dụng thời gian giữ chậm từ đệm tới đệm bằng không. Đầu ra: Đường đầu ra gồm bộ đệm ba trạng thái điều khiển đường đưa vào đệm. Đầu ra và/hoặc tín hiệu ba trạng thái có thể được truyền dẫn trực tiếp từ khối logic bên trong hoặc từ Flip-Flop (chốt) đầu ra (hay Flip-Flop (chốt) đệm ba trạng thái) thông qua thanh ghi đầu ra DDR hay thanh ghi ba trạng thái. Mỗi đầu ra được điều khiển bằng chương trình lập trình riêng một phạm vi độ rộng của chuẩn điện áp tín hiệu thấp. 1.3.3.2 Cấu hình khối logic (CLB) Cấu hình khối logic của Virtex-II được sắp xếp thành một mảng và được Hỡnh 1.13 Phần tử CLB của Virtex II TBUF X0Y1 SHIFT COUT COUT CIN CIN Switch Matrix Slice X1Y1 Slice X1Y0 Slice X0Y1 Slice X0Y0 TBUF X0Y1 Fast Connects To neighbors sử dụng để xây dựng nên tổ hợp và thiết kế logic đồng bộ. Mỗi phần tử CLB được nối tới các ma trận chuyển mạch để truy cập tới ma trận đường dẫn chung. Một phần tử CLB gồm 4 mảnh (Slices) giống nhau với vị trí phản hồi nhanh trong CLB. Bốn mảnh phân thành hai cột (mỗi cột hai mảnh) với hai dãy cờ logic độc lập. a. Cấu trúc của Slice ORCY MUX Fx LUT G SRL 16 RAM 16 LUT F SRL 16 RAM 16 Register Register CY CY MUX F5 Arithmetic Logic Hỡnh 1.14 Cấu trỳc Slice của Virtex II Mỗi slice gồm hai hàm thực hiện (Function generator) 4 đầu vào, cờ logic, các cổng logic số học, bộ dồn kênh rộng và hai phần tử cất giữ, được mô tả trên hình vẽ: Mỗi hàm tạo 4 đầu vào là khả trình như là LUT-4 đầu vào, 16 bit bộ nhớ lựa chọn RAM phân bố, thanh ghi dịch 16 bit. Đầu ra từ hàm thực hiện trong mỗi slice điều khiển cả hai đầu ra và đầu vào D của phần tử nhớ thể hiện trên hình sau. Hình 1.15 Chi tiết một Slice của Virtex-II b. Cấu hình Slice - Bảng dò tìm LUT (Lookup table) Hàm tạo thực hiện như bảng tìm kiếm (LUT) 4 đầu vào. 4 đầu vào độc lập cung cấp cho một trong hai hàm tạo năng trong một Slice (F và G). Hàm tạo có khả năng thực hiện được bất kỳ một hàm Boolean nào của bốn đầu vào. Tín hiệu từ hàm tạo có thể thoát ra khỏi Slice (đầu ra X hoặc Y), đưa tới đầu vào XOR hoặc đầu vào bộ dồn kênh, đầu vào D của phần tử nhớ hay đưa tới MUX 5, đầu vào cờ logic. Ngoài khối LUT cơ bản slice có thể kết hợp với các hàm tạo khác để tạo ra một hàm có 5, 6, 7, 8 hay 9 đầu vào, tuỳ theo cách kết hợp với các bộ dồn kênh. Thanh ghi chốt Phần tử cất nhớ trong slice của Virtex-II được cấu tạo từ Flip-Flop dạng DSP sườn dương hay chốt mức thay đổi. Đầu vào DSP có thể điều khiển trực tiếp bằng đầu ra X, Y thông qua đầu vào DX hay DY hoặc thông qua các đầu vào phụ của hàm tạo thông qua đầu vào BX, BY. Tín hiệu cho phép đồng bộ hoạt động ở trạng thái cao. Tài nguyên SelectRAM phân bố Mỗi hàm tạo có thể thực hiện như là một bộ tài nguyên RAM đồng bộ được gọi là phần tử SelectRAM phân bố. SelectRAM phân bố cấu trúc trong một CLB có dạng như sau. . Single-port 16 8 bit RAM . Single-port 32 4 bit RAM . Single-port 64 2 bit RAM . Single-port 128 1 bit RAM . Dual-port 16 4 bit RAM . Dual-port 32 2 bit RAM . Dual-port 64 1 bit RAM Với cấu trúc cổng đơn, bộ nhớ SelectRAM phân bố có một cổng địa chỉ đồng bộ đọc và một cổng địa chỉ đồng bộ ghi. Với cấu trúc cổng đôi, bộ nhớ SelectRAM phân bố có cổng đồng bộ ghi và các cổng đồng bộ đọc. Hàm tạo có các địa chỉ tách biệt A1, A2, A3, A4 và địa chỉ đầu vào ghi (WG1/WF1, WG2/WF2, WG3/WF3, WG4/WF4). Trong kiểu cổng đơn địa chỉ đọc ghi có bus địa chỉ giống nhau. Trong kiểu cổng đôi, một hàm tạo (cổng R/W) được kết nối với các địa chỉ đọc, ghi riêng biệt. Hàm tạo thứ hai có đầu vào A (đọc) được kết nối tới địa chỉ cổng chỉ đọc thứ hai và đầu vào W (ghi) tách biệt với địa chỉ cổng đọc/ghi. Thanh ghi dịch Mỗi hàm tạo có thể được cấu tạo như là thanh ghi dịch 16 bit. Thao tác ghi đồng bộ với CLK và tín hiệu lựa chọn CE, thông qua 4 bit địa chỉ, A(30). Ngoài ra có thể kết hợp với các bộ dồn kênh tạo ra các thanh ghi dịch nhiều bit hơn. Hình 1.16 Cấu trúc của thanh ghi dịch ( Optional ) SHIFT OUT Registered Output Output CLK CE (SR) D(BY) A[3:0] SHIFT IN SRLC 16 SHIFT - REG A[4:1] D MC 15 WS DI WSG WE CK D O - Các bộ dồn kênh Trong Virtex-II, hàm tạo kết hợp với bộ dồn kênh có thể thực hiện được: . 4:1 multiplexer trên một slice . 8:1 multiplexer trên hai slice . 16:1 multiplexer trên một CLB element (4 slices) . 32:1 multiplexer trên hai CLB elements (8 slices) Mỗi slice có một bộ dồn kênh MUXF5 và một MUXFX có thể là MUXF6, MUXF7, MUXF8. Mỗi CLB có 2 MUXF6, một MUXF7 và một MUXF8. Cách thực hiện nó thể hiện như hình vẽ. Slice S0 Slice S1 F5 F8 F G F5 F6 F G F5 F7 F G F5 F6 F G Slice S3 Slice S2 CLB Hỡnh 1.17 Cấu trỳc phõn kờnh - Tài nguyên khối SelectRAM 18 bit Thiết bị Virtex-II kết hợp một số lượng lớn khối SelectRAM 18 bit. Nó khác hẳn với cấu trúc RAM phân bố cung cấp số lượng phần tử nhớ lớn và nằm độc lập với khối CLB. Mỗi khối SelectRAM của Virtex-II là dạng cổng đôi 18 Kbit với hai hệ thống xung nhịp độc lập, các cổng điều khiển đồng bộ độc lập. Cấu trúc của SelectRAM có các giá trị thay đổi có thể là dạng cổng đơn hay cổng kép. . Cấu trúc kiểu cổng đơn: RAM cổng đơn, khối SelectRAM có thể truy cập tới 18 Kb vị trí bộ nhớ hay 2Kb 9 bit hoặc 512 36 bit và có thể là 16K 1 bit, 8K 2 bit hoặc 4K 4 bit. Thuận lợi của các độ rộng 9 bit, 18 bit, 36 bit là khả năng cất giữ các bit chẵn lẻ cho mỗi khối 8 bit. Bit chẵn lẻ có thể được tạo ra hoặc kiểm tra bên ngoài khi sử dụng khối logic. Mỗi khối ô SelectRAM là bộ nhớ đồng bộ đầy đủ mô tả trên hình. Độ rộng bus dữ liệuđầu vào và bus dữ liệu đầu ra được xác định. 18 Kbit Block Selec RAM DI DIP ADDR WI IN SSR DO CIK DOP Hình 1.18 khối SelectRAM kiểu cổng đơn . Cấu trúc kiểu cổng đôi: RAM cổng đôi, mỗi cổng của khối SelectRAM có thể truy cập tới 18 Kb bộ nhớ. Các cổng này đồng bộ đầy đủ có tín hiệu điều khiển độc lập cho mỗi cổng. Độ rộng bus dữ liệu của hai cổng này có cấu trúc độc lập. Khối Selec RAM 18Kbit DIA DIPA ADDRA WEA ENA DOA SSRA DOPA KLKA DIB DIPB ADDRB WEB ENA DOB SSRB DOPA KLKB Khối SelecRAM 18Kbit Bộ nhõn 18´ 18 Ma trận chuyển mạch Ma trận chuyển mạch Ma trận chuyển mạch Ma trận chuyển mạch Hình 1.19 Khối SelecRAM trong kiểu cổng đôi và kết hợp với khối nhân - Khối nhân 1818 bit Khối nhân của Virtex-II là khối nhân dấu mã bù hai 18 bit. Trong thiết bị Virtex-II có nhiều khối nhân độc lập hoặc kết hợp với SelectRAM khối 18 Kb. Mỗi bộ nhớ SelectRAM và khối nhân đưa trực tiếp tới ma trận chuyển mạch. Cấu trúc khối nhân 1818 bit là khối nhân dấu bù hai. Cả đầu vào A, B đều có độ rộng 18 bit và đầu ra là 36 bit. 1.3.3.3 Tài nguyên kết nối Tài nguyên kết nối tổng thể và địa phương của Virtex-II để tối ưu về tốc độ và có thể dự đoán được thời gian truyền và sẽ làm cho lõi IP dễ dàng thực hiện. Công nghệ kết nối kinh hoạt của Virtex-II có đầy đủ bộ đệm ma trận đường kết nối khả trình. Tất cả nguồn tài nguyên rất thuận lợi cho xử lý phân cấp. Đặc trưng logic liên kết CLBs, IOBs, RAM khối, bộ nhân, và DCMs, tất cả được kết nối tới ma trận chuyển mạch để truy cập tới tài nguyên kết nối toàn bộ. Switch Matrix CLB Switch Matrix IOB Switch Matrix DCM Switch Matrix Switch Matrix Switch Matrix Switch Matrix 18Kb BRAM MULT 18´18 Hình 1.20 Tài nguyên kết nối 1.4 Bo mạch phát triển XtremeDSP Development Kit II XtremeDSP Development Kit II là bo mạch phát triển của Virtex-II và cung cấp một hệ thống thực để phát triển các ứng dụng cụ thể. XtremeDSP Development Kit II chứa 2 board mạch BenONE và BenADDA bao gồm 3 FPGA Xilinx- Hai FPGA người dùng Virtex-II (User FPGA) và 1 FPGA Spartan-II . Hai kênh chấp hành cao ADCs và DACs cũng là lý tưởng cho các ứng dụng xử lý tín hiệu số hiệu năng cao như xử lý tín hiệu vô tuyến, mạng không dây 3G, truyền hình số mặt đất, xử lý hình ảnh, và cũng nhờ có kênh ADC và DAC mà có thể xây dựng các hệ xử lý tín hiệu số một cách hoàn chỉnh với các dữ liệu vào/ra từ máy tính. Hình 1.22 Bo mạch XtremeDSP Development Kit II Bo mạch XtremeDSP Development Kit II gồm có một bo mạch mẹ (motherboard) và một bo mạch con (module) nằm trong một hộp độc lập. Bo mạch mẹ lý hiệu là “BenONE-Kit Motherboard” và module con ký hiệu là “BenADDA DIME-II Module”. BenONE-Kit Motherboad: - Chỉ hỗ trợ cho module BenADDA DIME-II - Giao tiếp PCI hay USB 3.3V/5V - Các đèn LEDs trạng thái - Các đầu cắm cấu hình JTAG - Sử dụng các đầu cắm kết nối trực tiếp để lập trình vào/ra cho FPGA. BenADDA DIME-II Module: - Dùng cho Virtex-II FPGA: XC2V3000-4FG676 - 2 kênh ADC độc lập: AD6644 ADC (14-bit với tần số 65 MSPS) - 2 kênh DAC độc lập: AD9772 DAC (14-bit với tần số trên 160MSPS) - Hỗ trợ đồng bộ ngoài, bộ dao động trên bo mạch. - Một dải của ZBT-SRAM (133MHz, 51216 bit) - Các đèn LED trạng thái. - Nhiều bộ định thời: trong và ngoài Ngoài ra còn có các hệ thống để kết nối bo mạch với máy tính, với thiết bị ngoài cũng như các hệ thống nguồn cho nó như: - Bộ nguồn ngoài có dải đầu vào rộng (90-240V), nhiều đầu ra: 5V@5A; 12V@2A; -12V@800mA. - Cáp tương thích USB 1.1 - 5 cáp MCX tới BNC để kết nối với ADC/DAC và kết nối với đồng hồ ngoài. - 2 jack BNC dùng trong cấu hình lặp hồi tiếp. XtremeDSP Development Kit II chứa 3 Xilinx FPGA gồm 2 FPGA người dùng Virtex-II (User FPGA) và 1 FPGA Spartan-II. Trong đó thiết bị Virtex-II dành cho người dùng để thiết kế, Spartan-II đã được định cấu hình trước với phần mềm hệ thống cho giao tiếp PCI/USB. Phần mềm hệ thống cho giao tiếp PCI/USB và các trình điều khiển mức thấp trừu tượng hoá giao tiếp PCI/USB từ kết quả người sử dụng trong một quá trình thiết kế đơn giản. Giao tiếp FPGA kết nối trực tiếp với người dùng FPGA lớn hơn (XC2V3000) thông qua một bus truyền thông sẵn có. Thiết bị Virtex-II XC2V3000-4FG676 dự định sử dụng phần chính cho người dùng thiết kế. Virtex-II XC2V80-4CS44 dự định sử dụng thiết bị định cấu hình đồng hồ cho toàn hệ thống thiết kế người dùng. 1.4.1 Kênh ADC Module BenADDA sử dụng trong XtremeDSP Development Kit-II có 2 kênh đầu vào tương tự, mỗi kênh cung cấp một dữ liệu độc lập và các tín hiệu điều khiển cho FPGA. Hai tập dữ liệu độ rộng 14-bit được dẫn từ 2 kênh ADC (AD6644). Hình 1.23 Giao tiếp ADC * Các đặc trưng của các bộ ADC trên board - Là ADC 14 bit, định dạng phần bù của 2 - Tần số lấy mẫu tín hiệu 65MSPS - Trở kháng đầu vào tương tự là 50 hoặc thay đổi trong một dải phổ biến - Có bộ lọc 3 bậc tại đầu vào tương tự (-3dB tại tần số 34.5MHz) - Đồng bộ các khối ADC với tần số khác nhau được Hình 1.24 Cấu trúc ADC ngoài (AD6644) Bo mạch có 5 lỗ cắm kết nối dạng MCX cho phép giao tiếp qua lại. Tất cả các tín hiệu vào/ra tương tự được dẫn theo 4 kết nối MCX trên module. Lỗ kết nối thứ 5 cung cấp một nguồn đầu vào cho xung đồng bộ ngoài. Hình 1.25 Các lỗ kết nối MCX 1.4.2 Kênh DAC Module BenADDA sử dụng trong XtremeDSP Development Kit-II có 2 kênh đầu ra tương tự, mỗi kênh cung cấp một dữ liệu độc lập và các tín hiệu điều khiển cho FPGA. Hai tập dữ liệu độ rộng 14-bit được dẫn từ 2 kênh DAC (AD9772A). Thiết bị DAC cho phép trong dải 14 bit và tốc độ chuyển đổi lớn nhất là 160MSPS. Ngoài ra còn bổ sung thêm các tín hiệu điều khiển lối vào giữa DAC và FPGA để cho phép điều khiển hoàn toàn các chức năng DAC. Hình 1.26 Giao tiếp DAC * Các đặc trưng kỹ thuật: - Là thiết bị DAC 14 bit có tần số là 160MSPS - Các đầu vào LVPECL từ FPGA đồng hồ XC2V80 - Đặc trưng thiết bị phân kênh PLL bên trong - Trở kháng đầu cuối 50 thông qua giao tiếp MCX như giao tiếp chuẩn Kiến trúc DAC: Hình 1.27 Cấu trúc DAC 9772A 1.4.3 Bộ nhớ ZBT SRAM Bo mạch cung cấp 2 thiết bị ZBT SRAM thiết lập như một dải đơn 512K16. Bộ nhớ này cung cấp khả năng lưu giữ trên bo mạch giao tiếp với bus dữ liệu 16-bit. Đặc điểm chính của bộ nhớ ZBT gồm: - Chu kỳ xử lý nhanh: 6ns, 7.5ns và 10ns. - 100% đường dữ liệu được sử dụng. - Thuận tiện trong giao tiếp với tín hiệu nhỏ. - Cổng điều khiển R/W đơn. - Bộ điều khiển đồng bộ và thanh ghi địa chỉ, dữ liệu vào/ra và các tín hiệu điều khiển. - Các đầu vào/ra dữ liệu chung. Hình 1.28 Giao tiếp ZBT SRAM 1.4.4 Reset Sơ đồ cấu hình Reset Hình 1.29 Sơ đồ cấu hình Reset Sự reset FPGA Virtex-II được điều khiển từ FPGA giao tiếp thông qua FUSE. Tất cả các tín hiệu reset đều kích hoạt ở mức thấp. Tất cả trong chúng đều thực hiện với thiết kế FPGA. 1.4.5 Cấu trúc BUS Có một số kênh sử dụng trong XtremeDSP Development Kit-II để giao tiếp với máy chủ cũng như để người dùng định nghĩa. Bo mạch sử dụng một phần chính FPGA đơn, do vậy hầu hết các bus người dùng định nghĩa được mang ra biên ngoài. Có hai dạng bus: Adjacent In và Adjacent Out. Các bus này được thiết kế để dễ dàng sử dụng kiến trúc đường ống trên đa số các hệ thống DIME-II module, nơi mà kết quả xử lý trên DIME-II module có thể phù hợp với các module tiếp theo trong quá trình xử lý. Mặc dù các bus Adjacent được định nghĩa như “Adjacent In” và “Adjacent Out” nhưng chúng được kết nối tới vào/ra hai chiều trên FPGA. ` Hình 1.30 Sơ đồ chức năng của Bus 1.4.6 LEDs XtremeDSP Development Kit II có một số LED cho phép kiểm tra sự hoạt động và trạng thái của bo mạch. Các LED này đều có 3 màu, cho thiết kế người dùng và cho kiểm tra trạng thái hệ thống như các như các giao tiếp cấu hình và giao tiếp nguồn. 1.4.7 Đồng bộ toàn hệ thống XtremeDSP Development Kit II có một hệ thống điều khiển đồng hồ hệ thống thông minh và linh hoạt. Các đặc điểm đó bao gồm: - Một nguồn dao động 65 MHz trên module chính để cung cấp một sự đồng bộ hệ thống biến động thấp cho các thiết bị tương tự. - Một đầu vào đồng bộ ngoài thông qua một đầu kết nối MCX. - Hai nguồn đồng bộ có thể lập trình bằng phần mềm trên bo mạch để có thể tạo ra các tần số khác nhau. Điều này cung cấp 2 đồng hồ hệ thống đa dụng cho người dùng thiết kế. - Một lỗ cắm bộ dao động điểm cố định trên bo mạch. Chú ý rằng không có bộ dao động nào được cung cấp và lỗ cắm này cho phép sử dụng các bộ dao động đặc biệt trong các ứng dụng người dùng. Module BenADDA có thể sử dụng 3 đồng hồ hệ thống cung cấp từ bo mạch mẹ cho người dùng FPGA (User FPGA). Đó là CLKA, CLKB, và CLKC. Các tín hiệu đồng hồ này được tạo ra trên DIME-II bo mạch mẹ và kết nối vào trong module nơi mà BenADDA được đặt. Những đồng hồ này có thể được điều khiển bởi người sử dụng và được nối tới các cổng đồng hồ toàn cục (Global Clock) để tạo ra một sự linh hoạt nhất cho người dùng FPGA. Tuy nhiên, cần chú ý rằng chức năng của các đồng hồ DIME-II được xác định bởi bo mạch mẹ. Khi module BenADDA phù hợp với bo mạch mẹ BenONE, như trong XtremeDSP Development Kit-II, các đồng hồ DIME-II có sẵn là: - CLKA: Bộ dao động được lập trình sẵn trên BenONE. - CLKB: Bộ dao động được lập trình sẵn trên BenONE. - CLKC: Kết nối tới một khe cắm để cung cấp một bộ dao động tinh thể. Hãy chú ý rằng không có bộ dao động nào được cung cấp và tuỳ chọn này trên bo mạch BenONE cho phép người dùng thử cho bộ tinh thể đặc biệt. Hình 1.31 Các thành phần đồng hồ trên bo mạch Hình 1.32 Sơ đồ cấu trúc đồng hồ cho toàn bo mạch Ngoài ra XtremeDSP Development Kit-II còn có nhiều các đặc trưng phần cứng khác nữa, trong nội dung đồ án chưa đi sâu nghiên cứu hết tất cả các thành phần của nó mà chỉ nêu một số thành phần chính. Kết luận chương 1 Chương 1 đã tập trung trình bày về công nghệ FPGA và các mạch phần cứng được xây dựng trên công nghệ FPGA. Trình bày các giai đoạn phát triển của thiết bị khả trình, các công nghệ lập trình FPGA và các ứng dụng của nó. Trong chương này cũng đi sâu phân tích cấu tạo các phần tử chính của vi mạch FPGA Virtex-II của Xilinx. Đây là vi mạch sử dụng công cụ hiện đại nhất của FPGA, sử dụng công nghệ SRAM, trong đó cấu hình PLIC được lưu giữ trong bộ nhớ động bên trong, còn việc khởi tạo được thực hiện từ vùng nhớ ngoài. Các FPGA này của Xilinx có cấu trúc linh hoạt cao và dư thừa các Trigger trong tinh thể. Hệ Logic được thực tế hoá theo phương thức bảng LUT (Look Up Table), còn các đường kết nối bên trong được thực hiện theo kiến trúc phân nhánh đường dẫn kim loại được đóng mạch nhờ các Transistor tác động nhanh, mật độ tích hợp từ 40K80M cổng hệ thống, tần số xung nhịp bên trong lên đến 420MHz, trong truyền dữ liệu đạt 840Mb/s. Bộ nhớ RAM lựa chọn (SelecRAM), chức năng số học gồm khối nhân 18 bit 18 bit chuyên dụng, tài nguyên logic mềm dẻo, với công nghệ kết nối linh hoạt. Chương này cũng trình bày các đặc điểm phần cứng, đặc tính kỹ thuật của các thành phần chính trong bo mạch phát triển của Virtex-II là XtremeDSP Development Kit-II. Có thể nói FPGA là loại thiết bị khả trình tiên tiến nhất hiện nay của nghành công nghệ chế tạo IC chuyên biệt mà người ta vẫn gọi là ASIC.

Các file đính kèm theo tài liệu này:

  • docChuong1 Tongquan ve FPGA.doc
Tài liệu liên quan