1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổng quan về công nghệ FPGA

52 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 2,95 MB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN TỬ Mục lục Mục lục Chươ g : Tổng quan công nghệ FPGA I Cấu trúc c a FPGA Cấu trúc tổng thể c a FPGA bao gồm: .4 - Các khối Logic - Hệ thống liên kết mạch - Các phần tử tích hợp sẵn 1.1 Các khối logic cấu hình (configurable logic Block) 1.2 Các nguồn kết nối (Router) II Phân loại FPGA 2.1 Các công nghệ lập trình FPGA 2.2 Công nghệ lập trình dùng RAM tĩnh 2.3 Các thiết bị lập trình cầu chì ngịch(Anti-fuse) 2.4 Cơng nghệ lập trình dùng EPROM EEPROM III Ngôn ngữ mô tả phần c ng (HDL) 10 3.1 Các ưu điểm c a VHDL 11 3.2 Cấu trúc mô hình hệ thống sử dụng ngơn ngữ VHDL 11 Chươ g : Tì hiểu Board DE2 Altera 12 I Giới thiệu 12 II Thành phần 13 III Cách hoạt động .15 3.1 Cấu hình FPGA chế độ JTGA 16 3.2 Cấu hình FPGA chế độ AS 16 3.3 Điều khiển DE2 sử dụng liên kết Terasic 17 3.4 Ngõ XSGA .17 3.5 24-bit Audio CODEC 19 3.6 Sử dụng LED công tắc .21 3.7 Sử dụng led đoạn module LCD 24 3.8 Sử dụng Headers mở rộng 28 3.9 Sử dụng Cổng nối tiếp (RS232) 29 3.10 Sử dụng Cổng nối tiếp (PS/2) .30 3.11 Sử dụng Fast Ethernet Netword Controller 30 3.12 Bộ giải mã TV 32 3.13 Thực mã hóa TV 34 3.14 Sử dụng USB Host/Device .35 3.15 Sử dụng cổng hồng ngoại 36 3.16 Sử dụng Using SDRAM/SRAM/Flash .37 IV Một vài ng dụng 42 V Các phần mềm hỗ trợ 44 5.1 Giới thiệu 44 5.2 Thiết kế mạch 45 5.3 Cách th c mô hoạt động Quartus 51 Chương 1: Tổng quan công nghệ FPGA FPGA(field-programmable Gate Array) loại IC cho phép ng i thiết kế lập trình thay đổi thiết kế c a FPGA xuất nh giải pháp cho vấn đề tranh th th i gian để đ a thị tr ng r i ro tài phải gánh chịu q trình nghiên c u sản phẩm c a công nghệ điện tử FPGA loại thiết bị khả trình (PLD) tiên tiến c a ngành công nghệ chế tạo IC chuyên biệt mà đ ợc gọi ASIC I Cấu trúc FPGA Cấu trúc tổng thể c a FPGA bao gồm: - Các khối Logic Hệ thống liên kết mạch Các phần tử tích hợp sẵn FPGA mạch tích hợp ch a nhiều (64 đến 10.000) logic (logic cell) giống xem thành phần chuẩn Mỗi ô logic giữ hay số ch c độc lập Các ô giống đ ợc kết nối b i ma trận đ ng dẫn chuyển mạch khả trình Ng i thực thiết kế đặc tr ng logic đơn c a lựa chọn đóng chuyển mạch ma trận kết nối Mảng c a ô logic kiểu kết nối kết cấu xây dựng khối mạch logic Các thiết kế ph c tạp đ ợc tạo cách kết hợp khối để tạo mạch đ ợc mơ tả Mơ hình tổng qt c a FPGA gồm dãy hai chiều khối logic (logic block) đ ợc kết nối nguồn kết nối chung Các nguồn kết nối (segment) có chiều dài khác Bên kết nối chuyển mạch lập trình đ ợc dùng để nối khối logic cấu hình (configurable logic Block) cần thiết qua chuyển mạch Các khối CLB cung cấp phần tử ch c 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 gói chân đ ng tín hiệu bên Tài ngun kết nối khả trình cung cấp phận truyền dẫn tới kết nối đầu vào đầu c a CLB IOB mạng riêng Vậy cấu trúc FPGA gồm phần tử chính: - Các khối logic cấu hình (CLB) - Các khối vào/ra (IOB) - Các kết nối 1.1 Các khối logic cấu hình (configurable logic Block) Cấu trúc nội dung c a logic block đ ợc gọi theo kiến trúc c a Kiến trúc c a khối logic thiết kế theo nhiều cách khác nhau, cổng AND ngõ nhập, dồn kênh (Multiplexer) hay bảng tìm kiếm (Look-up Table) Ngồi ch a flip-flop để hỗ trợ cho việc thực cách 1.2 Các nguồn kết nối (Router) Các nguồn kết nối có cấu trúc nội dung đ ợc gọi kiến trúc đ ng (Routing Architecture) Kiến trúc Routing gồm đoạn dây nối chuyển mạch khả trình Các chuyển mạch khả trình có cấu tạo khác nh pass-transistor, đ ợc điều khiển b i cell SRAM, phần tử cầu chì nghịch, EPROM transitor EEPROM transistor Giống nh khối logic có nhiều cách khác để thiết kế routing Một số FPGA cung cấp nhiều kết nối đơn giản khối logic, số khác cung cấp kết nối nên routing ph c tạp II Phân loại FPGA FPGA có nhiều loại khác có cấu trúc đặc tính riêng thùy theo hãng sản xuất , nhiên chúng có loại cí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 hang (Row base) cấu trúc đa cổng (sea of gage) mô tả d ới 2.1 Các cơng nghệ lập trình FPGA Có nhiều cách thực phần tử lập trình, cơng nghệ lập trình sử dụng là: RAM tĩnh, cầu chì nghịch (anti-fuse), EPROM transistor EEPROM transistor Mặc dù cơng nghệ lập trình khác nhau, tất phần tử lập trình cấu hình đ ợc trong hai trạng thái ON OFF Các phần tử lập trình đ ợc dùng để thực hiên kết nối lập trình đ ợc FPGA, cịn FPGA thơng th ng có 100.000 phần tử lập trình Vì phần tử lập trình phải có tính chất sau: - Càng chiếm diện tích c a chip tốt - Có tr kháng thấp trạng thái ON tr kháng cao trạng thái OFF - Có điện dung kí sinh thấp kết nối đoạn dây - Có thể chế tạo cách tin cậy số l ợng lớn phần tử lập trình chip Có thể tùy thuộc vào ng dụng cụ thể có số l ợng phẩn tử lập trình có đặc tính khác Về mặt chế tạo, phần tử lập trình chế tạo theo công nghệ CMOS chuẩn tốt D ới trình bày chi tiết cơng nghệ FPGA 2.2 Cơng nghệ lập trình dùng RAM tĩnh 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 transistor khác chip bật (On) transistor truyền dẫn nh cổng transistor để tạo nên kết nối hay tắt (Off) để ngắt kết nối Trong tr ng hợp transistor truyền dẫn cổng transistor nh hình trên, phần tử RAM Cell điều khiển cổng truyền bật tắt Khi tắt hai dây nối với cổng truyền dẫn có tr kháng cao Khi bật tạo tr kháng thấp kết nối hai dây nối Đối với dồn kênh, SRAM Cell điều khiển ngõ nhập c a dồn kênh đ ợc nối với ngõ c a Cách th ng dùng để kết nối tùy chọn từ hay nhiều ngõ nhập c a khối Trong FPGA sử dụng cơng nghệ lập trình SRAM, khối logic kết hợp với qua cách kết hợp dồn kênh (mutiplexer) cổng truyền dẫn(pas-gate) Vì SRAM nhớ bay hơi, FPGA phải đ ợc tái cấu hình cấp nguồn cho chip Điều có nghĩa hệ thống sử dụng chip phải có chế l u trữ th ng trực cho bit c a RAM Cell, chẳng hạn nh ROM hay từ đĩa từ Các bit c a RAM Cell đ ợc nạp vào FPGA cách hay định địa nh phần tử c a mảng (theo cách thông th ng c a RAM) Các chip đ ợc thực theo cơng nghệ SRAM có diện tích lớn, b i cần transistor cho RAM Cell nh transistor cần thêm cho cổng truyền dẫn hay dồn kênh u điểm c a kỹ thuật cho phép FPGA đ ợc tái cấu hình mạch nhanh đ ợc chế tạo cơng nghệ CMOS chuẩn 2.3 Các thiết bị lập trình cầu chì ngịch(Anti-fuse) Cơng nghệ lập trình anti-fuse đ ợc sử dụng FPGA c a Actel-Corp, Quick Logic Cross Point Solution Tuy anti-fuse đ ợc sử dụng loại FPGA có cấu tạo khác nhau, nh ng ch c c a chúng nh Một anti-fuse bình th ng trạng thái cao, nh ng bị nóng chảy thành trạng thái điện tr thấp đ ợc lập trình điện cao D ới giới thiệu anti-fuse c a Actel Quick Logic Anti-fuse c a Actel đ ợc gọi PLICE Nó cấu trúc hình chữ nhật gồm lớp: - Lớp d ới ch a silic mang nhiều điện tích d ơng(n+diffusion) - Lớp lớp điện môi(Oxy-Nito-Oxy cách điện) - Lớp Poly-Silic Anti-fuse PLICE đ ợc lập trình cách đặt điện cao thích hợp(18V) hai đầu c a anti-fuse dòng điều khiển khoảng 5mA qua thiết bị Dòng áp tạo nhiệt l ợng vừa đ bên lớp điện môi làm nóng chảy tạo liên kết dẫn điện điện cực Các transistor chịu đ ợc điện cao đ ợc chế tạo bên FPGA để đáp ng cho dòng điện áp đ lớn Cả hai lớp d ới c a cầu chì nghịch tạo liên kết nối có tr kháng thấp (300Ω đến 500Ω) hai dây kim loại Anti-fuse c a Quick Logic đ ợc gọi ViaLink Nó t ơng tự nh PLICE nh có ba lớp kim loại Tuy nhiên, ViaLink sử dụng kim loại m c cho lớp d ới Khi trạng thái không đ ợc lập trình, anti-fuse có tr kháng hang GΩ, nh ng lập trình tạo kết nối hai lớp kim loại tr kháng khoảng 80Ω Anti-fuse đ ợc chế tạo cách thêm ba mặt nạ đặt biệt quy trình chế tạo CMOS thơng th ng ViaLink anti-fuse đ ợc lập trình cách đặt điện 10V đầu c a nó, dịng đ ợc cấp đ , trạng thái c a Silic vơ định hình thay đổi tạo liên kết điện hai lớp kim loại Diện tích chip sử dụng kỹ thuật anti-fuse 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 transistor điện cao cần giữ cho dịng áp cao lúc lập trình Nh ợc điểm c a anti-fuse quy trình chế tạo chúng phải thay đổi so với quy trình chế tạo CMOS 2.4 Cơng nghệ lập trình dùng EPROM EEPROM Công nghệ đ ợc dùng FPGA c a Altera Corp Plus Logic Công nghệ giống nh sử dụng nhớ EPROM Không giống CMOS transistor đơn giản, EPROM transistor gồm hai cổng, cổng treo(floating-gate) cổng chọn (selectgate) Cổng đ ợc gọi khơng có kết nối điện đến mạch trạng thái bình th ng khơng đ ợc lập trình, khơng có điện tích cổng treo transistor chuyển sang trạng thái On cách bình th ng cổng chọn Khi transistor đ ợc lập trình dịng điện lớnchạy nguồn kênh, điện tích đ ợc giữ lại cổng treo(phơi d ới ánh sang tia cực tím kích hoạt electron chuyển từ cổng vào chất nên c a transistor) EPROM transistor đ ợc sử dụng FPGA theo cách khác so với SRAM antifuse thay dùng cho lập trình kết nối hai dây, EPROM transistor đ ợc sử dụng để kéo xuống ngõ nhập c a logic-block Nh hình vẽ 1.6, đ ng dây gọi “word line’’ (theo thuật ngữ nhớ) đ ợc nối với cổng chọn c a EPROM transistor, transistor ch a lập trình trạng thái ON “Word line” làm cho “bit line” khơng đ ợc nối với ngõ nhập c a logic-block bị kéo m c logic Nhiều EPROM transistor thực kết nối bit line, điện the nối lên nguồn nối với bit line, mơ hình khơng cho EPROM transistor thực kết nối mà thực ch c logic AND nối dây (wired-AND) Nh ợc điểm c a ph ơng pháp điện tr tiêu tốn l ợng cố định Một u điểm c a EPROM transistor chúng tái lập trình mà khơng cần nhớ bên ngồi Tuy nhiên, khơng giống SRAM, EPROM khơng thể đ ợc tái lập trình bo mạch Ph ơng pháp dùng EEPROM (đ ợc sử dụng FPGA c a Advanced Micro Device-AND) t ơng tự nh công nghệ EPROM, ngoại trừ EEPROM transisitor chiếm gấp đơi điện tích so với EPROM transistor cần nhiều nguồn điện (để tái lập trình) mà loại khác không cần Các công nghệ lập trình FPGA đ ợc tóm tắt bảng d ới đây: Cơng nghệ lập trình Static RAM Cell PLICE Anti-fuse Tính bay Có thể lập trình Có Trong mạch Khơng Khơng ViaLink Khơng Ngồi mạch EPROM Khơng EEPROM Khơng Ngồi mạch Trong mạch Diện chip Lớn tích R(KΩ) C(pf) 1-2 10-20 Anti-fuse nhỏ Số transistor lớn Anti-fuse nhỏ Số transistor lớn Nhỏ 300-500 3-5 50-80 1-3 2-4 10-20 2xEPROM 2-4 10-20 III Ngôn ngữ mô tả phần cứng (HDL) Ngôn ngữ mô tả phần c ng (HDL) ngôn ngữ lập trình phần mềm dùng đề mơ hình hoạt động mong muốn c a phần c ng Có hai khía cạnh mà HDL tạo điều kiện để mơ tả phần c ng: mơ hình hành vi trừu t ợng mơ hình cấu trúc phần c ng Mơ hình hành vi trựu t ợng Ngôn ngữ mô tả phần c ng tạp điều kiện dễ dàng cho việc mô tả trừu t ợng hành vi c a phần c ng mục đích đặc tả (chỉ rõ chi tiết kỹ thuật) Hành vi không bị chi phối b i khía cạnh cấu trúc hoạc thiết kế c a ý định phần c ng Mô tả cấu trúc phần c ng Cấu trúc phần c ng có khả đ ợc mơ hình ngơn ngữ mô tả phần c ng mà không cần quan tâm đến hành vi thiết kế VHDL đ ợc xem nh kết hợp c a ngôn ngữ sau: ngôn ngữ + ngôn ngữ đồng th i + netlist + định th i + mô Do cấu trúc VHDL cho phép thể cách th c thực theo kiểu song song hay c a hệ thống số có hoạc khơng có timing Nó cho phép vẽ mơ hình hệ thống liên kết nối c a thành phần VHDL đ ợc dành cho tổng hợp mạch (synthesis) nh mơ mạch (simulation) Dù VHDL mô cách đầy đ , nh ng tất cấu trúc đ ợc VHDL tổng hợp IV Một vài ứng dụng - ng dụng làm TV box - Chương trình vẽ chuột USB (paintbrush) - Máy hát Karaoke máy chơi nahcj SD V Các phần mềm hỗ trợ Máy tính phải cài đặt Quartus II để sử dụng board DE2 5.1 Giới thiệu Quartus II công cụ phần mềm phát triển c a hãng Altera, cung cấp môi tr ng thiết kế toàn diện cho thiết kế SOPC (hệ thống chip khả trình - system on a programmable chip) Đây phần mềm đóng gói tích hợp đầy đ phục vụ cho thiết kế logic với linh kiện logic khả trình PLD c a Altera, gồm dòng APEX, Cyclone, FLEX, MAX, Stratix Quartus cung cấp khả thiết kế logic sau: - Môi tr ng thiết kế gồm vẽ, sơ đồ khối, công cụ soạn thảo ngôn ngữ: AHDL, VHDL, Verilog HDL - Thiết kế LogicLock - Là công cụ mạnh để tổng hợp logic - Khả mô ch c th i gian - Phân tích th i gian - Phân tích logic nhúng với cơng cụ phân tích SignalTap@ II - Cho phép xuất, tạo kết nối file nguồn để tạo file ch ơng trình - Tự động định vị lỗi - Khả lập trình nhận diện linh kiện - Phần mềm Quartus II sử dụng tích hợp NativeLink@ với cơng cụ thiết kế cung cấp việc truyền thông tin liền mạch Quartus với công cụ thiết kế phần c ng EDA khác - Quartus II đọc file mạch (netlist) EDIF chuẩn, VHDL Verilog HDL nh tạo file netlist - Quartus II có môi tr ng thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên dịch, sốt lỗi, mơ Với Quartus kết hợp nhiều kiểu file dự án thiết kế phân cấp Có thể dùng công cụ tạo sơ đồ khối (Quartus Block Editor) để tạo sơ đồ khối mô tả thiết kế m c cao, sau dùng sơ đồ khối khác, vẽ nh : AHDL Text Design Files (.tdf), EDIF Input Files (.edf), VHDL Design Files (.vhd), and Verilog HDL Design Files (.v) để tạo thành phần thiết kế m c thấp Quartus II cho phép làm việc với nhiều file th i điểm, soạn thảo file thiết kế biên dịch hay chạy mô dự án khác Công cụ biên dịch Quartus II nằm trung tâm hệ thống, cung cấp quy trình thiết kế mạnh cho phép tùy biến để đạt đ ợc thiết kế tối u dự án Công cụ định vị lỗi tự động tin cảnh báo khiến việc phát sửa lỗi tr nên đơn giản Sau cài Quartus II, giao diện nh hình vẽ: 5.2 Thiết kế mạch Mạch điện Quartus đ ợc thiết kế theo cách sau: 5.2.1 Sơ đồ khối (Block Diagram) Trong cách mô tả này, mạch điện tạo nên từ cổng logic r i rạc, hay hàm gồm nhiều cổng logic tích hợp (megafunctions) Để vẽ mạch theo cách này, nhấn New, chọn tab Device Design Files, chọn Block Diagram/ Schematic File, hiện: Nhấn chọn Symbol Tool để cổng logic hay hàm Megafuntions: Khi đư chọn xong cổng logic hay hàm dùng cơng cụ nối dây để vẽ mạch hoàn chỉnh 5.2.2 Các file thiết kế Nhấn New, chọn tab Device Design Files, chọn Verilog HDL (hay VHDL hay AHDL) Với cách này, mạch điện đ ợc mô tả b i đoạn mã thể đầu vào đầu c a khối mạch nh cách xử c a chúng Trong luận án này, lấy ví dụ thiết kế mạch đếm bit dùng Verilog HDL file Tạo file mới: Từ giao diện c a Altera Quartus chọn File/New Project Wizard Hiện: Nhấn Next/Next để bảng Thiết lập linh kiện (Family & Device Settings), chọn linh kiện FPGA mà ta dùng, nhấn Finish Lúc này, ta có đ ợc Project Thêm file Thiết kế vào Project Nhấn File/New Để tạo file thiết kế cho Dự án, ta dùng sơ đồ khối (nhấn Block Diagram/Schematic File) hay dùng ngôn ngữ mô tả phần c ng nh : AHDL, Verilog HDL hay VHDL dùng kiểu EDIF đây, để chọn dùng ngôn ngữ Verilog HDL - Bộ đếm nhị phân bit: Một đếm nhị phân bít gồm đầu vào: đầu vào xung đếm (clock), đầu vào xóa đếm (clear) đầu nhị phân Q0, Q1, Q2, Q Đoạn mư dùng Verilog để mô tả đếm nh sau

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN TỬ Mục lục Mục lục Chươ g : Tổng quan công nghệ FPGA I Cấu trúc c a FPGA Cấu trúc tổng thể c a FPGA bao gồm: .4 - Các khối Logic - Hệ thống liên kết mạch - Các phần tử tích hợp sẵn 1.1 Các khối logic cấu hình (configurable logic Block) 1.2 Các nguồn kết nối (Router) II Phân loại FPGA 2.1 Các công nghệ lập trình FPGA 2.2 Công nghệ lập trình dùng RAM tĩnh 2.3 Các thiết bị lập trình cầu chì ngịch(Anti-fuse) 2.4 Cơng nghệ lập trình dùng EPROM EEPROM III Ngôn ngữ mô tả phần c ng (HDL) 10 3.1 Các ưu điểm c a VHDL 11 3.2 Cấu trúc mô hình hệ thống sử dụng ngơn ngữ VHDL 11 Chươ g : Tì hiểu Board DE2 Altera 12 I Giới thiệu 12 II Thành phần 13 III Cách hoạt động .15 3.1 Cấu hình FPGA chế độ JTGA 16 3.2 Cấu hình FPGA chế độ AS 16 3.3 Điều khiển DE2 sử dụng liên kết Terasic 17 3.4 Ngõ XSGA .17 3.5 24-bit Audio CODEC 19 3.6 Sử dụng LED công tắc .21 3.7 Sử dụng led đoạn module LCD 24 3.8 Sử dụng Headers mở rộng 28 3.9 Sử dụng Cổng nối tiếp (RS232) 29 3.10 Sử dụng Cổng nối tiếp (PS/2) .30 3.11 Sử dụng Fast Ethernet Netword Controller 30 3.12 Bộ giải mã TV 32 3.13 Thực mã hóa TV 34 3.14 Sử dụng USB Host/Device .35 3.15 Sử dụng cổng hồng ngoại 36 3.16 Sử dụng Using SDRAM/SRAM/Flash .37 IV Một vài ng dụng 42 V Các phần mềm hỗ trợ 44 5.1 Giới thiệu 44 5.2 Thiết kế mạch 45 5.3 Cách th c mô hoạt động Quartus 51 Chương 1: Tổng quan công nghệ FPGA FPGA(field-programmable Gate Array) loại IC cho phép ng i thiết kế lập trình thay đổi thiết kế c a FPGA xuất nh giải pháp cho vấn đề tranh th th i gian để đ a thị tr ng r i ro tài phải gánh chịu q trình nghiên c u sản phẩm c a công nghệ điện tử FPGA loại thiết bị khả trình (PLD) tiên tiến c a ngành công nghệ chế tạo IC chuyên biệt mà đ ợc gọi ASIC I Cấu trúc FPGA Cấu trúc tổng thể c a FPGA bao gồm: - Các khối Logic Hệ thống liên kết mạch Các phần tử tích hợp sẵn FPGA mạch tích hợp ch a nhiều (64 đến 10.000) logic (logic cell) giống xem thành phần chuẩn Mỗi ô logic giữ hay số ch c độc lập Các ô giống đ ợc kết nối b i ma trận đ ng dẫn chuyển mạch khả trình Ng i thực thiết kế đặc tr ng logic đơn c a lựa chọn đóng chuyển mạch ma trận kết nối Mảng c a ô logic kiểu kết nối kết cấu xây dựng khối mạch logic Các thiết kế ph c tạp đ ợc tạo cách kết hợp khối để tạo mạch đ ợc mơ tả Mơ hình tổng qt c a FPGA gồm dãy hai chiều khối logic (logic block) đ ợc kết nối nguồn kết nối chung Các nguồn kết nối (segment) có chiều dài khác Bên kết nối chuyển mạch lập trình đ ợc dùng để nối khối logic cấu hình (configurable logic Block) cần thiết qua chuyển mạch Các khối CLB cung cấp phần tử ch c 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 gói chân đ ng tín hiệu bên Tài ngun kết nối khả trình cung cấp phận truyền dẫn tới kết nối đầu vào đầu c a CLB IOB mạng riêng Vậy cấu trúc FPGA gồm phần tử chính: - Các khối logic cấu hình (CLB) - Các khối vào/ra (IOB) - Các kết nối 1.1 Các khối logic cấu hình (configurable logic Block) Cấu trúc nội dung c a logic block đ ợc gọi theo kiến trúc c a Kiến trúc c a khối logic thiết kế theo nhiều cách khác nhau, cổng AND ngõ nhập, dồn kênh (Multiplexer) hay bảng tìm kiếm (Look-up Table) Ngồi ch a flip-flop để hỗ trợ cho việc thực cách 1.2 Các nguồn kết nối (Router) Các nguồn kết nối có cấu trúc nội dung đ ợc gọi kiến trúc đ ng (Routing Architecture) Kiến trúc Routing gồm đoạn dây nối chuyển mạch khả trình Các chuyển mạch khả trình có cấu tạo khác nh pass-transistor, đ ợc điều khiển b i cell SRAM, phần tử cầu chì nghịch, EPROM transitor EEPROM transistor Giống nh khối logic có nhiều cách khác để thiết kế routing Một số FPGA cung cấp nhiều kết nối đơn giản khối logic, số khác cung cấp kết nối nên routing ph c tạp II Phân loại FPGA FPGA có nhiều loại khác có cấu trúc đặc tính riêng thùy theo hãng sản xuất , nhiên chúng có loại cí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 hang (Row base) cấu trúc đa cổng (sea of gage) mô tả d ới 2.1 Các cơng nghệ lập trình FPGA Có nhiều cách thực phần tử lập trình, cơng nghệ lập trình sử dụng là: RAM tĩnh, cầu chì nghịch (anti-fuse), EPROM transistor EEPROM transistor Mặc dù cơng nghệ lập trình khác nhau, tất phần tử lập trình cấu hình đ ợc trong hai trạng thái ON OFF Các phần tử lập trình đ ợc dùng để thực hiên kết nối lập trình đ ợc FPGA, cịn FPGA thơng th ng có 100.000 phần tử lập trình Vì phần tử lập trình phải có tính chất sau: - Càng chiếm diện tích c a chip tốt - Có tr kháng thấp trạng thái ON tr kháng cao trạng thái OFF - Có điện dung kí sinh thấp kết nối đoạn dây - Có thể chế tạo cách tin cậy số l ợng lớn phần tử lập trình chip Có thể tùy thuộc vào ng dụng cụ thể có số l ợng phẩn tử lập trình có đặc tính khác Về mặt chế tạo, phần tử lập trình chế tạo theo công nghệ CMOS chuẩn tốt D ới trình bày chi tiết cơng nghệ FPGA 2.2 Cơng nghệ lập trình dùng RAM tĩnh 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 transistor khác chip bật (On) transistor truyền dẫn nh cổng transistor để tạo nên kết nối hay tắt (Off) để ngắt kết nối Trong tr ng hợp transistor truyền dẫn cổng transistor nh hình trên, phần tử RAM Cell điều khiển cổng truyền bật tắt Khi tắt hai dây nối với cổng truyền dẫn có tr kháng cao Khi bật tạo tr kháng thấp kết nối hai dây nối Đối với dồn kênh, SRAM Cell điều khiển ngõ nhập c a dồn kênh đ ợc nối với ngõ c a Cách th ng dùng để kết nối tùy chọn từ hay nhiều ngõ nhập c a khối Trong FPGA sử dụng cơng nghệ lập trình SRAM, khối logic kết hợp với qua cách kết hợp dồn kênh (mutiplexer) cổng truyền dẫn(pas-gate) Vì SRAM nhớ bay hơi, FPGA phải đ ợc tái cấu hình cấp nguồn cho chip Điều có nghĩa hệ thống sử dụng chip phải có chế l u trữ th ng trực cho bit c a RAM Cell, chẳng hạn nh ROM hay từ đĩa từ Các bit c a RAM Cell đ ợc nạp vào FPGA cách hay định địa nh phần tử c a mảng (theo cách thông th ng c a RAM) Các chip đ ợc thực theo cơng nghệ SRAM có diện tích lớn, b i cần transistor cho RAM Cell nh transistor cần thêm cho cổng truyền dẫn hay dồn kênh u điểm c a kỹ thuật cho phép FPGA đ ợc tái cấu hình mạch nhanh đ ợc chế tạo cơng nghệ CMOS chuẩn 2.3 Các thiết bị lập trình cầu chì ngịch(Anti-fuse) Cơng nghệ lập trình anti-fuse đ ợc sử dụng FPGA c a Actel-Corp, Quick Logic Cross Point Solution Tuy anti-fuse đ ợc sử dụng loại FPGA có cấu tạo khác nhau, nh ng ch c c a chúng nh Một anti-fuse bình th ng trạng thái cao, nh ng bị nóng chảy thành trạng thái điện tr thấp đ ợc lập trình điện cao D ới giới thiệu anti-fuse c a Actel Quick Logic Anti-fuse c a Actel đ ợc gọi PLICE Nó cấu trúc hình chữ nhật gồm lớp: - Lớp d ới ch a silic mang nhiều điện tích d ơng(n+diffusion) - Lớp lớp điện môi(Oxy-Nito-Oxy cách điện) - Lớp Poly-Silic Anti-fuse PLICE đ ợc lập trình cách đặt điện cao thích hợp(18V) hai đầu c a anti-fuse dòng điều khiển khoảng 5mA qua thiết bị Dòng áp tạo nhiệt l ợng vừa đ bên lớp điện môi làm nóng chảy tạo liên kết dẫn điện điện cực Các transistor chịu đ ợc điện cao đ ợc chế tạo bên FPGA để đáp ng cho dòng điện áp đ lớn Cả hai lớp d ới c a cầu chì nghịch tạo liên kết nối có tr kháng thấp (300Ω đến 500Ω) hai dây kim loại Anti-fuse c a Quick Logic đ ợc gọi ViaLink Nó t ơng tự nh PLICE nh có ba lớp kim loại Tuy nhiên, ViaLink sử dụng kim loại m c cho lớp d ới Khi trạng thái không đ ợc lập trình, anti-fuse có tr kháng hang GΩ, nh ng lập trình tạo kết nối hai lớp kim loại tr kháng khoảng 80Ω Anti-fuse đ ợc chế tạo cách thêm ba mặt nạ đặt biệt quy trình chế tạo CMOS thơng th ng ViaLink anti-fuse đ ợc lập trình cách đặt điện 10V đầu c a nó, dịng đ ợc cấp đ , trạng thái c a Silic vơ định hình thay đổi tạo liên kết điện hai lớp kim loại Diện tích chip sử dụng kỹ thuật anti-fuse 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 transistor điện cao cần giữ cho dịng áp cao lúc lập trình Nh ợc điểm c a anti-fuse quy trình chế tạo chúng phải thay đổi so với quy trình chế tạo CMOS 2.4 Cơng nghệ lập trình dùng EPROM EEPROM Công nghệ đ ợc dùng FPGA c a Altera Corp Plus Logic Công nghệ giống nh sử dụng nhớ EPROM Không giống CMOS transistor đơn giản, EPROM transistor gồm hai cổng, cổng treo(floating-gate) cổng chọn (selectgate) Cổng đ ợc gọi khơng có kết nối điện đến mạch trạng thái bình th ng khơng đ ợc lập trình, khơng có điện tích cổng treo transistor chuyển sang trạng thái On cách bình th ng cổng chọn Khi transistor đ ợc lập trình dịng điện lớnchạy nguồn kênh, điện tích đ ợc giữ lại cổng treo(phơi d ới ánh sang tia cực tím kích hoạt electron chuyển từ cổng vào chất nên c a transistor) EPROM transistor đ ợc sử dụng FPGA theo cách khác so với SRAM antifuse thay dùng cho lập trình kết nối hai dây, EPROM transistor đ ợc sử dụng để kéo xuống ngõ nhập c a logic-block Nh hình vẽ 1.6, đ ng dây gọi “word line’’ (theo thuật ngữ nhớ) đ ợc nối với cổng chọn c a EPROM transistor, transistor ch a lập trình trạng thái ON “Word line” làm cho “bit line” khơng đ ợc nối với ngõ nhập c a logic-block bị kéo m c logic Nhiều EPROM transistor thực kết nối bit line, điện the nối lên nguồn nối với bit line, mơ hình khơng cho EPROM transistor thực kết nối mà thực ch c logic AND nối dây (wired-AND) Nh ợc điểm c a ph ơng pháp điện tr tiêu tốn l ợng cố định Một u điểm c a EPROM transistor chúng tái lập trình mà khơng cần nhớ bên ngồi Tuy nhiên, khơng giống SRAM, EPROM khơng thể đ ợc tái lập trình bo mạch Ph ơng pháp dùng EEPROM (đ ợc sử dụng FPGA c a Advanced Micro Device-AND) t ơng tự nh công nghệ EPROM, ngoại trừ EEPROM transisitor chiếm gấp đơi điện tích so với EPROM transistor cần nhiều nguồn điện (để tái lập trình) mà loại khác không cần Các công nghệ lập trình FPGA đ ợc tóm tắt bảng d ới đây: Cơng nghệ lập trình Static RAM Cell PLICE Anti-fuse Tính bay Có thể lập trình Có Trong mạch Khơng Khơng ViaLink Khơng Ngồi mạch EPROM Khơng EEPROM Khơng Ngồi mạch Trong mạch Diện chip Lớn tích R(KΩ) C(pf) 1-2 10-20 Anti-fuse nhỏ Số transistor lớn Anti-fuse nhỏ Số transistor lớn Nhỏ 300-500 3-5 50-80 1-3 2-4 10-20 2xEPROM 2-4 10-20 III Ngôn ngữ mô tả phần cứng (HDL) Ngôn ngữ mô tả phần c ng (HDL) ngôn ngữ lập trình phần mềm dùng đề mơ hình hoạt động mong muốn c a phần c ng Có hai khía cạnh mà HDL tạo điều kiện để mơ tả phần c ng: mơ hình hành vi trừu t ợng mơ hình cấu trúc phần c ng Mơ hình hành vi trựu t ợng Ngôn ngữ mô tả phần c ng tạp điều kiện dễ dàng cho việc mô tả trừu t ợng hành vi c a phần c ng mục đích đặc tả (chỉ rõ chi tiết kỹ thuật) Hành vi không bị chi phối b i khía cạnh cấu trúc hoạc thiết kế c a ý định phần c ng Mô tả cấu trúc phần c ng Cấu trúc phần c ng có khả đ ợc mơ hình ngơn ngữ mô tả phần c ng mà không cần quan tâm đến hành vi thiết kế VHDL đ ợc xem nh kết hợp c a ngôn ngữ sau: ngôn ngữ + ngôn ngữ đồng th i + netlist + định th i + mô Do cấu trúc VHDL cho phép thể cách th c thực theo kiểu song song hay c a hệ thống số có hoạc khơng có timing Nó cho phép vẽ mơ hình hệ thống liên kết nối c a thành phần VHDL đ ợc dành cho tổng hợp mạch (synthesis) nh mơ mạch (simulation) Dù VHDL mô cách đầy đ , nh ng tất cấu trúc đ ợc VHDL tổng hợp IV Một vài ứng dụng - ng dụng làm TV box - Chương trình vẽ chuột USB (paintbrush) - Máy hát Karaoke máy chơi nahcj SD V Các phần mềm hỗ trợ Máy tính phải cài đặt Quartus II để sử dụng board DE2 5.1 Giới thiệu Quartus II công cụ phần mềm phát triển c a hãng Altera, cung cấp môi tr ng thiết kế toàn diện cho thiết kế SOPC (hệ thống chip khả trình - system on a programmable chip) Đây phần mềm đóng gói tích hợp đầy đ phục vụ cho thiết kế logic với linh kiện logic khả trình PLD c a Altera, gồm dòng APEX, Cyclone, FLEX, MAX, Stratix Quartus cung cấp khả thiết kế logic sau: - Môi tr ng thiết kế gồm vẽ, sơ đồ khối, công cụ soạn thảo ngôn ngữ: AHDL, VHDL, Verilog HDL - Thiết kế LogicLock - Là công cụ mạnh để tổng hợp logic - Khả mô ch c th i gian - Phân tích th i gian - Phân tích logic nhúng với cơng cụ phân tích SignalTap@ II - Cho phép xuất, tạo kết nối file nguồn để tạo file ch ơng trình - Tự động định vị lỗi - Khả lập trình nhận diện linh kiện - Phần mềm Quartus II sử dụng tích hợp NativeLink@ với cơng cụ thiết kế cung cấp việc truyền thông tin liền mạch Quartus với công cụ thiết kế phần c ng EDA khác - Quartus II đọc file mạch (netlist) EDIF chuẩn, VHDL Verilog HDL nh tạo file netlist - Quartus II có môi tr ng thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên dịch, sốt lỗi, mơ Với Quartus kết hợp nhiều kiểu file dự án thiết kế phân cấp Có thể dùng công cụ tạo sơ đồ khối (Quartus Block Editor) để tạo sơ đồ khối mô tả thiết kế m c cao, sau dùng sơ đồ khối khác, vẽ nh : AHDL Text Design Files (.tdf), EDIF Input Files (.edf), VHDL Design Files (.vhd), and Verilog HDL Design Files (.v) để tạo thành phần thiết kế m c thấp Quartus II cho phép làm việc với nhiều file th i điểm, soạn thảo file thiết kế biên dịch hay chạy mô dự án khác Công cụ biên dịch Quartus II nằm trung tâm hệ thống, cung cấp quy trình thiết kế mạnh cho phép tùy biến để đạt đ ợc thiết kế tối u dự án Công cụ định vị lỗi tự động tin cảnh báo khiến việc phát sửa lỗi tr nên đơn giản Sau cài Quartus II, giao diện nh hình vẽ: 5.2 Thiết kế mạch Mạch điện Quartus đ ợc thiết kế theo cách sau: 5.2.1 Sơ đồ khối (Block Diagram) Trong cách mô tả này, mạch điện tạo nên từ cổng logic r i rạc, hay hàm gồm nhiều cổng logic tích hợp (megafunctions) Để vẽ mạch theo cách này, nhấn New, chọn tab Device Design Files, chọn Block Diagram/ Schematic File, hiện: Nhấn chọn Symbol Tool để cổng logic hay hàm Megafuntions: Khi đư chọn xong cổng logic hay hàm dùng cơng cụ nối dây để vẽ mạch hoàn chỉnh 5.2.2 Các file thiết kế Nhấn New, chọn tab Device Design Files, chọn Verilog HDL (hay VHDL hay AHDL) Với cách này, mạch điện đ ợc mô tả b i đoạn mã thể đầu vào đầu c a khối mạch nh cách xử c a chúng Trong luận án này, lấy ví dụ thiết kế mạch đếm bit dùng Verilog HDL file Tạo file mới: Từ giao diện c a Altera Quartus chọn File/New Project Wizard Hiện: Nhấn Next/Next để bảng Thiết lập linh kiện (Family & Device Settings), chọn linh kiện FPGA mà ta dùng, nhấn Finish Lúc này, ta có đ ợc Project Thêm file Thiết kế vào Project Nhấn File/New Để tạo file thiết kế cho Dự án, ta dùng sơ đồ khối (nhấn Block Diagram/Schematic File) hay dùng ngôn ngữ mô tả phần c ng nh : AHDL, Verilog HDL hay VHDL dùng kiểu EDIF đây, để chọn dùng ngôn ngữ Verilog HDL - Bộ đếm nhị phân bit: Một đếm nhị phân bít gồm đầu vào: đầu vào xung đếm (clock), đầu vào xóa đếm (clear) đầu nhị phân Q0, Q1, Q2, Q Đoạn mư dùng Verilog để mô tả đếm nh sau: //4-bit Binary counter module counter(Q , clock, clear); // I/O ports output [3:0] Q; input clock, clear; //output defined as register reg [3:0] Q; always @( posedge clear or negedge clock) begin if (clear) Q

Ngày đăng: 13/12/2022, 19:12

w