Sun, 17 Jul 2005
shobon-JTAG ¤Ï¡¢Æ°ºî¾õÂÖ¡¢¤¢¤ë¤¤¤ÏÆâÉô²óÏ©¤ÈÀÚ¤êÎ¥¤·¤¿¾õÂ֤ǡ¢FPGA,CPLD Åù¤Î JTAG ¥Ð¥¦¥ó¥À¥ê¥¹¥¥ã¥ó(IEEE 1149.1)Âбþ¥Ç¥Ð¥¤¥¹¤Î¥Ô¥ó¤Î¿®¹æ¥ì¥Ù¥ë¤ò¥â¥Ë¥¿¤¹¤ë¤¿¤á¤Î¥½¥Õ¥È¤Ç¤¹¡£
¥À¥¦¥ó¥í¡¼¥É¡¢ChangeLog Åù¤Ï¤³¤Á¤é¤Î¥¨¥ó¥È¥ê¤«¤é¤É¤¦¤¾¡£
¤µ¤Æ¡¢¼ÂºÝ¤Ë¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤òÄɲ䷤Ƥ⡢¿®¹æ̾¾ÎÍ󤬥ǥХ¤¥¹¤ÎIO_xx ¤Ê¤ó¤È¤«¤Ç¤Ï¤Ê¤ó¤Î¿®¹æ¤ò¤ß¤Æ¤¤¤ë¤Î¤ä¤é¤ï¤«¤ê¤Þ¤»¤ó¡£
¸½ºß(2005.7.16)¡¢²óÏ©¿Þ¥Õ¥¡¥¤¥ë¤«¤é¤Î¿®¹æ̾¾Î¤ÎÆɤ߼è¤ê¤Ï¡¢D2CAD¤¬½ÐÎϤ¹¤ë Mentor ·Á¼°¤Î¥Í¥Ã¥È¥ê¥¹¥È½ÐÎϤò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡Êñ¤Ë¾ðÊó¤ò¼è¤ê½Ð¤·¤ä¤¹¤¤¤«¤é¡Ë¤¬¡¢D2CAD ¤ò»ÈÍѤ·¤Æ²óÏ©¤ò½ñ¤¤¤Æ¤¤¤ëÊý¤Ð¤«¤ê¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤·¡¢FPGA ¤Î¥Ö¥ì¥Ã¥É¥Ü¡¼¥É¤ÇÍ·¤ó¤Ç¤¤¤ëËͤ餬¥Ö¥ì¥Ã¥É¥Ü¡¼¥É¤ÎCAD¥Ç¡¼¥¿¤ä¥Í¥Ã¥È¥ê¥¹¥È¤ò»ý¤Ã¤Æ¤¤¤ë¤ï¤±¤â¤¢¤ê¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¤³¤³¤Ç¤Ï Xilinx ¤Î̵ÎÁ³«È¯´Ä¶ WebPack6 ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë UserConstraint¥Õ¥¡¥¤¥ë¡©(.ucf)¤Î¥ê¡¼¥À¤ò shobon-JTAG ¤ËÄɲ乤뤳¤È¤Ç¡¢FPGA ¤Î³«È¯´Ä¶¤Ç»ÈÍѤ·¤¿¿®¹æ̾¾Î¤ò shobon-JTAG ¤ÇÍøÍѤǤ¤ë¤è¤¦¤Ë²þ¤¤·¤Æ¤ß¤¿Îã¤òµó¤²¡¢¼«Ê¬¤ÎÉáÃʻȤäƤ¤¤ë³«È¯´Ä¶¤¬À¸À®¤¹¤ë¥Ô¥ó¡¦¿®¹æ̾¾Î¥Õ¥¡¥¤¥ë¡ÊConstraint ¥Õ¥¡¥¤¥ë¡Ë¤ÎÆɤ߼è¤êµ¡Ç½¤ò shobon-JTAG ¤ËÄɲ乤ë¤Ë¤Ï¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤«¤ò¤´ÀâÌÀ¤·¤Þ¤¹¡£
£±¡Ëshobon-JTAG ¤Î¥×¥í¥¸¥§¥¯¥È¤Î²ô¤ò¤³¤³¤«¤éÍî¤È¤·¤Æ¡¢VisualStudio.NET ¤Ç³«¤¤Þ¤¹¡£
£²¡Ëshobon-JTAG ¤Ç¥Ô¥ó̾¾Î¡Ê¥Í¥Ã¥È̾¾Î¡Ë¤òÆɤ߼è¤ê¤¿¤¤¾ðÊó¥Õ¥¡¥¤¥ë¡¢º£²ó¤Ïsample.ucf¤ò»²¹Í¤Ë¤·¤Þ¤·¤¿¡£WebPack6 ¤Ç»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£¤Þ¤º¤¶¤Ã¤Èį¤á¤Æ¤ß¤Þ¤¹¡£
#PACE: Start of PACE I/O Pin Assignments ... NET "CPLD_XXXX" LOC = "P13" ; ... #
£³¡Ë¤Ê¤ó¤È¤Ê¤¯¼¡¤Î¤³¤È¤¬¿ä¬¤Ç¤¤Þ¤·¤¿¡£
A) ¹Ô¤¬ NET ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¡£
B) ¿®¹æ̾¾Î¤¬ 2 ÈÖÌܤΥȡ¼¥¯¥ó¡£¥À¥Ö¥ë¥¯¥ª¡¼¥È¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¡£
C) ¥Ô¥ó̾¾Î¤¬ LOC = ¤Ë³¤¯ 5 ÈÖÌܤΥȡ¼¥¯¥ó¡£¥À¥Ö¥ë¥¯¥ª¡¼¥È¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿Æ¬¤Ë P ¤¬¤Ä¤¤¤Æ¤¤¤ë¡ÊÌÌÅݤǤ¹¤Í¡Ë¡£
D) ¥³¥á¥ó¥È¹Ô¤Ï # ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¡£
£´¡ËMentor ¥Í¥Ã¥È¥ê¥¹¥È¤Ë»÷¤Æ¤¤¤ë¤Î¤Ç¡¢¤¹¤Ç¤Ë shobon-JTAG ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë TinyNetMentor.cs ¥¯¥é¥¹¤ò²þ¤¤·¤ÆÄɲ䷤Ƥߤޤ¹¡£
£µ¡ËTinyNetMentor.cs ¤ò VS.NET ¤ÎÅý¹ç´Ä¶¤Î¥½¥ê¥å¡¼¥·¥ç¥ó¥¨¥¯¥¹¥×¥í¡¼¥é¤Ç¥³¥Ô¡¼¤·¤Æ¡¢Ì¾¾Î¤ò TinyUcf.cs ¤ËÊѹ¹¤·¤Þ¤¹¡£
£¶¡Ë¥¯¥é¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤ò TinyUcf ¤ËÊѹ¹¤·¤Þ¤¹¡£
£·¡Ë¼ÂºÝ¤Î£±¹Ô²ò¼á¤Ï
private void create_PIN_MAP(StreamReader sr,string chipname)
¤Ç¤¹¡£¤³¤ÎÃæ¤À¤±Êѹ¹¤¹¤ì¤Ð¤¤¤¤¤Ç¤·¤ç¤¦¡£
²þ¤ÅÀ¤Ï
A¡Ëchipname ¤Ïº£²ó¤ÏɬÍפʤ¤¤Î¤Ç´ØÏ¢¥³¡¼¥ÉÁ´ºï½ü¡Ê²óÏ©¿Þ¥Í¥Ã¥È¥ê¥¹¥È¤Ç¤Ê¤¤¤Î¤Ç¡Ë¡£
B¡Ë¥»¥Ñ¥ì¡¼¥¿¤ò¥¹¥Ú¡¼¥¹¤È²¾Äꤹ¤ë¡£¿®¹æ̾¾Î¡¢¥Ô¥ó̾¾Î¤Ë¥¹¥Ú¡¼¥¹¤¬¤¢¤ë¤È¸íÆ°ºî¤·¤Þ¤¹¤¬¡¢º£²ó¤ÏÎã¤Ê¤Î¤Ç¤Û¤Ã¤È¤¤Þ¤·¤ç¤¦¡£
C¡Ë¿®¹æ̾¾Î¤Î¹ÔÃæ¤Î°ÌÃÖ¡¢¥Ñ¥é¥á¡¼¥¿Ãæ¤Î¼è¤ê½Ð¤·²Õ½ê¤ò°Ê²¼¤Î¤è¤¦¤Ë²¾Äê¡Ê¤à¤ê¤ä¤ê¡Ë¡£
// ̾Á°¤Ï£²ÈÖÌÜ¡££±¥¥ã¥é¥¯¥¿ÌܤȺǽª¥¥ã¥é¥¯¥¿¤Ï¥À¥Ö¥ë¥¯¥ª¡¼¥È¤Ê¤Î¤Ç̵»ë
name = param[1].Substring(1,param[1].Length - 2) ;
// ¥Ô¥ó¤Ï£µÈÖÌÜ¡££±¥¥ã¥é¥¯¥¿ÌܤȺǽª¥¥ã¥é¥¯¥¿¤Ï¥À¥Ö¥ë¥¯¥ª¡¼¥È¤Ê¤Î¤Ç̵»ë¡¢
// ¥Ô¥ó̾¾Î£²¥¥ã¥é¥¯¥¿ÌܤΠ'P' ¤â¥¸¥ã¥Þ¤½¤¦¤Ê¤Î¤Çº£²ó̵»ë¡£
// BGA ¤È¤«¤ÇÌäÂ꤬¤Ç¤½¤¦¤À(w
pin = param[4].Substring(2,param[4].Length - 3) ;
//Console.WriteLine("pin["+pin+"]="+name) ;
pinmap.Add(pin,name) ;
£¸¡Ë¤µ¤Æ¡¢shobon-JTAG ¤Ë¤Õ¤µ¤ï¤·¤¤(¡¦¦Ø¡¦¡Ë¤Ê¥ê¡¼¥À¤¬¤Ç¤¤Þ¤·¤¿¡£
£¹¡ËListView ¤Î¥á¥Ë¥å¡¼¤ËÁȤ߹þ¤ó¤Ç¤ß¤Þ¤¹¡£ViewForm.cs[¥Ç¥¶¥¤¥ó] ¤ò³«¤¡¢contextMenu1 ¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¥á¥Ë¥å¡¼ÊÔ½¸¤Ë "Read Pin-Name Info from Xilinx UCF (shobon-parser)" ¤òÄɲá£
£±£°¡Ë¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ç¥Ï¥ó¥É¥é¤òºî¤ê¡¢Ãæ¿È¤ò Mentor ¤Î¤È¤³¤«¤é¥³¥Ô¡¼¤·¤Æ¤¤Æ¡¢°Ê²¼¤Î¤è¤¦¤ËÊÔ½¸¤·¤Þ¤¹¡£chipname ÆþÎÏ¥À¥¤¥¢¥í¥°´ØÏ¢¤Ï¤¤¤é¤Ê¤¤¤Î¤Ç¡¢ºï¤ê¤Þ¤¹¡£
¤½¤ì¤Ë¤·¤Æ¤â¡¢¥ê¡¼¥À¤Ç P ¤ò̵»ë¤·¤Æ¡¢¤³¤Ã¤Á¤Ç¤Ï P ¤ò¤¯¤Ã¤Ä¤±¤ë¤Ê¤ó¤Æ¡¢¤Û¤ó¤È¤¦¤Ë¡Ê¡¦¦Ø¡¦¡Ë¤Ç¤¹¤Í¡£
£±£±¡Ë¤Ç¤Ï¡¢¼ÂºÝ¤ËÆɤá¤ë¤«¤É¤¦¤«»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£private void menuItem12_Click(object sender, System.EventArgs e) { // NETLIST ¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥×¥ó openFileDialog3.Title = "Open Xilinx UCF File" ; openFileDialog3.Filter = "Xilinx UCF File (*.ucf)|*.ucf|All File|*.*" ; openFileDialog3.DefaultExt = "*.ucf" ; // NETLIST ¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥×¥ó if (openFileDialog3.ShowDialog() == DialogResult.OK) { // NETLIST ¥ê¡¼¥À¤òµ¯Æ° TinyUcf tn= new TinyUcf() ; if (tn.readFile(openFileDialog3.FileName) < 0) { MessageBox.Show("UCF Parser Abnormally Terminated.","Error") ; return ; } // ¥Ô¥ó¤È NET ̾¾Î¤ÎÂбþɽ¤òÆÀ¤ë StringDictionary sd = tn.getPinmap() ; // ¤³¤ì¤¬¤¢¤ë¤ÈÄɲä˻þ´Ö¤¬¤«¤«¤ë listView1.ListViewItemSorter = null ; // ¥Ô¥óÈ֤Ǽ½ñ¤ò°ú¤¡¢Âбþ¤¹¤ë NET ̾¾Î¤¬¤¢¤ë¤«Ä´¤Ù¤ë for (int i=0;i¡ãlistView1.Items.Count;i++) { // ¥³¥Ô¥Ú¤Î¤È¤¤Ï ¡ã ¤ò < ¤ËÃÖ¤´¹¤¨¤Æ¤Í - wikideitish ¤Ç¡ã¤¬¤¦¤Þ¤¯°·¤¨¤Ê¤¤¤¿¤á(^^; ListViewItem lvi = listView1.Items[i] ; PinItem pi = lvi.Tag as PinItem ; if (pi != null) { string netname = sd[pi.pinno] ; // °ú¤±¤Ê¤¤¤È¤¤ÏÀèƬ¤Î'P'¤ò̵»ë¤·¤Æ¸¡º÷¡Ê¥¤¥«¥µ¥Þ¡Ë if ((netname == null) && (pi.pinno[0] == 'P')){ netname = sd[pi.pinno.Substring(1)] ; } if (netname != null) { // NET ̾¾Î¤ò¾å½ñ¤ pi.usertag = netname ; listView1.Items[i] = pi.getListViewItem() ; } } } } }
Device ¤òÁªÂò¡¢¤Þ¤º ListView ¤Ë BSDL ¤Î¥Ô¥ó¾ðÊó¤òÆɤߤޤ¹¡£º£²ó¤Ï XC95144_PQ160 ¤Î¥³¥ó¥¹¥È¥ì¥¤¥ó¥È¥Õ¥¡¥¤¥ë¤ò»È¤¦¤Î¤Ç¡¢XC95144 ¤Î BSDL ¤«¡¢.vfd ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
£±£²¡Ë¼¡¤Ëº£ 10) ¤ÇºîÀ®¤·¤¿¥á¥Ë¥å¡¼¤Çº£²ó»²¹Í¤Ë¤·¤¿¥Õ¥¡¥¤¥ë sample.ucf ¤Ç»î¤·¤Æ¤ß¤Þ¤¹¡£¤Ê¤ó¤«Æɤá¤Æ¤ë¤è¤¦¤Ç¤¹(¡¦¢Ï¡¦¡Ë¡ª¡ª¡£
£±£³¡Ëº£²ó¤Î sample.ucf ¤ÏÆɤá¤Þ¤·¤¿¤¬¡¢Å¬Åö¤Êºî¤ê¤«¤é¤ï¤«¤ë¤è¤¦¤ËÅöÁ³¤Ê¤¬¤é¤¤¤Ä¤â¤¦¤Þ¤¯¤¤¤¯¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
WebPack ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬°ã¤Ã¤Æ¤¤¤¿¤ê¡¢¥Ô¥óÈÖ¤Ë "P" ¤¬¤Ê¤«¤Ã¤¿¤ê¡¢¤Þ¤¿ .ucf ¤Ë¥Ô¥ó°Ê³°¤ÎÀ©Ìó¾ò·ï¤¬¤¢¤ë¤È¡¢¸íÆ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£
¤Ç¤â¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤ªµ¤³Ú¤ËÂнè¤Ç¤¤ë¤È»×¤ï¤ì¤Þ¤¹¡Ê¡¦¦Ø¡¦¡Ë¡£
º£²ó¤ÎÎã¤ÇÄɲä·¤¿ xilinx .ucf ¥ê¡¼¥À ¤¬´Þ¤Þ¤ì¤¿¥×¥í¥¸¥§¥¯¥È°ì¼°¤Ï¡¢
¤³¤Á¤é¤Î¥¨¥ó¥È¥ê¤«¤éÍî¤È¤»¤Þ¤¹¡£
shobon-JTAG ¤Ï¡¢Æ°ºî¾õÂÖ¡¢¤¢¤ë¤¤¤ÏÆâÉô²óÏ©¤ÈÀÚ¤êÎ¥¤·¤¿¾õÂ֤ǡ¢FPGA,CPLD Åù¤Î JTAG ¥Ð¥¦¥ó¥À¥ê¥¹¥¥ã¥ó(IEEE 1149.1)Âбþ¥Ç¥Ð¥¤¥¹¤Î¥Ô¥ó¤Î¿®¹æ¥ì¥Ù¥ë¤ò¥â¥Ë¥¿¤¹¤ë¤¿¤á¤Î¥½¥Õ¥È¤Ç¤¹¡£
¥À¥¦¥ó¥í¡¼¥É¡¢ChangeLog Åù¤Ï¤³¤Á¤é¤Î¥¨¥ó¥È¥ê¤«¤é¤É¤¦¤¾¡£
¤µ¤Æ¡¢¼ÂºÝ¤Ë¿·¤·¤¤¥Ç¥Ð¥¤¥¹¤òÄɲ乤ë¶ñÂÎÎã¤È¤·¤Æ¡¢ ¶öÁ³¼ê¸µ¤Ë¤¢¤Ã¤¿¡¢Altera ¤Î FLEX10K10LC84 ¤¬¾è¤Ã¤Æ¤¤¤ë¥Ö¥ì¥Ã¥É¥Ü¡¼¥É¡¢HuMANDATA ¤µ¤ó¤Î¡¡CSP-004 ¤ò»È¤¦¤È²¾Äꤷ¤Æ¡¢»ä¤¬¼ÂºÝ¤Ë¥³¡¼¥É¤ÎÄɲá¢Êѹ¹¤ò¿Ê¤á¤Ê¤¬¤é¡Ê¾Ð¡ËÀâÌÀ¤·¤Æ¤ß¤Þ¤¹¡£
¼Â¤Ï¤³¤Î¥Ü¡¼¥É¤Ï JTAG ¤Î¥µ¥ó¥×¥ë¤Ë¤Ï¸þ¤¤¤Æ¤Ê¤¤¤³¤È¤Ë¸å¤Çµ¤¤Å¤¯¤Î¤Ç¤¹¤¬¡¢¤½¤³¤ó¤È¤³¤Î¡Ê¡¦¦Ø¡¦¡Ë¤Ö¤ê¤Ï¸åȾ¤Ç¡£
£±¡Ëshobon-JTAG ¤Î¥×¥í¥¸¥§¥¯¥È¤Î²ô¤ò¤³¤³¤«¤éÍî¤È¤·¤Æ¡¢VisualStudio.NET ¤Ç³«¤¤Þ¤¹¡£
£²¡Ëshobon-JTAG ¤Ç¥Ô¥ó¤Î¾õÂÖ¤ò¤ß¤Æ¤ß¤¿¤¤¥Ç¥Ð¥¤¥¹¡¢º£²ó¤Î¾ì¹ç¤À¤È FLEX10K10LC84¤ÎBSDL ¥Õ¥¡¥¤¥ë ¤¬ shobon-JTAG ¤Î¤¤¤¤¤«¤²¤ó¤Ê BSDL ¥Ñ¡¼¥¶¤ÇÆɤá¤ë¤«¤É¤¦¤«¡¢¤¢¤é¤«¤¸¤á»î¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
¤È¤¤¤¤¤Þ¤¹¤Î¤Ï¡¢¤â¤·Æɤá¤Ê¤¤¤È¡¢¥Ð¥¦¥ó¥À¥ê¥¹¥¥ã¥ó¥Ó¥Ã¥È¤È¥Ô¥ó¤ÎÂбþ¤ò¼êÆþÎϤ¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢ÂçÊѤÀ¤«¤é¤Ç¤¹¡£
¶ñÂÎŪ¤Ë¸«¤¿¤¤¿®¹æ¤¬·è¤Þ¤Ã¤Æ¤¤¤Æ¡¢¿ô¤¬¾¯¤Ê¤¤¤«¤é¡¢¼êÆþÎϤ¹¤ë¤«¤é BSDL ¤Î¥Ô¥ó¾ðÊó¤Ï¼«Æ°¤ÇÆɤá¤Ê¤¯¤Æ¤â¤¤¤¤¤è¡¢¤È¤¤¤¦Êý¤Ï¤Þ¤º £´¡Ë°Ê¹ß¤Î¥¹¥Æ¥Ã¥×¤òÀè¤Ë¹Ô¤Ã¤ÆLSI ¤Î±þÅú¤ò³Îǧ¤·¤Þ¤¹¡£ Æ°ºî¸å¡¢¶õ¤Î ListView ¤Î±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤«¤é¡¢Add Item ¤òÁªÂò¤·¤Æ¡¢¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤Ç¥Ð¥¦¥ó¥À¥ê¥¹¥¥ã¥ó¥Ó¥Ã¥ÈÈֹ桢¥Ô¥óÈֹ桢¿®¹æ̾¾Î¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¥Ó¥Ã¥È¾ðÊó¤ÎÊݸ¤Ï £³¡Ë¹à¤ÎBSDL ¤«¤é¥í¡¼¥É¤·¤¿¸å¤Î .vfd ¤Î¥»¡¼¥Ö¤ÎÀâÌÀ¤ÈƱ¤¸Áàºî¤Ç¤¹¡£
¤µ¤Æ¡¢¤¤¤Þ¤Î¤È¤³¤í(2005.7.16 »þÅÀ)BSDL¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßµ¡Ç½¤Ï¥Ç¥Ð¥¤¥¹¾ðÊó¤È·ë¤Ó¤Ä¤¤¤Æ¤¤¤Ê¤¤¡Ê¥Ô¥ó¾ðÊó¤Î¤ß¡Ë¤Î¤Ç¡¢¥Ç¥Ð¥¤¥¹¤¬°ã¤Ã¤Æ¤â BSDL ¤¬Æɤá¤ë¤«¤É¤¦¤«¤Ï»î¤»¤Þ¤¹¡£¤Þ¤º VisualStudio ¤ÎÅý¹ç´Ä¶¾å¤Ç¼Â¹Ô¤·¤Æ¡¢Device ¥á¥Ë¥å¡¼¤«¤éŬÅö¤Ê¥Ç¥Ð¥¤¥¹¤òÁª¤Ó¡Ê¤È¤ê¤¢¤¨¤º XC95144_PQ160 ¤È¤«¤ÇOK¡Ë¡¢View->ShowViewer ¥á¥Ë¥å¡¼¤Ç¶õ¤Î¥ê¥¹¥È¥Ó¥å¡¼¤òɽ¼¨¤µ¤»¤Þ¤¹¡£¥¢¥À¥×¥¿¤Ï¤Þ¤À´Ø·¸¤Ê¤¤¤Î¤Ç¡¢µ¤¤Ë¤·¤Ê¤¯¤Æ¤¤¤¤¤Ç¤¹¡£
£³¡ËListView ¾å¤Ç¤Î±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤«¤é¡¢"Read Info From BSDL File"¤òÁª¤Ó¡¢¾åµ URL ¤«¤éÍî¤È¤·¤¿¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤Þ¤»¤Æ¸«¤Þ¤¹¡£¥ê¥¹¥È¥Ó¥å¡¼¤Ëɽ¼¨¤¬¸½¤ì¤ë¤È»×¤¤¤Þ¤¹¡£¤½¤ì¤Ã¤Ý¤¤É½¼¨¤¬¤Ç¤ë¤È»×¤¤¤Þ¤¹¡£¶öÁ³¡Ê¾Ð¡ËÆɤ᤿¤è¤¦¤Ç¤¹¡£
¿®¹æ̾¾Î(ListView ¤Î NAMEÍó)¤Ë¤Ï BSDL ¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¹àÌܤòÁªÂò¤·¤Æ¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤«¡¢±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤ÇÊÔ½¸¤·¤Æ¡¢DIPSW¤È¤«¡¢LED ¤È¤«¼ÂºÝ¤Î¥Í¥Ã¥È̾¾Î¤ËÊѹ¹¤Ç¤¤Þ¤¹¡£
¤»¤Ã¤«¤¯Æɤ᤿¤Î¤Ç¥»¡¼¥Ö¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼¤«¤é¡¢"Save ItemInfo" ¤òÁª¤Ó¡¢Å¬Åö¤Ê̾Á°¡Ê¤³¤³¤Ç¤Ï CSP004)¤ò¤Ä¤±¤Æ¥»¡¼¥Ö¤·¤Þ¤¹¡£³ÈÄ¥»Ò¤Ï¼«Æ°Åª¤Ë .vfd ¤Ë¤Ê¤ê¤Þ¤¹¡£XML ¤Ê¤Î¤Ç¡¢¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤Ç¤âÊÔ½¸²Äǽ¤Ç¤¹¡£
£´¡ËBSDL ¤¬Æɤ᤿¤Î¤Ç¡¢¤¤¤è¤¤¤è¥Ç¥Ð¥¤¥¹¤Î¥¯¥é¥¹¤òºî¤ê¤Þ¤·¤ç¤¦¡£
VisualStudio ¾å¤Ç¡¢°ìö¥×¥í¥°¥é¥à¤ò½ªÎ»¤·¤¿¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£¡ÊËÜÍ褳¤ì¤«¤éºîÀ®¤¹¤ë¥Ç¥Ð¥¤¥¹¤Î¥¯¥é¥¹¤¬¤â¤Ä¾ðÊó¤Ï BSDL ¤«¤é¼«Æ°Åª¤ËÆɤ߼è¤Ã¤Æ¤½¤Î¤è¤¦¤Ê¥¯¥é¥¹¤òÀ¸À®¤¹¤Ù¤¤Ê¤Î¤Ç¤¹¤¬¡¢¼«Ê¬¤¬¤Ä¤«¤¨¤ì¤Ð¤¤¤¤¥¸¥ã¥ó¥¯¥¦¥§¥¢¤Ê¤ó¤Ç¡¢ÌÌÅݤʤΤǤä¤Ã¤Æ¤Þ¤»¤ó¡£¡Ë¤Þ¤ºÅ¬Åö¤Ê¥Ç¥Ð¥¤¥¹¡ÊXC95144_PQ160.cs)¤ò VS.NET ¤Î¡Ö¥½¥ê¥å¡¼¥·¥ç¥ó¥¨¥¯¥¹¥×¥í¡¼¥é¡×¤Ç¥³¥Ô¡¼¡¢Å½¤êÉÕ¤±Áàºî¤ò¤·¡¢ EPF10K10L84.cs ¤È¤¤¤¦Ì¾Á°¤ËÊѹ¹¤·¤Þ¤¹¡£
£µ¡ËÊѹ¹¤·¤¿¥Õ¥¡¥¤¥ë¤ò³«¤¡¢¤Þ¤º xc95144_pq160 ¤È¤¤¤¦Ê¸»úÎó¡Ê¥¯¥é¥¹Ì¾¡¢¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾¤Ê¤É¡Ë¤òEPF10K10L84 ¤ËÃÖ´¹¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
£¶¡Ë¤µ¤¤Û¤É£²¡Ë¤Ç Altera ¥µ¥¤¥È¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤¿¡¢EPF10K10L84 ¤Î BSDL ¥Õ¥¡¥¤¥ë¤ò¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤Ê¤É¤Ç³«¤¤¤Æį¤á¤Ê¤¬¤é¡¢¤³¤Î¥Ç¥Ð¥¤¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤òËä¤á¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£static StringDictionary CreateInstruction() ¤Ç¤¹¤¬¡¢¤³¤ì¤Ïñ¤Ë¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¤ÎÍåÎó¤Î StringDictionary ¤òºî¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£¤³¤Î¥Ç¥Ð¥¤¥¹¤ÎBSDL ¤Ë¤Ï¥³¥Þ¥ó¥É¤¬ 5 ¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¤Þ¤Í¤ò¤·¤Æ½ñ¤´¹¤¨¤Þ¤¹¡£
// "BYPASS (1111111111), "& sd.Add( "BYPASS","1111111111") ; // "EXTEST (0000000000), "& sd.Add( "EXTEST","0000000000") ; // "SAMPLE (0001010101), "& sd.Add( "SAMPLE","0001010101") ; // "IDCODE (0000000110), "& sd.Add( "IDCODE", "0000000110") ; // "USERCODE (0000000111)"; sd.Add( "USERCODE","0000000111") ;
£·¡Ë¤³¤³¤Þ¤Ç¤¯¤ì¤Ð¡¢¤¢¤È¤ÏÄê¿ô¤ò¤¤¤¯¤Ä¤«½ñ¤´¹¤¨¤ë¤À¤±¤Ç¤¹¡£
LSINAME: ÁªÂò»þ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£EPF10K10 Åù¡¢¼«Ê¬¤Î¹¥¤¤Êʸ»úÎó¤Ë¡£
TAP_SCAN_CLOCK:BSDL ¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£10.00e6¡£
INSTRUCTION_LENGTH:BSDL ¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£10 ¤Ç¤¹¤Í¡£
INSTRUCTION_CAPTURE:BSDL ¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£"0101010101"¡£
BOUNDARY_LENGTH:BSDL ¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£480 ¤À¤½¤¦¡£
£¸¡Ë¤ª¤Ä¤«¤ì¤µ¤Þ¤Ç¤·¤¿¡£Á´ÂΤò¥ê¥Ó¥ë¥É¤·¤Æ¡¢¥¨¥é¡¼¤¬¤Ê¤¤¤«¤É¤¦¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£¤¢¤È¤Ï¥á¥¤¥ó¥Õ¥©¡¼¥à¤Î Device ¥á¥Ë¥å¡¼¤«¤éº£ºî¤Ã¤¿¥Ç¥Ð¥¤¥¹¤Î¥¯¥é¥¹¤¬ÁªÂò¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤À¤±¤Ç¤¹¡£Form1.cs ¤ò³«¤¡¢Device ¥á¥Ë¥å¡¼¡Ê¥á¥Ë¥å¡¼¥¨¥Ç¥£¥¿¤Ç¡Ë¤Ë EPF10K10LC84 ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
£¹¡Ë¼«Æ°À¸À®¤µ¤ì¤ë¥á¥Ë¥å¡¼¤Î¥Ï¥ó¥É¥é¤Ë¡¢°Ê²¼¤Î¥³¡¼¥É¤òÄɲäǤª¤·¤Þ¤¤¤Ç¤¹¡£
¤Ê¤ª¡¢CONFIG ROM ¤Ê¤É¤ÈJTAG ¤Î¥Á¥§¥¤¥ó¤ò¤¹¤ë¾ì¹ç¤Î¤¿¤á¤Ë DeviceChain ¥¯¥é¥¹¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¹¤Ç¤Ë¥á¥Ë¥å¡¼¤Ë¤¢¤ë¥Á¥§¥¤¥ó¤ÎÄêµÁ¤ò»²¹Í¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£private void menuItem15_Click(object sender, System.EventArgs e) { SetDevice(new EPF10K10LC84()) ; }
7/22 Äɵ¡§¥Ç¥Ð¥¤¥¹¥Á¥§¥¤¥ó¡¢Æ°¤¯¤è¤¦¤Ç¤¹¡£View¥á¥Ë¥å¡¼¤Ç¤Ï¤½¤Î¿ô¤À¤±¥ê¥¹¥È¥Ó¥å¡¼¤¬³«¤¤Þ¤¹¡£
¥Ç¥Ð¥¤¥¹ 2 ¤Ä¥Á¥§¥¤¥ó¤Îµ½ÒÎ㡧Device1->2 SetDevice(new DeviceChain(new Device1(),new Device2())) ; ¥Ç¥Ð¥¤¥¹ 3 ¤Ä¤Î¥Á¥§¥¤¥ó¤Îµ½ÒÎ㡧Device1->2->3 SetDevice(new DeviceChain(new Device1() , new DeviceChain(new Device2(),new Device3())) ;
£±£°¡Ë¼ÂºÝ¤Ë CSP-004 ¤òÀܳ¤·¤Æ¡¢»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£¥ê¥Ó¥ë¥É¤·¤Æ¼Â¹Ô¡¢Device ¥á¥Ë¥å¡¼¤«¤é¡¢£¹¡Ë¤ÇÄɲä·¤¿¤Ð¤«¤ê¤Î EPF10K10LC84 ¤òÁªÂò¤·¤Æ¡¢Cable ¤Ï ByteBlasterMV ¤À¤«¤é¥Ç¥Õ¥©¥ë¥È¡¢LPT ¥¢¥É¥ì¥¹¤Ï Windows ¥Ç¥Ð¥¤¥¹¥Þ¥Í¡¼¥¸¥ã¤Çɽ¼¨¤µ¤ì¤ëÀêͥݡ¼¥È¤ÎÀèƬ¥¢¥É¥ì¥¹¤òÁªÂò¤·¤Þ¤¹¡£0x3BC ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¤¬¡¢¤³¤ì¤Ïñ¤Ë»ä¤¬ÊØÍø¤Ê¤è¤¦¤Ë¤½¤¦¤Ê¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£ÌÌÅݤÊÊý¤Ï¡¢¼«Ê¬¤¬»È¤¦¥Þ¥·¥ó¤Ë±þ¤¸¤Æ¥½¡¼¥¹¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
£±£±¡Ë¤Ç¡¢Back To Run-Test/Idle ¤ò¥¯¥ê¥Ã¥¯¸å¡¢Capture-IR¡£¤¢¤ì¡¢1111111111 ¡©¡¡¤ó¡© ¤è¤á¤Ê¤¤¤¸¤ã¤ó(¡¦¦Ø¡¦)
£±£²¡Ë¤è¤¯¤è¤¯¼è¤êÀâ¤òÆɤà¤È¡¢CSP-004 ¤Ï¡¢JTAG ¥³¥ó¥Õ¥£¥°¤Ç¤Ï¤Ê¤¤¤Î¤Ç¤¹¤Í¡£ÉÕ°¤Î¥±¡¼¥Ö¥ë¤ò»È¤Ã¤¿É¸½à¤ÎÀܳ¤Ç¤Ï FPGA ¤Î JTAG ¥Ô¥ó¤Ë¤Ï·Ò¤¬¤Ã¤Æ¤Ê¤¤¤Î¤Ç¤¹¤Í¡¢¤Ï¤Ï¡£Âç´ÖÈ´¤±¡£
£±£³¡Ë¤«¤Ê¤ê¡Ê¡¦¦Ø¡¦¡Ë¤Êµ¤Ê¬¤Ç¤¹¤¬¡¢FPGA ¤Î JTAG ÍÑ¿®¹æ¥Ô¥ó¼«ÂÎ¤Ï CSP004 ¤Î¥³¥Í¥¯¥¿(CN3,CN4)¤Ë½Ð¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ÌµÍý¤ä¤ê¤Ä¤Ê¤¤¤Ç¼Â¸³¤·¤Æ¤ß¤Þ¤·¤¿¡£
¢¨¥ª¥×¥·¥ç¥ó¤Î EPC2 ¤ò¼ÂÁõ¤·¤Æ¤¤¤ëÊý¤Ï¤³¤ÎÊýË¡¤Ï»È¤¨¤Þ¤»¤ó¡Ê¿ʬ¡Ë
¤à¤ê¤ä¤êÀܳˡ
A)HC244 ¤Î¶á¤¯¤Ë¤¢¤ë¥¸¥ã¥ó¥Ñ(JP6)¤ò¤¹¤Ù¤Æ 2-3 ¦¤Ë¤Ä¤Ê¤®ÊѤ¨¤Þ¤¹¡£
B)²óÏ©¿Þ¤ò¤ß¤ë¤È¤ï¤«¤ê¤Þ¤¹¤¬¡¢¤â¤È¤â¤È Option ¤Î EPC2 ¤Ë¥³¥ó¥Õ¥£¥°¤¹¤ë¤¿¤á¤Ë JTAG ¤ÎÀܳ¤¬ JP6 ¤Ë¤¤Æ¤¤¤Þ¤¹¡£JP6 ¤Î´ðÈĤÎ1-2-3¤Î¹ï°õ¤¬¤¢¤ë¦¤«¤é¡¢TCK,TDO,TMS¡¢¤Ò¤È¤Ä¤ª¤¤¤Æ TDI ¤Ë¤Ê¤ê¤Þ¤¹¡£
C)¼ê¸µ¤Ë¤¢¤Ã¤¿¥Ö¥ì¥Ã¥É¥Ü¡¼¥É¡ÊCSP004 ¤Î¤³¤È¤¸¤ã¤Ê¤¯¡¢·ê°ìÇդΤä¤Ä¤Ç¤¹¡ËÍѤΥ¸¥ã¥ó¥ÑÀþ¤Ç¡¢TCK<=>(CN4-5)¡¢TDO<=>(CN4-9)¡¢TMS<=>(CN4-26)¡¢TDI<=>(CN3-21)¤ÈÀܳ¡¢ÅŸ»¤òÆþ¤ì¤Þ¤¹¡£
D)¤³¤ó¤É¤Ï¤Á¤ã¤ó¤È IR-Capture À®¸ù¤·¤Þ¤·¤¿¡Ê¤¢¤¿¤ê¤Þ¤¨¤Ç¤¹¤Í¡Ë¡£
E)¤µ¤¤Û¤É£³¡Ë¤Çºî¤Ã¤¿ CSP004.vfd ¤ò View->ShowViewer ¥á¥Ë¥å¡¼¤Çɽ¼¨¤µ¤ì¤ë ListView ¾å¤Î±¦¥¯¥ê¥Ã¥¯¥á¥Ë¥å¡¼ LoadItemInfo ¤«¤éÆɤ߹þ¤ó¤Ç¤ä¤ê¤Þ¤¹¡£SAMPLE ¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢¿®¹æ¥ì¥Ù¥ë¤¬É½¼¨¤µ¤ì¤Þ¤·¤¿¡Ê¡¦¢Ï¡¦¡Ë
F)Continuous ¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Æ¤«¤é SAMPLE ¤¹¤ë¤È¡¢PUSHSW ¤ò²¡¤¹¤È¿®¹æ¥ì¥Ù¥ëɽ¼¨¤¬ÊѤï¤ë¤Î¤¬³Îǧ¤Ç¤¤Þ¤·¤¿¡£¡ÊϢ³ SAMPLE ²ò½ü¤Ï¥Á¥§¥Ã¥¯¤ò¤Ï¤º¤¹¡Ë
Äɵ¡§¼ÂºÝ¤Ë CSP-004 ¤ò JTAG ¤Ç±¿ÍÑ¡Ê¥³¥ó¥Õ¥£¥°¤â¡Ë¤¹¤ë¤Ë¤Ï¡¢JP6¤ò¤¹¤Ù¤Æ 2-3 ¦¤ËÀܳ¤·¤¿¾å¤Ç¡¢EPC2 ¥³¥Í¥¯¥¿¤È FPAG ¤Î JTAG ¿®¹æ³ºÅö²Õ½ê¤Ë¥Ô¥ó¥Ø¥Ã¥À¤ä´Ý¥Ô¥ó¥³¥Í¥¯¥¿¤òÀßÃÖ¤·¤Æ¥¯¥ê¥Ã¥×¤ä¥Ö¥ì¥Ã¥É¥Ü¡¼¥ÉÍÑ¥¸¥ã¥ó¥Ñ¤ÇÀܳ¤¹¤ë¤«¡¢´ðÈÄ΢¤Ç¥ï¥¤¥ä¤Ç¥¸¥ã¥ó¥Ñ¤¹¤ë¤Ê¤É¤·¤Æ¡¢°ÂÄꤷ¤ÆÀܳ¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤ÈÊØÍø¤Ç¤¹¡£
¡Ê»²¹Í¿Þ¡Ë:CSP-004 JTAG ²½ÍÑ¡¢EPC2 ¥³¥Í¥¯¥¿Éô»²¹Í»ñÎÁ PDF
£±£´¡Ë¤«¤Ê¤ê´ÖÈ´¤±¤Ê·ë²Ì¤Ç¤·¤¿¤¬¡¢¼«Ê¬¤Ç»È¤¦¥Ç¥Ð¥¤¥¹¤ä¥Ö¥ì¥Ã¥É¥Ü¡¼¥É¤òÄɲ乤ëÊýË¡¤Ï¤Ê¤ó¤È¤Ê¤¯Ê¬¤«¤ë¤«¤È»×¤¤¤Þ¤¹¡£shobon-JTAG ¤È¤â¤É¤â¡¢¤Ê¤Ë¤«¤Î»²¹Í¤Ë¤Ê¤ì¤Ð¹¬¤¤¤Ç¤¹¡£
º£²óÄɲä·¤¿ EPF10K10LC84 ¤¬´Þ¤Þ¤ì¤¿¥×¥í¥¸¥§¥¯¥È°ì¼°¤Ï¡¢
¤³¤Á¤é¤Î¥¨¥ó¥È¥ê¤«¤éÍî¤È¤»¤Þ¤¹¡£