Thietke ic baigiang_03_gray
Transcript of 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
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
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.
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)
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
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
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!
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]