åçã¯ãXC2064ãããã®64ãããã¯ã®1ã€ã瀺ããŠããŸããéå±åå±€ãé€å»ãããéå±åã®äžã«ããã·ãªã³ã³ãã©ã³ãžã¹ã¿ãšããªã·ãªã³ã³ãã©ã³ãžã¹ã¿ãèŠãããšãã§ããŸããããªãã¯ããã§ãã倧ããªã¹ã±ãŒã«ã®åçãèŠãããšãã§ããŸãïŒsiliconpr0nã
FPGAã¯ã1984幎ã«ã¶ã€ãªã³ã¯ã¹ã®å ±ååµèšè ã§ããRoss Freemanã«ãã£ãŠçºæãããæåã®FPGAã¯XC2064ã§ãããææ°ã®FPGAãããã¯ããã«åçŽã§ã64åã®ããžãã¯ãããã¯ããå«ãŸããŠããŸããã§ããããææ°ã®FPGAã«ã¯æ°åãæ°çŸäžãå«ãŸãããã®äœæã«ãããæ°ååãã«çžåœã®æ¥çãåºçŸããŸãããXC2064ã¯éåžžã«éèŠã§ããããããããã¹ã®æ®¿å å ¥ããæãããŸãããXC2064ããªããŒã¹ãšã³ãžãã¢ãªã³ã°ããŸããããã®æçš¿ã§ã¯ãXC2064ã®å éšæ§é ãäžè¬çãªçšèªã§èª¬æãããããã¹ããªãŒã ã§ã©ã®ããã«ããã°ã©ã ãããã説æããŸãã
ã¶ã€ãªã³ã¯ã¹
Xilinx -. , , Xilinx , . Xilinx Seiko Epson Semiconductor Division ( Seiko Epson).
XC2064
: ( ) . â (Programmable Logic Devices, PLD), , , 1967 . , , , . , PROM, , , EPROM, . , , Programmable Logic Array, Programmable Array Logic (1978), Generic Array Logic Uncommitted Logic Array. , , « », . , , , , , . , . "Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology." "A Brief History of FPGAs".
ã¶ã€ãªã³ã¯ã¹XC2064ã¯æåã®FPGAãããã§ããããããååŸïŒsiliconpr0nã
FPGAã¯çŸåšãVerilogãVHDLãªã©ã®ããŒããŠã§ã¢èšè¿°èšèªã§ããã°ã©ã ãããŠããŸãããåœæãã¶ã€ãªã³ã¯ã¹ã¯ç¬èªã®éçºãœãããŠã§ã¢ã§ããXACTãšåŒã°ããMS-DOSã¢ããªã±ãŒã·ã§ã³ã12,000ãã«ã§æäŸããŠããŸããã XACTã¯ãææ°ã®ããŒã«ãããäœãã¬ãã«ã§æ©èœããŸããã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ããŠãŒã¶ãŒãåè«çãããã¯ã®æ©èœãšãè«çãããã¯éã®æ¥ç¶ãå®çŸ©ããŸããã
XACTã¯æ¥ç¶ãã«ãŒãã£ã³ã°ããFPGAã«ããŒããããæ§æãã¡ã€ã«ïŒãããã¹ããªãŒã ïŒãçæããŸããã
XACTã®ã¹ã¯ãªãŒã³ã·ã§ããã 2ã€ã®ããŒãã«FãšGã¯ãç»é¢ã®äžéšã«ç€ºãããŠããæ¹çšåŒãå®è£ ããŠãããäžèšã®Karnaughãããã䜿çšããŠããŸãã
FPGAã¯ãç¬èªã®åœ¢åŒã®ãããã·ãŒã±ã³ã¹ã§ãããããã¹ããªãŒã ã䜿çšããŠæ§æãããŸãããXC2064ãããã¹ããªãŒã ïŒäžïŒãèŠããšãäžèŠåã«ç¹°ãè¿ããããããã¹ããªãŒã å šäœã«æ£ãã°ã£ãŠãããã¿ãŒã³ã®äžæè°ãªæ··åãèŠãããŸãããã ããFPGAã®ç©çåè·¯ã調ã¹ããšããããã¹ããªãŒã ã®ããŒã¿æ§é ãæããã«ãªãã調ã¹ãããšãã§ããŸãã
XACTã«ãã£ãŠçæããããããã¹ããªãŒã ã®äžéšã
FPGAã¯ã©ã®ããã«æ©èœããŸããïŒ
äžã®å³ã¯ãå ã®FPGAç¹èš±ããæç²ãããã®ã§ãFPGAã®åºæ¬æ§é ã瀺ããŠããŸãããã®ç°¡ç¥åãããFPGAã«ã¯ãåèš9ã€ã®ããžãã¯ãããã¯ïŒéè²ã§ããŒã¯ïŒãš12ã®I / OããŒãããããŸããçžäºæ¥ç¶ãããã¯ãŒã¯ã¯ãã³ã³ããŒãã³ããçžäºã«æ¥ç¶ããŸããæ¥ç¶ã«ã¹ã€ããïŒå¯Ÿè§ç·ïŒãèšå®ããããšã«ãããããžãã¯ãããã¯ãçžäºã«æ¥ç¶ããããI / OããŒãã«æ¥ç¶ãããããããšãã§ããŸããåè«çèŠçŽ ã¯ãå¿ èŠãªè«çæ©èœã®ããã«ããã°ã©ã ããããšãã§ããŸãããã®çµæããã®ãããªããã°ã©ã å¯èœãªãããã¯ãå©çšå¯èœãªã¹ããŒã¹ã«åãŸãä»»æã®ããã€ã¹ãå®è£ ã§ããŸãã
FPGAç¹èš±ãçžäºæ¥ç¶ãããè«çãããã¯ïŒLEïŒã
æ§æå¯èœãªããžãã¯ãããã¯ïŒCLBïŒ
äžã®å³ã¯9ã€ã®CLBã瀺ããŠããŸãããXC2064ã«ã¯64ã®CLBããããŸããäžã®å³ã¯ãCLBã®æ§é ã瀺ããŠããŸãã CLBã«ã¯ã4ã€ã®å ¥åïŒAãBãCãDïŒãš2ã€ã®åºåïŒXãšYïŒããããŸãããã®éã«ã¯çµã¿åããããžãã¯ããããä»»æã®ããžãã¯æ©èœã«ããã°ã©ã ã§ããŸãã CLBã«ã¯ããªã¬ãŒãå«ãŸããŠããããã®ååšã«ãããã«ãŠã³ã¿ãŒãã·ããã¬ãžã¹ã¿ãã¹ããŒããã·ã³ãããã³ãã®ä»ã®ã¹ããŒããã«åè·¯ãå®è£ ã§ããŸãã Trapeziumã¯ãä»»æã®å ¥åããä¿¡å·ãæž¡ãããã«ããã°ã©ã ã§ãããã«ããã¬ã¯ãµã瀺ããŸãããã«ããã¬ã¯ãµãŒã䜿çšãããšãç¹å®ã®ä¿¡å·ãéžæããŠããªã¬ãŒãšåºåãå¶åŸ¡ããããšã«ãããCLBãç¹å®ã®ã¿ã¹ã¯çšã«æ§æã§ããŸãã
XC2064ã®æ§æå¯èœãªããžãã¯ãããã¯ãããããååŸïŒããŒã¿ã·ãŒãã
çµã¿åããããžãã¯ãä»»æã®ããžãã¯æ©èœãã©ã®ããã«å®è£ ããã®ãçåã«æããããããããŸãããANDãORãXORãªã©ã®ã»ããããéžæã§ããŸããïŒããããã«ãã¯ã¢ããããŒãã«ïŒLUTïŒãšåŒã°ããå·§åŠãªããªãã¯ããããŸããããã¯ãå®éã«ã¯é¢æ°ã®ãã¥ã«ãŒã¹ããŒãã«ã§ããããšãã°ã3ã€ã®å€æ°ã®é¢æ°ã¯ã8è¡ã®ããŒãã«ã«ãã£ãŠå®çŸ©ãããŸããLUTã«ã¯8ãããã®ã¡ã¢ãªãå«ãŸããŠããŸãããããã®3ããããç¶æããªãããä»»æã®3å ¥åããžãã¯æ©èœãå®è£ ã§ããŸãã
ããŒãã«ã衚瀺
XC2064 â , . CLB . XC2064 , 4 . , .
XC2064 . .
XC2064 . .
æ¥ç¶
FPGAã®æ¬¡ã®éèŠãªåŽé¢ã¯æ¥ç¶ã§ããããã¯ãããŸããŸãªæ¹æ³ã§CLBãåãæ¿ããããã«ããã°ã©ã ã§ããŸããæ¥ç¶ã¯è€éã§ããã倧ãŸããªèª¬æã§ã¯ããã¹ãŠã®CLBéã«åçŽæ¥ç¶ãšæ°Žå¹³æ¥ç¶ã®ã»ã°ã¡ã³ãããããŸãã CLBãæ°Žå¹³ç·ãšåçŽç·ã«æ¥ç¶ããä»»æã®æ¥ç¶ãäœæã§ããŸããããè€éãªã¿ã€ãã®æ¥ç¶ã¯ãã¹ã€ãããããªãã¯ã¹ãã§ããåãããªãã¯ã¹ã«ã¯8ã€ã®ãã³ãããããããã¯ïŒã»ãŒïŒä»»æã®æ¹æ³ã§çžäºã«æ¥ç¶ã§ããŸãã
次ã®å³ã¯ãããžãã¯ãããã¯ïŒéïŒãšI / Oã©ã€ã³ïŒé»è²ïŒéã®æ¥ç¶ãæäŸããXC2064ãªã³ã¯ã®æ§é ã瀺ããŠããŸããæ¿å ¥å³ã¯ãçµåã¡ã«ããºã ã®è©³çŽ°ã瀺ããŠããŸããç·ã®é·æ¹åœ¢ã¯8ãã³ã¹ã€ãããããªãã¯ã¹ã§ãå°ããªåè§ã¯ããã°ã©ã å¯èœãªæ¥ç¶ãã€ã³ãã§ãã
XC2064FPGAã«ã¯8x8CLBãããªãã¯ã¹ããããŸããåCLBã«ã¯ãAAããHHãŸã§ã®ååããããŸãã
以äžã«ç€ºãããã«ãæ¥ç¶ã¯ãããšãã°ãDCãããã¯ã®åºåãDEãããã¯ã®å ¥åã«åãæ¿ããããšãã§ããŸããèµ€ãç·ã¯ä¿¡å·ãã¹ã瀺ããå°ããªèµ€ãåè§ã¯ã¢ã¯ãã£ãåãããæ¥ç¶ãã€ã³ãã瀺ããŸãã DCãããã¯ããåºãä¿¡å·ã¯ã8ãã³ã¹ã€ããïŒç·ïŒã®æåã®æ¥ç¶ãã€ã³ãã«ã«ãŒãã£ã³ã°ããã2ã€ã®æ¥ç¶ãã€ã³ããšå¥ã®8ãŠã§ã€ã¹ã€ããïŒæªäœ¿çšã®åçŽç·ãšæ°Žå¹³ç·ã¯è¡šç€ºãããŠããŸããïŒãçµç±ããŸãããã®ãããªçããã¹ã§ã4ã€ã®æ¥ç¶ãã€ã³ããš2ã€ã®ã¹ã€ããã䜿çšãããããæ¥ç¶ã¯éåžžã«è€éã§ããããšã«æ³šæããŠãã ããã
DCãããã¯ã®åºåããDEãããã¯ãžã®ä¿¡å·ã«ãŒãã£ã³ã°ã®äŸã
以äžã®ã¹ã¯ãªãŒã³ã·ã§ããã¯ãXACTã§ãã¬ãŒã¹ãã©ã®ããã«è¡ããããã瀺ããŠããŸããé»è²ã®ç·ã¯ãè«çãããã¯éã®æ¥ç¶ã瀺ããŠããŸããä¿¡å·ã®æ°ãå¢ãããšããã¹éã®ç«¶åãªãã«æ¥ç¶ã確ç«ããããšãå°é£ã«ãªããŸããXACTã¯èªåçã«ãã¬ãŒã¹ããŸããããã¬ãŒã¹ã¯æåã§ç·šéããããšãã§ããŸãã
XACTããã°ã©ã ã®ã¹ã¯ãªãŒã³ã·ã§ãããããã¯MS-DOSããã°ã©ã ã§ãããããŒããŒããšããŠã¹ã«ãã£ãŠå¶åŸ¡ãããŸãã
å®è£
次ã«ãã¯ãªã¹ã¿ã«ã®åçãããªããŒã¹ãšã³ãžãã¢ãªã³ã°ã«ããXC2064ã®å éšåè·¯ãèŠãŠãããŸããããã«ã¯XC2064ã«ããçšåºŠç²ŸéããŠããå¿ èŠãããããšãèŠåããŸãã
ã¯ãªã¹ã¿ã«ãã©ã
XC2064 XC20186, XC2064 XC2018 siliconpr0n. , . John McMaster , , . , .
XC2064 , John McMaster.
XC2064 , John McMaster.
XC2018
Xilinx XC2018 ( ) 100 , , XC2064. , XC2064 64 , 1010, 88. XC2018 , .
XC2018. , . .
XC2064 XC2018. , , .
XC2064 XC2018. , , , . siliconpr0n.
XC2018. , . .
XC2064 XC2018. , , .
XC2064 XC2018. , , , . siliconpr0n.
以äžã¯XC2064ã¯ãªã¹ã¿ã«ã®åçã§ãã FPGAã®äž»èŠéšåã¯ã8x8ãããã¯ã®ãããªãã¯ã¹ã§ãããåãããã¯ã«ã¯ããžãã¯ãããã¯ãšåšå²ã®åè·¯ãå«ãŸããŠããŸãã FPGAãã€ã¢ã°ã©ã ã¯ããšã³ãã£ãã£é ç·ãã€ã¢ã°ã©ã ãšã¯å¥ã®è«çãããã¯ïŒCLBïŒã瀺ããŠããŸãããå®éã«ã¯ããã§ã¯ãããŸãããå®éãåè«çãããã¯ãšãã®ç°å¢ã¯ãåäžã®ããŒããã¿ã€ã«ãšããŠå®è£ ãããŠããŸãã ïŒæ£ç¢ºã«ã¯ãã¿ã€ã«ã«ã¯åCLBã®äžéšãšå·ŠåŽã«æ¥ç¶ãå«ãŸããŠããŸããïŒ
XC2064ãããã¯ã¬ã€ã¢ãŠããããããååŸïŒsiliconpr0nã
éç©åè·¯ã®åŽé¢ã«æ²¿ã£ãŠé 眮ãããI / Oãããã¯ã¯ãå€çãšã®éä¿¡ãæäŸããŸãããããã¯ãå°ããªç·è²ã®åè§ã§ç€ºãããŠããã¯ãªã¹ã¿ã«ã®ãã³ã«æ¥ç¶ããããã€ã¯ããµãŒãããã±ãŒã¹ã®ãã³ã«æ¥ç¶ãããŠããŸãããã€ïŒç·ïŒã«ã¯ãããã¡ããããŸãã2ã€ã¯åçŽã2ã€ã¯æ°Žå¹³ã§ãããããã®ãããã¡ã¯ãããããé·è·é¢ç§»åããä¿¡å·ãå¢å¹ ããåŸ ã¡æéãççž®ããŸãã以äžã«ç€ºãããã«ãåçŽã·ããã¬ãžã¹ã¿ïŒãã³ã¯ïŒãšæ°Žå¹³åãã§ãããã§ãŒã³ã䜿çšããŠããããã¹ããªãŒã ããããã«ããŒãããŸãã
ã¿ã€ã«ã®å åŽ
次ã®å³ã¯ã1ã€ã®XC2064ã¿ã€ã«ã®æ§é ã瀺ããŠããŸãããããã«ã¯ã1ã€ã®ãã€ã«64åã®ãã®ãããªã¿ã€ã«ãè©°ã蟌ãŸããŠããŸããåã¿ã€ã«ã®çŽ40ïŒ ã¯ãæ§æããããæ ŒçŽããã¡ã¢ãªã»ã«ïŒç·è²ã§è¡šç€ºïŒã«ãã£ãŠå ããããŠããŸããã¿ã€ã«ã®äžéš3åã®1ïŒçŽïŒã«ã¯ãæ¥ç¶å³ãå«ãŸããŠããŸãã2ã€ã®ã¹ã€ãããããªãã¯ã¹ãšããã€ãã®åå¥ã®ãªã³ã¯ã¹ã€ããã§ãã以äžã¯è«çãããã¯ã§ããããžãã¯ãããã¯ã®äž»èŠéšåã¯ãå ¥åãã«ããã¬ã¯ãµãããªãããããããããã³ã«ãã¯ã¢ããããŒãã«ã§ããã¿ã€ã«ã¯ãæ°Žå¹³ããã³åçŽã®éä¿¡åç·ãä»ããŠé£æ¥ãããã®ã«æ¥ç¶ãããŠãããé»æºã¬ãŒã«ãšæ¥å°ã¬ãŒã«ã«ãæ¥ç¶ãããŠããŸããæ§æããŒã¿ãããã¯ã¡ã¢ãªã»ã«ã«æ°Žå¹³æ¹åã«å ¥åãããåçŽæ¹åã®ä¿¡å·ã¯ããŒãããç¹å®ã®åãéžæããŸãã
éèŠãªæ©èœããŒãã瀺ã1ã€ã®FPGAã¿ã€ã«
ãã©ã³ãžã¹ã¿
FPGAã¯ãNMOSããã³PMOSãã©ã³ãžã¹ã¿ããæ§ç¯ãããCMOSïŒCMOSïŒããžãã¯ã«å®è£ ãããŠããŸãããã©ã³ãžã¹ã¿ã¯ãFPGAã§2ã€ã®äž»èŠãªåœ¹å²ãæãããŸãããŸããè«çèŠçŽ ã¯ãããã®çµã¿åãããã圢æãããŸãã第äºã«ããã©ã³ãžã¹ã¿ã¯ãä¿¡å·ãééããã¹ã€ãããšããŠäœ¿çšãããããšãã°ããããã¯éã®æ¥ç¶ã圢æããŸãããã®åœ¹å²ãæãããã©ã³ãžã¹ã¿ã¯ãã¹ã«ãŒãã©ã³ãžã¹ã¿ãšåŒã°ããŸããäžã®å³ã¯ãMOSFETã®åºæ¬æ§é ã瀺ããŠããŸããã·ãªã³ã³ã®2ã€ã®ã»ã¯ã·ã§ã³ã«äžçŽç©ãããŒãããŠããã¬ã€ã³ãšãœãŒã¹ãäœæããŸãããããã®éã«ã¯ããã©ã³ãžã¹ã¿ã®ãªã³ãšãªããåãæ¿ãããã¬ã€ã³ãšãœãŒã¹éã®é»æµãå¶åŸ¡ããã²ãŒãããããŸããã·ã£ãã¿ãŒã¯ããªã·ãªã³ã³ãšåŒã°ããç¹æ®ãªã¿ã€ãã®ã·ãªã³ã³ã§ã§ããŠãããäžã®ã·ãªã³ã³ããèãé žåç©ã®å±€ã§çµ¶çžãããŠããŸãããã®äžã«ã¯ãåè·¯æ¥ç¶ãæäŸãã2å±€ã®ã¡ã¿ã©ã€ãŒãŒã·ã§ã³ããããŸãã
MOSFETã®æ§é
çµæ¶ã®åçã§ã¯ããã©ã³ãžã¹ã¿ãã©ã®ããã«èŠããããé¡åŸ®é¡ã§èŠ³å¯ã§ããŸããããªã·ãªã³ã³ã²ãŒãã¯ãã·ãªã³ã³ã®2ã€ã®ããŒãé åéã®æ²ããããã£ãç·ã§ããåã¯ãã·ãªã³ã³ãšéå±å±€ïŒãã®åçã§ã¯åé€ãããŠããŸãïŒãæ¥ç¶ãããã¢ã§ãã
FPGA MOSFET
ãããã¹ããªãŒã ãšæ§æã¡ã¢ãª
XC2064ã®æ§ææ å ±ã¯ãæ§æã¡ã¢ãªãŒã®å Žæã«ä¿ç®¡ãããŸãã FPGAã¯ããã«ãããã¯ã¡ã¢ãªã䜿çšããŸããã代ããã«ãæ§æã¡ã¢ãªã¯160x71ã©ãã£ã¹ã®åœ¢ã§ã¯ãªã¹ã¿ã«å šäœã«åæ£ãããåãããã¯ãããå¶åŸ¡ããåè·¯ã®é£ã«é 眮ãããŸãã次ã®å³ã¯ãFPGAã«ããŒããããæ§æãããã¹ããªãŒã ã瀺ããŠããŸãããããã¹ããªãŒã ã¯ããããã®äžå€®ã«ããã·ããã¬ãžã¹ã¿ïŒãã³ã¯ïŒã«ããŒããããŸãã 71ããããã·ããã¬ãžã¹ã¿ã«ããŒãããããšãåãã§ããåè·¯ïŒéïŒãç®çã®ã¡ã¢ãªåãéžæãããããã䞊åã«åã«ããŒããããŸãã次ã«ã次ã®71ããããã·ããã¬ãžã¹ã¿ã«ããŒããããå·ŠåŽã®æ¬¡ã®åãéžæãããŸãããã®ããã»ã¹ã¯FPGAã®160åãã¹ãŠã«å¯ŸããŠç¹°ãè¿ããããããã¹ããªãŒã å šäœãFPGAã«ããŒããããŸããã·ããã¬ãžã¹ã¿ã䜿çšãããšã倧容éã®ã¡ã¢ãªã¢ãã¬ã¹æå®åè·¯ãäžèŠã«ãªããŸãã
ãããã¹ããªãŒã ãFPGAã«ããŒããããæ¹æ³ããããã¯åŸæ¥ã©ããã«è¡šç€ºãããŸãããå®éã®ãããã®æ ŒçŽã¯ã¯ããã«é«å¯åºŠã§ããå³åŽã®3ã€ã®åã¯ãã§ã«èªã¿èŸŒãŸããŠããã4çªç®ã¯èªã¿èŸŒã¿äžã§ããã¯ãªã¹ã¿ã«ã®åçã¯ããããæ®åœ±ãããŠããŸãïŒsiliconpr0nã
éèŠãªããšã¯ããããã¹ããªãŒã ããã¡ã€ã«ã«è¡šç€ºãããé åºãšãŸã£ããåãé åºã§ãããå šäœã«åæ£ãããããšã§ãããããã¹ããªãŒã å ã®ãããã®ãããã³ã°ã¯ããããäžã®ç©ççãªé 眮ã«å¯Ÿå¿ããŸãã以äžã«ç€ºãããã«ãåãããã¯ãå¶åŸ¡ããåè·¯ã®é£ã®FPGAã«æ ŒçŽãããŸãããããã£ãŠããããã¹ããªãŒã ãã¡ã€ã«ã®åœ¢åŒã¯ãããŒããŠã§ã¢åè·¯ã®é 眮ã«ãã£ãŠçŽæ¥æ±ºå®ãããŸããããšãã°ãã¿ã€ã«éã«ã®ã£ãããããããã®äžã«ãããã¡ãããå Žåãåãã®ã£ããããããã¹ããªãŒã ã«ãããŸãããããã¹ããªãŒã ã®æ§é ã¯ãããŒã¿ããŒãã«ã®ãã£ãŒã«ããæ§æãããã¯ãªã©ã®ãœãããŠã§ã¢ã®æœè±¡åã«äŸåããŸããããããã¹ããªãŒã ãç解ããã«ã¯ããœãããŠã§ã¢ã§ã¯ãªãããŒããŠã§ã¢ã®èŠ³ç¹ããèããå¿ èŠããããŸã
ãããã¹ããªãŒã
, (.RBT) , .
, .
, .
æ§æã¡ã¢ãªã®åãããã¯ã以äžã«ç€ºãããã«å®è£ ãããŸããåã¡ã¢ãªã»ã«ã¯ãã«ãŒãã§æ¥ç¶ããã2ã€ã®ã€ã³ããŒã¿ã§æ§æãããŠããŸãããã®ãããªåè·¯ã«ã¯2ã€ã®å®å®ç¶æ ãããã1ããããæ ŒçŽã§ããŸããäžéšã®ã€ã³ããŒã¿ãŒãç¶æ 1ã«ãããäžéšã®ã€ã³ããŒã¿ãŒãç¶æ 0ã«ãããããŸãã¯ãã®éã§ããã»ã«ã«æžã蟌ãããã«ãå·ŠåŽã®ãã¹ãã©ã³ãžã¹ã¿ãã¢ã¯ãã£ãã«ãªããä¿¡å·ãæž¡ããŸããããŒã¿ã©ã€ã³ã®ä¿¡å·ã¯ãå¿ èŠãªããããæžã蟌ãããšã«ãã£ãŠã€ã³ããŒã¿ããã«ããã ãã§ããïŒåãã©ã³ã°ã䜿çšããŠæ§æããŒã¿ãèªã¿åãããšãã§ããŸããïŒåºåQãšå転Qã¯ãçžäºæ¥ç¶ããããéãããã«ãã¯ã¢ããããŒãã«ããããããååŸãããããªã¬ãŒãå¶åŸ¡ãããªã©ãFPGAã®ç¹å®ã®æ©èœãå¶åŸ¡ããŸããã»ãšãã©ã®å ŽåãQåºåã®ã¿ã䜿çšãããŸãã
SRAMã»ã«
(SRAM). , RAM, , , SRAM. , 5T SRAM.
, . , . , 1818 , 27 . , , , , . 9 .
, , . siliconpr0n.
, . , . , 1818 , 27 . , , , , . 9 .
, , . siliconpr0n.
ããã¥ã¡ã³ãããã®1ãããã®æ§æã¡ã¢ãªã®å³ã
次ã®å³ã¯ãã¡ã¢ãªã»ã«ã®ç©çæ§é ã瀺ããŠããŸããå·Šã®åçã¯8ã€ã®ã¡ã¢ãªã»ã«ã瀺ããŠããããã®ãã¡ã®1ã€ã匷調衚瀺ãããŠããŸããåæ°Žå¹³ããŒã¿ã©ã€ã³ã¯ãè¡ã®ãã¹ãŠã®ã¡ã¢ãªäœçœ®ã«æ¥ç¶ãããŠããŸããååãã§ããè¡ã¯ãåå ã®ãã¹ãŠã®ã¡ã¢ãªäœçœ®ãéžæããæžã蟌ã¿ãå¯èœã«ããŸããçãäžã®åçã¯ã1ã€ã®ã¡ã¢ãªã»ã«ã®ã·ãªã³ã³ãšããªã·ãªã³ã³ã®ã»ã¯ã·ã§ã³ã瀺ããŠããŸããéå±ã®å±€ã¯ãäžã®ãã©ã³ãžã¹ã¿ãé²åºãããããã«åé€ãããŠããŸããéå±åå±€ã¯ããã©ã³ãžã¹ã¿ãåçã®åãæ¥ç¶ããŸãããããã¯ãã·ãªã³ã³ãŸãã¯ããªã·ãªã³ã³ãšéå±ã®éã®æ¥ç¶ããã¢ã§ãããã®å³ã¯ã5ã€ã®ãã©ã³ãžã¹ã¿ãã©ã®ããã«æ¥ç¶ãããŠãããã瀺ããŠããŸããå³äžã®èŠçŽ ã®é 眮ã¯ãåçå ã®èŠçŽ ã®é 眮ã«å¯Ÿå¿ããŠããŸãã 2察ã®ãã©ã³ãžã¹ã¿ãCMOSã€ã³ããŒã¿ã圢æããå·Šäžã®ãã¹ã¹ã«ãŒãã©ã³ãžã¹ã¿ãã»ã«ãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã
, . â . , . . : siliconpr0n.
åã«èª¬æããããã«ãFPGAã¯ã«ãã¯ã¢ããããŒãã«ã䜿çšããŠä»»æã®ããžãã¯é¢æ°ãå®è£ ããŸãã次ã®å³ã¯ãã«ãã¯ã¢ããããŒãã«ãXC2064ã§ã©ã®ããã«å®è£ ãããŠãããã瀺ããŠããŸããå·ŠåŽã®8ã€ã®å€ã¯ã8ã€ã®ã¡ã¢ãªäœçœ®ã«ä¿åãããŸãã 4ã€ã®ãã«ããã¬ã¯ãµã¯ãå ¥åAã®å€ã«å¿ããŠãå€ã®åãã¢ã®1ã€ãéžæããŸããA= 0ã®å Žåãå€ã®äžéãéžæãããA = 1ã®å ŽåãäžéãéžæãããŸãã次ã«ãã©ãŒãžãã«ããã¬ã¯ãµã¯ä¿¡å·BãšCã«åºã¥ããŠ4ã€ã®å€ã®ãããããéžæããŸããçµæã¯ç¹å®ã®å€ïŒãã®å Žåã¯A XOR B XOR CïŒã«ãªããŸããããŒãã«ã«ç°ãªãå€ãä»£å ¥ãããšãä»»æã®è«çæ©èœãå®è¡ã§ããŸãã
ã«ãã¯ã¢ããããŒãã«ã§ã®XORã®å®è£ ã
åãã«ããã¬ã¯ãµã«ã¯ããã¹ã¹ã«ãŒãã©ã³ãžã¹ã¿ãå®è£ ãããŠããŸããå¶åŸ¡ä¿¡å·ã«å¿ããŠããã¹ã¹ã«ãŒãã©ã³ãžã¹ã¿ã®1ã€ãã¢ã¯ãã£ãã«ãªããå ¥åããåºåã«ããŒã¿ãæž¡ãããŸãã次ã®å³ã¯ã2ããããå€éåãããLUTãã§ãŒã³ã®äžéšã瀺ããŠããŸããå³åŽã«ã¯2ã€ã®ã¡ã¢ãªäœçœ®ããããŸããåãããã¯ã€ã³ããŒã¿ãŒãééããå¢å¹ ãããäžå€®ã®ãã«ããã¬ã¯ãµãŒã®ãã¹ã¹ã«ãŒãã©ã³ãžã¹ã¿ãŒãééããŠããããã®ãããã®1ã€ãéžæããŸãã
LUTãå®è£ ãããããã®ãã¥ãŒãSiliconpr0nããååŸã
åŒãé
åCLBã«ã¯ãFPGAãã©ãããã¹ããŒããã·ã³ãããã³ãã®ä»ã®ã¹ããŒããã«ããããå®è£ ã§ããããã«ããããªãããããããå«ãŸããŠããŸãã次ã®å³ã¯ãïŒããçããïŒããªã¬ãŒã®å®è£ ã瀺ããŠããŸãã圌女ã¯æ¬¡ã®ã¹ããŒã ã䜿çšããŸããã¯ããã¯ä¿¡å·ããŒãã®å Žåãæåã®ãã«ããã¬ã¯ãµã¯ããŒã¿ãæåã®ã©ããã«æž¡ããæåã®ã©ããã¯å€ãæ ŒçŽããŸãããã®ãããã¯ãORãNANDãããã³ã€ã³ããŒã¿ãŒã²ãŒããééãããšãã«ã2åå転ãããçµæãšããŠåããŸãŸã«ãªããŸããããã«ã2çªç®ã®ã©ãããã«ããã¬ã¯ãµã¯ãã¯ããã¯ã1ã«äžãããšãæåã®ã©ããããããããåãåããŸãïŒã¯ããã¯ãå転ããŠããããšã«æ³šæããŠãã ããïŒããã®å€ã¯ãããªããããããã®åºåã§ããã¯ããã¯ä¿¡å·ã0ã«èšå®ããããšãã»ã«ã³ããªãã«ããã¬ã¯ãµã¯ããããã©ããããããšã«ãã£ãŠã«ãŒããéããŸãããããã£ãŠãããªã¬ãŒã¯ä¿¡å·ã®ãšããžã«ææã§ããã¯ããã¯ä¿¡å·ã®ç«ã¡äžãããšããžã§å€ãã©ããããŸããã»ããããã³ãªã»ããã©ã€ã³ã¯ãããªãããããããã»ããããã³ãªã»ããããŸãã
. OR-NAND : siliconpr0n.
ã¹ã€ãããããªãã¯ã¹ã¯éèŠãªçžäºæ¥ç¶èŠçŽ ã§ããåã¹ã€ããã«ã¯8æ¬ã®ãã³ïŒäž¡åŽã«2æ¬ïŒããããã»ãšãã©ãã¹ãŠã®æ¹æ³ã§æ¥ç¶ã§ããŸããä¿¡å·ã¯ãåã ã®çžäºæ¥ç¶ããŒããããæè»ã«ãã©ãã解é€ãåå²ã亀差ãããããšãã§ããŸãã次ã®å³ã¯ã4ã€ã®CLBïŒéïŒéã®çžäºæ¥ç¶ãããã¯ãŒã¯ã®äžéšã瀺ããŠããŸããã¹ã€ããã³ã°ãããªãã¯ã¹ïŒç·è²ïŒã¯ãå³åŽã®æ¥ç¶ã®ä»»æã®çµã¿åããã§æ¥ç¶ã§ããŸããåãã³ã¯ä»ã®ãã³ã«5ã7åæ¥ç¶ã§ããããšã«æ³šæããŠãã ãããããšãã°ããã³1ã¯ãã³3ã«æ¥ç¶ã§ããŸããããã³2ãš4ã«ã¯æ¥ç¶ã§ããŸãããããã«ããããããªãã¯ã¹ãã»ãŒå®æãã28ã§ã¯ãªã20ã®æ¥ç¶ãå¯èœã«ãªããŸãã
ããããååŸïŒã¶ã€ãªã³ã¯ã¹ããã°ã©ããã«ã²ãŒãã¢ã¬ã€ããŒã¿ããã¯ãå³ã 7bã
ã¹ã€ããã³ã°ãããªãã¯ã¹ã¯ããããã®äžäžã®ã¡ã¢ãªã»ã«ã«ãã£ãŠå¶åŸ¡ããããã©ã³ãžã¹ã¿ã®è¡ã«ãã£ãŠåœ¢æãããŸãããã©ã³ãžã¹ã¿ã®äž¡åŽã¯ããã©ã³ãžã¹ã¿ã§æ¥ç¶ã§ããã¹ã€ããã³ã°ãããªãã¯ã¹ã®2ã€ã®ãã³ã§ãããããã£ãŠãåãããªãã¯ã¹ã«ã¯20ã®å¶åŸ¡ãããããããã¿ã€ã«ããšã«2ã€ã®ãããªãã¯ã¹ããããšãã¿ã€ã«ããšã«40ãããã«ãªããŸããäžã®åçã¯ãäžã®ãã©ã³ãžã¹ã¿ã®æ³¢ç¶ã²ãŒãã«æ¥ç¶ããã1ã€ã®ã¡ã¢ãªã»ã«ã瀺ããŠããŸãããã®ãã©ã³ãžã¹ã¿ã¯ããã³5ãšãã³1ã®éã®æ¥ç¶ãæäŸããŸãããããã£ãŠããã®ã¡ã¢ãªäœçœ®ã«å¯Ÿå¿ãããããã¹ããªãŒã ã®ãããã¯ããã³5ãš1ã®éã®æ¥ç¶ãå¶åŸ¡ããŸããåæ§ã«ãä»ã®ã¡ã¢ãªã»ã«ãšããã«é¢é£ãããã©ã³ãžã¹ã¿ã¯ä»ã®æ¥ç¶ãå¶åŸ¡ããŸããçµæãšããŠããããã®æ¥ç¶ã®é åºã¯ç¹å®ã®ãã¿ãŒã³ã«åŸããªãããšã«ã泚æããŠãã ããããããã¹ããªãŒã ã®ããããšã¹ã€ãããã³ã®éã®å¯Ÿå¿ã¯ã©ã³ãã ã«èŠããŸãã
ã¹ã€ãããããªãã¯ã¹
20 . 18 , .
æ¥ç¶ã®8ãªãŒããããªãã¯ã¹ã®å®è£ ãã·ãªã³ã³é åã¯ã察å¿ãããã³ã®çªå·ã§ç€ºãããŸãã察å¿ãããªãŒãç·ããã©ã³ãžã¹ã¿ã«æ¥ç¶ããŠããéå±å±€ãé€å»ãããŠããŸããSiliconpr0nããååŸã
å ¥åæ¥ç¶
CLBå ¥åã¯ãããŒããŠã§ã¢å®è£ ã«ãã£ãŠèª¬æãããç°ãªããããã¹ããªãŒã ãšã³ã³ãŒãã£ã³ã°ã¹ããŒã ã䜿çšããŸããäžã®ç»åã§ã¯ã8ã€ã®æ¥å圢ã®ããŒããDDãšåŒã°ããCLBãžã®æœåšçãªå ¥åã§ãã2ã€ã®ä¿¡å·ã1ã€ã®å ¥åã«æ¥ç¶ãããšãããããäºãã«ç絡ã§ãããããå ¥åãšããŠæ§æã§ããããŒãã¯1ã€ïŒæ倧ïŒã®ã¿ã§ãã
å ¥åéžæãç·ã§å²ãŸãã8ã€ã®å ¥åã¯æœåšçãªDDå ¥åã§ããããã®ãã¡ã®1ã€ã®ã¿ãéžæã§ããŸãã
å¿ èŠãªå ¥åã¯ãã«ããã¬ã¯ãµã«ãã£ãŠéžæãããŸããç°¡åãªè§£æ±ºçã¯ã8ã€ã®ä¿¡å·ã®1ã€ãéžæãã3ã€ã®å¶åŸ¡ããããåãã8å ¥åãã«ããã¬ã¯ãµã䜿çšããããšã§ãããã1ã€ã®ç°¡åãªè§£æ±ºçã¯ããããããç¬èªã®å¶åŸ¡ä¿¡å·ãæã¡ããã®ãã¡ã®1ã€ãå¿ èŠãªä¿¡å·ãéžæãã8ã€ã®ãã¹ãã©ã³ãžã¹ã¿ã䜿çšããããšã§ãããã ããFPGAã¯ãæåã®ã±ãŒã¹ã§ã¯ãã³ãŒããŒã®å¿ èŠæ§ãæé€ãããã€ããªããã¢ãããŒãã䜿çšããŸããã2çªç®ã®ã¢ãããŒãã§å¿ èŠãª8ã€ã§ã¯ãªã5ã€ã®å¶åŸ¡ä¿¡å·ãå¿ èŠãšããŸãã
FPGAã¯ããã«ããã¬ã¯ãµã䜿çšããŠ8ã€ã®å ¥åãã1ã€ãéžæããŸãã
äžã®å³ã®å³ã¯ãFPGAã§äœ¿çšããã2å±€ãã«ããã¬ã¯ãµã瀺ããŠããŸããæåã®æ®µéã§ãå¶åŸ¡ä¿¡å·ã®1ã€ãã¢ã¯ãã£ãã«ãªããŸãã第2段éã§ã¯ãé«ä¿¡å·ãŸãã¯äœä¿¡å·ãéžæãããåºåã«é©çšãããŸããããšãã°ãå¶åŸ¡ä¿¡å·B / Fã第1ã¹ããŒãžã«é©çšãããABCDã第2ã¹ããŒãžã«é©çšããããšãããšãå ¥åBã ããåºåã«éãããŸããã€ãŸãã8ã€ã®å ¥åã®1ã€ãéžæããã«ã¯ããããã¹ããªãŒã ã«5ããããå¿ èŠã§ããã5ã€ã®ã¡ã¢ãªäœçœ®ã䜿çšããŸãã
å
¥åãã«ããã¬ã¯ãµCLB
CLB. EFGH ABCD, . -, CLB 6 10 , , . , , , , . , , 6 , . , , .
çµè«
XC2064ã¯ãé«åºŠã«æé©åãããããŸããŸãªãããã䜿çšããŠãããžãã¯ãããã¯ãšãããçžäºæ¥ç¶ãå®è£ ããŸãããããã®ãã§ãŒã³ã¯ãã¯ãªã¹ã¿ã«ã«ãã£ããããããã«ãã£ãããšæ¢±å ããå¿ èŠããããŸããããã§ããXC2064ã¯éåžžã«å€§ããªãããã§ãããåœæã®ãã€ã¯ãããã»ããµããã倧ããã補é ãé£ãããæ°çŸãã«ã®è²»çšãããããŸãããææ°ã®FPGAãšæ¯èŒãããšãXC2064ã®ã»ã«æ°ã¯éåžžã«å°ãªãã§ãããããã§ãé©æ°çãªæ°è£œåã©ã€ã³ã®å§ãŸãã§ããã
XC2064ãããã¹ããªãŒã ãç解ããã«ã¯ã2ã€ã®æŠå¿µãéèŠã§ãããŸããFPGAã¯64ã¿ã€ã«ã«åºã¥ããŠå®è£ ãããè«çãããã¯ãšçžäºæ¥ç¶ãçµã¿åããããããã¯ãç¹°ãè¿ããŸããFPGAã¯ãçžäºæ¥ç¶ã§å²ãŸããè«çãããã¯ãæã€ãšèª¬æãããŠããŸããããã®ããã«ã¯å®è£ ãããŠããŸããã2çªç®ã®æŠå¿µã¯ããããã¹ããªãŒã ãæœè±¡åã«åºã¥ããŠããããFPGAã¡ã¢ãªã»ã«ã®2次å ãããã³ã°ãçŽæ¥ãããã³ã°ããããšã§ãããããã£ãŠããããã¹ããªãŒã ã¯ãFPGAã®ç©çæ§é ãæ€èšããŠããå Žåã«ã®ã¿æå³ããããŸãã
泚æ
, XC2064 (. 11), CLB . , , 20% , . â -, . , . .
, 8Ã18. , , . .
. , #1 () #2 () . 8 #1 1 8 . #2 , . , "#2: 1-3" , 1 3 #2. «ND», , . ND ND.
, . , PIP , , . () (1, 2, 3), Y (). (-) -. , , . (), D (), A () . CLB, . , . X Y (LUT) F G. LUT. LUT F LUT G, . , 8 LUT , .
, 8Ã18. , , . .
. , #1 () #2 () . 8 #1 1 8 . #2 , . , "#2: 1-3" , 1 3 #2. «ND», , . ND ND.
, . , PIP , , . () (1, 2, 3), Y (). (-) -. , , . (), D (), A () . CLB, . , . X Y (LUT) F G. LUT. LUT F LUT G, . , 8 LUT , .
ãã€ãã¿ãŒã§æåŸã®æçš¿ãçºè¡šããŸããã®ã§ãkenshirriffããã©ããŒããŠãã ãããRSSãã£ãŒãããããŸããè°è«ããŠãããJohnMcMasterãTim AnsellãPhilipFreidinã«æè¬ããŸãã