¾ËÅ׶ó, SOPC ÅëÇÕ¿ë ¾÷°è ÃÖÃÊÀÇ RISC ±â¹Ý ÀÓº£µðµå ÇÁ·Î¼¼¼ Nios ¹ßÇ¥
|
- ¾ËÅ׶óÀÇ Excalibur ÀÓº£µðµå (³»ÀåÇü) ÇÁ·Î¼¼¼
¼Ö·ç¼ÇÀ¸·Î¼ ù¹ø° Á¦Ç°
- ¾ç»ê °¡°Ý 5´Þ·¯´ë¿¡ 50MIPs ¼º´É Á¦°ø
- Àú·ÅÇÑ °³¹ß Å°Æ®·Î Æ÷°ýÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ¹×
Çϵå¿þ¾î µðÀÚÀÎ ¼Ö·ç¼Ç Á¦°ø
- ½Ã±×³Ê½º»ç¿ÍÀÇ ¶óÀ̼¾½º Çù¾à ü°á·Î GNUPro
³»ÀåÇü ½Ã½ºÅÛ °³¹ß ÅøÀ» »ç¿ë, ±âÁ¸ C/C++ ÄÚµå
°³¹ß Áö¿ø
³»ÀåÇü ÇÁ·Î¼¼¼ Æ÷·³ (6¿ù 12ÀÏ) - ¾ËÅ׶ó ÄÚÆÛ·¹À̼Ç
(¾ËÅ׶ó ÄÚ¸®¾Æ Áö»ç ´ëÇ¥: ±è Çö½Ä) Àº ¿À´Ã ÇÁ·Î±×·¡¸Óºí
·ÎÁ÷¿¡ Ưº°È÷ ÃÖÀûÈµÈ ¾÷°è ÃÖÃÊÀÇ RISC±â¹Ý ³»ÀåÇü
ÇÁ·Î¼¼¼ ÄÚ¾îÀÎ Nios¿Í Nios ÇÁ·Î¼¼¼ Äھ »ç¿ëÇÑ
Excalibur°³¹ß Å°Æ®¸¦ ¹ßÇ¥ÇÏ¿´´Ù. Nios ÄÚ¾î´Â
½Ã½ºÅÛ ¿Â ¾î ÇÁ·Î±×·¡¸Óºí Ĩ (SOPC) µðÀÚÀÎÀ» À§ÇÑ
Æ÷°ýÀûÀÎ ¼Ö·ç¼ÇÀ» Á¦°øÇÏ°íÀÚ ÃßÁøµÇ´Â ¾ËÅ׶óÀÇ Excalibur
³»ÀåÇü ÇÁ·Î¼¼¼ ¼Ö·ç¼ÇÀ¸·Î¼´Â ù¹ø°·Î Ãâ½ÃµÇ´Â
Á¦Ç°ÀÌ´Ù. (°ü·Ã "½Ã½ºÅÛ ¿Â ¾î ÇÁ·Î±×·¡¸Óºí
Ĩ µðÀÚÀο¡ ÀÖ¾î ¾ËÅ׶ó ÀÓº£µðµå ÇÁ·Î¼¼¼ ÅëÇÕ¿¡
°üÇÑ »ç¾÷ Àü·« ¹ßÇ¥" ´º½º¸¦ ÂüÁ¶ÇϽʽÿÀ.)
Nios ³»ÀåÇü ÇÁ·Î¼¼¼´Â 5´Þ·¯´ëÀÇ ¾ç»ê °¡°Ý¿¡¼
50MIPsÀÇ ¼º´ÉÀ» Á¦°øÇϸç 16ºñÆ® ¸í·É¾î ¼¼Æ®¿Í 16/32ºñÆ®
µ¥ÀÌÅÍ °æ·Î ±×¸®°í ÇÑ Å¬·° ´ç Æò±Õ ÇϳªÀÇ ¸í·É¾î¸¦
½ÇÇàÇÏ´Â 5´Ü°è ÆÄÀÌÇÁ¶óÀÎÀ» »ç¿ëÇÏ¿© ¼³°èµÇ¾ú´Ù.
"Nios ¼ÒÇÁÆ® ÄÚ¾î ÇÁ·Î¼¼¼´Â ÄÁÇDZԷ¹À̼ÇÀÌ
°¡´ÉÇÏ°í À¯¿¬¼ºÀ» Á¦°øÇÏ¿© ½Ã½ºÅÛ ÅëÇÕ¿¡ ÇÊ¿äÇÑ
È®½ÇÇÑ SOPC ¼Ö·ç¼ÇÀ» Á¦°øÇÕ´Ï´Ù." ¾ËÅ׶óÀÇ
¸¶ÄÉÆà ºÎ»çÀåÀΠŬ¸®ÇÁ Åë¾¾´Â ¸»ÇÑ´Ù. "Nios¿Í
Nios¸¦ »ç¿ëÇÑ Excalibur °³¹ß Å°Æ®¿¡ Æ÷ÇÔµÈ APEX
µð¹ÙÀ̽º ¹× Æ÷°ýÀûÀÎ ¼ÒÇÁÆ®¿þ¾î¿Í Çϵå¿þ¾î ÅøÀ»
ÅëÇÏ¿© ¼³°è¿£Áö´Ï¾îµéÀº ÀÌÁ¦ ÀڽŵéÀÇ Æ¯Á¤ ¾îÇø®ÄÉÀ̼ǿ¡
¸Â´Â, ºü¸£°í È¿À²ÀûÀÎ SOPC µðÀÚÀÎ °³¹ß¿¡ ÇÊ¿äÇÑ
¸ðµç ¿ä¼ÒµéÀ» °®Ãß°Ô µÇ¾ú½À´Ï´Ù. ¾ËÅ׶óÀÇ
ÇÁ·Î±×·¡¸Óºí ·ÎÁ÷ ¾ÆÅ°ÅØÃĸ¦ ±â¹ÝÀ¸·Î °³¹ßµÈ °¡°Ý
´ëºñ È¿°ú°¡ Å« Nios ³»ÀåÇü ÇÁ·Î¼¼¼´Â Åë½ÅÀ̳ª ÄÄÇ»ÆÃ
±×¸®°í ½ºÅľó·Ð (stand alone) ³»ÀåÇü ÇÁ·Î¼¼¼³ª
¸¶ÀÌÅ©·Î ÄÁÆ®·Ñ·¯°¡ ÁÖ¸¦ ÀÌ·ç´Â ½ÃÀåÀÇ ¾îÇø®ÄÉÀ̼Ç
ȤÀº ASIC (application-specific integrated circuit)°ú
ASSP (application-specific standard product) ¹æ½ÄÀ¸·Î
³»ÀåµÇ´Â ¾îÇø®ÄÉÀ̼ÇÀ» °Ü³ÉÇÏ°í ÀÖ½À´Ï´Ù."
Ŭ¸®ÇÁ Åë¾¾¿¡ µû¸£¸é ¿Â Ĩ ROM ³»Àå ½Ã½ºÅÛ ºí·Ï
(ESB)ÀÇ ¼Ò(small) ÇÁ·Î±×·¥À» ÀÛµ¿ÇÏ´Â Nios 16ºñÆ®
³»ÀåÇü ÇÁ·Î¼¼¼ ÄÚ¾î´Â ½ÃÄö¼ (sequencer) ³ª ÄÁÆ®·Ñ·¯·Î
ÇÏ¿©±Ý ÇϵåÄÚµå (Hard-code)µÈ ½ºÅ×ÀÌÆ® ¸Ó½ÅÀÇ ¿ªÇÒÀ»
ÇÒ ¼ö ÀÖ°Ô ¸¸µç´Ù. ´õ¿íÀÌ ¿ÜºÎ FLASH ÇÁ·Î±×·¥
¸Þ¸ð¸®¿Í Ä¿´Ù¶õ ¿ÜºÎ ÁÖ ¸Þ¸ð¸®¸¦ °¡Áø Nios 32ºñÆ®
ÇÁ·Î¼¼¼ ÄÚ¾î´Â ´Ù¸¥ ½ºÅľó·Ð ³»ÀåÇüÇÁ·Î¼¼¼¿¡ ºñÇÏ¿©
´õ¿í Å« À¯¿¬¼º°ú ÇÁ·Î¼¼½Ì ÆÄ¿ö¸¦ Á¦°øÇÑ´Ù.
Nios
³»ÀåÇü ÇÁ·Î¼¼¼ °³¹ß ȯ°æ
»ç¿ëÀÚ´Â ¾ËÅ׶óÀÇ MegaWizard ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿©
¸Þ¸ð¸®¿Í ÁÖº¯±â±â¿¡ ´ëÇÑ ÄÁÇDZԷ¹ÀÌ¼Ç ±â´ÉÀ» °¡Áø
½Ã½ºÅÛÀ» ¸ÅÇÎÇØ º¼ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¼³°èÀÚ´Â
ÁÖº¯±â±â ŸÀÔ»Ó¸¸ ¾Æ´Ï¶ó ¿©·¯ ´Ù¾çÇÑ ¸Þ¸ð¸® Æø°ú
¼Óµµ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ´õ ³ª¾Æ°¡ Nios ³»ÀåÇü
ÇÁ·Î¼¼¼ ÄÚ¾î´Â ¼¼°¡Áö ¹æ¹ýÀ¸·Î È®ÀåµÉ ¼ö ÀÖ´Ù.
- Ĩ»ó¿¡ ¸Þ¸ð¸®-¸ÅÇÎ
¹æ½ÄÀÇ ÁÖº¯ÀåÄ¡ Ãß°¡
- Àаųª ±â·Ï °¡´ÉÇÑ
µð¹ÙÀ̽º¸¦ CPUÀÇ ·¹Áö½ºÅÍ ÆÄÀÏ·Î ¸ÅÇÎ
- »ç¿ëÀÚ ¼³°è ±â´É ºí·ÏÀ»
CPUÀÇ ALU·Î Á÷Á¢ Ãß°¡
Nios ³»ÀåÇü ÇÁ·Î¼¼¼ Äھ Æ÷ÇÔµÈ ¸í·É¾î ¼¼Æ®´Â
ÄÄÆÄÀÏµÈ ³»Àå ¾îÇø®ÄÉÀ̼ÇÀ» ´ë»óÀ¸·Î ÇÏ¸ç ³»ÀåÇü
½Ã½ºÅÛ¿¡¼ ƯÈ÷ ¸¹ÀÌ »ç¿ëµÇ´Â ¸í·É¾î (Áï ´ÜÀÏ ¸í·É¾î
ºñÆ® - Å×½ºÆ® - ¾Ø - ½ºÅµ)¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÄÚ¾î´Â
±âÁ¸ JTAG Çɻ󿡼 ½Ã±×³Ê½º»çÀÇ GNU µð¹ö°Å (debugger)¸¦
ÅëÇÏ¿© Çϵå¿þ¾î ºê·¹ÀÌÅ© Æ÷ÀÎÆ®¿Í ·±-ÄÁÆ®·Ñ¿¡ ´ëÇÑ
Áö¿øµµ Æ÷ÇÔÇÏ°í ÀÖ´Ù. µð¹ö°Å´Â ¾ËÅ׶óÀÇ Ç¥ÁØ
MasterBlaster³ª ByteBlaster/MVÄÉÀ̺íÀ» ÅëÇÏ¿© CPU
Çϵå¿þ¾î¿Í µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ´Â´Ù.
Nios ³»ÀåÇü ÇÁ·Î¼¼¼´Â ½Ã±×³Ê½º»çÀÇ GNUPro
³»ÀåÇü ½Ã½ºÅÛ °³¹ß Åø¿¡ ÀÇÇÏ¿© Áö¿øµÈ´Ù. GNUPro
Åø ¼¼Æ®´Â C/C++ ÄÄÆÄÀÏ·¯, ¾î¼Àºí·¯ ±×¸®°í µð¹ö°Å¸¦
Æ÷ÇÔÇÏ´Â ³»ÀåÇü ½Ã½ºÅÛ ¼³°è¸¦ À§ÇÑ È®½ÇÇÏ°íµµ °³¹æÀûÀÎ
°³¹ß Ç÷§ÆûÀ» Á¦°øÇÑ´Ù. Â÷±â °èȹÀº ½Ã±×³Ê½º»çÀÇ
ECoS ½Ç½Ã°£ OS¿¡ ´ëÇÑ Áö¿øÀ» Æ÷ÇÔÇÒ ¿¹Á¤ÀÌ´Ù.
ÀÏ´Ü Nios ÇÁ·Î¼¼¼ ÄÚ¾î´Â UART, PIO, SPI,
Ä«¿îÅÍ/ŸÀ̸Ó, ±×¸®°í PWMÀ» Æ÷ÇÔÇÏ´Â ÁÖº¯±â±â ºí·ÏÀ»
Æ÷ÇÔÇÏ¿© Ãâ½ÃµÉ ¿¹Á¤ÀÌ´Ù. Â÷±â ÁÖº¯±â±â·Î´Â
IDE µð½ºÅ© ÄÁÆ®·Ñ·¯, 10/100 ÀÌ´õ³Ý ÄÁÆ®·Ñ·¯ MAC
±×¸®°í SRAM ÄÁÆ®·Ñ·¯µîÀ» Æ÷ÇÔÇÏ°Ô µÉ °ÍÀÌ´Ù.
APEX
- ¾ËÅ׶óÀÇ ÁÖ Á¦Ç°, SOPC ÅëÇÕ Ç÷§Æû
Nios ³»ÀåÇü ÇÁ·Î¼¼¼ ÄÚ¾î´Â ´ë·« 1õ ¿©°³ÀÇ
·ÎÁ÷ ¼¿À» »ç¿ëÇϴµ¥ ÀÌ´Â APEX EP20K200E µð¹ÙÀ̽ºÀÇ
12ÆÛ¼¾Æ® ȤÀº APEX EP20K1500E µð¹ÙÀ̽ºÀÇ 2ÆÛ¼¾Æ®¿¡
ºÒ°úÇÏ¸ç µð¹ÙÀ̽º ÀÚ¿øÀÇ ³ª¸ÓÁö´Â ÁÖº¯À̳ª Ä¿½ºÅ͸¶ÀÌÁîµÈ
·ÎÁ÷ ±â´É ±¸ÇöÀ¸·Î »ç¿ë °¡´ÉÇÏ´Ù. ¾ËÅ׶óÀÇ
APEX PLD ¾ÆÅ°ÅØÃÄ´Â ¾÷°è ¼±µÎ¸¦ ´Þ¸®´Â µð¹ÙÀ̽º
ÁýÀûµµ ¸é¿¡¼ »Ó¸¸ ¾Æ´Ï¶ó ³»Àå CAM (content addressable
memory) °ú ÃÊ´ç 840MºñÆ®ÀÇ I/O ´ë¿ªÆø¿¡¼ÀÇ LVDS¸¦
Æ÷ÇÔÇϴ ÷´Ü ±â´É¸é¿¡¼ ½Ã½ºÅÛ ·¹º§ÀÇ µðÀÚÀÎÀÌ
ÇÊ¿ä·Î ÇÏ´Â ¿ä°ÇÀ» ¸¸Á·½ÃÅ°°í ÀÖ´Ù.
APEX µð¹ÙÀ̽º Á¦Ç°±ºÀº 6¸¸°ÔÀÌÆ®ºÎÅÍ 1¹é5½Ê¸¸°ÔÀÌÆ®
ÀÌ»óÀÇ ¹üÀ§¸¦ °¡Áö¸ç (1½Ê6¸¸°ÔÀÌÆ®ºÎÅÍ 2¹é5½Ê¸¸
ÃÖ´ë½Ã½ºÅÛ °ÔÀÌÆ®±îÁö) 0.18 ¸¶ÀÌÅ©·Ð 6Ãþ ¸ÞÅ» ÇÁ·Î¼¼½ºÀÇ
°øÁ¤À» °¡Áö°í ÀÖ´Ù. APEX µð¹ÙÀ̽º´Â ±Ã±ØÀûÀ¸·Î
¼³°è À¯¿¬¼ºÀ» Á¦°øÇÏ¿© º¸µå ·¹º§ÀÇ ¾îÇø®ÄÉÀ̼ǿ¡¼
»ç¿ëµÉ ¼ö ÀÖ´Â ½Ã½ºÅÛÀ» ´ÜÀÏ µð¹ÙÀ̽º¿¡ È¿À²ÀûÀ¸·Î
ÅëÇÕ½Ãų ¼ö ÀÖ´Ù.
°¡°Ý ¹× Á¦°ø³»¿ª
Nios¸¦ Æ÷ÇÔÇÑ Excalibur °³¹ß Å°Æ®´Â Áö±Ý
ÁÖ¹® °¡´ÉÇϸç 995´Þ·¯¿¡ °ø±ÞµÈ´Ù. ÀÌ °³¹ß
Å°Æ®´Â Nios ³»Àå ÇÁ·Î¼¼¼ ÄÚ¾î¿Í ¾ËÅ׶ó Quartus
µðÀÚÀÎ Åø, ³»ÀåÇü ½Ã½ºÅÛ µðÀÚÀÎ ÅøÀÎ ½Ã±×³Ê½º GNUPro
¼¼Æ® ±×¸®°í APEX EP20K200E¸¦ Æ÷ÇÔÇÑ ½Ã½ºÅÛ °³¹ß
º¸µå ¹× ¾ËÅ׶ó ByteBlaster ´Ù¿î·Îµå ÄÉÀ̺íÀ» Æ÷ÇÔÇÏ°í
ÀÖ´Ù.
°ü·Ã¸µÅ©
|