Bài giảng Thiết kế IC - Phần 3: Kiến trúc PAL, PROM - Nguyễn Đức Tiến

9/5/2011  
Programable  
Array Logic (a)  
Programable  
ROM (b)  
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ào  
của cổng OR lớn hơn số cổng AND.  
PAL thương mại  
Trễ truyền lan lớn hơn và mật ñộ tích hợp nhỏ.  
Lập  
trình  
A
Yêu cầu: F = AB = ABC + ABC  
B
C
email [email protected].vn  
49  
email [email protected].vn  
50  
Generic Array Logic nâng  
cấ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.  
FPGA gồm 3 thành phần chính  
Khố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ý.  
Configurable  
Logic Block  
Tuy nhiên, các cổng OR  
nằm trong các macrocell  
ñược nối với flip-flop và các  
bộ dồn kênh ñể có thể chọn  
tín hiệu ra.  
Thành phần khác  
I/O Block  
CCoonnnneecct  
t
Buffer  
ClockDll  
…
Ví dụ: Dùng GAL ñiều khiển  
ñèn giao thông:  
Tên gọi chung của các thiết  
bị như PAL, PLA, GAL… là  
Programable Logic Device  
email [email protected].vn  
51  
email [email protected].vn  
52  
1
9/5/2011  
1/3  
2/3  
Với FPGA, lập trình là quá trình ñịnh tuyến giữa  
cá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ột  
khóa ñóng mở. Tuyến ñược thiết lập hoặc  
hủ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.  
Cả 3 thành phần: khối logic, khối vào ra, liên kết  
nối, ñều lập trình ñược.  
Lập trình cho khối logic là hành ñộng: “có kết nối  
hay 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ối  
hay 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ối  
hay không khối logic A với khối logic/vào ra B?”  
Tập hợp các bít nhớ tạo thành bộ nhớ cấu hình  
cho 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.  
email [email protected].vn  
53  
LB  
3/3  
Ánh xạ vào  
FPGA cụ thể  
Phân tích  
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 nhau  
tạo thành dải.  
HDL  
• c := a + b;  
• if (c == 1) then cf := 1;  
RTL  
•
BIT file  
• 01000100  
• 11010101  
• 10001001  
Có 4 loại khối logic:  
Dựa vào bảng tìm kiếm  
(LUT – Lookup Table) Xilinx  
Dựa vào bộ ghép kênh  
(Multiplexers) Actel  
Dựa vào PAL/PLA  
Altera  
Transistor Pairs  
I/O Cell I/O Cell I/O Cell  
I/O  
Cell  
I/O  
Cell  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
Bộ nhớ cấu hình  
I/O  
Cell  
I/O  
Cell  
I/O  
Cell  
I/O  
Cell  
I/O Cell I/O Cell I/O Cell  
email [email protected].vn  
55  
email [email protected].vn  
56  
2
9/5/2011  
1/3  
RAM 16bit  
WE  
Bảng tìm kiếm, LUT,  
Look-Up Table, là một  
SRAM có K ñầu vào với  
2K bit nhớ, thực hiện  
ñược mọi hàm logic có  
K biến.  
0
1
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
MUX  
S
A0  
A1  
Mux 2x1 có thể  
thực hiện ñược  
các hàm bên  
Biểu diễn  
mức  
transistor  
G4  
G3  
G2  
G1  
0
1
G
Func.  
Gen.  
2
3
4
5
6
7
8
9
10  
11  
12  
13  
G4  
G3  
G2  
G1  
SA  
1
Cấu trúc cell logic ACT 1 (ñơn module)  
G4  
G3  
G2  
G1  
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  
Thông thường, K = 4.  
14  
15  
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.  
email [email protected].vn  
57  
email [email protected].vn  
58  
2/3  
3/3  
Các LUT F và G tương ñương và ñộc lập với  
nhau, thực thi các hàm 4 biến và ñưa kết quả tính  
toán ra ngoài CLB, hoặc nhớ vào FF.  
Số liệu ñưa vào LB có thể ñược xử lý bởi các hàm  
4 ñầ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.  
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.  
Flip-Flop ñóng vai trò:  
• Bit nhớ hoặc  
• Chốt dữ liệu  
Khối logic lập trình  
ñược, CLB, của  
XC4000 E/X  
Hai FF có thể set/reset ñồng  
bộ/không ñồng bộ, tích cực  
theo sườn âm/dương…  
Cấu trúc cơ bản của LB dạng LUT  
email [email protected].vn  
59  
email [email protected].vn  
60  
3
9/5/2011  
Còn ñược gọi là CrossPoint FPGA.  
Số lượng cổng ít, ~ 4000  
email [email protected].vn  
61  
email [email protected].vn  
62  
Ma trận ñối xứng  
Symmetrical Array  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
LB  
LB LB LB LB LB  
LB LB LB LB LB  
LB LB LB LB LB  
FPGA kế thừa nhiều ý tưởng thiết kế của các sản  
phẩ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ăng  
tính toán của từng ñơn vị xử lý trong FPGA có  
khác nhau, gồm Coarse /kɔ:s/ , và Fine.  
Cấu trúc dòng  
Row-based  
Coarse-grained: Đơn vị xử lý là một tập hợp của  
cá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.  
Sea-of-Gates  
PLD  
PLD  
PLD  
PLD  
PLD  
PLD  
PLD  
PLD  
PLD phân cấp  
Hierarchical  
(CPLD)  
Fine-grained: Đơn vị xử lý chỉ gồm các khối cấu  
hình ñược CLB nhỏ, thực thi các hàm logic ñơn  
giản. Ví dụ Transistor Pairs.  
email [email protected].vn  
63  
email [email protected].vn  
64  
4
9/5/2011  
1/3  
2/3  
Kết nối dài  
Kết nối dài  
Kết nối trực tiếp  
Kết nối ña năng  
LB  
LB  
Kết nối trực tiếp  
Kết nối ña năng  
Ma trận  
chuyển mạch  
SM  
SM  
SM  
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ác  
chuyển mạch.  
email [email protected].vn  
65  
email [email protected].vn  
66  
3/3  
Kết nối dài  
Phần lớn các kết nối tạo thành các lưới kết nối  
theo 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ành  
ma trận chuyển mạch (Switching Matrix), nằm  
phân tán trong FPGA.  
LB  
LB  
LB  
LB  
LB  
LB  
SM  
email [email protected].vn  
67  
email [email protected].vn  
68  
5
9/5/2011  
QuickLogic  
2%  
Cypress  
2%  
Lucent  
Lattice  
6%  
6%  
Spartan  
low end  
Arrix  
middle end  
Virtex  
high end  
Vantis  
7%  
Xilinx  
36%  
Actel  
10%  
Altera  
31%  
Cyclone  
low end  
Arria  
middle end  
Stratix  
high end  
email [email protected].vn  
69  
email [email protected].vn  
70  
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ết  
Dự 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ải  
chuyển ñổi ñiện áp ñể tương thích với ñiện áp  
TTL, cung cấp một hoặc nhiều vùng sử dụng ñồng  
thời ña mức ñiện áp.  
Tốc ñộ FPGA.  
Xem Flow của  
Khả năng tài chính.  
Aldec-Active  
email [email protected].vn  
71  
email [email protected].vn  
72  
6
9/5/2011  
1/4  
2/4  
Thiết kế hệ thống  
(System Design)  
Bước 1 - Thiết kế hệ thống  
Phần chức năng thực hiện trên FPGA  
Tích hợp vào ra  
(I/O integration)  
Phần chức năng này tích hợp (kết hợp) với phần còn  
lại của hệ thống như thế nào  
Đặc tả thiết kế  
(Design Specification)  
Bước 2 - Tích hợp vào ra với phần còn lại của hệ  
thống  
Tổng hợp  
(Synthesis)  
Kiểm tra thiết kế  
(Design Verification)  
73  
74  
Copyright (c) 10/2006 by NPB  
Copyright (c) 10/2006 by NPB  
3/4  
4/4  
Bước 3 - Đặc tả thiết kế  
Bước 5 - Kiểm tra thiết kế  
Mô tả chức năng của thiết kế bằng:  
Các trình soạn sơ ñồ logic  
Thực hiện các mô phỏng, phân tích cuối cùng  
(RTL, thời gian…)  
Các ngôn ngữ ñặc tả phần cứng  
Xác ñịnh các thông số của ASIC ñã thiết kế  
(tần số xung nhịp…)  
Kết hợp mô phỏng  
Bước 4 - Tổng hợp logic  
Giống bước Tổng hợp logic trong quy trình ñầy  
ñủ  
Kết hợp tối ưu:  
trễ  
Nạp chip và chạy thử trên hệ thống!  
năng lượng hao phí  
75  
76  
Copyright (c) 10/2006 by NPB  
Copyright (c) 10/2006 by NPB  
7
9/5/2011  
1/3  
2/3  
Spactan II 200  
Spactan II 300  
PCI 32bits  
ProASIC3 Evaluation Board  
Userguide.pdf  
RS232  
email [email protected].vn  
77  
email [email protected].vn  
78  
1/2  
2/2  
IDE của nhà sản xuất FPGA.  
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  
Graphics  
Synplify, CT tổng hợp của Synplicity  
ModelSim , CT mô phỏng của Mentor Graphics.  
Atera  
Xilinx  
Actel  
Active-HDL, CT thiết kế và mô phỏng của Aldec Active  
Chỉ có nhà sản xuất mới thấu hiểu nguyên tắc  
hoạ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ý.  
email [email protected].vn  
79  
email [email protected].vn  
80  
8
pdf 8 trang Thùy Anh 19060 Free
Bạn đang xem tài liệu "Bài giảng Thiết kế IC - Phần 3: Kiến trúc PAL, PROM - Nguyễn Đức Tiến", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_thiet_ke_ic_phan_3_kien_truc_pal_prom_nguyen_duc_t.pdf