ME5606 Thiế kế hệ thống số với FPGAs (Giới thiệu) - Nguyễn Hữu Quang

UN
Uni24h
0 lượt tải
62
0

Nội dung tài liệu

Trang 1

ME5606 Thiết kế hệ thống số với FPGAs TS. Nguyễn Hữu Quang Khoa Cơ điện tử - Đại học Bách Khoa Hà Nội Giới thiệu  Môn học: Thiết kế hệ thống số với FPGA  Nội dung:  Tổng quan về FPGA và ứng dụng  Cơ sở hệ thống số  Mạch logic tổ hợp  Mạch logic dãy  Ngôn ngữ mô tả phần cứng Verilog  Thiết kế hệ thống số với FPGA  (Phần mềm Intel Quartus Prime (Lite) và ModelSim/QuestaSim)  Đánh giá:  Thảo luân trên lớp (10%)  Bài tập (10%)  Thi giữa kỳ (20%)  Thi cuối kỳ (60%)

Trang 2

Giới thiệu  Tài liệu tham khảo:  Stephen Brown, Vronko Vranesic (2014). Fundamental of Digital Logic with Verilog Design. McGraw-Hill.  M. Morris Mano, Michael D. Ciletti (2013). Digital Design with an Introduction to the Verilog HDL. Pearson Education, Inc. Giới thiệu  Download và cài đặt phần mềm Quartus Prime (Lite)  Từ khóa tìm kiếm: Quartus Prime Lite Edition  Truy nhập: FPGA Software Download Center - Intel

Trang 3

Giới thiệu  Download và cài đặt phần mềm Quartus Prime (Lite)  Từ khóa tìm kiếm: Quartus Prime Lite Edition  Truy nhập: FPGA Software Download Center – Intel  Lựa chọn: Multiple Download hoặc Individual Files Giới thiệu  Download và cài đặt phần mềm Quartus Prime (Lite)  Từ khóa tìm kiếm: Quartus Prime Lite Edition  Truy nhập: FPGA Software Download Center – Intel  Lựa chọn: Multiple Download hoặc Individual Files

Trang 4

Giới thiệu chung về FPGA  Digital hardware  The technology used to build digital hardware has evolved dramatically.  Until the 1960s logic circuits were constructed with bulky components, such as transistors and resistors that came as individual parts.  The advent of integrated circuits made it possible to place a number of transistors, and thus an entire circuit, on a single chip.  In the early 1990s microprocessors could be manufactured with a few million transistors.  Presently, chips can be manufactured containing billions of transistors. Giới thiệu chung về FPGA  Digital hardware

Trang 5

Giới thiệu chung về FPGA  Standard chips  Numerous chips are available that realize some commonly-used logic circuits. => standard chips.  Each standard chip contains a small amount of circuitry (usually involving fewer than 100 transistors) and performs a simple function.  To build a logic circuit, the designer chooses the chips that perform whatever functions are needed and then defines how these chips should be interconnected to realize a larger logic circuit.  Standard chips were popular for building logic circuits until the early 1980s.  However, as integrated circuit technology improved, it became inefficient to use valuable space on PCBs for chips with low functionality.  Another drawback of standard chips is that the functionality of each chip is fixed and cannot be changed. Giới thiệu chung về FPGA  Programmable logic devices  In contrast to standard chips that have fixed functionality, it is possible to construct chips that contain circuitry which can be configured by the user to implement a wide range of different logic circuits.  These chips have a very general structure and include a collection of programmable switches that allow the internal circuitry in the chip to be configured in many different ways.  The switches are programmed by the end user, rather than when the chip is manufactured. => Programmable Logic Devices (PLDs)

Trang 6

Giới thiệu chung về FPGA  Programmable logic devices  PLDs are available in a wide range of sizes, and can be used to implement very large logic circuits.  The most commonly-used type of PLD is known as a field-programmable gate array (FPGA).  An FPGA consists of a large number of small logic circuit elements, which can be connected together by using programmable switches in the FPGA.  The largest FPGAs contain billions of transistors, and support the implementation of complex digital systems. Giới thiệu chung về FPGA  Quá trình phát triển các thiết bị logic khả trình:  PALs và PLAs được phát triển vào những năm 1970, 1980.  Các cải tiến tiếp theo dẫn tới sự xuất hiện của các thiết bị logic khả trình với cấu trúc từ đơn giản (SPLDs) tới phức tạp (CPLDs).  Vào cuối những năm 1980, hãng Xilinx bắt đầu phát triển các thiết bị logic khả trình có bộ nhớ RAM (tĩnh) tích hợp để lưu các thông tin cấu hình cho thiết bị, và gọi đây là FPGAs.  Công nghệ FPGA đã phát triển liên tục, với sự gia nhập thị trường của nhiều nhà sản xuất: Xilinx, Intel/Altera, Lattice, Microsemi, ...

Trang 8

Giới thiệu chung về FPGA  Cấu trúc cơ bản của FPGA  Các khối logic cơ bản trên các chip FPGA có thể khác nhau về cấu trúc, kích thước và chức năng. Ví dụ: một số FPGA sử dụng các khối logic cơ bản dựa trên thành phần Look-Up Table (LUT), một số FPGA lại sử dụng các mạch MUX và các cổng logic để tạo thành khối logic cơ bản, ...  Các nhà sản xuất khác nhau cũng gọi tên các khối logic cơ bản theo các cách khác nhau. Ví dụ, các khối logic cơ bản trên các chip FPGA của hãng Xilinx được gọi là Configurable Logic Block (CLB). Trong khi, các khối logic cơ bản trên các chip FPGA của hãng Intel/Altera lại được gọi là Logic Element (LE).  Các khối logic cơ bản có thể được "lập trình", hay "cấu hình" thành các dạng phần cứng khác nhau, theo nhu cầu của người sử dụng. Giới thiệu chung về FPGA  Các công nghệ cho phép cấu hình phần cứng trên CPLD/FPGA  Static random access memory (SRAM)  Flash memory  Antifuse

Trang 9

Giới thiệu chung về FPGA  Ngôn ngữ mô tả phần cứng – HDL (Hardware Description Language)  Các ngôn ngữ HDL cho phép mô tả phần cứng của các hệ thống số dưới dạng văn bản.  Có khả năng biểu diễn các sơ đồ logic, các bảng chân lý (truth table), các biểu thức logic, hoặc thậm chí là các ứng xử phức tạp của hệ thống số.  Có thể xem các ngôn ngữ HDL như phương tiện để mô tả quan hệ giữa các tín hiệu vào/ra của một hệ thống.  02 ngôn ngữ mô tả phần cứng được chuẩn hóa bởi tổ chức IEEE: Verilog, VHDL.

Trang 10

Text (Verilog/VHDL) editor Logic symbol and library files Giới thiệu chung về FPGA  Ứng dụng của công nghệ FPGA  Rapid prototyping: nghiên cứu và thử nghiệm công nghệ/giải pháp mới.  Giải pháp cho các hệ thống cần tới khả năng cấu hình lại.  FPGA thường được ứng dụng để tạo ra các mạch giao diện, các mạch giao tiếp giữa các thành phần, hoặc các hệ thống.  FPGA thường được ứng dụng để tạo ra các bộ đồng xử lý (co-processor), các bộ tăng tốc độ phần cứng (hardware accelerator).  FPGA thường được ứng dụng trong những trường hợp mà khả năng xử lý song song là ưu điểm quan trọng (vd. ứng dụng xử lý dữ liệu nhận từ cảm biến ảnh, ...)

Trang 11

Tổng quan về FPGA  Các thành phần tích hợp khác trên chip FPGA  Embedded processors  DSP processors  Dedicated multipliers  Dedicated memory  ADC  ...

Trang 12

FPGA vs ASIC ASIC – Application Specific Integrated Circuit FPGA vs Microcontroller FPGA Microcontroller  Khả năng thực thi song song.  Rẻ hơn FPGA.  Có thể hỗ trợ khả năng tính toán mạnh,  Đơn giản, dễ sử dụng hơn FPGA. thường có bộ nhân tích hợp trên chip.  Có nhiều ngoại vi tích hợp: UART, SPI,  Hỗ trợ rất nhiều chân IO. ADC, ...  Khả năng thiết kế linh hoạt.  Rất phong phú.  Tốc độ xử lý tín hiệu nhanh.  Tiêu thụ năng lượng ít hơn.

Trang 13

Cơ sở hệ thống số Đại số logic  Mỗi biến logic chỉ nhận giá trị là 0 hoặc 1.  Định nghĩa 3 phép toán cơ bản: nhân logic (.), cộng logic (+) và phủ định logic.

Trang 14

Đại số logic  Một số tính chất cơ bản: x.0  0 x y.  y x. x y.  x  y x 11 x  y  y  x x  y  x y. x.1 x x.( . )y z  ( . ).x y z x 0  x x (y  z)  (x  y) z x x.  x x.(y  z)  x y.  x z. x  x  x x  y z.  (x  y).(x  z) x x.  0 x  x y.  x x  x 1 x.(x  y)  x x  x x  x y.  x  y x.(x  y)  x y. Hàm logic  Hàm logic biểu diễn quan hệ giữa một biến logic với một tập các biến logic khác.  Một số phương pháp xác định hàm logic:  Sử dụng biểu thức đại số logic  Sử dụng bảng chân lý  Sử dụng khai triển minterm, maxterm  Sử dụng bảng Karnaugh

Trang 15

Hàm logic  Ví dụ hàm logic: F  x  yz 1 Bảng chân lý: x y z F1 F  x y z  x y z  x y z  x y z  x y z 0 0 0 0 1 0 0 1 1 F  (x  y  z)(x  y  z)(x  y  z) 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Hàm logic  Khai triển minterm, maxterm x y z minterm Ký hiệu maxterm Ký hiệu 0 0 0 x y z m x  y  z M 0 0 0 0 1 x y z m x  y  z M 1 1 0 1 0 x y z m x  y  z M 2 2 0 1 1 x y z m x  y  z M 3 3 1 0 0 x y z m x  y  z M 4 4 1 0 1 x y z m x  y  z M 5 5 1 1 0 x y z m x  y  z M 6 6 1 1 1 x y z m x  y  z M 7 7 Nhận xét: M  m i i m  M i i

Trang 16

Hàm logic  Khai triển minterm, maxterm F  x y z  x y z  x y z  x y z  x y z 1  m  m  m  m  m 1 4 5 6 7  m(1, 4,5,6,7) F  (x  y  z)(x  y  z)(x  y  z) 1  M .M .M 0 2 3  M(0, 2,3) Hàm logic  Biểu diễn hàm logic bằng bảng Karnaugh x y z F1 0 0 0 0 yz x 00 01 11 10 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 Chú ý: Các ô có giá trị bằng 0 có thể bỏ trống. 1 1 1 1

Trang 17

Các mạch logic  Các mạch logic cơ bản nhất gồm: AND, OR, NOT. Các mạch logic  Một số mạch logic đơn giản và thông dụng khác: NAND, NOR, XOR, XNOR.

Trang 18

Các mạch logic  Từ các mạch logic cơ bản có thể tổng hợp thành các mạch logic có chức năng rất phong phú.  Ví dụ: tổng hợp mạch cộng từ các mạch logic cơ bản. Lập bảng chân lý (truth table): Tối thiểu hóa mạch logic  Ví dụ 1: F x y( , )  m(1, 2,3)

Trang 19

Tối thiểu hóa mạch logic  Ví dụ 2: F x y z( , , )  m(2,3, 4,5) Tối thiểu hóa mạch logic  Ví dụ 3: F x y z( , , )  m(3, 4,6,7)

Trang 20

Tối thiểu hóa mạch logic  Ví dụ 4: F x y z( , , )  m(0, 2, 4,5,6) Tối thiểu hóa mạch logic  Ví dụ 5: F w x y z( , , , )  m(0,1, 2, 4,5,6,8,9,12,13,14)

Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!