Đăng ký Đăng nhập

Tài liệu Fpga_vhdl_xong

.DOC
176
230
82

Mô tả:

VHDL
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
- Xem thêm -

Tài liệu liên quan