1. Trang chủ
  2. » Giáo Dục - Đào Tạo

TỔNG QUAN về FPGA và NGÔN NGỮ VHDL

50 2 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

Nội dung

MỤC LỤC Mở đầu CHƯƠNG TỔNG QUAN VỀ FPGA VÀ NGÔN NGỮ VHDL 1.1 Giới thiệu FPGA 1.2 Kiến trúc chung FPGA 1.3 Ngôn ngữ phần cứng HDL CHƯƠNG CÁC CÔNG CỤ THIẾT KẾ 14 2.1 Những đặc điểm XtremeDSP Development Kit-IV 14 2.2 Các phần mềm chuyên dụng 23 2.3 Quy trình thiết kế tổng quát 29 CHƯƠNG GIỚI THIỆU MÔ HÌNH SOFTWARE DEFINED RADIO CHO HỆ ĐO THỬ KÊNH MIMO 32 3.1 Khái niệm MIMO 32 3.2 Lịch sử phát triển hệ MIMO 33 3.3 Những ưu điểm hệ MIMO 33 3.4 Mơ hình Software Defined Radio cho hệ đo thử kênh MIMO 37 CHƯƠNG KẾT QUẢ THỰC NGHIỆM…………………………………………….40 4.1 Cơ sở lý thuyết………………………………………………………………………40 4.2 Mơ hình thiết kế…………………………………………………………….………41 4.3 Kết mô MATLAB…………………………………………… 43 4.4 Kết thực nghiệm FPGA 46 Kết luận Tài liệu tham khảo Error! Bookmark not defined LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mở đầu Hiện Thông tin vô tuyến ngành phát triển mạnh mẽ, công nghệ sử dụng thông tin vô tuyến ngày đổi nhằm nâng cao tính hiệu điều chế, giải điều chế truyền thông tin Tuy nhiên cơng nghệ phát triển cao lại đặt khó khăn vấn đề thực nghiệm cho sinh viên trường Đại học Các yêu cầu phần cứng lại trở thách vô phức tạp việc đưa mơ hình thiết kế vào thực tế Vì FPGA đời giải pháp cung cấp môi trường làm việc hiệu cho ứng dụng thực tế Tính linh động cao q trình thiết kế cho phép FPGA giải toán phức tạp mà trước thực nhờ phần mềm máy tính Ngồi ra, nhờ mật độ cổng logic cao, FPGA ứng dụng cho tốn địi hỏi khối lượng tính tốn lớn dùng hệ thống làm việc theo thời gian thực Trong số hãng sản xuất FPGA, Xilinx hãng đầu việc sản xuất chip, không cơng cụ hỗ trợ thiết kế hồn thiện mà cịn cho phép người dùng có khả can thiệp sâu vào hệ thống, phải kể tới chip dòng Virtex-sản phẩm Xilinx năm gần Qua q trình tìm hiểu, nhóm nghiên cứu thực số ứng dụng FPGA nhằm hướng tới việc sử dụng FPGA cơng cụ để giải tốn đo kênh MIMO Đây vấn đề thu hút nhiều quan tâm nhà nghiên cứu lĩnh vực truyền thông vô tuyến Để phục vụ cho mục đich này, nội dung luận văn đây, em trình bày việc sử dụng FPGA để thiết kế mơ hình Software Defined Radio cho hệ đo thử kênh MIMO LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG TỔNG QUAN VỀ FPGA VÀ NGÔN NGỮ VHDL 1.1 Giới thiệu FPGA FPGA viết tắt "Field Programmable Gate Array", vi mạch dùng cấu trúc mảng phần tử logic mà người dùng lập trình được, thực tính logic thơng qua máy tính với giá rẻ, xóa viết lại nhiều lần Xilinx công ty bán FPGA chiếm thị phần lớn Ngồi cịn có Alterna, Lattice, Actel, QuickLogic Nhiều nhà sản xuất cung cấp nhiều cấu trúc phương pháp xử lý khác Vì vậy, việc chọn cấu trúc phương pháp xử lý để đáp ứng yêu cầu chức độ ổn định, hệ thống thực tế vấn đề mang tính định Thiết bị logic lập trình được phát minh lần đầu vào cuối thập kỷ 1970 trở lên phổ biến ngành cơng nghiệp bán dẫn Ngồi khả lập trình đa dạng, cơng nghệ cịn có thời gian sản xuất nhỏ nên có khả cạnh tranh thương mại lớn Hơn nữa, việc thiết kế với dễ dàng có khả lập trình lại nhiều lần FPGA thiết kế đầu tiêm Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc FPGA cho phép tính hợp số lượng tương đối lớn phần tử bán dẫn vào vi mạch so với kiến trúc trước CPLD (Complex Programmable Logic Device).Điểm tương đồng CPLD FPGA chỗ chúng bao gồm số lượng tương đối lớn phần tử logic khả trình Tuy nhiên mật độ tích hợp khác nhau, mật độ cổng logic CPLD nằm khoảng từ vài nghìn đến hàng chục nghìn, với FPGA mật độ tích hợp cỡ hàng chục nghìn vài triệu FPGA CPLD có nhiều điểm khác biệt nhiên kiến trúc điểm khác biệt CPLD FPGA CPLD có kiến trúc giới hạn mức độ đó, bao gồm nhiều dải logic “sum-of-products” khả trình cung cấp số tương đối nhỏ ghi đồng Điều làm cho CPLD trở nên không mềm dẻo lắm, bù lại trễ timing lại dễ dự đoán tốc độ kết nối logic cao LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com FPGA Với FPGA, kiến trúc theo cách khác trội hẳn CPLD FPGA sử dụng liên kết nối Điều tạo cho mềm dẻo nhiều mà cịn làm tăng độ phức tạp thết kế Điểm khác biệt FPGA CPLD hầu hết chip FPGA có hàm cấp cao (như cộng nhân) nhớ nhúng vào Ngồi ra, FPGA đời cịn hỗ trợ đầy đủ phần việc cấu hình lại hệ thống, cho phép thay đổi thiết kế tức cập nhật hệ thống cấu hình động (dynamic reconfiguration) chúng hoạt động chức bình thường Một vài FPGA cịn có khả cấu hình lại cục (partial re-configuration) tức phần thiết bị cấu hình phần lại hoạt động 1.2 Kiến trúc chung FPGA Cấu trúc tổng thể 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 Hình 1.1 Cấu trúc tổng thể FPGA 1.2.1 Khối logic FPGA LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1.2 Khối Logic FPGA chứa nhiều khối logic tái cấu hình CLB (Configurable Logic Blocks) liên kết với thành liên kết khả trình (Programmable Interconnect) Các khối vào phân bố xung quanh chip tạo thành liên kết với bên ngồi Bên khối logic CLB có bảng LUT (Look-Up Table) phần tử nhớ (FlipFlop chốt) LUT (Look up table) khối logic thực hàm logic từ đầu vào, kêt hàm tùy vào mục đích mà gửi ngồi khối logic trực tiếp hay thông qua phần tử nhớ flip-flop Trong tài liệu hướng dẫn dòng FPGA Xilinx sử dụng khái niệm SLICE, Slice tạo thành từ gồm khối logic, số lượng Slices thay đổi từ vài nghìn đến vài chục nghìn tùy theo loại FPGA Nếu nhìn cấu trúc tổng thể mảng LUT ngồi đầu vào kể hỗ trợ thêm đầu vào bổ xung từ khối logic phân bố trước sau nâng tổng số đầu vào LUT lên chân Cấu trúc nhằm tăng tốc số học logic 1.2.2 Hệ thống mạch liên kết Mạng liên kết FPGA cấu thành từ đường kết nối theo hai phương ngang đứng, tùy theo loại FPGA mà đường kết nối chia thành nhóm khác nhau, ví dụ XC4000 Xilinx có loại kết nối: ngắn, dài dài Các đường kết nối nối với thơng qua khối chuyển mạch lập trình (programable switch), khối chuyển mạch chứa số lượng nút chuyển lập trình đảm bảo cho dạng liên kết phức tạp khác 1.2.3 Các phần tử tích hợp sẵn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ngoài khối logic tùy theo loại FPGA khác mà có phần tử tích hợp thêm khác nhau, ví dụ để thiết kế ứng dụng SoC, dịng Virtex 4,5 Xilinx có chứa nhân xử lý PowerPC, hay Atmel FPSLIC tích hợp nhân ARV…, hay cho ứng dụng xử lý tín hiệu số DSP FPGA tích hợp DSP Slide nhân cộng tốc độ cao, thực hàm A*B+C, ví dụ dịng Virtex Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit 1.3 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 họat động mong muốn 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ạo điều kiện dễ dàng cho việc mô tả trừu tượng hành vi 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 thiết kế ý địh phần cứng Mơ hình cấu trúc phần cứng Cấu trúc phần cứng có khả 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ế Năm 1980 Quốc phòng Mỹ (DOD) muốn thực việc thiết kế mạch tự dẫn chứng, muốn theo đuổi hệ phương pháp thiết kế tổng quát sử dụng lại với công nghệ Rõ ràng có nhu cầu cho ngơn ngữ lập trình chuẩn để mơ tả chức cấu trúc mạch số việc thiết kế vi mạch (IC) Sau DOD tài trợ cho dự án thuộc chương trình vi mạch có tốc độ cao VHSIC (very high speed integrated circuit) để tạo ngôn ngữ mô tả phần cứng chuẩn Kết dự án tạo ngôn ngữ mô tả phần cứng VHSIC hay thường gọi VHDL (VHSIC Hardware Description Language-Ngôn ngữ miêu tả phần cứng VHSIC) VHDL xem kết hợp 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 hệ thống số có khơng có timing Nó cho phép vẽ mơ hình hệ thống liên kết nối thành phần LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com VHDL dành cho tổng hợp mạch (synthesis) mơ mạch (simulation) Dù VHDL mơ cách đầy đủ, tất cấu trúc VHDL tổng hợp 1.3.1 Các ưu điểm VHDL - Chương trình VHDL viết theo nhiều cấu trúc khác nhau: Ngẫu nhiên, tuần tự, nối chân, định thời rõ, ngôn ngữ sinh dạng sóng - VHDL ngơn ngữ phân cấp, hệ thống số mơ kết - - - nối khối mà khối thực khối khác nhỏ Cung cấp cách mềm dẻo phương thức thiết kế xuống, lên, tổ hợp hai Cung cấp hai mode đồng không đồng Linh hoạt kĩ thuật mô số sử dụng biểu đồ trạng thái, thuật tốn, hàm Boolean Có tính đại chúng: VHDL phát triển bảo trợ phủ Mỹ tiêu chuẩn IEEE VHDL hỗ trợ nhiều nhà sản xuất thiết bị nhiều nhà cung cấp công cụ thiết kế mô hệ thống VHDL cung cấp kiểu mẫu viết khác nhau: structural, dataflow behavioral Không giới hạn độ lớn thiết kế sử dụng ngơn ngữ VHDL hồn tồn độc lập với cơng nghệ chế tạo phần cứng Một mô tả hệ thống dùng VHDL thiết kế mức cổng chuyển thành tổng hợp mạch khác tuỳ thuộc cơng nghệ chế tạo phần cứng đời áp dụng cho hệ thống thiết kế Khả định nghĩa kiểu liệu cung cấp công cụ hữu hiệu cho thiết kế mô công nghệ với mức cao 1.3.2 Cấu trúc mơ hình hệ thống sử dụng ngôn ngữ VHDL VHDL ngôn ngữ mơ tả phần cứng mà sử dụng để làm mơ hình hệ thống số Hệ thống số đơn giản cổng logic hay phức tạp hệ thống hồn chỉnh Các khối xây dựng nên ngơn ngữ VHDL gọi khối thiết kế Có khối thiết kế chính: - Khai báo Entity (Thực thể) - Khai báo Architecture (Kiến trúc) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Khai báo Configuration (Cấu hình) - Đơi ta s d ụn g c c g ó i (Packages) mơ hình kiểm tra hoạt động hệ thống (Testbench) a Entity (Thực thể) Khai báo thực thể VHDL phần định nghĩa tiêu phía ngồi phần tử hay hệ thống Khai báo Entity tên Entity liệt kê cổng vào/ra Các cổng (dây) tín hiệu mà qua entity giao tiếp với mơi trường bên ngồi Ví dụ, mạch bán tổng hình : Hình 1.3 Bộ bán tổng Khai báo Entity sau: entity HALF-ADDER is port ( A, B : in BIT; SUM, CARRY : out BIT); end HATF-ADDER; Bộ bán cộng gồm có hai đầu vào A B; hai đầu SUM CARRY, BIT kiểu cấu trúc ngôn ngữ định nghĩa trước FPGA b Architecture (Kiến trúc) Phần thứ mã nguồn VHDL khai báo Architecture Mỗi khai báo Entity phải kèm với Architecture tương ứng Khai báo Architecture chương trình phải kết hợp tên Architecture Entity chương trình Phần thân Architecture bao gồm khai báo tín hiệu bên trong, phần tử bên hệ thống, hay hàm thủ tục mô tả hoạt động hệ thống Tên LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Architecture nhãn đặt tuỳ theo người viết chương trình Cấu trúc bên Architecture viết theo số kiểu mẫu sau: -Tập hợp kết nối bên thiết bị -Tập câu lệnh ngẫu nhiên -Tập câu lệnh -Kết hợp ba dạng Các kiểu mơ hình mô tả cụ thể sau:  Kiểu kiến trúc Kiểu xây dựng dựa tập thành phần kết nối Ví dụ bán tổng sau đây: architecture HA-STRUCTURE of HALF-ADDER is component XOR2 port (X,Y : in BIT; N: out BIT); End component; Component AND2 Port (L, M : in BIT; N : out BIT); End component; Begin X1: XOR2 port map(A,B,SUM); A1 : AND2 port map (A,B,CARRY); End HA-STRUCTURE;  Kiểu luồng liệu Trong kiểu này, luồng liệu qua Entity trước tiên biểu diễn phép gán đồng thời Kiểu luồng liệu bán cộng ví dụ sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Architecture DATAFLOW of HALF-ADDER is Begin SUM

Ngày đăng: 01/11/2022, 20:17

w