Tải bản đầy đủ (.pdf) (54 trang)

Bài giảng Thiết kế logic số: Lecture 3.1 - TS. Hoàng Văn Phúc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 54 trang )

Thiết kế logic số
(Digital logic design)
TS. Hoàng Văn Phúc
Bộ môn KT Xung số - Vi xử lý
11/2014
/>

Nội dung
 Giới thiệu FPGA, cấu trúc FPGA
 Các thành phần cơ bản trong FPGA
 Thời lượng: 06 tiết

2


FPGA là gì?
FPGA (Field-Programmable Gate Array):
- Là công nghệ IC lập trình (tái cấu hình: reconfigurable)
tiên tiến nhất hiện nay
- Field: khả năng lập trình (tái cấu hình) bởi người sử dụng,
không phụ thuộc vào dây chuyền sản xuất IC
- Ưu điểm:
+ Khả năng tái cấu hình một cách đơn giản, linh động
+ Tài nguyên lớn
+ Tốc độ/hiệu năng cao
+ Được hỗ trợ rộng rãi
Tham khảo thêm:
/> />3


Mật độ tích hợp của FPGA


IC
Intel 4004
Zilog Z80
Intel 80286
Pentium 2
Pentium 4
Core 2 Duo
Six-core Xenon 7400

Transistor count
2 300
8 500
164 000
7 500 000
42 000 000
291 000 000
1 900 000 000

Process
10 um
4 um
1.5 um
0.35 um
180 nm
65 nm
45 nm

Manufacture
Intel
Zilog

Intel
Intel
Intel
Intel
Intel

Year
1971
1976
1982
1997
2000
2006
2008

10-Core Xeon
AMD K8
Spartan 3E
Virtex 4
Virtex 5
Starix IV
StarixV
Virtex 6
Virtex 7

2 600 000 000
106 000 000
~40 000 000
1 000 000 000
1 100 000 000

2 500 000 000
3 800 000 000
~2 600 000 000
~6 800 000 000

32 nm
130 nm
90 nm
90 nm
65 nm
40 nm
28 nm
65 nm
28nm

Intel
AMD
Xilinx
Xilinx
Xilinx
Altera
Altera
Xilinx
Xilinx

2010
2003
1998
2004
2006

2008
2011
2010
2011
4


Công nghệ chế tạo FPGA của Xinlinx

/>

FPGA frequency scaling

6


Hệ thống nhúng (embedded system) trên FPGA

System on board

System on chip
(SoC)

Source: Internet

7


Kiến trúc chung của FPGA
IO_PAD


LOGIC BLOCK

LOGIC BLOCK

IO_PAD

IO_PAD

IP_COREs, RAM,
ROM...

…………………..

…………………..

LOGIC BLOCK

LOGIC BLOCK

Interconnect
wires

IO_PAD

LOGIC BLOCK

…………………..

LOGIC BLOCK


……………….

……………….

………………

IO_PAD

LOGIC BLOCK

…………………..

IO_PAD

IO_PAD

LOGIC BLOCK

…………………..

IO_PAD

IO_PAD

LOGIC BLOCK

IO_PAD

IO_PAD


IO_PAD

8


Tính khả trình của FPGA
Interconnect
CLB

IOB
Programmability

CLB: Configurable logic block (Khối logic cấu hình được)
IOB: Input/Output block
9


Tái cấu hình cho FPGA
SRAM-based:
- Hoạt động phụ thuộc nguồn điện cung cấp
- Khả năng tái cấu trúc linh hoạt
- Cho phép thực hiện các thiết kế lớn

10


Hoạt động của FPGA
Người dùng ghi giá trị vào bộ nhớ
cấu hình (configuration memory)

để xác định chức năng hệ thống:
 Kết nối giữa CLBs và I/O cells
 Mạch logic cần thực thi trên
CLBs
 Các khối I/O

• Thay đổi nội dung bộ nhớ cấu hình  Thay đổi chức năng hệ thống
• Việc thay đổi có thể thực hiện khi mạch đang chạy (run-time
configuration)  Tính toán tái cấu hình (RC: reconfigurable computing)
11


Kiến trúc của Configurable Logic Blocks (CLBs)
Mỗi CLB bao gồm:
 Look-up Table (LUT): Bảng tra (chứa giá trị của hàm
logic cần tạo ra ứng với các tổ hợp tín hiệu vào tương
ứng)
 Mạch Carry & Control
 Các phần tử nhớ

Configurable Logic Block (CLB): Khối logic khả trình (có thể tái
cấu hình)

12


FPGA Programmable Interconnection Network
 Lưới kết nối dùng các chuyển mạch khả trình (programmable switches),

hay các điểm kết nối khả trình (PIP: programmable interconnect points),

do các bit nhớ của bộ nhớ cấu hình điều khiển

 Một số loại PIP được sử dụng như sau:
 Cross-point = connects vertical or horizontal wire segments allowing






turns
Breakpoint = connects or isolates 2 wire segments
Decoded MUX = group of 2^n cross-points connected to a single output
configured by n configuration bits
Non-decoded MUX = n wire segments each with a configuration bit (n
segments)
Compound cross-point = 6 Break-point PIPS (can isolate two isolated
signal nets)
13


Programmable Input/output Cells
 Bi-directional Buffers
 Programmable for inputs or outputs
 Tri-state controls bi-directional operation
 Pull-up/down resistors
 FFs/ Latches are used to improve timing issues
 Routing Resources
 Connections to core of array
 Programmable I/O voltage and current levels


Boundary Scan Access

Boundary Scan: Quét biên

14


Xilinx Spartan 3E FPGA

DCM: Digital clock management (Khối quản lý clock)

15


Configurable Logic Block (CLB) - Spartan 3E

16


Phân bố Slices trong CLB - Spartan 3E

17


Phân bố tài nguyên trong SLICEM và SLICEL- Spartan 3E

M = Memory

X0Y0


Có thể tạo ra các shift-register

X1Y0

L = logic

Chỉ dùng cho mạch logic (tổ hợp)

18


Chi tiết về Slice trong Xilinx Spartan-3E FPGA

19


Phân bố của LUT (Look-up Table: Bảng tra)

20


Nguyên lý làm việc của LUT

21


Wide-multiplexers

22



Nguyên lý của Wide-multiplexers

LUT0

MUX

OUT0

OUT

OUT1

LUT1

23


Chuỗi bit nhớ - Carry chain (1)

24


Chuỗi bit nhớ - Carry chain (2)

25



×