Tải bản đầy đủ (.ppt) (77 trang)

thiết kế với linh kiện lập trình

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.71 MB, 77 trang )

27.05.14 1
Thiết kế với linh kiện lập trình
A. Linh kiện lập trình
27.05.14 2
A. Linh kiện lập trình
27.05.14 3
Phân loại

ROM (Read Only Memory)

PAL (Programmable Array Logic)

GAL (Generic Array Logic)

CPLD (Complex Programmable Logic Device)

FPGA (Field Programmable Gate Array)
27.05.14 4
ROM
27.05.14 5
PAL

Cụm từ Programmable Array Logic (PAL) dùng để mô tả một họ thiết bị logic có khả năng
lập trình để thực hiện các các cổng logic trong mạch số được giới thiệu bởi Monolithic
Memories, Inc. (MMI)













vào năm 1978.

PAL bao gồm có lõi PROM (programmable read-only memory) cộng thêm cổng logic đầu ra.
27.05.14 6
PAL

PAL chỉ có thể lập trình một lần "one-time
programmable" (OTP).
Hình : thiết bị lập trình đơn giản (họ PAL)
(phần từ lập trình ở đây là các cầu chì)
27.05.14 7
PAL

PAL có thể lập cấu hình bằng tay hoặc dùng
ngôn ngữ (Ngôn ngữ mô tả phần cứng -
hardware descriptive language “HDL”), ví dụ
như: ABEL, CUPL, hoặc PALASM.

Để nạp cấu hình cho PAL có thể dùng các bộ
nạp. Ví dụ: bộ nạp Model 60A của Data I/O.
27.05.14 8
GAL

GAL (Generic Array Logic) được giới thiệu bởi

Lattice Semiconductor vào năm 1985.

GAL là một loại chip lập trình được có thể
thay thế cho các vi mạch 74xx và 40xx.

Thiết bị này có các tính chất giống như PAL,
nhưng có thể xóa và lập trình lại. Do đó bạn
có thể thay đổi thiết kế một cách linh hoạt và
mềm dẻo, mật độ tích hợp của chip cao hơn.
27.05.14 9
GAL

Ngoài ra GALs còn giúp cho chúng ta thu gọn
kích thước của bản mạch thiết kế, tăng khả
năng giữ bản quyền.

GAL có thể lập trình bởi Bộ nạp hoặc nạp trực
tiếp trong mạch.

Một dạng tương tự GAL là PEEL
(programmable electrically erasable logic)
được phát triển bởi International CMOS
Technology (ICT) corporation.
27.05.14 10
GAL

Hiện nay có hai series GALs phổ biến đó là
GAL16V8 và GAL20V8.
Hình: Lattice GAL 16V8
và 20V8

27.05.14 11
GAL

Phần mềm lập trình GAL miễn phí có cả cho
các bạn dùng hệ điều hành Windows và
Linux. Ví dụ: GAL® programmer GALBlast
Version 1.6
27.05.14 12
CPLD

CPLD (Complex Programmable Logic Device).
Đây là thiết bị logic lập trình có độ phức tạp
nằm giữa PALs và FPGAs, về cấu trúc thì có tính
chất của cả hai loại. Cơ sở (phần tử cơ bản của
CPLD) là các “macro cell” – gồm flipflop, bộ
đệm ba trạng thái và các dây nối đóng vai trò
như cổng vào-ra của cell.

PALs và GALs chỉ có kích thước và dung lượng
nhỏ, khoảng một vài trăm cổng. Trong khi đó
CPLDs có thể là hàng ngàn cổng, thậm trí là
hàng trăm ngàn cổng logic.
27.05.14 13
Ví dụ: CPLD họ MAX7000
Altera MAX 7000-series
CPLD có 2500 cổng.
27.05.14 14
CPLD

Một vài loại CPLDs có thể nạp bằng PAL

programmer, nhưng phương pháp này trở
nên bất tiện đối với các chíp hàng trăm chân

Phương pháp thứ hai là lập trình trên mạch in
(giống như AVR).

CPLDs không cần bộ nhớ cấu hình ROM ngoài
(khác với FPGA nhỏ).
27.05.14 15
CPLD

Lưu ý là mỗi hãng có một giao thức riêng cho
phương pháp nạp thứ hai. Ví dụ Lattice
Semiconductor gọi là "in-system
programming".

Có một chuẩn chung cho các hãng đó là:
Joint Test Action Group (JTAG).
27.05.14 16
Một số nhà cung cấp CPLD

Altera

Atmel

Cypress Semiconductor

Lattice Semiconductor

Xilinx

27.05.14 17
FPGA

FPGA (Field-programmable gate array)

Trong khi PALs đã phát triển thành GALs và
CPLDs, thì một hướng phát triển khác cũng
xuất hiện. Các thiết bị này dự trên công nghệ
gate-array và được là field-programmable
gate array (FPGA).

Ví dụ những FPGAs là 82s100 và 82S105
được đưa ra bởi Signetics vào những năm 70.
27.05.14 18
FPGA

FPGAs thường được lập trình sau khi đã hàn
vào mạch, tương tự như CPLD lớn.

Phần lớn FPGAs được cấu hình từ bộ nhớ
không đổi (volatile), và phải nạp vào thiết bị
khi bật nguồn hoặc khi có chức năng khác.

Cấu hình có thể lưu ở PROM hoặc EEPROM.
Nhiều loại EEPROM có thể lập trình bởi in-
system programmable (ví dụ như JTAG).
27.05.14 19
FPGA

FPGAs và CPLDs là những lựa chọn rất tốt

cho các thiết kế. Việc lựa chọn FPGA hay
CPLD phụ thuộc vào độ phức tạp của mạch,
tính kinh tế, và cũng có thể là kinh nghiệm
của người thiết kế.
27.05.14 20
Ví dụ: FPGA của Altera
Altera FPGA 20,000 cells
27.05.14 21
So sánh FPGA và ASIC

Chúng ta cũng cần phân biệt FPGAs và ASIC
(application-specific integrated circuit). Nói
chung FPGA chậm hơn so với ASIC.

ASIC: Thiết kế ứng dụng -> Thiết kế mạch
logic -> Mô phỏng -> Kiểm tra chức năng
codes -> P&R (Place & Route bất
kỳ) -> Làm wafer (silicon) -> Test prototype
(nếu lỗi quay lại sửa bản thiết kế logic) ->
Sản xuất hàng loạt (dạng chip) -> Triển khai
ứng dụng trên board.
27.05.14 22
So sánh FPGA và ASIC

FPGA: Nhà sản xuất: Thiết kế platform của
FPGA -> Mô phỏng + Kiểm tra chức năng của
platform -> P&R -> Làm wafer -> Sản
xuất chíp FPGA hàng loạt + Tool hỗ trợ =>
Người sử dụng: Thiết kế ứng dụng -> Thiết
kế mạch logic -> Mô phỏng -> Kiểm tra chức

năng code -> P& R (theo quy định của
platform) -> Đổ codes lên platform FPGA ->
triển khai ứng dụng trên board.
27.05.14 23
So sánh FPGA và ASIC

Kết luận: Với ASIC chúng ta phải làm từ A
đến Z, chúng ta có thể tùy chọn công nghệ
chế tạo chip và chip được chế tạo với một
họăc một số ứng dụng đã được định nghĩa từ
trước.
27.05.14 24
So sánh FPGA và ASIC

FPGA thực chất là một platform có thể cấu
hình được (configurable) được thiết kế sẵn
với mục đích sản xuất hàng loạt và dành
người dùng có thể tùy ý thiết kế các ứng
dụng khác nhau (tất nhiên là bị giới hạn bởi
những đặc tính của chip FPGA).
27.05.14 25
Ứng dụng của FPGAs

Bộ xử lý tín hiệu số DSP (digital signal
processor), vô tuyến định nghĩa bởi phần
mềm (software-defined radio), hàng không và
quân sự, các khai báo mẫu ASIC (ASIC
prototyping), ảnh y tế, máy tính…

×