| |
|
Introduction to Chipvision
|
|
|
Overview
2000³â´ë¿¡
µé¾î¼ ½Ã½ºÅÛ ¿Â Ĩ µðÀÚÀÎÀÌ ÁÖ·ù¸¦ ÀÌ·ç¸é¼ ´õ ÀÌ»ó °£°úÇÒ ¼ö ¾ø°Ô µÈ ºÎºÐÀÌ power
¼Ò¸ð·®¿¡ ´ëÇÑ ºÐ¼®ÀÔ´Ï´Ù. ÀüÅëÀûÀ¸·Î power ºÐ¼®Àº Back-End°¡ ¿Ï·áµÇ°í ³
´ÙÀ½¿¡ °£´ÜÇÏ°Ô °á°ú¸¸ ºÐ¼®Çϰí Áö³ª°¥ ¼ö ÀÖ´Â ºÎºÐÀ̾úÀ¸³ª, ÃÖ±ÙÀÇ ¾î¶² Åë°èÄ¡¸¦ º¸¸é
µðÀÚÀÎÀÇ power ¼Ò¸ð·®ÀÌ ±âÁØÄ¡¸¦ ³Ñ¾î¼¼ µðÀÚÀÎÀ» re-spinÇØ¾ß ÇÏ´Â °Í ¶§¹®¿¡
ÀüüÀûÀÎ ÇÁ·ÎÁ§Æ® ±â°£ÀÌ ¿¬ÀåµÇ´Â »ç·Ê°¡ ¸¹´Ù´Â º¸°í°¡ ÀÖ¾ú½À´Ï´Ù. ƯÈ÷ µð½ºÇ÷¹À̸¦
Æ÷ÇÔÇϰí ÀÖ´Â applicationÀÏ °æ¿ì power ¼Ò¸ð·®Àº ½ÃÀ强ÀÇ °üÁ¡¿¡¼ º¼ ¶§
¸Å¿ì Áß¿äÇÑ ºÎºÐÀÌ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ power¿¡ ´ëÇÑ ºÐ¼®Àº ±Ã±ØÀûÀ¸·Î low-power
designÀ» ±¸ÇöÇÏ´Â ÂÊÀ¸·Î ¹ßÀüÇØ ³ª°¡°í Àִµ¥ ÀÌ È帧 ¶ÇÇÑ Design Methodology°¡
¹ßÀüÇØ¿Â °úÁ¤°ú °°Àº Ãß¼¼¸¦ º¸À̰í ÀÖ½À´Ï´Ù. Áï, post-layout»ó¿¡¼ÀÇ power
°á°ú ºÐ¼®¿¡¼ pre-layout netlist¿¡ÀÇ power ºÐ¼®, ´õ ³ª¾Æ°¡ RTL»ó¿¡¼ÀÇ
ºÐ¼®À¸·Î ±îÁö ¹ßÀüÀ» ÇÏ¿´½À´Ï´Ù. ±×·¯³ª ÀÌ ¸ðµç ¹æ¹ýÀÌ Àü¹ÝÀûÀÎ power ¼Ò¸ð·®À»
ÁÙÀ̴µ¥ ±×¸® È¿°úÀûÀÌÁö ¾ÊÀºµ¥ ÀÌ´Â power¿¡ °¡Àå Å« ¿µÇâÀ» ¹ÌÄ¡´Â ºÎºÐÀº algorithmÀ̸ç,
RTL´Ü°è´Â ÀÌ¹Ì algorithmÀÌ settingµÇ°í architecture¸¦ ±¸ÇöÇÏ´Â
°úÁ¤À̶ó¼ RTLÀ» ¼öÁ¤Çؼ power ¼Ò¸ð·®À» ÁÙÀ̱Ⱑ ½±Áö ¾Ê´Ù´Â °ÍÀÔ´Ï´Ù. °á±¹Àº
algorithmÀ» ¼±ÅÃÇÏ´Â °úÁ¤¿¡¼ ¹Ì¸® power ºÐ¼®À» Çϰí low-power¿¡
°¡Àå ÁÁÀº algorithmÀ» ¼±ÅÃÇÏ´Â °ÍÀÌ °¡Àå È¿°úÀûÀÎ ¹æ¹ýÀ̶ó ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù.
AlgorithmÀ» ¼³°èÇÏ´Â µ¥´Â ¿©·¯ Á¾·ùÀÇ toolµéÀÌ »ç¿ëµÇ°í ÀÖÀ¸³ª ±× Áß¿¡¼
°¡Àå ³Î¸® »ç¿ëµÇ°í ÀÖ´Â °ÍÀÌ C/C++ÀÔ´Ï´Ù. ÃÖ±Ù¿¡´Â º¸´Ù hardware friendly
ÇÑ SystemC·Î ¹ßÀüÇϰí ÀÖ´Â °úÁ¤ÀÔ´Ï´Ù. Chipvision»ç¿¡¼´Â ÀÌ·± C/C++
ȤÀº SystemC·Î ¼³°èµÈ µðÀÚÀο¡ ´ëÇÑ power ºÐ¼®À» °¡´ÉÇÏ°Ô ÇØ¼ Algorithm
´Ü°è¿¡¼ºÎÅÍ power¸¦ °í·Á ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â toolÀ» Á¦°øÇϰí ÀÖ½À´Ï´Ù.
|
|
|
Products
|
|
|
|
|
|
|
|
Á¤È®ÇÑ power estimationÀº À§Çؼ´Â target libraryÀÇ Á¤º¸°¡
¾î¶² ½ÄÀ¸·Îµç »ç¿ëµÇ¾îÁ®¾ß Çϴµ¥, ÀÌ library Á¤º¸¸¦ Chipvision»çÀÇ
ÀÚü ÇüÅ·Π¸¸µé¾î ÁÖ´Â °ÍÀÎ ORINCO-RIO¿Í ORINCO-BEACHÀÔ´Ï´Ù.
ORINOCO-RIO´Â ÀϹÝÀûÀÎ functional unit cellsµé¿¡ ´ëÇÑ
library »ý¼ºÀ» ´ã´çÇϰí, ORINOCO-BEACH´Â memory µîÀÇ IP
cellµé¿¡ ´ëÇÑ library »ý¼ºÀ» µµ¿ÍÁÖ´Â toolÀÔ´Ï´Ù. ±×¸®°í ½ÇÁ¦·Î
power estimationÀ» ´ã´çÇÏ´Â °ÍÀÌ ORINOCO-DALEÀÌ¸ç ±× flow´Â
´ÙÀ½°ú °°½À´Ï´Ù.

ÀϹÝÀûÀ¸·Î power¶ó°í Çϸé cellµéÀÌ ÀÚüÀûÀ¸·Î ¼Ò¸ðÇÏ´Â internal
power¿Í µ¿ÀÛ¿¡ ¼Ò¸ðµÇ´Â switching power ±×¸®°í leakage
power·Î ³ª´µ¾î Áö¸ç ±× estimation ¹æ½Ä¿¡ µû¶ó static °ú dynamicÀ¸·Î
³ª´µ¾î Áý´Ï´Ù. Static ¹æ½ÄÀº switching power¸¦ °è»ê ÇÔ¿¡ ÀÖ¾î¼
activity factor¸¦ À¯ÃßÇØ »ç¿ëÇϸç, dynamic ¹æ½ÄÀº ½ÇÁ¦ µðÀÚÀÎ
ÀÇ °ËÁõ¿¡¼ »ç¿ëµÇ´Â test vector¸¦ ±×´ë·Î »ç¿ëÇØ switching power¸¦
°è»êÇÏ°Ô µË´Ï´Ù. ORINOCO-DALEÀº ½ÇÁ¦ test vector¸¦ °¡Áö°í
simulationÀ» ÅëÇØ¼ ¹ß»ýµÇ´Â switching µéÀ» samplingÇÏ´Â
¹æ½ÄÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. ¶ÇÇÑ Behavioral synthesis¿Í À¯»çÇÑ
ÀÚü synthesis engineÀ» ÅëÇØ C source¸¦ RIO¿Í BEACH
¿¡¼ »ý¼ºÇÑ library¿¡ Æ÷ÇÔµÈ cellµé·Î mapping ½ÃŲ ÈÄ power¸¦
°è»êÇÏ°Ô µË´Ï´Ù. ÀÌ·± architecture level·ÎÀÇ transfer¸¦
À§Çؼ scheduling, binding, allocationµîÀÇ ±â¹ýÀ» »ç¿ëÇϰÔ
µÇ¸ç ¶ÇÇÑ power¼Ò¸ðÀÇ °üÁ¡¿¡¼ best floor-plan°ú worst floor-planÀ»
µ¿½Ã¿¡ ¼öÇàÇÏ¸ç ±×¿¡ µû¸¥ power ¼Ò¸ð °á°ú¸¦ report ÇÏ°Ô µË´Ï´Ù.

Power estimationÀÇ °á°ú·Î ¾î´À ºÎºÐÀÌ powerÀÇ ¼Ò¸ð·®ÀÌ °¡Àå
¸¹Àº ºÎºÐÀÎÁö, ¾î´À ºÎºÐÀÌ architecture¿¡ µû¶ó¼ powerÀÇ ¼Ò¸ð·®À»
¸¹ÀÌ ÁÙÀÏ ¼ö ÀÖ´Â ºÎºÐÀÎÁö µîÀ» ºÐ¼®ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. Áï algorithm¿¡
´ëÇÑ advise ±â´É »Ó ¾Æ´Ï¶ó architectureÀÇ ¼±Åÿ¡µµ µµ¿òÀ» ÁÙ
¼ö ÀÖ½À´Ï´Ù.

±×¸®°í ¶Ç ´Ù¸¥ È¿°úÀûÀÎ ±â´ÉÀ¸·Î memory mapping¿¡ ´ëÇÑ ºÐ¼® ¹× optimization
±â´ÉÀÌ Àִµ¥ ÀÌ´Â memory access ÇüÅ¿¡ µû¶ó¼ »ç¿ëÀÚ°¡ optimizationÀ»
½Ãų ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.

À§¿¡¼ ¾ð±ÞÇÑ ±â´Éµé À̿ܿ¡¼ data encoding, resource sharing,
bit width settingµîÀÇ featureµéÀ» °¡Áö°í ÀÖÀ¸¸ç, ÀÌ·± ¸ðµç
±â´ÉµéÀº low power¸¦ ±¸ÇöÇϱâ À§ÇÑ ÃÖÀûÀÇ algorithm°ú architecture¸¦
¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇÏ¿© ÁÖ¸ç, implementation ´Ü°è¿¡¼ÀÇ power ¼Ò¸ð·®À¸·Î
ÀÎÇÑ ºñ È¿À²ÀûÀÎ iterationÀ» ÁÙ¿© ÁÜÀ¸·Î½á Àüü µðÀÚÀÎ ¿Ï¼º ½Ã°£À» ÇöÀúÈ÷
´ÜÃà ½Ãų ¼ö ÀÖ°Ô ÇÏ¿© ÁÝ´Ï´Ù. ¸¶Áö¸·À¸·Î ÀÌ·± C-level¿¡¼ÀÇ power
estimation¿¡¼ÀÇ °¡Àå Áß¿äÇÑ ºÎºÐÀ̶ó ÇÒ ¼ö ÀÖ´Â °ÍÀÌ Á¤È®µµ¿Í ¾ÆÁ÷
Á¤¸³µÇ¾î ÀÖÁö ¾ÊÀº C-level°ú Architecture-level (RTL,
Gate-level)°£ÀÇ automation flowÀÇ ºÎÀç·Î ÀÎÇÑ design
flow ºÎºÐÀε¥, ¿ì¼± Á¤È®µµ´Â ´Ü¼øÈ÷ blockµé°£ÀÇ »ó´ëÀûÀÎ power trend
»Ó ¸¸ÀÌ ¾Æ´Ï¶ó ½ÇÁ¦ layout ÈÄ¿Í ºñ±³ ÇÏ¿´À» ¶§¿¡µµ ¿ÀÂ÷ ¹üÀ§°¡ 30%
³»¿Ü¸¦ À¯Áö ÇÒ ¸¸Å Àý´ëÄ¡ ¶ÇÇÑ ±× Á¤È®¼ºÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ±×¸®°í design
flowÀÇ ¹®Á¦´Â ÀϹÝÀûÀ¸·Î´Â RTL designer´Â C-code¸¦ ºÐ¼®Çؼ
³ª¸§´ë·ÎÀÇ architecture¸¦ ±¸¼ºÇϰí codingÀ» ÇÏ°Ô µÇ´Âµ¥, ORINOCO-DALEÀº
RTL designer¿¡¼ DALEÀÌ ºÐ¼®Çϰí floor-plan¿¡ »ç¿ëÇÑ architecture¿¡
´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ¿© ÁÖ°í ÀÖÀ¸¸ç ³ª¾Æ°¡¼ ÇâÈÄ¿¡ SystemC flow°¡ Á¤¸³µÇ¸é
SystemC compiler¸¦ ÅëÇØ constraint¸¦ Àΰ¡ÇÏ´Â ¹æ½ÄÀ¸·Î ÀÌ
ºÎºÐÀÌ ÀÚ¿¬½º·´°Ô ÇØ°áÀÌ µÉ °Í ÀÔ´Ï´Ù. ÀÌ´Â °á±¹ º¸´Ù ³ªÀº Á¤È®µµ¸¦ È®º¸ÇÒ
¼ö ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù.
|
|
|
|
|
|