ALTERA Korea º¸µµÀÚ·á [2000.6.12]...

 

¾ËÅ׶ó, 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 ´Ù¿î·Îµå ÄÉÀ̺íÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù.


°ü·Ã¸µÅ©