Tài liệu Chương 1: Giới thiệu các cấu trúc lập trình - Pdf 91

Chương 1
GIỚI THIỆU CÁC CẤU TRÚC LẬP TRÌNH
ĐƯC

GIỚI THIỆU PLD
HOẠT ĐỘNG CỦA SPLD CƠ BẢN LÀ PAL
HOẠT ĐỘNG CỦA SPLD CƠ BẢN LÀ GAL
KÍ HIỆU ĐƠN GIẢN CHO SƠ ĐỒ CỦA PAL/GAL
SƠ ĐỒ KHỐI TỔNG QUÁT CỦA PAL/GAL
MACROCELL
CÁC SPLD THỰC TẾ
CÁC CPLD
CPLD CỦA HÃNG ALTERA
CPLD MAX 7000
MACROCELL
KHỐI MỞ RỘNG CHIA SẺ
KHỐI MỞ RỘNG SONG SONG
CPLD MAX II
CPLD CỦA HÃNG XILINX
PLA (PROGRAMMABLE LOGIC ARRAY)
COOLRUNNER II
LOGIC LẬP TRÌNH FPGA
CÁC KHỐI LOGIC CÓ THỂ ĐỊNH CẤU HÌNH CLB
CÁC MODULE LOGIC
FPGA DÙNG CÔNG NGHỆ SRAM
CÁC LÕI CỦA FPGA
FPGA CỦA ALTERA
KHỐI MẢNG LOGIC (LAB: LOGIC ARRAY BLOCK)
MODULE LOGIC THÍCH NGHI ALM
Kiểu hoạt động bình thường
Kiểu hoạt động LUT mở rộng

Hình 1-12. Sơ đồ khối mcrocell đơn giản của MAX 7000.
Hình 1-13. Ví dụ cách mở rộng.
Hình 1-14. Minh họa cho việc chia sẻ.
Hình 1-15. Minh họa cho bộ mở rộng song song.
Hình 1-16. Minh họa cho bộ mở rộng song song từ macrocell khác.
Hình 1-17. Sơ đồ khối của MAX II.
Hình 1-18. Phân biệt 2 kiểu xây dựng hàm.
Hình 1-19. Phân biệt 2 kiểu kết nối.
Hình 1-20. So sánh PAL với PLA.
Hình 1-21. Sơ đồ cấu trúc của Coolrunner II.
Hình 1-22. Cấu trúc của một khối chức năng FB.
Hình 1-23. Minh họa cho ví dụ 1-2.
Hình 1-24. Cấu trúc cơ bản của FPGA.
Hình 1-25. Các khối CLB của FPGA.
Hình 1-26. Sơ đồ khối cơ bản của 1 module logic trong FPGA.
Hình 1-27. Khái niệm cơ bản của LUT được lập trình để tạo SOP ngõ ra .
Hình 1-28. Minh họa cho ví dụ 1-3.
Hình 1-29. Khái niệm về FPGA bay hơi.
Hình 1-30. Khái niệm chức năng lõi phần cứng trong FPGA.
Hình 1-31. Sơ đồ khối của cấu trúc LAB của Stratix II và ALM
Hình 1-32. Sơ đồ khối ALM của Stratix II.
Hình 1-33. Các cấu hình có thể có của LUT trong ALM ở kiểu bình thường.
Hình 1-34. Mở rộng ALM để tạo ra hàm SOP 7 biến trong kiểu LUT mở rộng.
Hình 1-35. Minh họa cho ví dụ 1-4.
Hình 1-36. Sơ đồ khối của FPGA Stratic II.
Chương 1. Giới thiệu các cấu trúc lập trình được. SPKT – Nguyễn Đình Phú
Kỹ thuật PLD và ASIC 3
Hình 1-37. Minh họa các cấp logic đònh cấu hình từ tế bào logic cho đến CLB.
Hình 1-38. Ví dụ cách dùng chuỗi nối tiếp để mở rộng biểu thức SOP.
Hình 1-39. Minh họa cho ví dụ 1-5.

Trong phần này chúng ta sẽ khảo sát hoạt động của SPLD, phương pháp tổng của các tích
được dùng trong PAL và GAL, giải thích được sơ đồ logic của PAL/GAL, mô tả macrocell cơ
bản của PAL/GAL, khảo sát PAL16V8 và GAL22V10, mô tả CPLD cơ bản.
1. HOẠT ĐỘNG CỦA SPLD CƠ BẢN LÀ PAL
PAL chứa mảng cổng AND lập trình và được nối với mảng cổng OR cố đònh. Thường thì
PAL dùng công nghệ xử lý cầu chì nên chỉ cho phép lập trình 1 lần OTP (One-time-
Programmable).
Cấu trúc PAL cho phép thực hiện tất cả các hàm tổng của các tích với các biến đã được
xác đònh. Cấu trúc của một PAL đơn giản được trình bày như hình 1-1 cho 2 biến ngõ vào và 1
biến ngõ ra:
A B
A B
X

Hình 1-1. Cấu trúc của PAL.
Một mảng lập trình là một ma trận các dây dẫn gồm các hàng và các cột và chúng có thể
lập trình để nối với nhau tại điểm giao nhau. Mỗi điểm nối lập trình có cấu tạo là cầu chì đối
với loại PAL và được gọi là một tế bào cell. Mỗi hàng có thể nối với một ngõ vào của cổng
AND và mỗi cột là một biến ngõ vào hoặc biến phủ đònh. Bằng cách lập trình giữ nguyên cầu
chì hay phá hỏng cầu chì thì có thể tạo ra bất kỳ hàm tổ hợp nào từ các biến ngõ vào để đưa
đến cổng AND tạo ra các thành phần tích mong muốn. Các cổng AND được kết nối với cổng
OR để tạo nên các hàm ngõ ra tổng của các tích.
Ví dụ 1: Một PAL được lập trình như hình 1-2 để tạo ra thành phần
AB
,
BA

BA
.
Trong hình 1-2 ta có thể nhìn thấy một số cấu chì bò phá hỏng và một số cầu chì còn nguyên để

A B
X=AB+AB+AB
A B
A
B
Input buffer
Input lines
Product
term
lines
Fuse blown
(noconnection)
Fuse intact
(connection)
Fix connection
2
2
2

Hình 1-4. Kí hiệu đơn giản cho PAL/GAL.
Điểm nối lập trình nằm trong ma trận được xác đònh bằng dấu × nằm trên các đường giao
nhau và cầu chì sẽ được giữ nguyên, còn các điểm không có đánh dấu × thì cầu chì sẽ bò phá
hỏng. Hình 1-4 của ví dụ ở trên được lập trình để tạo ra hàm
BABAABX 
.

Ví dụ 1-2: Hãy vẽ sơ đồ mạch cho một PAL đã lập trình để tạo ra hàm có 3 biến ngõ vào
như sau:
ACBACBACBAX 


programmable
GAL:
reprogrammable
I
1
I
2
I
3
I
n
OR
GATE
OR
GATE
OR
GATE
OR
GATE
Output
logic
Output
logic
Output
logic
Output
logic
O
1
O

Programmable fuse

(c)
Hình 1-7. Sơ đồ mạch các Macrocell.
Hình 1-7a trình bày một macrocell đơn giản với một cổng OR và một cổng đảo ba trạng
thái. Ngõ ra của cổng đảo ba trạng thái có thể hoạt động tạo ra mức HIGH, mức LOW và trạng
thái tổng trở cao xem như hở mạch.
Hình 1-7b trình bày một macrocell có thể hoạt động như ngõ vào hoặc ngõ ra.
Chương 1. Giới thiệu các cấu trúc lập trình được SPKT – Nguyễn Đình Phú
8 Kỹ thuật PLD và ASIC
Khi ngõ vào được dùng như ngõ ra thì cổng đảo phải ở trạng thái tổng trở cao để hở mạch
và tín hiệu từ bên ngoài đưa đến bộ đệm và kết nối với mảng cổng AND bên trong.
Hình 1-7c trình bày một macrocell có thể lập trình để có ngõ ra tích cực mức HIGH hoặc
mức tích cực mức LOW và cũng có thể sử dụng như ngõ vào. Một ngõ vào của cổng XOR (ex-
or) có thể được lập trình ở mức HIGH hoặc mức LOW. Khi lập trình ngõ vào cổng XOR ở mức
HIGH thì tín hiệu ngõ ra của cổng OR sẽ bò đảo vì :
110 

011 
. Tương tự khi lập trình
ngõ vào cổng XOR ở mức LOW thì tín hiệu ngõ ra cổng OR không bò đảo vì:
000 

101 
.
6. CÁC SPLD THỰC TẾ
Thường thì hình dạng vỏ của SPLD có cấu hình chân nằm trong khoảng từ 20 đến 28 chân.
Có 2 thành phần giúp chúng ta chọn PAL hoặc GAL một cách thích hợp cho các thiết kế logic
đã cho là số lượng ngõ vào và ngõ ra cùng với số lượng cổng logic. Một vài thông số khác cần
phải xem xét là tần số hoạt động cực đại, thời gian trể và nguồn điện áp cung cấp.

Macrocell
Macrocell
Macrocell
Macrocell
Macrocell
Macrocell
I
2
I
3
I
4
I
5
I
6
I
7
I
8
I
9
I
10Hình 1-8. Sơ đồ khối PAL16V8.
Chương 1. Giới thiệu các cấu trúc lập trình được. SPKT – Nguyễn Đình Phú
Kỹ thuật PLD và ASIC 9


12
14
I/O
5
I/O
6
16
16
Macrocell
Macrocell
Macrocell
Macrocell
Macrocell
Macrocell
I
2
I
3
I
4
I
5
I
6
I
7
I
8
I
9

Hình 1-9. Sơ đồ khối của GAL22V10.
7. CÁC CPLD
Một CPLD chứa nhiều mảng SPLD với kết nối bên trong cho phép lập trình như hình 1-10.
Chương 1. Giới thiệu các cấu trúc lập trình được SPKT – Nguyễn Đình Phú
12 Kỹ thuật PLD và ASIC
Chúng ta xem mỗi mảng SPLD trong CPLD là một khối mảng logic LAB (Logic Array
Block). Một tên khác đôi khi cũng được dùng là khối chức năng, khối logic hoặc khối tổng
quát.
Các kết nối lập trình bên trong thường được gọi là PIA (Programmable Interconnect
Array) nhưng một số nhà chế tạo như Xilinx dùng thuật ngữ AIM (Advance Interconnect
Matrix) hoặc các thuật ngữ tương tự.
Các LAB và các kết nối bên trong được lập trình bằng phần mềm. Một CPLD có thể được
lập trình cho các chức năng phức tạp dựa vào cấu trúc tổng của các tích cho mỗi LAB độc lập
hay chính xác hơn là mỗi SPLD. Các ngõ vào có thể kết nối tới bất kỳ khối LAB nào và các
ngõ ra cũng có thể kết nối tới bất kỳ LAB nào thông qua PIA.
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Logic Array
block (LAB)
SPLD
Logic Array
block (LAB)
SPLD
Logic Array

nằm trong khoảng từ 2,5V đến 5V tuỳ thuộc vào các chỉ đònh của thiết bò. Có nhiều nhà sản
xuất CPLD như Altera, Xilinx, Lattice và Cypress.
Trong phần tiếp theo chúng ta sẽ khảo sát các CPLD của hai nhà sản xuất là Altera và
Xilinx bởi vì hai công ty này đang chiếm lónh thò trường. Các nhà chế tạo khác thì cũng sản xuất
thiết bò và phần mềm tương tự.
Chương 1. Giới thiệu các cấu trúc lập trình được. SPKT – Nguyễn Đình Phú
Kỹ thuật PLD và ASIC 13
II. CPLD CỦA HÃNG ALTERA
Altera sản xuất ra nhiều họ CPLD như MAX II, MAX 3000 và MAX 7000. Trong phần
này chỉ trình bày chủ yếu họ MAX 7000.
Sau khi hoàn tất phần này thì bạn có thể: mô tả được họ CPLD MAX, thảo luận về cấu
trúc của CPLD MAX 7000 và CPLS MAX II, giải thích cách tạo các thành phần tích được tạo ra
trong CPLD.
1. CPLD MAX 7000
Cấu trúc của CPLD là cách thức mà các thành phần bên trong được tổ chức và được sắp
xếp. Cấu trúc của họ CPLD MAX 7000 thì giống như sơ đồ khối của CLPD tổng quát được trình
bày ở hình 1-11.
CPLD MAX 7000 có cấu trúc lớp PAL/GAL để tạo ra các hàm SOP. Mật độ nằm trong
khoảng từ 2 LAB đến 16 LAB tuỳ thuộc vào CPLD cụ thể. Nên nhớ là một LAB tương đương
Chương 1. Giới thiệu các cấu trúc lập trình được SPKT – Nguyễn Đình Phú
14 Kỹ thuật PLD và ASIC
với một SPLD dùng công nghệ xử lý EEPROM. Kiểu lập trình trong hệ thống ISP (In-System
Programmable) dùng giao tiếp chuẩn JTAG. Hình 1-11. Cấu trúc CPLD MAX 7000.
Hình 1-11 trình bày sơ đồ khối tổng quát CPLD họ MAX 7000 của Altera. Bốn khối LAB

product terms
from other
macrocells
share
expander
parallel expanders from
other macrocellsHình 1-12. Sơ đồ khối macrocell đơn giản của MAX 7000.
3. KHỐI MỞ RỘNG CHIA SẺ
Bù của thành phần tích được dùng để tăng số lượng thành phần tích trong biểu thức SOP
thì có thể dùng được cho mỗi macrocell trong LAB. Hình 1-13 minh hoạ cách thức thành phần
mở chia sẻ từ macrocell khác có thể được dùng để thiết lập thêm các thành phần tích.
Trong trường hợp này một trong 5 cổng AND trong 1 mảng macrocell bò giới hạn, chỉ có 4
ngõ vào và do đó có thể tạo ra 1 thành phần tích có 4 biến khác nhau được minh họa trong hình
(a). Hình (b) trình bày phần mở rộng cho 2 thành phần tích.
A
B
C
D
ABCD
A
B
C
ABC(E+F)=ABCE+ABCF
E+F
EF
product terms from
other macrocell in the

Product term
selection
matrix

Hình 1-14. Minh họa cho việc chia sẻ.
Macrocell thứ 2 tạo ra thành phần mở rộng chia sẻ
)( FE 
được nối đến cổng AND thứ 5
trong macrocell thứ 1 để tạo ra biểu thức SOP với 6 thành phần tích. Các dấu kết nối × được tạo
ra trong phần cứng từ chương trình thiết kế và phần mềm biên dòch rồi nạp vào chip.
4. KHỐI MỞ RỘNG SONG SONG
Parallel expander term
A
B
C
D
E
F
G
H
ABCD+ABCD+EFGH
ABCD+ABCD+EFGHABCD+EFGH+

Hình 1-15. Minh họa cho bộ mở rộng song song.
Một phương pháp khác để tăng số lượng các thành phần tích cho một macrocell bằng cách
dùng bộ mở rộng song song – trong nó các thành phần tích mở rộng được OR với các thành
phần được tạo ra macrocell thay vì dùng kết hợp trong ma trận AND như ở bộ mở rộng chia sẻ.
Một macrocell đã cho có thể mượn các thành phần tích không dùng từ các macrocell lân cận (có
Chương 1. Giới thiệu các cấu trúc lập trình được. SPKT – Nguyễn Đình Phú
Kỹ thuật PLD và ASIC 17

Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
Logic element
IOEs
IOEs
IOEs
IOEs

Hình 1-17. Sơ đồ khối của MAX II.
Chương 1. Giới thiệu các cấu trúc lập trình được SPKT – Nguyễn Đình Phú
18 Kỹ thuật PLD và ASIC
Cấu trúc của CPLD MAX II khác với học MAX 7000 và được Altera gọi là CPLD “Post-
macrocell”. Sơ đồ khối hình 1-17, thiết bò này chứa các khối LAB cùng với nhiều thành phần
logic LE (Logic Elements).
Một LE là một đơn vò thiết kế logic cơ bản và tương tự như macrocell. Kết nối bên trong
có thể lập trình được sắp xếp theo hàng và cột chạy giữa các LAB và các phần tử ngõ vào/ngõ
ra (IOE: Input/Output Elements) được đònh hướng xung quanh. Cấu trúc của họ CPLD này giống

SOP
output

Loại dùng LUT. Loại dùng logic mảng AND/OR
Hình 1-18. Phân biệt 2 kiểu xây dựng hàm.
Như đã đề cập CPLD MAX II có cách sắp xếp hàng/cột của các kết nối bên trong thay
cho cách kết nối bên trong theo loại kênh có trong hầu hết các CPLD. Có 2 phương pháp được
minh họa trong hình 1-19.
LAB
LABLAB
LABLABLAB
LABLAB
LABLAB LABLAB
LABLABLABLAB LABLAB
LABLAB
LABLAB
LABLABKết nối bên trong dùng hàng/cột Kết nối theo kiểu kênh
Hình 1-19. Phân biệt 2 kiểu kết nối.
Hầu hết các CPLD dùng công nghệ xử lý không bay hơi cho các điểm nối lập trình. Tuy
nhiên MAX II dùng công nghệ xử lý như SRAM nên chúng có thể bay hơi – tất cả các logic đã
Chương 1. Giới thiệu các cấu trúc lập trình được. SPKT – Nguyễn Đình Phú
Kỹ thuật PLD và ASIC 19
lập trình sẽ mất hết khi mất điện. Bộ nhớ được gắn vào bên trong chip để lưu trữ dữ liệu chương
trình dùng công nghệ bộ nhớ không bay hơi và sẽ đònh cấu hình lại cho CPLD khi có điện.
III. CPLD CỦA HÃNG XILINX:
Cũng giống như Altera, Xilinx sản xuất ra các họ CPLD được sắp xếp theo mật độ tích
hợp, công nghệ xử lý, điện áp nguồn cung cấp và tốc độ. Xilinx chế tạo ra nhiều họ CPLD như

trong cải tiến AIM tương tự như PIA trong MAX 7000. Sơ đồ cấu trúc cơ bản cho Cool Runner II
được trình bày ở hình 1-21.
Chương 1. Giới thiệu các cấu trúc lập trình được SPKT – Nguyễn Đình Phú
20 Kỹ thuật PLD và ASIC

Hình 1-21. Sơ đồ cấu trúc của Cool runner II.
Sơ đồ khối CPLD của Xilinx và của Altera gần như là giống nhau tuy nhiên bên trong thì
khác nhau.
CPLD họ Cool Runner II chứa từ 32 macrocell đến 512 macrocell. Do có 16 macrocell cho
mỗi khối chức năng, số lượng khối chức năng nằm trong khoảng từ 2 đến 32. Sơ đồ khối của
một khối chức năng FB được trình bày như hình 1-22.

Trích đoạn LIỆT KÊ LƯỚI (NETLIST) MÔ PHỎNG THỜI GIAN LẬP TRÌNH CHO THIẾT BỊ – HAY NẠP CHƯƠNG TRÌNH CHO THIẾT BỊ
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status