- Äɲ䵤줿¹Ô¤Ï¤³¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï
¤³¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
{{category ÅŻҹ©ºî}}
Microsemi (µìActel¡Ë¤Î SmartFusionFPGA ¤ò»È¤¦¤Ë¤¢¤¿¤Ã¤Æ¤ï¤±¤Î¤ï¤«¤ó¤Ê¤«¤Ã¤¿¤È¤³¤í¡¢¤Ï¤Þ¤Ã¤¿¤È¤³¤í¤ò¥á¥â¤·¤Æ¤¤¤¤Þ¤¹(2011/10)
!!!¥³¥ó¥Ñ¥ì¡¼¥¿¤ò Fabric ¤«¤é»È¤¤¤¿¤¤
MSS Configurator ¤«¤é ACE ¤òÁªÂò¡¢ADD Service ¤«¤é Analog Comparator ¤òÄɲ乤ë¤È MSS ¤«¤é³°Éô¤Ëü»Ò¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤Ç¤¤Þ¤¹¡£
!!!ACE FLAGS ¤¬¤ä¤ä¤³¤·¤¤
FPGA Fabric ¤Ë°ú¤½Ð¤»¤ë ACE FLAGS ¤Î¸µ¤Ë¤Ê¤ë¥Õ¥é¥°
(²èÁü»²¾È¡Ë¤¬¤ä¤ä¤³¤·¤¤¡£
{{ref_image ACEFLAGS.gif}}
¡¦FPGA_FLAGS ¤òÁªÂò¤·¤Ê¤¤¤È MSS ¤«¤é³°Éô¤Ë°ú¤½Ð¤¹¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬É½¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¡£
¡¦³°Éô¤Ë°ú¤½Ð¤»¤ë¤Î¤Ï 32 bit ¤Î¤ß
¡¦32bit ¤Î³Æ¡¹¤Ç THRESH_FLAGS ¤òÁªÂò¤¹¤ë¤È PPE_FLAGS0 | PPE_FLAGS1 | ... | PPE_SFFLAGS ¤Î³Æ¥Ó¥Ã¥È¤´¤È¤Î OR ¤Ë¤Ê¤ë¡£
¡¦PPE_FLAGSx or SFFLAGS ¼«ÂÎ(0x40021450~60) ¤Ï¥é¥Ã¥Á¤µ¤ì¤Ê¤¤¤¬¡¢°ú¤½Ð¤µ¤ì¤ë¥Ó¥Ã¥È¤ÏΩ¤Á¾å¤¬¤ê¥¨¥Ã¥¸¤Ç¥é¥Ã¥Á¤µ¤ì¤ë¤Î¤ÇÃí°Õ¡£
¡¦ADC ¤Î¤È¤³¤í¤Ç¡Ö²¿ V °Ê¾å¡×¤È¤«¤¤¤¦¥Õ¥é¥°¤òÀßÄꤷ¤Æ¡¢ACE FLAGS ¤ò Fabric ¤Þ¤Ç»ý¤Ã¤Æ¤¤Æ¤â¤½¤ì¤À¤±¤Ç¤Ï°ú¤½Ð¤·¤¿¿®¹æÀþ¤Ï͸ú¤Ë¤Ê¤é¤Ê¤¤¡£
*³ºÅö¤¹¤ë¥Õ¥é¥°¤Î³ä¤ê¹þ¤ßµö²Ä¥ì¥¸¥¹¥¿¤Î³ºÅö¥Ó¥Ã¥È¤ò ON ¤·¤Æ¤ª¤«¤Ê¤¤¤È¥é¥Ã¥Á¤µ¤ì¤Ê¤¤¡£
*0->1 ¤ÎÊѲ½¤·¤«¥é¥Ã¥Á¤µ¤ì¤Ê¤¤
*¥é¥Ã¥Á¤µ¤ì¤¿¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤·¤Ê¤¤¤ÈºÆ¸¡½Ð¤Ç¤¤Ê¤¤¤¬¡¢¥Ó¥Ã¥È¤ò¥¯¥ê¥¢¤¹¤ë¤¿¤á¤Ë¤Ï¥¯¥ê¥¢¥ì¥¸¥¹¥¿¤Ø¤Î½ñ¤¹þ¤ßÁàºî¤¬É¬Íס£
*Fabric ¤«¤é¥¯¥ê¥¢¤¹¤ë¤Î¤¬ÌÌÅݤʾì¹ç(AHBlite or APB Master ¤òºî¤ëɬÍפ¬¤¢¤ë¤Î¤Ç)¡¢Cortex-M3 ¦¥³¡¼¥É¤Ë¼«Æ°À¸À®¤µ¤ì¤ë mss_ace ¥É¥é¥¤¥Ð¤«¤é¶õ¤Î³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤òÅÐÏ¿¤¹¤ì¤ÐȾ¡©¼«Æ°¤Ç¥¯¥ê¥¢¤Ç¤¤ë¡£¤¿¤À¤·¡¢CPU ¤Î³ä¤ê¹þ¤ß¼Â¹Ô¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢¥Õ¥é¥°¤Î¥Ç¥¢¥µ¡¼¥È¥¿¥¤¥ß¥ó¥°¡Ê¡á¥Ñ¥ë¥¹Éý¡Ë¤¬Èó·èÄêŪ¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¡£
!!!DEBUG ¤Î»þ RAM ¤¬Â¤ê¤Ê¤¯¤Ê¤ë(SoftConsole Project)
SoftConsole ¤ò»È¤¦¤È¡¢eNVM ¤Ë¥³¡¼¥É¤ò¾Æ¤«¤º¤Ë¥³¡¼¥É¡¢¥Ç¡¼¥¿Îΰè¤È¤â¤Ë eSRAM ¾å¤Ë¼è¤Ã¤Æ SoftConsole ¤«¤é¥Ç¥Ð¥Ã¥°¼Â¹Ô¤Ç¤¤Þ¤¹¡£
eNVM ¤Ë¤Ï½ñ¤´¹¤¨²ó¿ô¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¤·¡¢»þ´Ö¤â¤«¤«¤ë¤Î¤Ç¡¢¤³¤ì¤Ï¤È¤Æ¤âÊØÍø¤Ê¤Î¤Ç¤¹¤¬¡¢¥³¡¼¥É¤â RAM ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¤¢¤Ã¤È¤¤¤¦´Ö¤Ë 64KB (A2F200) ¤â¤¢¤ë RAM ¤ò»È¤¤ÀڤäƤ·¤Þ¤¤¤Þ¤¹¡£
SmartFusion ¤Ë¸Â¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢£²¤Ä¤Û¤ÉÃí°Õ¤¹¤ë¤³¤È¤Ç RAM »ÈÍÑÎ̤ò¸º¤é¤»¤Þ¤¹¡£
£±¡Ë¥³¥ó¥Ñ¥¤¥é¡¢¥ê¥ó¥«¥ª¥×¥·¥ç¥ó¤ÇÉÔÍפʴؿô¤Î¥ê¥ó¥¯¤òÈò¤±¤ë
*MSS Configurator ¤Ë¤è¤Ã¤Æ¼«Æ°À¸À®¤µ¤ì¤ë firmware ¤ò¥é¥¤¥Ö¥é¥ê²½¤»¤º¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤ËľÀܼè¤ê¹þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤ÏÆäË͸ú¤Ç¤¹¡£
**¥³¥ó¥Ñ¥¤¥é¤Ë -ffunction-sections ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¡¢´Ø¿ô¤´¤È¤Ë¥»¥¯¥·¥ç¥ó¤Ëʬ³ä¤¹¤ë
{{ref_image ffunctionsection-gcc.gif}}
**¥ê¥ó¥«¤Ë --gc-sections ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¡¢»È¤Ã¤Æ¤¤¤Ê¤¤¥»¥¯¥·¥ç¥ó¡Ê¡á´Ø¿ô¡Ë¤ò¼Î¤Æ¤Æ¤·¤Þ¤¦
{{ref_image gc-sections-linker.gif}}
£²¡Ë¥µ¥ó¥×¥ë¤Ë´Þ¤Þ¤ì¤ë¡¢É¸½à´Ø¿ô¤Î¥µ¥¤¥º¤ËÃí°Õ
*MSS Configurator ¤¬À¸À®¤·¤Æ¤¯¤ì¤ë¥µ¥ó¥×¥ë¥×¥í¥¸¥§¥¯¥È¤Ï¤È¤Æ¤âÊØÍø¤Ê¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤Ë²¿¤«Â¤·¤Æ¼Â¸³¤ò¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¡¢»È¤ï¤ì¤Æ¤¤¤ëɸ½à´Ø¿ô¤¬¥á¥â¥êÉÔ¤ËÎؤò¤«¤±¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
*Map ¥Õ¥¡¥¤¥ë¤ò¤è¤¯¸«¤Æ¡¢µ¡Ç½¤ËÈæ¤Ù¤Æ¥µ¥¤¥º¤ÎÂ礤¤É¸½à´Ø¿ô¤Ï¡¢¼«Á°¤ÎɬÍפʵ¡Ç½¤ËÆò½¤·¤¿´Ø¿ô¤ËÃÖ´¹¤¹¤ë¤È¥á¥â¥ê¤Î»ÈÍÑÎ̤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
**¤¿¤È¤¨¤Ð¡¢(s)printf ·Ï´Ø¿ô¤¬¥Ç¥Ð¥Ã¥°½ÐÎϤ˻Ȥï¤ì¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¤½¤Î¤Þ¤Þ¤Ç¤ÏÂçÎ̤Υá¥â¥ê¤ò¾ÃÈñ¤·¤Þ¤¹¡£
**¥Ç¥Ð¥Ã¥°ÍѤΠ16 ¿Ê½ÐÎÏÅù¤À¤±¤Ç¤¢¤ì¤Ð¡¢¤µ¤¯¤Ã¤È¤½¤Î¾ì¤Ç½ñ¤¯¤«¡¢¶Å¤Ã¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¢¤Ã¤Æ¤â¤½¤Î¤Ø¤ó¤Ë¤¢¤ë·ÚÎÌ printf ·Ï¥ë¡¼¥Á¥ó¤ÇÂåÂؤ·¡¢ÉÔÍפʷÁ¼°¤Î¥Õ¥©¡¼¥Þ¥Ã¥¿¤òºï¤ë¤è¤¦¤Ë¤¹¤ë¤È¡¢¿ô¥¥í¥Ð¥¤¥È¤ÎÀáÌó¤Ë¤Ê¤ë¤è¤¦¤Ç¤¹¡ÊÅö¼ÒÈæ£÷¡Ë¡£
!!!ModelSim ¤ÎÌäÂê
!!MSS Configurator ¤Î¥¯¥í¥Ã¥¯ÀßÄê¤Ç³°ÉÕ¤± XTAL ¤òÀܳ¤¹¤ëÀßÄê¤Ë¤¹¤ë¤È¡¢¥·¥ß¥å¥ì¡¼¥·¥ç¥ó»þ Fablic(FPGA) ¤Ë¥¯¥í¥Ã¥¯¤¬¶¡µë¤µ¤ì¤Ê¤¤
!!¡¦MSS Configurator ¤Î¥¯¥í¥Ã¥¯ÀßÄê¤Ç³°ÉÕ¤± XTAL ¤òÀܳ¤¹¤ëÀßÄê¤Ë¤¹¤ë¤È¡¢¥·¥ß¥å¥ì¡¼¥·¥ç¥ó»þ Fablic(FPGA) ¤Ë¥¯¥í¥Ã¥¯¤¬¶¡µë¤µ¤ì¤Ê¤¤
¼«Æ°À¸À®¤µ¤ì¤ë testbench.v ¤ò¸«¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
FOOBAR_top FOOBAR_top_0 (
// Inputs
¡ÊÃæά)
.MAINXIN({1{1'b0}}),
ModelSim ¤Ë¤Ï MAINXIN (¥¯¥ê¥¹¥¿¥ë) ¤Ë¥¯¥í¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¤Î¤¬¸¶°ø¡£
Æ⢠RC ¥ª¥·¥ì¡¼¥¿¤Î¾ì¹ç¤ÏÆâÉô SmartFusion_MSS ¥â¥¸¥å¡¼¥ë¤«¤é¶¡µë¤µ¤ì¤ë¤Î¤Ç¡¢°ì¸«Æ°¤¤¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¤Î¤Çµ¤¤Å¤«¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£
testbench.v ¤òÊÔ½¸¤·¤ÆŬÀڤ˥¯¥í¥Ã¥¯¤òÍ¿¤¨¤Æ¤ä¤ì¤Ð¤è¤¤¤¬¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ï SmartDesign ¤ÇºÆÀ¸À®¤µ¤ì¤ë¤¿¤Ó¤Ë¾å½ñ¤¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤ÇÃí°Õ¡£
!!¡¦ModelSim µ¯Æ°»þ¤Ë¼«Æ°¼Â¹Ô¥¹¥¯¥ê¥×¥È¤ÎÅÓÃæ¤Ç¥¨¥é¡¼¤Ç»ß¤Þ¤ë
¤¤¤Þ¤Þ¤Çµ¡·ù¤è¤¯Æ°¤¤¤Æ¤¤¤¿¤Î¤Ë»ß¤Þ¤Ã¤¿¾ì¹ç¤Ï°Ê²¼¤ò¥Á¥§¥Ã¥¯
*Ê£¿ô¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Æ¤¤¤Ê¤¤¤«¡©¡ÊÁ°²óµ¯Æ°¤·¤¿ModelSim ¤òÍî¤È¤·¤Æ¤¤¤Ê¤¤Åù¡Ë
*¥·¥ß¥å¥ì¡¼¥·¥ç¥óÂоݤˤʤ¤¿®¹æ¤¬ user.bfm ¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡© ¥í¥¸¥Ã¥¯¤Î̾Á°¤òÊѤ¨¤¿¤Î¤Ë¡¢¥·¥ß¥å¥ì¡¼¥·¥ç¥óÂоݤ¬¸Å¤¤Ì¾¾Î¤Î¤Þ¤Þ¡¢Åù