1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế số với vi mạch logic khả trình FPGA

313 72 1

Đ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 313
Dung lượng 16,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu chung về công nghệ IC khả trình • Các bước thiết kế VLSI... Giới thiệu chung về công nghệ IC khả trình • Các bước thiết kế VLSI 5.. Giới thiệu chung về công nghệ IC khả trình

Trang 1

Chuyên đề Thiết kế số với vi mạch logic khả trình FPGA

Giảng viên: TS Huỳnh Việt Thắng

Trang 2

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

2 Thiết kế dùng IC khả trình của Xilinx

Trang 3

Tài liệu tham khảo

Tham khảo chính:

1) Slide bài giảng (Lưu hành nội bộ)

Có thể đọc thêm:

2) Học viện KTQS, Thiết kế logic số, Tài liệu lưu hành nội bộ, 2011

3) Tống Văn On, Nguyên lý mạch tích hợp: Tập 2 - Lập trình ASIC, NXB Lao động xã hội, 2005 4) Peter J Ashenden, The VHDL Cookbook

5) Douglas L Perry, VHDL Programming by Example, 4 th Edition (2002)

6) Nguyễn Quốc Tuấn, Giáo trình Ngôn ngữ VHDL để thiết kế vi mạch, NXB Đại học quốc gia

TP.HCM, 2002

7) Tống Văn On, Thiết kế mạch số với VHDL và Verilog (2 tập), NXB Lao động xã hội, 2007

8) Pong P Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and

Salability

9) Pong P Chu, FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version, 2008

10) Pong P Chu, FPGA Prototyping by Verilog Examples: Xilinx Spartan-3 Version, 2008

11) Huỳnh Việt Thắng, Seminar Ứng dụng FPGA trong thực thi các ứng dụng xử lý tín hiệu và học

máy, Khoa ĐTVT, 2016

Trang 4

Lời cảm ơn

Trân trọng cảm ơn PGS.TS Phạm Ngọc Nam, Viện Điện Tử Viễn Thông, Trường Đại học Bách khoa Hà Nội đã cho phép tham khảo và sử dụng bài giảng của Thầy!

Trang 5

About your lecturer

• Bộ môn Kỹ thuật Điện Tử, khoa ĐTVT, Đại học Bách Khoa Đà Nẵng

 Office: Khu C, ĐHBK ĐN; Email: thanghv@dut.udn.vn; (thang143@gmail.com)

• Research Interests

 Reconfigurable computing (computing with FPGA)

 Machine learning (Neural Networks) & Applications

 Edge Computing on Embedded Devices

• Education

 06/2003: Kỹ sư, Khoa ĐTVT, ĐHBK – ĐHĐN (1998-2003)

 12/2007: Thạc sĩ kỹ thuật chuyên ngành Điện Tử, ĐHBK – ĐHĐN

 Thesis: “Implementation of a Network-on-Chip on FPGA”, Thực hiện Network-on-Chip trên nền FPGA

 07/2012: Tiến sĩ kỹ thuật chuyên ngành Điện-Điện tử, ĐH Kỹ thuật Graz (TU Graz), Cộng hòa Áo (Austria)

 Thesis: “Efficient floating-point Implementation of Signal Processing Algorithms on

Trang 6

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

2 Thiết kế dùng IC khả trình của Xilinx

3 Cơ sở về thiết kế mạch số và hệ thống số

4 Ngôn ngữ mô tả phần cứng VHDL

5 Các bài thực hành trên kit FPGA của Xilinx

6 Giới thiệu một vài ứng dụng trong lĩnh vực tính toán cấu

hình lại (Reconfigurable Computing)

7 Các vấn đề khác

Trang 7

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

Trang 8

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

5 Giới thiệu một vài ứng dụng trong lĩnh vực tính toán cấu

hình lại (Reconfigurable Computing)

Trang 9

Đặt vấn đề

• Ví dụ: Thiết kế bộ chạy đĩa DVD

Trang 10

Các bước thiết kế VLSI (1/9)

Trang 11

Các bước thiết kế VLSI (2/9)

System Specification – Xác định kích thước, tốc độ, công suất và các chức năng của hệ thống

Architectural Design – Xác định kiến trúc của hệ thống: ví dụ: RISC/CISC, số lượng ALU, kích thước bộ nhớ cache Việc xác định kiến trúc sẽ giúp cho việc ước lượng tốc độ

xử lý của hệ thống, kích thước chip, công suất tiêu thụ …

Trang 12

Các bước thiết kế VLSI (3/9)

Functional Design – Xác định các khối chức năng chính

và kết nối giữa các khối Chưa cần xác định chi tiết cáchthức thực hiện các khối này

Trang 13

Các bước thiết kế VLSI (4/9)

Logic Design – Thiết kế logic, ví dụ: thiết kế mạch logic

tổ hợp, logic dãy, ALU, khối điều khiển… Kết quả củabước thiết kế này là bản mô tả RTL (Register TransferLevel) RTL được biểu diễn bằng ngôn ngữ mô tả phầncứng HDL (Hardware Description Language), e.g.,VHDL and Verilog

X = (AB+CD)(E+F)

Trang 14

Các bước thiết kế VLSI (5/9)

Circuit Design – Thiết kế mạch bao gồm các cổng logic,transistors và các kết nối Kết quả thu được từ bước thiết

kế này là một netlist

Trang 15

Các bước thiết kế VLSI (6/9)

• Net list:

net1: top.in1 i1.in

net2: i1.out xxx.B

topin1: top.n1 xxx.xin1

topin2: top.n2 xxx.xin2

botin1: top.n3 xxx.xin3

net3: xxx.out i2.in

outnet: i2.out top.out

Trang 16

Các bước thiết kế VLSI (7/9)

top

Component hierarchy

Trang 17

Các bước thiết kế VLSI (8/9)

Physical Design – Chuyển từ netlist sang dạng biểu diễnhình học Cách biểu diễn hình học này được gọi là layout

Trang 18

Các bước thiết kế VLSI (9/9)

Fabrication – Bao gồm các quá trình như quang khắc,đánh bóng, khuyếch tán …để chế tạo ra chip (IC)

Packaging – Sắp xếp các IC trên một board mạch in PCB(Printed Circuit Board) hoặc trên một module đa chípMCM (Multi-Chip Module)

Trang 19

Các bước thiết kế VLSI

System Specification

Architectural Specification

Architectural

Design

Functional Design

Logic Design

Physical Design

Fabrication

Packaging

Circuit Design

or Logic Synthesis

Trang 20

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

5 Giới thiệu một vài ứng dụng trong lĩnh vực tính toán cấu

hình lại (Reconfigurable Computing)

Trang 21

Các bước thiết kế vật lý (1/6)

Circuit Partitioning Floorplanning & Placement

Routing Layout Compaction

Trang 23

Các bước thiết kế vật lý (3/6)

Floorplanning – Thiết lập kế hoạch bố trí các module trên layout một cách hợp lý khi mà hình dạng, kích thước, ví trí chân của các module chưa được cố định

Trang 24

Các bước thiết kế vật lý (4/6)

Placement – Bố trí cố định các module (module có thể làcổng logic, các khối chuẩn standard cells…) khi đã biếtcác thông số chi tiết của các module sao cho trễ tín hiệu,diện tích và số lượng kết nối nhỏ nhất

v

Feedthrough Standard cell type 1 Standard cell type 2

Trang 25

Các bước thiết kế vật lý (5/6)

Routing – Kết nối giữa các module trên cơ sở bảo đảm vềtrễ, khoảng cách giữa các đường dây

Feedthrough

Trang 26

Các bước thiết kế vật lý (6/6)

Compaction – Bước này tối thiểu hoá diện tích của vùnglayout để giảm kích thước chip

Verification – Kiểm tra layout bao gồm kiểm tra luật thiết

kế DRC (Design Rule Checking), tạo ngược lại mạch điện

từ layout (circuit extraction) để so sánh với netlist ban đầu,kiểm tra hoạt động (performance verification ) bằng cáchlấy thông tin hình học để tính toán các giá trị điện trở, điệndung, trễ…

Trang 27

VLSI design flow

Trang 28

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

5 Giới thiệu một vài ứng dụng trong lĩnh vực tính toán cấu

hình lại (Reconfigurable Computing)

Trang 29

Các công nghệ dùng trong thiết kế

• Full-Custom ASICs (Application specific ICs)

 Các khối logic (logic cells) và các lớp mặt nạ không được thiết kế sẵn

mà do người thiết kế thiết kế

• Semicustom ASICs

 Các khối logic ( logic cells) được thiết kế sẵn (được định nghĩa trong thư viện cell) và các lớp mặt nạ được thiết kế bởi người thiết kế

 2 loại: Standard-cell based and Gate-array-based ASICs

• Các linh kiện logic khả trình (Programmable Logic Devices)

 Tất cả các khối logic được thiết kế sẵn và không cần phải thiết kế lớp mặt nạ nào

 Phân loại:

Trang 30

Các công nghệ dùng trong thiết kế

Full-Custom ASIC

• Full-Custom ASICs

 Đối với mỗi một chip ASIC, người thiết kế phải thiết kế toàn bộ các khối logic, mạch điện, layout

Full-custom ICs là loại đắt nhất để chế tạo và thiết kế

Thời gian chế tạo 1 IC (không kể thời gian thiết kế) là 8 tuần

Dùng khi:

 Không có các khối logic có sẵn trong thư viện

 Các khối logic hiện có không đủ nhanh

 Các khối logic hiện có có kích thước lớn

 Các khối logic hiện có tiêu thụ công suất lớn

 Chíp ASIC cần thiết kế quá đặc biệt dẫn tới nhiều mạch phải được thiết

kế một cách tuỳ biến

Trang 31

Các công nghệ dùng trong thiết kế

Full-Custom ASIC

Trang 32

Các công nghệ dùng trong thiết kế

Cell-based ASIC

• Cell-Based ASIC (CBIC) sử dụng các khối logic đượcthiết kế sẵn (cổng AND, OR gates, multiplexers, flip-flops, )

Vùng khối logic chuẩn bao gồm các hàng khối logic chuẩn

Vùng khối logic chuẩn có thể kết hợp với các khối khác lớn hơn cũng được thiết kế sẵn như vi điều khiển, vi xử lý, các khối này được gọi là megacell

Trang 33

Các công nghệ dùng trong thiết kế

Cell-based ASIC

• Đặc điểm:

Các khối tuỳ biến có thể được nhúng vào chip ASIC Người thiết

kế ASIC chỉ phải định nghĩa vị trí đặt các khối logic chuẩn và kết nối giữa các khối

Các khối chuẩn có thể được đặt bất kỳ chỗ nào trên phiến silicon nên tất cả các lớp mặt nạ của CBIC có thể được tự do thiết kế

Thời gian chế tạo là 8 tuần

Trang 34

Các công nghệ dùng trong thiết kế

• Thời gian chế tạo từ vài ngày đến 2 tuần

• Giá thành rẻ hơn các loại ASIC khác

Trang 35

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

Trang 37

Công nghệ IC khả trình Programmable logic array

• PLA

And planeAnd plane

Or plane

Input

Output Programmable

Trang 38

Công nghệ IC khả trình Programmable logic array

• PLA

Trang 39

Công nghệ IC khả trình Programmable Array Logic

• PAL

And planeAnd plane

Or plane

Input

Output Programmable

Fixed

Trang 40

Công nghệ IC khả trình Programmable Array Logic

Trang 41

Công nghệ IC khả trình

Complex Programmable Logic Devices

• CPLD

Trang 43

Vcc Vcc Vcc Vcc FuseAfter manufacturing

Trang 44

2-to-4 Mux

2 LSB

Vcc Vcc Vcc VccAfter programming

Trang 45

Công nghệ IC khả trình Field-programmable Gate Array

• FPGA: XC40xx

CLB CLB

Routing via switching matrices

I/O

Trang 46

Thực hiện hàm tổ hợp bằng tra bảng

Trang 47

Công nghệ IC khả trình Field-programmable Gate Array

• Cấu tạo của một CLB (Configurable Logic Block)

16x1 LUT:

Bool-function

of 4 variables

16x1 LUT:

Bool-function

of 4 variables

FF

G

G GQ

FF

F

F FQ

Trang 48

Công nghệ IC khả trình Field-programmable Gate Array

• FPGA: Switching Matrix SM

Pass TOR

Trang 49

Công nghệ IC khả trình Field-programmable Gate Array

Trang 50

Công nghệ IC khả trình Field-programmable Gate Array

Trang 51

Công nghệ IC khả trình Field-programmable Gate Array

• Hãng cung cấp FPGA hàng đầu thế giới

Công ty Xilinx: http://www.xilinx.com/

Công ty Altera: http://www.altera.com/

Công ty Lattice Semiconductor: http://www.latticesemi.com/

Công ty Actel: http://www.actel.com/

Công ty Crypress: http://www.cypress.com/

Công ty Atmel: http://www.atmel.com/

Công ty QuickLogic: http://www.quicklogic.com/

Trang 52

Câu hỏi thảo luận 1

• Phân biệt các công nghệ ASIC khác nhau?

• Phân biệt: PLA, CPLD và FPGA?

• Cấu trúc khối CLB trong FPGA của Xilinx?

• Cấu trúc của khối LUT (Look-Up Table)

• So sánh, phân biệt các nền tảng phần cứng:

 Mạch số hay hệ thống số được thực hiện bằng các IC số

 FPGA (field programmable gate array)

 Vi xử lý (Microprocessor) / Vi điều khiển (Microcontroller)

Trang 53

Nhắc lại: phân loại ASIC

Trang 54

Công nghệ IC khả trình

Ưu điểm

Trang 55

Công nghệ IC khả trình

Ưu điểm

• FPGA vs Custom ASIC

FPGAs are more flexible

FPGAs are more cost effective for small quantities

ASICs have higher densities

• FPGA vs Parallel Computer

FPGAs are more cost effective

FPGAs are smaller

Parallel Computers are easier to program

Trang 56

FPGA vs ASIC (1)

56

Nguồn: http://www.xilinx.com/fpga/asic.htm

Trang 57

Total cost

ASIC 13µ

FPGA 13µ FPGA 09µASIC 09µ

ASIC Design

Cost is much

higher

(and increasing)!!

FPGA vs ASIC Cost

ASIC: High volumes needed to recover design cost

ASIC cost/part

is lower

Trang 58

Khi nào nên dùng FPGA?

• IC tùy biến theo yêu cầu (custom IC, custom IP core)

 thiết kế IC với những chức năng chuyên biệt cần thiết

• Thử nghiệm ý tưởng, phát triển sản phẩm mẫu (prototyping)

 giảm chi phí thiết kế và chế tạo trước khi thực hiện trên ASIC

• Tính toán hiệu năng cao (High Performance Computing)

 Hardware Accelerator (tăng tốc phần cứng) with high parallelism

• Thực thi các thuật toán DSP tốc độ cao

• Thực hiện hệ thống nhúng với các tính năng đặc biệt

• Ứng dụng phải cấu hình lại phần cứng khi chạy (runtime)

• v v…

58

Trang 59

Nội dung môn học

1 Giới thiệu chung về công nghệ IC khả trình

• Các bước thiết kế VLSI

Trang 60

• Digital Video Technologies

• Industrial/Scientific & Medical

• Test & Measurement

• Wired Communications

• Wireless Communications

Trang 61

Ứng dụng của công nghệ IC khả

trình

Trang 62

Ứng dụng của công nghệ IC khả

trình

Trang 63

Ứng dụng của công nghệ IC khả

trình

Trang 64

Ứng dụng của công nghệ IC khả

trình

Trang 65

Ứng dụng của công nghệ IC khả

trình

Trang 66

Ứng dụng của công nghệ IC khả

trình

Trang 67

Ứng dụng của công nghệ IC khả

trình

Trang 68

Ứng dụng của công nghệ IC khả

trình

Trang 69

Ứng dụng của công nghệ IC khả

trình

Trang 70

Chương 2: Thiết kế dùng IC

khả trình của Xilinx

2.1 Các họ PLD của Xilinx

2.2 Cấu trúc PLD của Xilinx

2.3 Các bước thiết kế với PLD của Xilinx

Trang 71

2.1 Các họ PLD của Xilinx

Trang 72

Các họ FPGA hiện tại của Xilinx

• Tham khảo: devices/fpga.html

Trang 73

https://www.xilinx.com/products/silicon-2.1 Các họ PLD của Xilinx

Trang 74

FPGA của Intel/Altera

• https://www.intel.com/content/www/us/en/programmable/products/ boards_and_kits/all-development-kits.html

Trang 75

Power per MHz Price

Trang 76

200.000 logic cells, DSP, PowerPC

Thay thế ASIC, ASSP

Trang 81

2.2 Cấu trúc PLD của Xilinx

• All Xilinx FPGAs contain the same basic resources

Slices (grouped into CLBs)

Contain combinatorial logic and register resources

Global clock buffers

Boundary scan logic

Trang 82

2.2 Cấu trúc PLD của Xilinx

Distributed SelectRAM Resources

• Uses a LUT in a slice as memory

Data can be written to RAM

after configuration

• Emulated dual-port RAM

One read/write port

One read-only port

RAM16X1S

O

D WE WCLK A0 A1 A2 A3

LUT

RAM32X1S

O

D WE WCLK A0 A1 A2 A3 A4

RAM16X1D

SPO

D WE WCLK A0 A1 A2 A3 DPRA0 DPO DPRA1 DPRA2 DPRA3

Slice

LUT LUT

Trang 83

2.2 Cấu trúc PLD của Xilinx

Block SelectRAM Resources

• Up to 3.5 Mb of RAM in 18-kb

blocks

Synchronous read and write

• True dual-port memory

Each port has synchronous read

and write capability

Different clocks for each port

• Supports initial values

latches

• Supports parity bits

DIA DIPA ADDRA WEA ENA SSRA CLKA

DIB DIPB WEB ADDRB

ENB SSRB

DOA

CLKB

DOPA

DOPB DOB 18-kb block SelectRAM memory

Trang 84

2.2 Cấu trúc PLD của Xilinx

Dedicated Multiplier Blocks

• 18-bit twos complement signed operation

• Optimized to implement Multiply and Accumulate functions

• Multipliers are physically located next to block SelectRAM™ memory

18 x 18 Multiplier18 x 18 Multiplier (36 bits)Output

Data_A (18 bits)

Data_B (18 bits)

4 x 4 signed

8 x 8 signed

12 x 12 signed

18 x 18 signed

Trang 85

2.2 Cấu trúc PLD của Xilinx

Global Clock Routing Resources

• Sixteen dedicated global clock multiplexers

Eight on the top-center of the die, eight on the bottom-center

Driven by a clock input pad, a DCM, or local routing

• Global clock multiplexers provide the following:

Traditional clock buffer (BUFG) function

Global clock enable capability (BUFGCE)

Glitch-free switching between clock signals (BUFGMUX)

• Up to eight clock nets can be used in each clock region ofthe device

Each device contains four or more clock regions

Trang 86

2.2 Cấu trúc PLD của Xilinx

Digital Clock Manager (DCM)

• Up to twelve DCMs per device

Located on the top and bottom edges of the die

Driven by clock input pads

• DCMs provide the following:

Delay-Locked Loop (DLL)

Digital Frequency Synthesizer (DFS)

Digital Phase Shifter (DPS)

• Up to four outputs of each DCM can drive onto globalclock buffers

All DCM outputs can drive general routing

Trang 87

2.3 Các bước thiết kế với PLD của Xilinx

CPLD/FPGA design flow

• Design Flow

Trang 88

2.3 Các bước thiết kế với PLD của Xilinx

Design Entry

• Using schematic editor:

 Works well with small designs: 5k to 10 k gates

 Schematic can be compiled to HDL

• Using HDL (Hardware Description Language)

 VHDL, Verilog

 Others: Abel

 Works with large design: > 100 k gates

• Using State Editor:

 Mostly for controller

Trang 89

2.3 Các bước thiết kế với PLD của Xilinx

Design Entry

• Design tools:

Webpack ISE (miễn phí)

Thiết kế cho CPLD, FPGA

Có công cụ thiết kế dùng schematic, ngôn ngữ mô tả phần cứng, công

cụ tổng hợp, mô phỏng và vật lý

http://www.xilinx.com/ise/logic_design_prod/webpack.htm

ISE Design Suite

chức năng tương tự như Webpack

Vivado Design Suite

 dùng cho một số họ FPGA mới của Xilinx

EDK and Platform studio

Ngày đăng: 20/03/2021, 11:14

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w