intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình sử dụng công nghệ FPGA và CPLD - Thiết kế thiết bị điện tử

Chia sẻ: Hoàng Văn Tấn | Ngày: | Loại File: PDF | Số trang:272

271
lượt xem
83
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu Thiết kế thiết bị điện tử lập trình sử dụng công nghệ FPGA và CPLD gồm 4 chương chính: Chương 1. Giới thiệu tổng quan tổ chức phần cứng của ASIC; Chương 2. Giải pháp và tổ chức phần mềm đảm bảo; Chương 3. Ngôn ngữ lập trình VHDL; Chương 4. Thiết kế ứng dụng cơ bản. Mời các bạn cùng tham khảo chi tiết nội dung Tài liệu.

Chủ đề:
Lưu

Nội dung Text: Lập trình sử dụng công nghệ FPGA và CPLD - Thiết kế thiết bị điện tử

  1. 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. 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. 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. 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: tcuong@hn.vnn.vn. Hµ Néi, Ngµy 1 th¸ng 10 n¨m 2005 TËp thÓ t¸c gi¶
  5. 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 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, nh−ng 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. 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) TM H·ng MMI (Sau ®ã bÞ mua bëi h·ng AMD ) ®· 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). Nh−ng 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. 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µ ch−a ®Ò 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. 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. 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. 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 VirtexTM- 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.
  11. 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. 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. 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ä nh−ng 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. 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 ch−a 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. 15 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 ch−a 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. 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. 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. 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. 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 - Cho phÐp thùc hiÖn c¸c khèi tíi 5.000.000 cæng hÖ thèng. 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 l−u tr÷ trong DSP vµ c¸c
  20. 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 - Cho phÐp kÕt nèi c¸c chÝp ®ang Mbps) ®Þnh d¹ng theo c¸c chuÈn dïng víi c¸c chip, bé nhí kh¸c, LVTTL, LVCMOS, GTL, GTL+, vµ tõ c¸c chip ®ang dïng tíi c¸c PCI, HSTL-I, II, III, SSTL- I, II . 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 - Sù ph©n phèi c¸c clock vµ c¸c tuyÕn toµn 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0