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. 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 kiÖu giíi thiÖu ph¬ng ph¸p thiÕt kÕ CPLD, FPGA còng nh ng«n ng÷ lËp
2
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 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 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:
[email protected].
Hµ Néi, Ngµy 1 th¸ng 10 n¨m 2005
TËp thÓ t¸c gi¶
3
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
SigneticsTM ®· ®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 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).
4
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 SigneticsTM
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
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 ®-
5
î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 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
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Ô
6
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Ó 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µ VirtexTM- 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.
7
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:
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 ).
8
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 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.
9
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,
RocketChipsTM, 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.
- XtremeDSPTM 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.
10
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, 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.
* 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
11
* 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 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
12
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 - Cho phÐp thùc hiÖn c¸c khèi chøc n¨ng
5.000.000 cæng hÖ thè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 ø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) - Cho phÐp kÕt nèi c¸c chÝp ®ang dïng
®Þnh d¹ng theo c¸c chuÈn LVTTL, víi c¸c chip, bé nhí kh¸c, vµ tõ c¸c chip
LVCMOS, GTL, GTL+, PCI, HSTL-I, II, ®ang dïng tíi c¸c chuÈn tÝn hiÖu ë m¹ch
III, SSTL- I, II .
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 ë
13
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 - Sù ph©n phèi c¸c clock vµ c¸c tÝn hiÖu
côc.
kh¸c cïng víi c¸c hÖ sè ph©n chia ®Çu ra
cao trªn toµn 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, 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 ).
14
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.
* 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
15
- 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:
+/ 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
CONNECTTM 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
16
+/ Cho phÐp bá qua chÕ ®é lçi më kho¸ ISP .
B¶ng 1.4. C¸c hä XC9500 XV vµ XC9500 XL:
Hä CoolRunner Low - Power CPLD:
Cã hai thµnh viªn chÝnh trong hä CoolRunner lµ CoolRunner XPLA3(3.3v) vµ
CoolRunner II (1.8V). ë tµi liÖu nµy giíi thiÖu CoolRunner XPLA (3.3 v).
Hä CoolRunner CPLD lµ sù kÕt hîp cña sù tiªu thô nguån thÊp vµ tèc ®é cao,
mËt ®é cao, sè ®êng vµo ra cao trong mét chip ®¬n. Hä CoolRunner 3.3v cã mËt ®é
tõ 32 ®Õn 512 Macrocell. CoolRunner CPLD cã nÐt ®Æc biÖt cña kü thuËt nguån
kh«ng, cho phÐp thiÕt bÞ kh«ng tiªu thô nguån ë chÕ ®é Standby. §Æc tÝnh nµy rÊt
phï hîp víi c¸c thiÕt bÞ ®iÖn tö x¸ch tay, nh Laptop PCs, ®iÖn tho¹i di ®éng, c¸c
thiÕt bÞ c¸ nh©n sè ... Hä CPLD nµy sö dông nguån ®éng Ýt h¬n nhiÒu khi ho¹t ®éng
so víi CPLD truyÒn thèng. Mét ®iÒu quan träng h¬n c¶ lµ chóng dïng cho øng dông
cÇn sù thùc thi víi tèc ®é cao, nhËy c¶m vÒ nhiÖt, ch¼ng h¹n nh chuyÓn m¹ch cña
tæng ®µi, hÖ thèng m« pháng ....
17
Mçi thµnh viªn cña hä CoolRunner XPLA3 cã chøa kü thuËt thiÕt kÕ nguån
kh«ng mµ nã lµ sù kÕt hîp nguån n¨ng lîng thÊp vµ tèc ®é cao. Víi kü thuËt thiÕt kÕ
nµy hä CoolRunner XPLA3 ®a ra tèc ®é truyÒn tõ ch©n tíi ch©n lµ 5ns. Khi ®îc cÊp
nguån víi dßng nhá h¬n 100 µA (ë chÕ ®é standby) kh«ng cÇn bit "Powerdown" v×
bit nµy cã thÓ ¶nh hëng xÊu ®Õn sù thùc hiÖn cña thiÕt bÞ. B»ng viÖc thay thÕ c¸c ph¬ng ph¸p khuyÕch ®¹i truyÒn thèng, ph¬ng ph¸p c¸c tÝch sè nh©n víi mét lo¹t sù nèi
tÇng cña c¸c cæng CMOS thuÇn tuý. Nguån ®éng còng ®îc thay thÕ b»ng nguån
thÊp h¬n bÊt kú lo¹i CPLD nµo kh¸c. Hä CoolRunner hoµn toµn lµ lo¹i PLD CMOS,
v× vËy chóng sö dông kü thuËt xö lý CMOS vµ kü thuËt thiÕt kÕ nguån kh«ng CMOS
.
B¶ng 1.5. C¸c ®Æc tÝnh cña hä CoolRunner:
§Æc tÝnh
C«ng dông
CÊu tróc hoµn toµn CMOS cïng víi kü - Dßng tiªu thô tæng vµ dßng ë chÕ ®é
thuËt thiÕt kÕ nguån kh«ng FZP
STANBY thÊp nhÊt trong sè hä CPLD, v×
vËy tuæi thä cña ¾c qui sÏ cao h¬n, ®é tin
cËy t¨ng, to¶ nhiÖt Ýt h¬n.
Cã thÓ chän thiÕt bÞ cã chøa 32 ®Õn 512 - Phï hîp víi nhiÒu thiÕt kÕ vµ c¸c øng
Macrocell.
dông, cã thÓ chuyÓn mËt ®é lªn hoÆc
xuèng tuú thuéc vµo ph¸t triÓn thiÕt kÕ
lªn hay rót bít.
ChuÈn vµo ra thay ®æi ( Cã thÓ dao déng - §¬n gi¶n trong thiÕt kÕ, cã nhiÒu møc
tõ 3.3 ®Õn 5V).
®iÖn ¸p vµ dÔ chuyÓn ®æi møc.
HÖ thèng Bus vµo ra thuËn tiÖn.
- Cã ®iÖn trë treo ë ®Çu cuèi .
Sù chän lùa clock ®a n¨ng.
- MÒm dÎo trong thiÕt kÕ .
Cã c¸c thanh ghi ®Çu vµo t¸c ®éng nhanh - Giao tiÕp trùc tiÕp víi bus tèc ®é cao ®îc.
VFM (Variable Function Mux) bé chän - Qu¸ tr×nh tèi u ho¸ m¹nh h¬n vµ dÔ
kªnh chøc n¨ng cho phÐp thay ®æi.
®iÒu chØnh thiÕt kÕ, chi phÝ thÊp h¬n khi
dïng vµo c¸c øng dông nhá.
§ãng gãi nhá gän víi c¸c kho¶ng c¸ch - C¸c ch©n nhá nhÊt, tiÕt kiÖm kho¶ng
ch©n lµ 0,8 mm vµ 0,5 mm.
m¹ch in, phï hîp víi c¸c thiÕt bÞ cÇm
tay.
D¶i nhiÖt ®é chuÈn theo c«ng nghiÖp vµ - Cã thÓ sö dông trong c¸c øng dông ë
th¬ng m¹i .
c¸c lÜnh vùc kh¸c nhau, nh y häc...
B¶ng 1.6. Tæng quan hä CoolRunner :
18
Gi¶i thÝch ký hiÖu CoolRunner CPLD:
1.2.3. Hä Xilinx øng dông trong hµng kh«ng vµ vò trô
Xilinx lµ nhµ cung cÊp hµng ®Çu c¸c hä PLD víi ®é tin cËy cao cho thÞ trêng
hµng kh«ng vò trô vµ qu©n sù . C¸c thiÕt bÞ nµy, chóng ®îc sö dông réng r·i trong
c¸c øng dông nh chiÕn tranh ®iÖn tö, tªn löa dÉn ®êng, tªn löa hµnh tr×nh, Radar,
truyÒn th«ng siªu ©m, xö lý tÝn hiÖu, khoa häc ®iÖn tö hµng kh«ng vµ vÖ tinh. Hä
QproTM víi c¸c s¶n phÈm QML gèm, plastic ®a ra c¸c gi¶i ph¸p lËp tr×nh logic n©ng
cao cho c¸c thiÕt kÕ thÕ hÖ tiÕp theo. Hä Qpro TM còng cã c¸c s¶n phÈm chän, chÞu
19
nhiÖt ®Ó sö dông trong vÖ tinh vµ c¸c øng dông kh«ng gian kh¸c. Ch¼ng h¹n nh hä
XQ4000E/EX thuéc hä FPGA, QPro - XC1700D - PROM , XQ17V6 - PROM,
XQ18V04 - Flash PROM ®îc sö dông trong lÜnh vùc qu©n sù .
§Þa chØ tham kh¶o : ( http://www.dscc.dla.mis/v/va/smd/smdsrch.html ).
1.3. CÊu tróc cña FPGA vµ CPLD Xilinx
Víi mçi hä kh¸c nhau cÊu tróc cu¶ chóng kh¸c nhau, tuy nhiªn chóng vÉn cã
nh÷ng ®iÓm chung, ë tµi liÖu nµy xin giíi thiÖu mét hä cô thÓ. Víi hä cña FPGA t¸c
gi¶ xin giíi thiÖu cÊu tróc cña Spartan-IIE FPGA, víi hä CPLD xin gíi thiÖu hä
CoolRunner XPLA3.
1.3.1. CÊu tróc cña Spartan-IIE ( 1.8V) FPGA
Hä Spartan-IIE (Lâi 1.8V) cña FPGA ®a ra c¸c kü thuËt FPGA ph¸t triÓn nhÊt
ngµy nay, bao gåm cho phÐp lËp tr×nh víi nhiÒu chuÈn vµo ra nh LVDS, LVPECL,
HSTL, c¸c khèi RAM on-chip, c¸c vßng kho¸ ®é gi÷ chËm cho phÐp qu¶n lý clock ë
møc board vµ møc chip. H¬n n÷a hä Spartan-IIE cã mét ý nghÜa gi¸ trÞ kh¸c ®ã lµ
nã lo¹i bá sù cÇn thiÕt c¸c s¶n phÈm tiªu chuÈn chuyªn dông ( ASSP ) víi c¸c øng
dông ®¬n gi¶n, ch¼ng h¹n nh vßng kho¸ pha, FIFO, c¸c bé chuyÓn ®æi vµo ra, ®iÒu
khiÓn Bus hÖ thèng, c¸c thµnh phÇn nµy ®· kh«ng thÓ thiÕu ®Ó hoµn thiÖn mét thiÕt
kÕ mµ nã ®· ®îc dïng tríc ®©y.
- Hä Spartan-IIE lµ ®ßn bÈy c¬ b¶n cho c¸c tÝnh n¨ng vÒ cÊu tróc cña Virtex-E
®Ó ®a ra nh÷ng tÝnh n¨ng næi tréi h¬n. CÊu tróc CLB (Configurable Logic Block Khèi logic cho phÐp ®Þnh cÊu h×nh) cã chøa RAM ®îc ph©n phèi ®Ó thùc hiÖn c¸c
chøc n¨ng logic c¬ b¶n.
- Bèn DLL ( Delay Locked Loop ) vßng kho¸ ®é gi÷ chËm ®îc sö dông cho bé
qu¶n lý ®ång hå vµ cã thÓ thùc hiÖn clock ®èi xøng lÖch vµ c¸c phÐp nh©n clock,
chia clock. Clock ®èi xøng lÖch cã thÓ ®îc thùc hiÖn bªn ngoµi (Møc board) hoÆc ë
bªn trong chip ( Møc c¬ b¶n ).
- C¸c khèi Block RAM gåm 4Kb cho mçi khèi cã thÓ ®îc s¾p xÕp ®é réng tõ
1 ®Õn 16 bit.
- §Æc tÝnh Select I/O cho phÐp giao tiÕp víi nhiÒu chuÈn kh¸c nhau ®Ó thùc thi
trong c¸c vïng kÕt nèi víi c¸c chip cã chuÈn IO kh¸c nhau, kÕt nèi chip víi bé nhí,
kÕt nèi chip víi c¸c giao tiÕp Èn.
20
H×nh 1.8. CÊu tróc cña Spartan - IIE
- Hä Spartan-IIE FPGA ®îc thùc thi víi cÊu tróc CLB cho phÐp lËp tr×nh linh
ho¹t, th«ng dông, mµ c¸c CLB nµy ®îc bao bëi mét vßng c¸c khèi I/O lËp tr×nh ®îc,
c¸c ®êng nèi ®îc kÕt nèi bëi c¸c nguån tµi nguyªn ®Þnh tuyÕn ®a n¨ng. CÊu tróc nµy
còng ®a ra c¸c chøc n¨ng ®îc n©ng cao ch¼ng h¹n nh khèi RAM vµ c¸c khèi ®iÒu
khiÓn clock.
H×nh 1.9. S¬ ®å khèi cña Spartan -IIE