Thietke ic baigiang_03_gray

8
9/5/2011 1 49 email [email protected] A B C Yêu cu: F = AB = ABC + ABC PAL thương mi Lp Lp trình trình Programable Array Logic (a) Programable ROM (b) 50 email [email protected] Programable Logic Array, cma trn AND và OR ñềulp trình ñược. Tiết kim dung lượng ma trn. Bhn chế bislượng các cng AND khi số ñầu vào cacng OR lnhơnscng AND. Trtruyn lan lnhơn và mt ñộ tích hp nh. Generic Array Logic nâng cptPAL, gmmt ma trn AND lp trình ñược (cutotEEPROM) và ma trn OR cốñịnh. Tuy nhiên, các cng OR nm trong các macrocell ñượcnivi flip-flop và các bdn kênh ñể có thchn tín hiu ra. Tên gi chung ca các thiết bnhư PAL, PLA, GAL… là Programable Logic Device 51 email [email protected] Ví d: Dùng GAL ñiu khin ñèn giao thông: FPGA gm 3 thành phn chính Khi logic – Logic Block (LB): ñơnvxlý. Khi Vào ra – IO cell: giao tiếpvi bên ngoài. Liên kếtni – Interconnection: liên kết các ñơnvxlý. Thành phn khác Buffer ClockDll 52 email [email protected] Configurable Logic Block I/O Block Connec t Connect

Transcript of Thietke ic baigiang_03_gray

Page 1: Thietke ic baigiang_03_gray

9/5/2011

1

49email [email protected]

A B C Yêu cầu: F = AB = ABC + ABC

PAL thương mại

LậpLậptrìnhtrình

ProgramableArray Logic (a)ProgramableROM (b)

50email [email protected]

Programable Logic Array, cả ma trận AND và OR ñều lập trình ñược.

Tiết kiệm dung lượng ma trận.Bị hạn chế bởi số lượng các cổng AND khi số ñầu vàocủa cổng OR lớn hơn số cổng AND.Trễ truyền lan lớn hơn và mật ñộ tích hợp nhỏ.

Generic Array Logic nângcấp từ PAL, gồm một ma trận AND lập trình ñược(cấu tạo từ EEPROM) vàma trận OR cố ñịnh. Tuy nhiên, các cổng OR nằm trong các macrocellñược nối với flip-flop và cácbộ dồn kênh ñể có thể chọntín hiệu ra. Tên gọi chung của các thiếtbị như PAL, PLA, GAL… làProgramable Logic Device

51email [email protected]

Ví dụ: Dùng GAL ñiều khiểnñèn giao thông:

FPGA gồm 3 thành phần chínhKhối logic – Logic Block (LB): ñơn vị xử lý.Khối Vào ra – IO cell: giao tiếp với bên ngoài.Liên kết nối – Interconnection: liên kết các ñơn vị xử lý.

Thành phần khácBuffer ClockDll…

52email [email protected]

Configurable Logic Block

I/O Block Connect

Connect

Page 2: Thietke ic baigiang_03_gray

9/5/2011

2

1/3

Cả 3 thành phần: khối logic, khối vào ra, liên kếtnối, ñều lập trình ñược.Lập trình cho khối logic là hành ñộng: “có kết nốihay không phần tử logic A với phần tử logic B?” Lập trình cho khối vào ra là hành ñộng: “có kết nốihay không ñầu ra logic A với chuẩn ngoại vi B?”Lập trình cho liên kết nối là hành ñộng: “có kết nốihay không khối logic A với khối logic/vào ra B?”

53email [email protected]

2/3

Với FPGA, lập trình là quá trình ñịnh tuy ến giữacác phần tử logic, flipflop… ñã ñược chế tạo cốñịnh sẵn, ñể thực thi một tác vụ nào ñó.Một tuyến ñều ñược chế tạo sẵn, và ñính kèm mộtkhóa ñóng mở. Tuyến ñược thiết lập hoặchủy, tương ứng với trạng thái khóa ñóng hay mở.Mỗi trạng thái của khóa ñóng/mở ứng với một bit nhớ trạng thái 0/1 tương ứng.Tập hợp các bít nhớ tạo thành bộ nhớ cấu hìnhcho FPGA.�Bảng ñịnh tuyến ñược lưu trữ trong bộ nhớ.�Công cụ CAD sẽ dịch HDL thành bảng ñịnh tuyến.

3/3

55email [email protected]

BộBộ nhớnhớ cấucấu hìnhhình

HDL• c := a + b;• if (c == 1) then cf := 1;

RTL•

BIT file• 01000100• 11010101• 10001001

Phân tíchÁnh xạ vàoFPGA cụ thể Tất cả ASIC lập trình ñược, bao gồm FPGA, ñều

chứa các khối logic (cell logic) cơ bản giống nhautạo thành dải.

56email [email protected]

LB

LB

LB

LB

LB

LB

LB

LB

LB

LB

CellI/OCell

CellI/OCell

CellI/OCell

CellI/OCell

CellI/OCell

CellI/OCell

I/O CellI/O Cell I/O CellI/O Cell I/O CellI/O Cell

I/O CellI/O Cell I/O CellI/O Cell I/O CellI/O Cell

Có 4 lo ại khối logic:Dựa vào bảng tìm kiếm(LUT – Lookup Table) XilinxDựa vào bộ ghép kênh(Multiplexers) ActelDựa vào PAL/PLA AlteraTransistor Pairs

Page 3: Thietke ic baigiang_03_gray

9/5/2011

3

57email [email protected]

Mux 2x1 có thểthực hiện ñượccác hàm bênS

0

1

MUXA0

A1

SA

Biểu diễnmứctransistor

Cấu trúc cell logic ACT 1 ( ñơn module)

Cell ACT 1 chỉ cómột module logic.Cell ACT 2, 3 cónhiều module logic hơn và cóFlip Flop riêng.Cấu tạo Flip Flop

1/3

Bảng tìm kiếm, LUT, Look-Up Table, là mộtSRAM có K ñầu vào với2K bit nhớ, thực hiệnñược mọi hàm logic cóK biến.Thông thường, K = 4.

58email [email protected]

G3GG

FuncFunc..Gen.Gen.

WE

G4

G2G1

0

101112131415

456789

321

0001111100100001

G4G3G2G1

1

RAM 16bit

G3

G4

G2

G1

Tín hiệu ra của một LUT có thể quay trở lại, thànhñầu vào của chính LUT ñó, hoặc LUT khác.Trong một LB, thường có 3 LUT và ñược gọi là bộthực hiện hàm F, G và H.

2/3

Các LUT F và G tương ñương và ñộc lập vớinhau, thực thi các hàm 4 biến và ñưa kết quả tínhtoán ra ngoài CLB, hoặc nhớ vào FF.Nếu phép toán có nhiều hơn 4 biến thì LUT F, G sẽ ñưa kết quả tới LUT H ñể mở rộng thêm.

59email [email protected]

Flip-Flop ñóng vai trò:• Bit nhớ hoặc• Chốt dữ liệuHai FF có thể set/reset ñồngbộ/không ñồng bộ, tích cựctheo sườn âm/dương…

Cấu trúc cơ bản của LB dạng LUT

3/3

60email [email protected]

Khối logic lập trìnhñược, CLB, củaXC4000 E/X

Số liệu ñưa vào LB có thể ñược xử lý bởi các hàm4 ñầu vào, có thể ñược chốt ở thanh ghi, có thểñược chọn kênh, hoặc bởi cả 3 thao tác trên.

Page 4: Thietke ic baigiang_03_gray

9/5/2011

4

61email [email protected]

LE(L

B) củ

aA

ltera

Cyc

lone

IICòn ñược gọi là CrossPoint FPGA.Số lượng cổng ít, ~ 4000

62email [email protected]

FPGA kế thừa nhiều ý tưởng thiết kế của các sảnphẩm trước � sự quen thuộc trong kiến trúc.Nhưng số chức năng, mức ñộ tích hợp, khả năngtính toán của từng ñơn vị xử lý trong FPGA cókhác nhau, gồm Coarse /kɔ:s/ , và Fine.Coarse-grained: Đơn vị xử lý là một tập hợp củacác PLD, các khối cấu hình ñược CLB, thực thiñược hàm phức tạp, có yêu cầu tính toán lớn. Vídụ: Actel Mux, Xilinx LUT.Fine-grained: Đơn vị xử lý chỉ gồm các khối cấuhình ñược CLB nhỏ, thực thi các hàm logic ñơngiản. Ví dụ Transistor Pairs.

63email [email protected] 64email [email protected]

LB

LB LB

LB

LB

LB

LB LB LB

Ma trận ñối xứngSymmetrical Array

LB

LB LB

LB

LB

LBLB

LB LB

LB

LB LB LBLB LBCấu trúc dòng

Row-based

Sea-of-Gates PLD

PLD

PLD

PLD

PLD

PLD

PLD

PLDPLD phân cấpHierarchical

(CPLD)

Page 5: Thietke ic baigiang_03_gray

9/5/2011

5

1/3

Liên kết nối dài, tín hiệu clk liên thông toàn bộ dải.Liên kết nối trực tiếp giữa 2 khối LB.Liên kết nối ña năng gồm nhiều kết nối và cácchuyển mạch.

65email [email protected]

LB

SM

LB

SM

Kết nối ña năng Kết nối trực tiếpKết nối dài

SMMa trậnchuyển mạch

2/3

66email [email protected]

Kết nối dài

Kết nối trực tiếp Kết nối ña năng

3/3

Phần lớn các kết nối tạo thành các lưới kết nốitheo hàng và theo cột.Giao cắt giữa các kết nối theo hàng và theo cột sẽtập trung các ñiểm cần lập trình kết nối, tạo thànhma trận chuyển mạch (Switching Matrix), nằmphân tán trong FPGA.

67email [email protected]

SM

68email [email protected]

LB LB

LB LB

LBLB

Kết nối dài

Page 6: Thietke ic baigiang_03_gray

9/5/2011

6

69email [email protected]

Cyclonelow end

Arriamiddle end

Stratixhigh end

Virtexhigh end

Arrixmiddle end

Spartanlow end

70email [email protected]

Xilinx36%

Altera31%

Actel10%

Vantis7%

Lattice6%

Lucent6%

QuickLogic2% Cypress

2%

Ngôn ngữ HDL phù hợp.Bộ công cụ CAD, EDA phù hợp.Ước lượng ñược số lượng các CLB cần thiếtDự kiến số lượng các chân I/O cần thiết. Điện áp hoạt ñộng. Các FPGA mới sử dụng mứcñiện áp thấp LVTTL, LVCMOS, ñòi hỏi phảichuyển ñổi ñiện áp ñể tương thích với ñiện ápTTL, cung cấp một hoặc nhiều vùng sử dụng ñồngthời ña mức ñiện áp.Tốc ñộ FPGA.Khả năng tài chính.

71email [email protected] 72email [email protected]

Xem Flow củaAldec-Active

Page 7: Thietke ic baigiang_03_gray

9/5/2011

7

Copyright (c) 10/2006 by NPB 73

1/4

Thiết kế hệ thống(System Design)

Tích hợp vào ra(I/O integration)

Đặc tả thiết kế(Design Specification)

Tổng hợp(Synthesis)

Kiểm tra thiết kế(Design Verification)

Copyright (c) 10/2006 by NPB 74

2/4

Bước 1 - Thiết kế hệ thốngPhần chức năng thực hiện trên FPGAPhần chức năng này tích hợp (kết hợp) với phần cònlại của hệ thống như thế nào

Bước 2 - Tích hợp vào ra với phần còn lại của hệthống

Copyright (c) 10/2006 by NPB 75

3/4

Bước 3 - Đặc tả thiết kếMô tả chức năng của thiết kế bằng:

Các trình soạn sơ ñồ logicCác ngôn ngữ ñặc tả phần cứng

Kết hợp mô phỏng

Bước 4 - Tổng hợp logicGiống bước Tổng hợp logic trong quy trình ñầyñủ

Kết hợp tối ưu:trễnăng lượng hao phí

Copyright (c) 10/2006 by NPB 76

4/4

Bước 5 - Kiểm tra thiết kếThực hiện các mô phỏng, phân tích cuối cùng (RTL, thời gian…)Xác ñịnh các thông số của ASIC ñã thiết kế (tần số xung nhịp…)

Nạp chip và chạy thử trên hệ thống!

Page 8: Thietke ic baigiang_03_gray

9/5/2011

8

1/3

77email [email protected]

Spactan II 200Spactan II 300PCI 32bitsRS232

Userguide.pdf

2/3

78email [email protected]

ProASIC3 Evaluation Board

1/2

IDE của nhà sản xuất FPGA.

Chỉ có nhà sản xuất mới thấu hiểu nguyên tắchoạt ñộng của FPGA của họ.� chỉ có các IDE của nhà sản xuất mới routing, timing, cấu hình ñược cho FPGA.EDA của bên thứ 3 chỉ xử lý mức logic, rồi gọi IDE của nhà sản xuất ñể ñảm nhiệm mức vật lý.

79email [email protected]

Atera Xilinx Actel

2/2

Một số gói chương trình của bên thứ 3:Leonardo Spectrum, CT tổng hợp của Mentor GraphicsSynplify, CT tổng hợp của SynplicityModelSim , CT mô phỏng của Mentor Graphics.Active-HDL, CT thiết kế và mô phỏng của Aldec Active

80email [email protected]