1
Lời giới thiệu
Khai thác, nghiên cứu cơ bản công nghệ mới là bớc không thể
thiếu trong việc cải tiến, nâng cao, cũng nh chế tạo mới các trang
thiết bị quân sự và dân sự nhằm đáp ứng việc hiện đại hoá công
nghiệp hoá của đất nớc. Cùng với sự phát triển vợt bậc của
nghành công nghệ thông tin, các công nghệ mới về các mạch tích
hợp vi điện tử, các mạch tổ hợp logic lập trình đợc ra đời đã làm
cho các sản phẩm quân sự cũng nh dân sự ngày càng hoàn thiện và
u việt hơn. Để tiến một bớc xa hơn trong việc cải tiến, chế tạo khí
tài quân sự nhằm đáp ứng chiến tranh điện tử hiện đại với tốc độ xử
lý cực kỳ cao, đòi hỏi phải có công nghệ tiên tiến phù hợp với tình
hình chung của thế giới.
Trên cơ sở phát triển từ các chíp PLA, hiện nay công nghệ na nô
đã đợc đa vào để chế tạo các mạch tích hợp lập trình đợc FPGA
và CPLD, nó đã làm cho mạch tích hợp logic lên đến hàng chục
triệu cổng, tốc độ đồng hồ lên đến 500 MHz. ứng dụng công nghệ
mới vào trong thiết kế chế tạo các thiết bị điện tử lập trình PLIC là
một bớc cần thiết cho tơng lai với một nớc đang phát triển nh
Việt Nam. Để đáp ứng đợc tính bảo mật trong quân sự cũng nh
tính phản ứng nhanh trong chiến tranh hiện đại cùng với nhu cầu
chuyên dụng hoá, tối u hoá (thời gian, không gian, giá thành),
tính chủ động trong công việc... ngày càng đòi hỏi khắt khe. Việc
đa ra công nghệ mới trong lĩnh vực chế tạo mạch điện tử để đáp
ứng những yêu cầu trên là hoàn toàn cấp thiết mang tính thực tế cao.
2
Công nghệ FPGA (Field Programmable Gate Array) và CPLD
(Complex Programmable Logic Device) đã đợc các hãng lớn tập
trung nghiên cứu và chế tạo, điển hình là Xilinx và Altera. Để làm
chủ công nghệ mới và tổ chức thiết kế sản xuất công nghệ FPGA
của Xilinx cho phép chúng ta tự thiết kế những vi mạch riêng, những
bộ xử lý số riêng dành cho ứng dụng của chúng ta. Đặc biệt trong
lĩnh vực xử lý tín hiệu số, các mạch tích hợp dùng để nhận dạng âm
thanh, hình ảnh, cảm biến ... với tính mềm dẻo cao và giá thành
thấp.
Mặc dù công nghệ FPGA đã xuất hiện từ năm 1985, xong đối
với nớc ta thì nó vẫn còn rất mới. Do vậy tìm hiểu, làm chủ về công
nghệ FPGA là việc làm hoàn toàn cần thiết. Nó không chỉ có ý
nghĩa đối với các lĩnh vực Điện tử - Viễn thông, công nghệ thông
tin... mà nó có ý nghĩa đặc biệt quan trọng trong lĩnh vực an ninh
quốc phòng.
Xuất phát từ thực tế đòi hỏi cấp bách đó, bộ môn Tự động và
Kỹ thuật tính Khoa Kỹ thuật điều khiển Học Viện Kỹ thuật quân
sự đã cho xuất bản cuốn sách Thiết kế thiết bị điện tử lập trình sử
dụng công nghệ FPGA và CPLD, tài liệu này nằm trong loạt các tài
liệu đã đợc bộ môn ấn hành, bao gồm Cấu trúc máy tính, Cờu trúc
và lập trình cho các hệ xử lý tín hiệu số, cấu trúc và lập trình hệ vi
điều khiển.
Tài liệu giới thiệu phơng pháp thiết kế CPLD, FPGA cũng nh
ngôn ngữ lập trình, từ đó đi sâu nghiên cứu các giải pháp có liên
quan cũng nh các công cụ hỗ trợ thiết kế, sau đó áp dụng để thiết
3
kế, tích hợp vào loại CPLD và FPGA cụ thể . Tài liệu đợc chia
thành 4 chơng:
- Chơng 1: Giới thiệu tổng quan tổ chức phần cứng của
ASIC. Giới thiệu tổng quan tổ chức các họ thiết bị cũng nh cấu
trúc của chúng (tài liệu giới thiệu cấu trúc ASIC của hãng Xilinx).
- Chơng 2: Giải pháp và tổ chức phần mềm đảm bảo. Giới
thiệu các phần mềm hỗ trợ thiết kế, ngôn ngữ lập trình.
- Chơng 3: Ngôn ngữ lập trình VHDL
- Chơng 4: Thiết kế ứng dụng cơ bản. Chơng này đợc thực
hiện với việc tích hợp các mạch điện tử trên cơ sở sử dụng ngôn ngữ
VHDL, để thiết kế bộ điều khiển động cơ bớc trên hai họ thiết bị
CPLD và FPGA.
Cuốn sách đợc dùng làm giáo trình giảng dạy bậc đại học và
sau đại học chuyên ngành điện, điện tử hoặc làm tài liệu tham khảo
cho các nghiên cứu sinh và cho những ai quan tâm đến cấu trúc và
lập trình ASIC.
Cuốn sách đợc biên soạn bởi PGS. TS. Nguyễn Tăng
Cờng và TS. Phan Quốc Thắng, ThS. Phạm Tuấn Hải, KS Lê Trọng
Nghĩa, do PGS. TS. Nguyễn Tăng Cờng chủ biên.
Nhân dịp này, tập thể tác giả xin bày tỏ lời cám ơn chân thành
nhất đến những ngời đã có nhiều đóng góp trong quá trình hoàn
thành tài liệu, đến các anh chị em Bộ môn Tự động và Kỹ thuật tính
thuộc Khoa Kỹ thuật Điều khiển, Học viện Kỹ thuật Quân sự, đặc
biệt phải kể đến sự hỗ trợ hiệu quả của TS. Đỗ Đình Nghĩa.
Do kinh nghiệm và thời gian hạn chế, tài liệu này chắc chắn
không thể tránh khỏi những thiếu sót. Rất mong nhận đợc các ý
kiến đóng góp và xây dựng của bạn đọc gần xa. ý kiến đóng góp xin
4
gửi về địa chỉ: Bộ môn Tự động và Kỹ thuật tính, Khoa Kỹ thuật
Điều khiển, Học viện Kỹ thuật Quân sự, 100 Hoàng Quốc Việt, Hà
nội; Điện thoại (04)7542281, email:
Hà Nội, Ngày 1 tháng 10 năm
2005
Tập thể tác giả
5
Chơng 1 : Giới thiệu tổng quan
tổ chức phần cứng của FPGA v CPLD
1.1 Giới thiệu công nghệ và giải pháp của Xilinx
Vào cuối những năm 70, các bảng mạch đợc thiết kế sẵn cùng
với các thiết bị chuẩn logic đợc a chuộng và thịnh hành . Sau đó
một số câu hỏi đợc đa ra rằng " Điều gì sẽ xảy ra nếu chúng ta
đa cho những ngời thiết kế khả năng thực hiện kết nối giữa các
thiết bị chuẩn logic khác nhau trong một thiết bị lớn hơn ? ". Điều
này cho phép những ngời thiết kế tích hợp đợc nhiều thiết bị
chuẩn logic hơn vào trong một thiết bị. Để có đợc sự linh hoạt
trong thiết kế, Ron Cline ngời của hãng Signetics
TM
đã đa ra ý
tởng bao gồm hai sơ đồ cho phép ngời thiết kế có thể lập trình
đợc.
Hai sơ đồ này cung cấp bất kỳ tổ hợp logic nào của các cổng
"AND" và "OR" mà chúng có thể đợc dùng chung với một số giới
hạn cổng "AND " thông qua các cổng "OR". Cấu trúc này đã trở nên
rất mềm dẻo, nhng tại thời điểm đó lớp đệm hình học 10 àm đã tạo
ra sự giữ chậm giữa đầu vào và đầu ra rất lớn, chính điều này đã làm
6
cho thiết bị hoạt động tơng đối chậm. Và cấu trúc này đợc gọi là
cấu trúc của PLA (Programmable Logic Array).
Hình 1.1. Cấu trúc của PLA (Programmable Logic Array)
Hãng MMI (Sau đó bị mua bởi hãng AMD
TM
) đã hợp tác với
hãng Signetics
TM
và là nơi cung cấp nguồn tài liệu thứ hai cho hệ
thống mảng logic lập trình PLA (Programmable Logic Array).
Nhng sau khi sản xuất, cấu trúc này đã bị thay đổi và trở thành cấu
trúc logic mảng lập trình đợc PAL (Programmable Array Logic),
bởi việc cố định một mảng và chỉ cho phép lập trình trên một mảng
còn lại. Cấu trúc PAL mới này rất khác với cấu trúc của PLA ở chỗ
là một mảng lập trình đợc bị gắn cố định - mảng các cổng OR .
Tuy nhiên, cấu trúc PAL (Programmable Array Logic) này cũng có
lợi là thời gian giữ chậm đờng truyền từ đầu vào đến đầu ra ngắn
hơn và phần mềm ít phức tạp hơn. Tuy nhiên chúng không mềm dẻo
bằng cấu trúc PLA (Programmable Logic Array) . Các cấu trúc khác
cũng đợc đa ra, chẳng hạn nh PLD (Programmable Logic
Device) - thiết bị logic lập trình đợc. Loại thiết bị này thờng đợc
gọi là thiết bị logic lập trình đợc đơn giản SPLD ( Simple
7
Programmable Logic Device) và tên này đợc gọi chung cho tất cả
các thiết bị logic lập trình đợc nh : PALs, CPLDs, FPGAs. Cấu
trúc của PAL (Programmable Array Logic) .
Hình 1.2. Cấu trúc của PAL (Programmable Array Logic)
Cấu trúc này có các mắt lới của các đờng nối theo chiều
ngang và chiều đứng. Tại mỗi điểm giao nhau, chúng đợc nối với
nhau bằng một cầu trì. Với sự trợ giúp của các công cụ phần mềm,
ngời thiết kế có thể lựa chọn mối nối, mối nào không đợc nối thì
cầu trì tại điểm đó sẽ bị huỷ đi (Bị nung nóng và thổi đứt). Điều này
đợc thực hiện bởi một bộ nạp chơng trình.
Theo hình 1.2 các chân đầu vào đợc nối vào các đờng theo
chiều đứng, các đờng nằm ngang đợc nối với các cổng AND -
OR, lần lợt các đờng này đợc nối với các Flip-Flop chuyên dụng
(Chẳng hạn nh Flip-Flop loại D, T, RS). Các PLDs (Programmable
Logic Device) trong một IC đóng gói đơn có số cổng nhiều hơn 50
lần các thiết bị logic chuyên biệt. Điều này nó đã thể hiện một sự
tiến bộ rõ rệt, đấy là cha đề cập đến một số thiết bị cần phải đợc
giản lợc hoá để có độ tin cậy cao hơn các thiết bị chuẩn logic .
Công nghệ PLD đã phát triển từ những ngày còn rất sớm, chẳng
8
hạn nh công ty Xilinx, họ đã đa ra sản phẩm CMOS với nguồn
tiêu thụ siêu thấp dựa trên công nghệ bộ nhớ flash. Các PLD flash
cho phép khả năng lập trình và xoá bằng điện cho thiết bị nhiều lần
đã trở nên thích hợp hơn so với các chíp thế hệ cũ, các loại chip mà
với thời gian xoá chơng trình hơn 20 phút bằng tia cực tím .
1.1.1. Complex Programmable Logic Devices (CPLDs)
Tạm dịch là các thiết bị logic cho phép lập trình phức hợp, họ
thiết bị này là kết quả của việc tăng mật độ của họ SPLDs
(Programmable Logic Device) lên nhiều lần. Khái niệm này đợc
hiểu nh sau : tăng một số khối PLD hoặc các macrocell (xin đợc
để nguyên nghĩa và giải thích ở phần cấu trúc của CPLD) ở trong
một thiết bị đơn cùng với các đờng nối liền đa năng giữa chúng.
Các đờng nối của các đơn vị logic đơn có thể đợc thực thi ở trong
một khối đơn ( a single block ). Nhiều logic phức tạp yêu cầu cần
nhiều khối và sử dụng các đờng nối đa năng giữa chúng để tạo nên
các kết nối phức tạp hơn.
Hình 1.3. Cấu trúc của CPLD
9
Các CPLDs rất thích hợp trong việc diễn tả các cổng logic phức
tạp với tốc độ làm việc lớn hơn 200 Mhz ( tơng đơng 5 ns ).
Khuôn mẫu thời gian cho CPLD rất dễ tính toán, bởi thế trớc khi
bắt đầu thiết kế bạn có thể tính toán các tốc độ từ đầu vào đến đầu ra
của mình dựa trên khuôn mẫu này. CPLDs đa ra cách đơn giản
nhất để thực hiện một thiết kế, một thiết kế có thể đợc mô tả bởi
các sơ đồ nguyên lý hoặc nhập vào một HDL ( Hardware
Description Language - Ngôn ngữ mô tả phần cứng). Đơn giản khi
sử dụng các công cụ phát triển để tối u hoá, nạp và mô phỏng thiết
kế. Các công cụ thiết kế sẽ tạo ra một file mà file này (chính là một
file chơng trình) đợc dùng để đa thêm các chuẩn logic vào trong
một chip CPLD cùng với chức năng mong muốn. Chính vì vậy nó
cung cấp một chuẩn phần cứng mà cho phép các quá trình xử lý, gỡ
rối có thể thực hiện ngay từ khi bắt đầu công việc thiết kế. Giả sử
nếu bạn cần có một một sự thay đổi về thiết kế, bạn có thể đa sự
thay đổi thiết kế đó vào trong công cụ phát triển CPLD và thực thi
trên nó, sau đó bạn có thể kiểm tra đợc tức thì ngay sau đó bằng
một phần mềm mô phỏng. CPLD có mức tích hợp rất cao (có nghĩa
là một số lợng lớn các cổng trên một diện tích) và đợc đóng gói
trong một khuôn dạng rất nhỏ. Điều này đã đa ra một giải pháp
tuyệt vời cho những ngời thiết kế cần sản phẩm của mình đợc
đóng gói nhỏ gọn với diện tích bo mạch bị giới hạn về không gian.
Họ Xilinx CoolRunner CPLDs luôn có mặt trong các đóng gói cùng
với các chip đời mới. Chẳng hạn nh chip CP56 CPLD có khoảng
cách các chân là 0,5 mm và với kích thớc bao nhỏ không đáng kể
10
6x6mm và điều này cho phép đa ra một sản phẩm nhỏ gọn cùng
với mức độ tiêu thụ nguồn thấp .
1.1.2. Field Programmable Gate Arrays ( FPGAs)
Mảng cổng cho phép lập trình đợc. Năm 1985, công ty Xilinx
đã đa ra một ý tởng mới : Đó là sự kết hợp giữa những điều khiển
ngời dùng, thời gian đa sản phẩm PLD (Programmable Logic
Device) ra thị trờng cùng với mật độ tích hợp, giá của các ma trận
cổng. Điều này đã cho ra đời thiết bị FPGA và cho đến nay Xilinx
vẫn là nhà phân phối số 1 trên toàn thế giới về họ thiết bị này. Một
FPGA có cấu trúc của các Logic Cell hoặc các Module và các
đờng nối (Xem hình 1.4), các đờng nối này nằm dới sự điều
khiển của ngời thiết kế. Có nghĩa là bạn có thể thiết kế, lập trình và
thay đổi mạch của bạn bất cứ khi nào bạn muốn . Với họ FPGA
ngày nay khả năng tích hợp của nó đã vợt qua giới hạn 10 triệu
cổng ( Họ Xilinx Virtex
TM
- II và Virtex
TM
- 4 FPGA hiện đang giữ kỷ
lục).Với sự giới thiệu của họ sản phẩm Spartan FPGA hiện nay,
Xilinx có thể cạnh tranh về ma trận cổng ở mọi khía cạnh nh giá
cả, số lợng cổng, số lợng vào ra cũng nh hiệu quả về giá thành.
Giả sử lấy Spartan - IIE FPGA với số lợng 300.000 cổng làm chuẩn
của giá thành, nó có thể cho phép thay thế các sản phẩm ứng dụng
theo chuẩn chuyên dụng.
Có hai loại FPGA cơ bản : Loại SRAM (Static Random Access
Memory) có thể lập trình lại nhiều lần và loại OTP (One - Time
Programmable) lập trình một lần.
11
Hình 1.4. Cấu trúc của FPGA
Hai loại này khác nhau ở chỗ thực hiện của các logic cell và kỹ
thuật tạo sự kết nối giữa chúng trong thiết bị. Loại hay đợc dùng
hơn cả là loại SRAM, vì nó có thể lập trình đợc nhiều lần. Thực tế
thì SRAM FPGA đợc nạp cấu hình lại mỗi khi bật nguồn, bởi vì
FPGA loại này thực chất là một chíp nhớ theo ý muốn. Có một câu
hỏi đặt ra là " Tại sao lại cần một chip PROM nối tiếp hoặc bộ nhớ
hệ thống? " cùng với mỗi SRAM FPGA . Xem cấu trúc của hai loại
với hình vẽ 1.5 và 1.6:
12
Hình 1.5. Cấu trúc SRAM FPGA ( SRAM Logic Cell)
- Loại SRAM có thể lập trình lại :
+ SRAM xác định các đờng kết nối.
+ SRAM xác định đơn vị logic trong bảng LUT ( Look Up
Table )
( Mỗi một LUT là một bộ tạo chức năng hay bộ tạo hàm với N
đầu vào và một đầu ra, có thể thực hiện bất cứ chức năng logic nào
với N đầu vào của nó. N thờng nằm giữa 2 và 6, thông thờng các
LUT có 4 đầu vào ).
Hình 1.6 . Cấu trúc của OTP FPGA (OTP Logic Cell)
- Loại OTP cho phép lập trình một lần :
+ Các đờng nối không đợc phép nối nh dạng cầu chì ( Nối
cố định ).
+ Logic là các cổng truyền thống .
Trong SRAM Logic Cell, thay vì các cổng thông thờng, một
LUT ( bộ tạo hàm ) sẽ xác định các đầu ra dựa vào giá trị cuả các
đầu vào. Nh hình 1.5 ta thấy sáu tổ hợp khác nhau của bốn bít vào
13
xác định các giá trị của đầu ra, các bit này cũng đợc dùng để thực
thi các kết nối. Trong OTP FPGAs sử dụng kết nối
giữa các đờng theo dạng nối ngợc ( Có nghĩa ngợc với cầu trì, sự
kết nối đợc tạo ra và không bị nóng chảy trong suốt thời gian nạp
chơng trình), nhằm tạo ra các kết nối cố định trong chip. Hơn nữa,
OTP FPGA không cần SPROM nào khác, điều đó có nghĩa là nạp
cấu hình vào thẳng FPGA. Tuy nhiên mỗi lần thay đổi một thiết kế
bạn phải vứt bỏ đi một chip. Loại OTP Logic Cell có cấu trúc tơng
tự nh họ PLD (Programmable Logic Device), bao gồm các cổng và
flip - flop chuyên dụng nh Flip-Flop loại D , T , hay RS .
1.2. Giới thiệu các họ thiết bị của Xilinx
Xilinx chia sản phẩm của mình ra rất nhiều họ nhng tài liệu sẽ
tập trung chính vào việc giới thiệu hai loại FPGA và CPLD cơ bản,
xem hình vẽ (Hình2.1). Đó là lọai thiết bị CoolRunner - XPLA3
CPLD, và Spartan 3 FPGA.
14
Hình1.7. Sơ lợc các họ thiết bị của Xilinx
1.2.1. Họ Platform FPGAs
Hình 1.7 cho ta thấy đợc tổng quan các họ sản phẩm chính cuả
Xilinx. ở đây xin chỉ giới thiệu tổng quan và đa ra các địa chỉ cần
tra cứu về chi tiết kỹ thuật của chúng trên trang Web của hãng
Xilinx.
Họ Virtex FPGAs : Sản phẩm Virtex-II là hiện thân đầu tiên
của Platform FPGA. Nó đã tạo ra một điểm dấu mới trong sự thực
thi, cộng thêm hàng loạt các tính năng mới của thiết bị mà từ trớc
cha có. Đây là thời kỳ mà Xilinx mở rộng tầm chiến lợc của mình
bằng việc kết hợp với các hãng IBM, Wind River, Conexant,
15
RocketChips
TM
, The MathWorks, và các nhà đứng đầu công nghệ
khác trên thế giới. Platform FPGA đa ra các đặc tính sau :
- Các giao tiếp vào ra hệ thống làm giảm nhẹ bớt các tiêu chuẩn
không cần thiết khác.
- XtremeDSP
TM
dựa trên FPGA, giải pháp cho sự thực hiện DSP
cha từng có (Nhanh gấp 100 lần bộ xử lý DSP hàng đầu).
- Empower ! Kỹ thuật xử lý dành cho xử lý hệ thống đòi hỏi sự
thực hiện cao và mềm dẻo.
Với dải mật độ từ 40.000 đến 10 triệu cổng hệ thống , Virtex-II
đa ra bộ nhớ hệ thống đợc mở rộng và bộ DSP flash thông qua kết
cấu nhúng IP (Lõi sở hữu trí tuệ). Họ Xilinx Virtex là họ đầu tiên
của FPGA mà nó đa ra một triệu cổng hệ thống và đợc giới thiệu
vào năm 1998. Dòng sản phẩm Virtex về cơ bản đã đợc định nghĩa
lại tất cả các đơn vị logic lập trình bởi việc mở rộng các khả năng
của FPGA truyền thống để có đặc tính mạnh hơn, nó đợc dùng cho
các thiết kế hệ thống thực thi cao. Các thiết bị mới nhất đợc đa ra
với họ sản phẩm Virtex-E và đợc công bố năm 1999 với hơn ba
triệu cổng hệ thống. Virtex-EM giới thiệu năm 2000 và là họ FPGA
đầu tiên đợc sản xuất với qui trình mạ đồng đã đợc cải tiến và
thêm vào bộ nhớ trong chip để dùng trong các ứng dụng chuyển
mạch mạng.
Họ Spartan FPGAs :
Họ Spartan FPGA là ý tởng dùng cho các ứng dụng với số
lợng lớn, giá thành thấp, chúng đợc đa vào các thiết bị đích
nhằm thay thế các chip logic cố định và các sản phẩm chuyên dụng,
16
chẳng hạn nh các chip giao tiếp bus. Năm thành viên của họ này là
Spartan-3 (1.2v), Spartan-IIE (1.8 v), Spartan-II (2.5 v) và SpartanXL
(3.3v), Spartan(5v). ở tài liệu này xin giới thiệu họ sản phẩm
Spartan-3.
- Spartan-3 FPGAs (1.2v, 90nm) : Với họ này, nó không chỉ có
giá thành thấp mà còn đựoc tích hợp với một số tính chất mới về cấu
trúc, các tính chất này đợc kết hợp với các đơn vị logic cho phép
lập trình. Sự kết hợp giữa giá thành thấp với các tính chất mới đã tạo
ra sự thay thế các chip ASIC và các thiết bị chuyên dùng khác. Ví dụ
một chip Spartan-3 FPGA trong hệ thống đa phơng tiện truyền
thông trong xe hơi có thể tập hợp đợc rất nhiều chức năng của hệ
thống, bao gồm các lõi IP nhúng, giao tiếp hệ thống khách hàng,
DSP và các đơn vị logic khác. Nó bao gồm các thành phần chính
sau:
+/ Các khối SRL16 ( thanhghi dịch 16 bit) :
* Mỗi khối Logic định cấu hình đợc (CLB LUT- Configurable
Logic Block LookUp Table) làm việc nh một thanh ghi dịch nhanh
16 bit. (Mỗi CLB có chứa 2 hoặc 4 LUT và 2 hoặc 4 Flip Flop ).
* Nối tầng các LUT ( Bộ tạo chức năng ) để tạo nên thanh ghi dịch
dài hơn .
* Sử dụng các thanh ghi đờng ống cho các bộ đệm dành cho Video
và các kết nối không dây.
+/ Bộ nhớ RAM chọn có thể đợc cấp tới 520Kb
* Mỗi LUT làm việc nh bộ RAM/ROM đơn cổng hoặc lỡng cổng.
17
* Nối tầng các LUT để tạo bộ nhớ lớn hơn .
* Các ứng dụng có thể thay đổi kích thớc bộ nhớ một cách mềm
dẻo, FIFO, và các bộ đệm.
+/ Khối RAM nhúng tới 1.87Mb
* Nhúng tới 104 khối RAM đồng bộ bằng việc nối tầng các khối
RAM 18Kb.
* Mỗi khối RAM 18Kb coi nh một RAM đơn cổng hoặc lỡng
cổng .
* Cung cấp các bội số của tỷ số tơng quan, chuyển đổi độ rộng dữ
liệu, tính chẵn lẻ.
* Cung cấp cho các ứng dụng gồm: bộ đệm dữ liệu, FIFO, và các bộ
đệm khác.
+/ Giao tiếp bộ nhớ
* Cho phép giao tiếp điện với các chuẩn nh HSTL, SSTL, cho phép
thực hiện kết nối với bộ nhớ thông thờng.
+/ Các bộ nhân
* Cho phép các phép tính toán học và số học đơn giản cũng nh các
chức năng nâng cao của DSP.
* Cung cấp 104 bộ nhân 18x18 với các phép nhân18 bit dấu hoặc 17
bit không dấu, cho phép nối tầng để tăng độ rộng số bit.
* Các bộ nhân hệ số hằng : Bộ nhớ on - Chip và các Logic Cell làm
việc chặt chẽ với nhau để xây dựng các bộ nhân với các toán hạng là
hằng số.
* Bộ nhân Logic cell : Thực hiện thuật toán thông thờng chẳng hạn
18
nh Baugh Wooly, Booth, cây Wallance ...
* Các bộ DCM (Digital Clock Manager - Bộ quản lý đồng hồ số)
thực hiện việc quản lý đồng hồ số phức tạp mà không bị ảnh hởng
của các tác nhân kích thích mang tính hệ thống nh, nhiệt độ, sự
biến thiên điện áp, và các vấn đề khác mà ví dụ điển hình là thờng
xảy ra với các bộ PLL (Phase Lock Loop - các vòng khoá pha) đợc
tích hợp trong FPGA.
* Bộ tạo tần số mềm dẻo từ 25 MHz đến 325 MHz.
* Điều khiển dịch pha các góc 1/4.
*Tạo các chu kỳ chính xác 50/50.
* Bù nhiệt.
+/ Kỹ thuât trở kháng điều khiển đợc XCITE
(Xilinx Controlled Impedance Technology)
*Các đầu cuối I/O cần bảo toàn tính nguyên dạng cuả tín hiệu, với
hàng trăm đầu I/O và với các kỹ thuật đóng gói cải tiến, các điện trở
đầu cuối mở rộng không còn bị biến đổi.
* Các đầu cuối I/O bị loại trừ sự thay đổi theo quá trình nh nhiệt
độ, dao động của điện áp .
Bảng 1.1. Tổng quan họ Spartan-3 FPGA
19
Các đặc tính và công dụng của chúng đợc nêu trong bảng 1.2 :
Bảng 1.2. Các đặc tính chính của Spartan-3
Các đặc tính của Spartan -3 Công dụng
Kết cấu và định tuyến FPGA lên
tới 5.000.000 cổng hệ thống.
- Cho phép thực hiện các khối
chức năng mức hệ thống, kết nối
on - chip cao, đa vào các cấu
hình hệ thống cao .
Khối RAM - có các Block 18K - Cho phép thực hiện các bộ đệm
lớn, các FIFO, các bộ đệm kết
nối.
Chế độ thanh ghi dịch ( SRL 16 )
- ý tởng thanh ghi dịch 16 bit
dành cho các ứng dụng tốc độ
cao, hoặc dữ liệu có dạng thô
đợc lu trữ trong DSP và các
20
ứng dụng mã hoá, xử lý đờng
ống nhanh .
Các khối nhân 18x18 . - Dùng cho việc xử lý DSP tốc độ
cao; Sự sử dụng các bộ nhân kết
hợp với kết cấu khung dữ liệu
cho phép thực hiện DSP song
song siêu nhanh.
Tín hiệu đầu cuối (lên tới 622
Mbps) định dạng theo các chuẩn
LVTTL, LVCMOS, GTL, GTL+,
PCI, HSTL-I, II, III, SSTL- I, II .
- Cho phép kết nối các chíp đang
dùng với các chip, bộ nhớ khác,
và từ các chip đang dùng tới các
chuẩn tín hiệu ở mạch phản hồi,
loại bớt sự cần nhiều IC chuyển
đổi .
Bộ quản lý đồng hồ số ( DCM ) - Loại trừ sự giữ chậm đồng hồ
mức board và on-chip, nhân chia
tức thì, có thể giảm đợc tốc độ
đồng hồ phù hợp ở mức board,
giảm số bộ đồng hồ trên bo
mạch. Có thể điều chỉnh pha
đồng hồ đảm bảo độ chính xác
cao .
Có các tài nguyên đợc định
tuyến toàn cục.
- Sự phân phối các clock và các
tín hiệu khác cùng với các hệ số
phân chia đầu ra cao trên toàn
21
thiết bị.
Điều khiển đầu ra cho phép lập
trình .
- Nâng cao tính toàn vẹn của
thiết bị
1.2.2. Họ Xilinx CPLDs
Hiện nay Xilinx đa ra các sản phẩm CPLD ở hai loại thiết bị :
XC9500
và CoolRunner. Để chọn CPLD phù hợp, bạn cần xem qua
các đặc tính cuả nó để nhận dạng họ sản phẩm mà nó phù hợp với
ứng dụng của bạn.
- Với họ XC9500 : là họ các thiết bị cho phép lập trình phức tạp
với sự thực thi cao, các đặc tính mới, linh hoạt. Họ thiết bị này đa
ra tốc độ dẫn đầu trong nền công nghiệp, nó cung cấp sự linh hoạt
trong cấu trúc khoá chân với ngời dùng. Họ sản phẩm này đợc
dùng cho các thiết kế cần tốc độ cao, giá thành thấp.
- Họ CoolRunner : Họ thiết bị tiêu thụ nguồn cực kỳ thấp, tạo ra
sự dẫn đầu trong thị trờng các thiết bị xách tay. Hoạt động trong
chế độ chờ ở mức Micro ampe, tiêu thụ nguồn nhỏ nhất khi làm
việc, vì vậy nó phù hợp với các ứng dụng mà cần quan tâm nguồn,
22
chẳng hạn nh nguồn ắc qui, các ứng dụng xách tay. Để quyết định
chọn lọai thiết bị nào phù hợp với tiêu chuẩn thiết kế, cần phải xem
thêm các thông tin chi tiết về loại thiết bị mà bạn cần, chẳng hạn
nh : Mật độ cổng, số thanh ghi, số chân vào ra, tốc độ yêu cầu,
đóng gói chân, tiêu thụ nguồn, chức năng mức hệ thống...
Họ XC9500 ISP ( Họ này cho phép lập trình mức hệ thống )
Họ XC9500 với sự thực thi cao, giá thành thấp là mục tiêu cho
các ứng dụng có nhu cầu phát triển, nâng cấp thiết kế. Họ XC9500
có dải mật độ từ 36 đến 288 Macrocell (Xin giải thích ở phần cấu
trúc CPLD và FPGA mục 1.3 chơng I), làm việc ở điện áp 2.5 Volt
(XC9500 XV), 3.3 Volt (XC9500 XL), 5 Volt (XC9500 ).
Các thiết bị này cho phép lập trình ở mức hệ thống ISP, điều
này cho phép sử dụng lại các thiết kế trong suốt thời gian thử mẫu,
gỡ rối hệ thống, nâng cấp, test trớc khi xuất xởng.
Dựa vào các kỹ thuật xử lý tiên tiến, họ XC9500 đa ra sự bảo
hành nhanh (Chỉ cần file chơng trình đợc đóng gói và nạp lại),
cho phép khoá chân ngời dùng, giao tiếp đợc với chuẩn JTAG. Tất
cả các họ XC9500 có đặc tính tin cậy tuyệt vời với 10.000 lần nạp
xoá và lu trữ dữ liệu trong vòng 20 năm.
- Họ XC9500 5 V : Là một trong số 6 thiết bị dải từ 36 đến 288
Macrocell với các kiểu đóng gói chân đa dạng. Các chân vào ra cho
phép giao tiếp trực tiếp với hệ thống 3V và 5 V (VccIO - chân giao
tiếp ngời dùng), với các phiên bản mới nó trở nên rất dễ sử dụng
với các đóng gói theo kiểu CSP (Chip Scale Package), BGA (Ball
Grid Array) và cho phép truy cập đến 192 tín hiệu.
23
* Cấu trúc khoá chân linh hoạt :
Cùng với phần mềm fitter đã đa ra khả năng định tuyến lớn
nhất, mềm dẻo trong thực thi. Với cấu trúc có giầu đặc tính, cho
phép đa ra nhiều tích số nhân riêng biệt, có ba bộ đồng hồ toàn
cục, có nhiều tích số nhân trên đầu ra hơn các loại CPLD khác.
Các tính năng về cấu trúc của loại này rất thích nghi với việc
sửa đổi thiết kế trong quá trình thiết kế.
* Trợ giúp gỡ rối và phát triển giao tiếp với JTAG IEEE 1149.1:
Giao tiếp JTAG của họ XC9500 thông minh hơn bất cứ họ CPLD
nào có mặt trên thị trờng. Nó có các đặc tính chuẩn hỗ trợ kỹ thuật
hỏi vòng, lấy mẫu, kiểm tra mở rộng.
Hơn nữa nó gồm có các chỉ dẫn quét biên mà các loại CPLD
khác không có, nó bao gồm INTEST (dùng cho kiểm tra chức năng
của thiết bị ), HIGHZ ( dùng cho kỹ thuật hỏi vòng ).
Họ XC9500 5V này đa ra nhiều chuẩn công nghiệp phát triển
ở thế hệ thứ ba, các công cụ gỡ rối nh Corelis , JTAG, Assert
Intertech.
Các công cụ này cho phép bạn phát triển các véc tơ test vùng
biên để phân tích sự ảnh hởng lẫn nhau, test, gỡ rối lỗi hệ thống.
Bảng 1.3. Tổng quan họ XC9500 5V
24
- Họ XC9500XL 3.3 V: Họ XC9500 XL đợc úng dụng trong
các hệ thống mũi nhọn cần sự phát triển tiếp theo và khả năng nâng
cấp thiết kế. Họ này đa ra sự thực thi cha từng có với độ tin cậy
lập trình cao nhất, giá thành thấp nhất. Họ XC9500 XL bổ sung mật
độ cao hơn Xilinx FPGA để đa ra giải pháp logic tổng thể trong
môi trờng phát triển tích hợp . Các đặc tính chính của họ này nh
sau :
* Điểm mạnh chính :
+/ Giá thành thấp nhất trên mỗi Macrocell.
+/ Cấu trúc khoá chân tiên tiến nhất hiện có .
+/ Khả năng lập trình cao nhất, giảm sự rủi ro hệ thống
+/ Bổ sung cho họ Xilinx 3.3 V FPGA.
* Sự thực thi :
+/ Tốc độ truyền tín hiệu giữa chân tới chân 5ns .
+/ Tần số hệ thống 222 MHz .
* Tính năng cấu trúc mạnh:
25
+/ Có các khối chức năng lên tới 54 đầu vào .
+/ Có tới 90 tích số nhân trên mỗi Macrocell.
+/ Cho phép định tuyến nhanh thông qua ma trận chuyển
mạch CONNECT
TM
II.
+/ Có ba bộ đồng hồ toàn cục và cho phép chuyển đổi vị trí
giữa chúng.
+/ Có đờng OE (Output Enable) trên mỗi đầu ra riêng biệt,
cho phép chuyển đổi vị trí .
* Độ tin cậy cao nhất
+/ Khả năng chịu đợc 10.000 chu kỳ nạp xoá
+/ Lu dữ liệu đợc 20 năm
+/ Cho phép bỏ qua chế độ lỗi mở khoá ISP .
Bảng 1.4. Các họ XC9500 XV và XC9500 XL: