SOPC - EDAʵÑé½²Òå - GW48-PK2 - ͼÎÄ(4)

2020-04-14 03:12

ÖÖÑ¡Ôñ£¬Í¨³£Ñ¡Ôñ16½øÖƱí´ï·½Ê½±È½Ï·½±ã¡£·ÂÕæÆ÷²ÎÊýÉèÖá£Ñ¡Ôñ²Ëµ¥AssignmentÖеÄSettings£¬ÔÚSettings´°µÄCategoryÏÂÑ¡Simulator Settings£¬ÔÚ´ËÏîÏ·ֱðÑ¡¡°General¡±£¬¹Û²ì·ÂÕæ×ÜÌåÉèÖÃÇé¿ö£»Ñ¡Mode£¬ÒÔÈ·ÈÏ·ÂÕæÄ£Ê½ÎªÊ±Ðò·ÂÕæ¡°Timing¡±£»Ñ¡ÔñOptions£¬È·ÈÏÑ¡¶¨Simulation coverage reporting£»Ã«´Ì¼ì²âGlitch detection Ϊ1ns ¿í¶È¡£

7¡¢Æô¶¯·ÂÕæÆ÷¡£ËùÓÐÉèÖÃÍê±Ï£¬Ôڲ˵¥ProcessingÏîÑ¡¡°Start Simulation¡±£¬Ö±µ½³öÏÖ¡°Simulation was successful¡±¡£

ͼ3-24 singt¹¤³Ì·ÂÕæ²¨ÐÎ

8¡¢¹Û²ì·ÂÕæ½á¹û¡£·ÂÕæ²¨ÐÎÎļþ¡°Simulation Report¡±Í¨³£»á×Ô¶¯µ¯³ö£¨Í¼3-24£©£¬½«·ÂÕæÊä³ö½á¹ûÓëÎļþÊý¾Ý£¨Í¼3-12£©±È½Ï¡£×¢Ò⣬QuartusIIµÄ·ÂÕæ²¨ÐÎÎļþÖУ¬²¨Ðα༭Îļþ£¨* .vwf£©Ó벨ÐηÂÕæ±¨¸æÎļþ£¨Simulation Report£©ÊÇ·Ö¿ªµÄ£¬¶øMaxplusIIµÄ±à¼­Óë·ÂÕæ±¨¸æ²¨ÐÎÊǺ϶þΪһµÄ¡£Èç¹ûÔÚÆô¶¯·ÂÕæ£¨Processing?Run Simulation£©ºó£¬²¢Ã»ÓгöÏÖ·ÂÕæÍê³ÉºóµÄ²¨ÐÎͼ£¬¶øÊdzöÏÖÎÄ×Ö¡°Can¡¯t open Simulation Report Window¡±£¬µ«±¨¸æ·ÂÕæ³É¹¦£¬Ôò¿É×Ô¼º´ò¿ª·ÂÕæ²¨Ðα¨¸æ£¬Ñ¡Ôñ£ºProcessing?Simulation Report¡£

3.2.4 Òý½ÅËø¶¨¡¢ÏÂÔØºÍÓ²¼þ²âÊÔ

ΪÁËÄܶԼÆÊýÆ÷½øÐÐÓ²¼þ²âÊÔ£¬Ó¦½«¼ÆÊýÆ÷µÄÊäÈëÊä³öÐźÅËø¶¨ÔÚоƬȷ¶¨µÄÒý½ÅÉÏ¡£ÔÚ´ËÑ¡ÔñGW48-SOPCϵͳµÄµç·ģʽNo.5¡£SOPC/DSPÊÊÅä°åµÄÒý½ÅÇé¿ö£¬Í¨¹ý²é¸½Â¼µÄ¸½Í¼7ºÍоƬÒý½Å¶ÔÕÕ±íÀ´È·¶¨¡£

ÆäÒý½Å·Ö±ðΪ£ºÖ÷ƵʱÖÓCLK½ÓClock0£¨µÚ179½Å£©£»´Ó¸½Í¼7¿ÉÖª£¬8벨ÐÎÊý¾ÝÊä³ö¸øGW48ϵͳµÄDAC0832£¬ÆäÊäÈëÒý½ÅΪPIO24¡¢25¡¢..31£¬Í¨¹ý²é±íµÃÏàÓ¦Òý½ÅºÅ·Ö±ðΪ£º21¡¢41¡¢128¡¢132¡¢133¡¢134¡¢135¡¢136¡£

1¡¢Òý½ÅËø¶¨¡£¼ÙÉèÏÖÔÚÒÑ´ò¿ªÁËsingt¹¤³Ì£¨Èç¹û¸Õ´ò¿ªQuartusII£¬Ó¦Ôڲ˵¥FileÖÐÑ¡Open PrejectÏ²¢µã»÷¹¤³ÌÎļþcnt4b£¬´ò¿ª´ËǰÒÑ¿ªÊ¼Éè¼ÆµÄ¹¤³Ì£©£¬Ôڲ˵¥AssignmentsÖУ¬Ñ¡Assignments EditorÏͼ3-25£©£¬µ¯³öµÄ¶Ô»°¿òÈçͼ3-26Ëùʾ£¬ÏÈÑ¡ÖÐÓÒÉÏ·½µÄ¡°Pin¡±£¬ÔÙË«»÷Ï·½×î×óÀ¹µÄ¡¶New¡·£¬½«µ¯³öÐźÅÃûÀ¹£¬Ñ¡ÔñCLK£¬ÔÙË«»÷ÆäÓÒ²àÀ¸£¬¶ÔÓ¦µÄ¡¶New¡·£¬Ñ¡ÖÐÐèÒªµÄÒý½ÅÃû£¨Èç179£©£¬ÒÀ´ËÀàÍÆ£¬Ëø¶¨ËùÓÐ9¸öÒý½Å£¨Í¼3-26£©¡£×îºóµã»÷´æÅÌ¡£¹Ø±Õ¶Ô»°¿ò¡£Òý½ÅËø¶¨ºó£¬±ØÐëÔÙ±àÒëÒ»´Î£¨Processing?Start Compilation£©£¬½«Òý½ÅËø¶¨ÐÅÏ¢±àÒë½øÏÂÔØÎļþÖС£

2¡¢Ñ¡Ôñ±à³ÌģʽºÍÅäÖá£ÎªÁ˽«±àÒë²úÉúµÄÏÂÔØÎļþÅäÖýøFPGAÖнøÐвâÊÔ£¬Ê×ÏȽ«ÏµÍ³Á¬½ÓºÃ£¬Éϵ磬ȻºóÔڲ˵¥ToolÖУ¬Ñ¡ÔñProgrammer£¬ÓÚÊǵ¯³öÈçͼ3-27ËùʾµÄ±à³Ì´°¡£ÔÚModeÀ¸ÖÐÓÐÈýÖÖ±à³Ìģʽ¿ÉÒÔÑ¡Ôñ£¬JTAG¡¢Passive SerialºÍActive Serial¡£Ñ¡JTAG£¬µã»÷×ó²à´ò¿ªÎļþ±ê·û£¬Ñ¡ÔñÅäÖÃÎļþsingt.sof£¬×îºóµã»÷ÏÂÔØ±ê·û¡£µ±¡°Progress¡±ÏÔʾ³ö100%£¬ÒÔ¼°Ôڵײ¿µÄ´¦ÀíÀ¸ÖгöÏÖ¡°Configuration Succeeded¡±Ê±£¬±íʾ±à³Ì³É¹¦£¨Í¼2-20£©¡£

3¡¢Ñ¡Ôñ±à³ÌÆ÷¡£ÔÚͼ3-26ËùʾµÄ±à³Ì´°ÖУ¬Ñ¡¡°Setup¡±Å¥¿ÉÉèÖÃÏÂÔØ½Ó¿Ú·½Ê½£¬ÕâÀïÑ¡ÔñByteBlaster MV[LPT1]¡£·½·¨Êǵã»÷ͼ3-26ËùʾµÄ±à³Ì´°Éϵġ°Hardware¡±Å¥£¬¼´µ¯³ö¡°Hardware Setup¡±¶Ô»°¿ò£»Ñ¡Ôñ´Ë¿òµÄ¡°Hardware settings¡±Ò³£¬ÔÙË«»÷´ËÒ³ÖеÄÑ¡Ïî¡°ByteBlasterMV¡±»ò¡°ByteBlasterII¡±Ö®ºóµã»÷¡°Close¡± Å¥£¬¹Ø±Õ¶Ô»°¿ò¼´¿É¡£

ͼ3-25 ½øÈëÒý½ÅËø¶¨±à¼­Æ÷ ͼ3-26 Òý½ÅËø¶¨±à¼­´°

¶ÔGW48PK2ϵͳ×ó²àµÄ¡°JP5¡±ÌøÏßÑ¡Ôñ¡°Others¡±£¬µ±½øÈë²Ëµ¥Tool£¬´ò¿ªProgrammer´°ºó£¬½«ÏÔʾByteBlasterMV[LPT1]£¬¶øÈô¶Ô¡°JP5¡±ÌøÏßÑ¡Ôñ¡°ByBtII¡±£¬Ôòµ±½øÈë²Ëµ¥Tool£¬´ò¿ªProgrammer´°ºó£¬½«ÏÔʾByteBlasterII[LPT1]£¬Èô¶ÔCycloneµÄÅäÖÃÆ÷¼þ±à³Ì£¬±ØÐëʹÓô˱à³Ì´°¡£ 4¡¢ÏÂÔØºó£¬´ò¿ªSOPCϵͳ×óÉϲàµÄ+/-12V¿ª¹Ø£¨D/AÊä³öÐèÒª£©£¬½«Ê¾²¨Æ÷̽ͷ½ÓÓÚÖ÷ϵͳ×óϽǵÄÁ½¸ö¹Ò¹³´¦£¬×î

16

ÓÒ²àµÄʱÖÓÑ¡Ôñ£¬ÓöÌ·ñ½Ó²åclock0Ϊ65536Hz»ò750KHz´¦£¬Ä£Ê½Ñ¡Ôñ5£¬Õâʱ¿ÉÒÔ´Óʾ²¨Æ÷ÉÏ¿´µ½²¨ÐÎÊä³ö£¨SOPCÊÊÅä°åµÄÏêϸʹÓÃÌØµãÔÚ±¾½²ÒåºóÃæ£©¡£

ͼ3-27 ±à³Ì´°

3.2.5 ʹÓÃǶÈëʽÂß¼­·ÖÎöÒǽøÐÐʵʱ²âÊÔ

1¡¢Ñ¡Ôñ²Ëµ¥FileÖеÄNewÏÔÚNew´°ÖÐÑ¡¡°Other Files¡±Öеġ°SignalTapII File¡±£¨Í¼3-28×óͼ£©£¬µã»÷OK£¬¼´³öÏÖͼ3-28ËùʾµÄSignalTapII±à¼­´°¡£

2¡¢µ÷Èë´ý²âÐźż°Îļþ´æÅÌ¡£Ê×Ïȵã»÷ÉÏÅŵġ°Instance¡±À¸Äڵġ°auto_signaltap_0¡±£¬¸ù¾Ý×Ô¼ºµÄÒâÔ¸½«Æä¸ÄÃû£¬Èç¡°SING¡±£¬ÕâÊÇÆäÖÐÒ»×é´ý²âÐźÅÃû¡£ÎªÁ˵÷Èë´ý²âÐźÅÃû£¬ÔÚÏÂÀ¸µÄ¿Õ°×´¦Ë«»÷£¬¼´µ¯³öͼ3-29ËùʾµÄ¡°Node Finder¡±´°£¬µã»÷¡°List¡±¼´ÔÚ×óÀ¸³öÏִ˹¤³ÌÏà¹ØµÄËùÓÐÐźţ¬°üÀ¨ÄÚ²¿Ðźš£Ñ¡Ôñͼ3-29ËùʾµÄ2×é×ÜÏßÐźţº¼ÆÊýÆ÷ÄÚ²¿Ëø´æÆ÷×ÜÏßQ1¡¢²¨ÐÎÊý¾ÝÊä³ö¶Ë¿ÚÐźÅ×ÜÏßDOUT¡£µã»÷OKºó¼´¿É½«ÕâЩÐźŵ÷ÈëSignalTapIIÐźŹ۲촰£¨Í¼3-30£©¡£

×¢Ò⣬²»Äܽ«¹¤³ÌµÄÖ÷ƵʱÖÓÐźŵ÷ÈëÐźŹ۲촰£»Èç¹ûÓÐ×ÜÏßÐźŵģ¬Ö»Ðëµ÷Èë×ÜÏßÐźÅÃû¼´¿É£»Ïà¶ÔµÄÂýËÙÐźſɲ»µ÷È룻µ÷ÈëÐźŵÄÊýÁ¿Ó¦¸ù¾Ýʵ¼ÊÐèÒªÀ´¾ö¶¨£¬²»¿ÉËæÒâµ÷Èë¹ý¶àµÄ£¬Ã»ÓÐʵ¼ÊÒâÒåµÄÐźţ¬Õâ»áµ¼ÖÂSignalTapIIÎÞνµØÕ¼ÓÃоƬÄÚ¹ý¶àµÄ×ÊÔ´¡£È»ºóÊǽ«SignalTapIIÎļþ´æÅÌ¡£Ñ¡Ôñ²Ëµ¥FileÖеÄSave AsÏ¼üÈë´ËSignalTapIIÎļþÃû£¬ºó׺ÊÇ¡°stp¡±£¬Ä¬Èϵġ£µã»÷¡°±£´æ¡±ºó½«³öÏÖÒ»¸öÌáʾ£¨Í¼3-30£©£º¡°Do you want to enable SignalTapII¡­¡±£¬Ó¦¸Ãµã»÷¡°ÊÇ¡±¡£±íʾͬÒâÔٴαàÒëʱ½«´ËSignalTapIIÎļþ£¨ºË£©Ó빤³Ì£¨sindt£©À¦°óÔÚÒ»Æð×ÛºÏ/ÊÊÅ䣬ÒÔ±ãһͬ±»ÏÂÔØ½øFPGAоƬÖÐÈ¥¡£Èç¹ûµã»÷ÁË¡°·ñ¡±£¬Ôò±ØÐë×Ô¼ºÈ¥ÉèÖ᣷½·¨ÊÇÑ¡Ôñ²Ëµ¥AssignmentsÖеÄSettingsÏÔÚÆäCategoryÀ¸ÖÐÑ¡¡°SignalTapII Logic Analyzer¡±¡£ÔÚSignalTapII FileÀ¸Ñ¡ÖÐÒÑ´æÅ̵ÄSignalTapIIÎļþÃû£¬²¢Ñ¡ÖС°Enable SignalTapII Logic Analyzer¡±£¬µã»÷OK¼´¿É¡£µ«Ó¦¸ÃÌØ±ð×¢Ò⣬µ±ÀûÓÃSignalTapII½«Ð¾Æ¬ÖеÄÐźÅÈ«²¿²âÊÔ½áÊøºó£¬ÈçÔÚ¹¹³É²úƷǰ£¬²»ÒªÍüÁ˽«SignalTapII´ÓоƬÖгýÈ¥¡£·½·¨Ò²ÊÇÔÚ´Ë´°¿ÚÖйرա°Enable SignalTapII Logic Analyzer¡±£¬ÔÙ±àÒëÒ»´Î¼´¿É¡£

ͼ3-28 SignalTapII±à¼­´°

ͼ3-29 Ñ¡ÔñÐèÒª²âÊÔµÄÐźŠͼ3-30 Ðźŵ÷Èë¹Û²ì´°£¬´æÅÌ

2¡¢SignalTapII²ÎÊýÉèÖᣵã»÷È«ÆÁ°´Å¥ºÍ´°¿Ú×óϽǵġ°Setup¡±Ò³£¬¼´³öÏÖͼ3-30µÄÈ«ÆÁ±à¼­´°¡£Ê×ÏÈÑ¡ÔñÊäÈëÂß¼­·ÖÎöÒǵŤ×÷ʱÖÓÐźÅClock£¬µã»÷¡°Clock¡±À¸×ó²àµÄ¡°¡­¡±°´Å¥£¬Ñ¡Öй¤³ÌµÄÖ÷ƵʱÖÓÐźţ¬¶ÔÓÚ±¾¹¤³ÌÊÇCLK¡£½Ó×ÅÔÚData¿òµÄ¡°Sample¡±À¸Ñ¡Ôñ´Ë×éÐźţ¨SING£©µÄ²ÉÑùÉî¶ÈΪ1Kλ¡£×¢Ò⣬Õâ¸öÉî¶ÈÒ»µ©È·¶¨£¬ÔòSINGÐźÅ×é

17

µÄÿһλÐźŶ¼»ñµÃͬÑùµÄ²ÉÑùÉî¶È£º1Kλ¡£

È»ºóÊǶԴý¹Û²ìÐźŵÄÒªÇó£¬ÔÚ¡°Buffer acquisition mode¡±¿òµÄ¡°Circulate¡±À¸É趨ÔÚ¼´¶¨µÄ²ÉÑùÉî¶ÈÖÐÆðʼ´¥·¢µÄλÖ㬱ÈÈçÑ¡ÔñÖе㴥·¢£º¡°Center trigger position¡±¡£×îºóÊÇ´¥·¢Ðźźʹ¥·¢·½Ê½¡£Õâ¿ÉÒÔ¸ù¾Ý¾ßÌåÐèÇóÀ´Ñ¡¶¨¡£ÔÚTrigger¿òµÄ¡°Trigger¡±À¸Ñ¡Ôñ1£»Ñ¡ÖÐСµÄTrigger¿ò£¬²¢ÔÚ¡°Source¡±À¸Ñ¡Ôñ´¥·¢Ðźţ¬ÔÚ´ËÑ¡Ôñsingt¹¤³ÌµÄÄÚ²¿¼ÆÊýÆ÷×î¸ßλÊä³öÐźÅQ1[5]×÷Ϊ´¥·¢Ðźţ»ÔÚ¡°Pattern¡±À¸Ñ¡Ôñ¸ßµçƽ´¥·¢·½Ê½£º¡°Rising Edge¡±¡£¼´µ±Q1[5]ΪÉÏÉýÑØÊ±£¬SignalTapIIÔÚCLKµÄÇý¶¯Ï¶ÔSINGÐźÅ×éµÄÐźŽøÐÐÁ¬Ðø»òµ¥´Î²ÉÑù£¨¸ù¾ÝÉèÖþö¶¨£©¡£Ôٴεã»÷´æÅ̰´Å¥¡£

3¡¢±àÒëÏÂÔØ¡£Ê×ÏÈÑ¡ÔñProcessing²Ëµ¥µÄ¡°Start Compilation¡±ÏÆô¶¯È«³Ì±àÒë¡£±àÒë½áÊøºó£¬SignalTapIIµÄ¹Û²ìͨ³£»á×Ô¶¯´ò¿ª£¬µ«ÈôûÓдò¿ª£¬»òÐÂÆô¶¯¹ý³Ì£¬¿ÉÑ¡Ôñ²Ëµ¥ToolsÖеÄSignalTapII Analyzer£¬´ò¿ªSignalTapII£¨Í¼3-31£©¡£ ½Ó×Å´ò¿ªÊµÑ鿪·¢ÏµÍ³µÄµçÔ´£¬Á¬½áJTAG±à³Ì¿Ú£¬É趨ͨÐÅģʽ¡£Í¨¹ýͼ3-32ËùʾÓÒÉϽǵġ°Setup¡±Å¥Ñ¡ÔñÓ²¼þͨÐÅģʽ£ºByteBlasterII»òByteBlasterMV¡£È»ºóµã»÷Ï·½µÄ¡°Device¡±À¸µÄScan ChainÅ¥£¬¶ÔʵÑé°å½øÐÐɨÃè¡£Èç¹ûÔÚÀ¸ÖгöÏÖ°åÉÏFPGAµÄÐͺÅÃû£¬±íʾϵͳJTAGͨÐÅÇé¿öÕý³££¬¿ÉÒÔ½øÐÐÏÂÔØ¡£×îºóÊÇÔÚ¡°File¡±À¸Ñ¡ÖÐÏÂÔØÎļþ£¨singt.sof£©,µã»÷ÏÂÔØ±êºÅ£¬¹Û²ì×óϽÇÏÂÔØÐÅÏ¢¡£ÏÂÔØ³É¹¦ºó£¬É趨ʵÑé°åÉϵÄģʽºÍÇ¡µ±µÄ¿ØÖÆÐźţ¬Ê¹¼ÆÊýÆ÷¹¤×÷£¨CLKƵÂÊ¿ÉÔÚClock0´¦Éè750KHz£©¡£

ͼ3-31 ´ò¿ªSignalTapII´°¿Ú ͼ3-32 ÔÚ´Ë´°¿ÚÏÂÔØ£¬²¢×¼±¸Æô¶¯SignalTapII

ͼ3-33 SignalTapIIÊý¾Ý´°µÄʵʱÐźÅ

4¡¢Æô¶¯SignalTapII½øÐвâÊÔÓë·ÖÎö¡£Èçͼ3-32£¬µ¥»÷InstanceÃû¡°SING¡±£¬ÔÙµã»÷Autorun AnalysisÅ¥£¬Æô¶¯SignalTapII£¬È»ºóµã»÷×óϽŵġ°Data¡±Ò³ºÍÈ«ÆÁ¿ØÖÆÅ¥£¬Õâʱ¾ÍÄÜÔÚSignalTapIIÊý¾Ý´°Í¨¹ýJTAG¿Ú¹Û²ìµ½À´×ÔʵÑé°åÉÏFPGAÄÚ²¿µÄʵʱÐźţ¨Í¼3-33£©¡£Êý¾Ý´°µÄÉÏÑØ×ø±êÊDzÉÑùÉî¶ÈµÄ¶þ½øÖÆÎ»Êý£¬È«³ÌÊÇ1Kλ¡£Èç¹ûµã»÷×ÜÏßÃû£¨ÈçDOUT£©×ó²àµÄ¡°+¡±ºÅ£¬¿ÉÒÔÕ¹¿ª´Ë×ÜÏßÐźţ¬Í¬Ê±¿ÉÓÃ×óÓÒ¼ü¿ØÖÆÊý¾ÝµÄÕ¹¿ª¡£Èç¹ûÒª¹Û²ìÏàÓ¦µÄÄ£ÄⲨÐΣ¬ÓÒ¼üµã»÷DOUT£¨»òQ1£©×ó²àµÄ¶Ë¿Ú±êºÅ£¬ÔÚµ¯³öµÄÏÂÀ­À¸ÖÐÑ¡Ôñ¡°Bus Display Format¡±?¡°Line Chart¡±ÓÚÊǵõ½ÈçͼÐźÅÇé¿ö¡£

3.2.6 ¶ÔÅäÖÃÆ÷¼þEPCS4/EPCS1±à³Ì

EPCS4ºÍEPCS1ÊÇCycloneϵÁÐÆ÷¼þµÄרÓÃÅäÖÃÆ÷¼þ£¬Flash´æ´¢½á¹¹£¬±à³ÌÖÜÆÚ10Íò´Î¡£±à³ÌģʽΪActive Serialģʽ£¬±à³Ì½Ó¿ÚΪByteBlasterII¡£ÒÔÏÂ˵Ã÷±à³Ì·½Ê½¡£

1¡¢Ñ¡Ôñ±à³Ìģʽ¡£µã»÷ͼ3-34Ëùʾ´°¿ÚµÄModeÀ¸£¬Ñ¡ÔñActive Serial Programmng±à³Ìģʽ¡£´ò¿ª±à³ÌÎļþ£¬Ñ¡ÖÐÎļþsingt.pof£¬²¢Èçͼ3-34Ëùʾ£¬¶Ô3¸ö±à³ÌÑ¡Ôñµã»÷´ò¹´¡£

18

2¡¢Ñ¡Ôñ½Ó²åģʽ¡£GW48Ö÷ϵͳÉϵÄJP5ÌøÏß½Ó¡°ByBtII¡±£¬¼´Ñ¡ÔñByteBlasterII±à³Ì·½Ê½£¨JP6½Ó3.3V£©£»SOPC/DSPÊÊÅä°åÉϵġ°MSEL0¡±¶Ì½ÓPS£¬4ÌøÏß¶¼½Ó²å¡°AS¡±¶Ë£¬J6ÎåÌøÏß¶¼½Ó²å¡°AS Download¡±¶Ë¡£×îºó½«10оÏßÁ¬½ÓÖ÷ϵͳµÄ¡°ByteBlasterII¡±½Ó²å¿ÚºÍÊÊÅä°åÉϵÄ10оASģʽ±à³Ì¿Ú¡£

3¡¢ASģʽ±à³ÌÏÂÔØ¡£µã»÷Èçͼ3-34Ëùʾ´°¿ÚµÄÏÂÔØ¼ü£¬±à³Ì³É¹¦ºóFPGA½«×Ô¶¯±»EPCSÆ÷¼þÅäÖöø½øÈëÕý³£¹¤×÷״̬¡£×îºó½«ÎªASģʽ±à³Ì¸Ä±äµÄ¶ÌÂ·Ã±ÌøÏßÈ«²¿»¹Ô­¡£

×¢Ò⣬Èç¹û±à³ÌУÑéʧ°Ü£¬´Óбà³Ìʱ£¬±ØÐëÓÃÊÖ°´×¡ÏµÍ³ÓÒ²àµÄ¡°ÏµÍ³¸´Î»¼ü¡±£¬Ö±ÖÁ±à³Ì½áÊø²ÅÄÜËÉ¿ª¡£

ͼ3-34 ByteBlasterII½Ó¿ÚASģʽ±à³Ì´°¿Ú

3.2.7 Á˽â´Ë¹¤³ÌµÄRTLµç·ͼ

Ñ¡Ôñ²Ëµ¥Tools ? RTL Viewer¼´µ¯³öͼ3-35ËùʾµÄ¹¤³ÌsingtµÄRTLµç·ͼ£¬ÓÉͼ¿ÉÒÔÁ˽â¸Ã¹¤³ÌµÄµç·½á¹¹¡£ÆäÖУ¬Áù¸öD´¥·¢Æ÷¹¹³É6Î»Ëø´æÆ÷£¬ËûÃÇÓë¼Ó·¨Æ÷¹¹³É6λ¼ÆÊýÆ÷£¬¼´²¨ÐÎÊý¾ÝROMµÄµØÖ··¢ÉúÆ÷¡£

ͼ3-35 ¹¤³ÌsingtµÄRTLµç·ͼ

µÚËÄÕ MATLAB/DSP Builder DSPÓ²¼þÄ£¿éÉè¼Æ

DSP Builder¿ÉÒÔ°ïÖú¿ª·¢ÕßÍê³É»ùÓÚFPGAµÄDSP»òÆäËûµç×ÓϵͳÉè¼Æ¡£³ýÁËͼÐλ¯µÄϵͳ½¨Ä£Í⣬DSP Builder»¹¿ÉÒÔ×Ô¶¯Íê³É´ó²¿·ÖµÄÉè¼Æ¹ý³ÌºÍ·ÂÕæ£¬Ö±ÖÁ°ÑÉè¼ÆÎļþÏÂÔØÖÁFPGAÖС£ÀûÓÃMatlab\\DSP Builder½øÐÐDSPÄ£¿éÉè¼ÆÊÇSOPC¼¼ÊõµÄÒ»¸ö×é³É²¿·Ö¡£Í¼4-1ÊÇMATLAB/DSPÉè¼ÆÁ÷³Ì¡£ 4.1 ¿É¿ØÕýÏÒÐźŷ¢ÉúÆ÷Éè¼Æ

±¾½ÚÒÔÕýÏÒ²¨·¢ÉúÄ£¿éµÄÉè¼ÆÎªÀý£¨Í¼4-2£©£¬ËüÓÉ4¸ö²¿·Ö¹¹³É£ºInCountÊǽ×ÌÝÐźŷ¢ÉúÄ£¿é£¬²úÉúÏßÐÔµÝÔöµÄµØÖ·Ðźţ¬ËÍÍùSinLUT¡£SinLUTÊÇÒ»¸öÕýÏÒº¯ÊýÖµµÄ²éÕÒ±íÄ£¿é£¬ÓɵÝÔöµÄµØÖ·»ñµÃÕýÏÒ²¨ÖµÊä³ö£¬Êä³öµÄ8λÕýÏÒ²¨Êý¾Ý¾­ÑÓʱģ¿éDelayºóËÍÍùProduct³Ë·¨Ä£¿é£¬ÓëSinCtrlÏà³Ë¡£ÓÉÓÚSinCtrlÊÇ1λÊäÈ룬SinCtrlͨ¹ýProduct¾ÍÍê³ÉÁ˶ÔÕýÏÒ²¨Êä³öÓÐÎ޵ĿØÖÆ¡£SinOutÊÇÕû¸öÕýÏÒ²¨·¢ÉúÆ÷Ä£¿éµÄÊä³ö£¬ËÍÍùD/A¼´¿É»ñµÃÕýÏÒ²¨Ðźš£

4.1.1 ½¨Á¢Éè¼ÆÄ£ÐÍ

1¡¢´ò¿ªMatlab»·¾³¡£¿ÉÒÔ¿´µ½MatlabµÄÖ÷´°¿Ú½çÃæ±»·Ö¸î³ÉÈý¸ö´°¿Ú£ºÃüÁî´°¿Ú£¨Command Window£©¡¢¹¤×÷Çø£¨Workspace£©¡¢ÃüÁîÀúÊ·£¨Command History£©¡£ÔÚÃüÁî´°¿ÚÖУ¬¿ÉÒÔ¼üÈëMatlabÃüÁͬʱ»ñµÃMatlab¶ÔÃüÁîµÄÏìÓ¦ÐÅÏ¢¡¢³ö´í¾¯¸æÌáʾµÈ¡£È»ºó½¨Á¢¹¤×÷¿â¡£ÔÚ½¨Á¢Ò»¸öеÄÉè¼ÆÄ£ÐÍǰ£¬ÏȽ¨Á¢Ò»¸öеÄÎļþ¼Ð£¬×÷ΪworkĿ¼¡£

2. н¨Ò»¸ösimulinkµÄÄ£ÐÍÎļþ£¨ºó׺Ϊmdl£©£¬ÔÚsimulinkµÄ¿â¹ÜÀíÆ÷ÖÐÑ¡Ôñ¡°File¡±²Ëµ¥£¨Í¼4-6£©£¬ÔÚ³öÏֵIJ˵¥ÖÐÑ¡ÔñNew£¬ÔÚµ¯³öµÄ×Ӳ˵¥ÖÐÑ¡Ôñн¨Ä£ÐÍmodel¡£Í¼4-6ÓÒϽÇÏÔʾµÄ¾ÍÊÇÐÂÄ£ÐÍ´°¡£µã»÷´Ë´°ÉÏ·½µÄ²ÊÉ«°´Å¥£¬Ò²½«µ¯³öÈçͼ4-5ËùʾµÄsimulink¿â¡£

3¡¢·ÅÖÃSignalCompilder¡£µã»÷simulink¿â¹ÜÀíÆ÷×ó²àµÄ¿âÄÚÊ÷ÐÎÁбíÖеÄAltera DSP BuilderÌõ£¬Ê¹Ö®Õ¹¿ªDSP Builder¿â£¬Õâʱ»á³öÏÖÒ»³¤´®Ê÷ÐÎÁÐ±í£¬¶ÔDSP builder¿âµÄ×ÓÄ£¿é£¨Block£©½øÐÐÁË·Ö×飬Ôٴεã»÷ÆäÖеÄAltLabÏչ¿ªAltLab£¬Ñ¡Öпâ¹ÜÀíÆ÷ÓÒ²àµÄSignalCompilder×é¼þ£¬°´×¡Êó±êÓÒ¼üÍ϶¯SignalCompilderµ½ÐÂÄ£ÐÍ´°¿ÚÖУ¨Í¼4-7£©¡£

×¢Ò⣺µ±ÔÚsimulink¿â¹ÜÀíÆ÷ÖÐÑ¡ÖÐÄ£¿é£¨Block£©ºó£¬ÔÚ¿â¹ÜÀíÆ÷µÄÌáʾÀ¸ÖлáÏÔʾ¶ÔӦģ¿éµÄ˵Ã÷¡£

4¡¢·ÅÖÃIncrement Decrement¡£²ÎÕÕͼ4-2£¬½«Increment DecrementÄ£¿é·ÅÖõ½ÐÂÄ£ÐÍÖС£Increment DecrementÄ£¿é£¨Í¼4-8£©ÊÇDSP Builder¿âÖÐArithmeticÄ£¿é¡£Ñ¡ÖпâÖеÄArithmeticÌõ£¬ÔòÔÚ¿â¹ÜÀíÆ÷µÄÓҲ࣬¿ÉÒÔ¿´µ½Increment DecrementÄ£¿é¡£°´ÕÕ·ÅÖÃSignalCompilderµÄ·½·¨£¬°ÑIncrement DecrementÍϵ½Ð½¨´°¿ÚÖС£

19

5. ÉèÖÃIncCount¡£ÓÃÊó±êµã»÷ÔÚн¨Ä£ÐÍ´°¿ÚÖеÄIncrement DecrementÄ£¿éÏÂÃæµÄÎÄ×Ö¡°Increment Decrement¡±£¬¾Í¿ÉÒÔÐÞ¸ÄÎÄ×ÖÄÚÈÝ£¬Ò²¾ÍÊÇ¿ÉÒÔÐÞ¸ÄÄ£¿éÃû×Ö¡£ÔÚÕâÀï²»·Á½«ÆäÐÞ¸ÄΪ¡°IncCount¡±£¨Í¼4-8£©¡£È»ºó°´ÕÕͼ4-2ÖÐÃèÊöµÄº¬Ò壬°ÑIncCountÄ£¿é×ö³ÉÒ»¸öÏßÐÔµÝÔöµÄµØÖ··¢ÉúÆ÷£¬Õâ¾ÍÐèÒª¶ÔIncCountÄ£¿éµÄ²ÎÊý½øÐÐÏàÓ¦µÄÉèÖãºË«»÷н¨Ä£ÐÍÖеÄIncCountÄ£¿é£¬´ò¿ªIncCountµÄÄ£¿é²ÎÊýÉèÖöԻ°¿ò£º¡°Block Parameters£ºIncCount¡±£¨Í¼4-9£©¡£ÔÚ²ÎÊýÉèÖöԻ°¿òµÄÉϰ벿·ÖÊǸÃÄ£¿éµÄ¹¦ÄÜÃèÊöºÍʹÓÃ˵Ã÷£»¶Ô»°¿òµÄϰ벿·ÖÊDzÎÊýÉèÖò¿·Ö£¬¶ÔÓÚIncrement DecrementÄ£¿éÉèÖ㺠ÕâÀïÑ¡Ôñ¡°signed Integer¡±£¬¼´ÓзûºÅÕûÊý£»Êä³öλ¿í¿ÉѡΪ6£»IncCount£¬DirectionÉèΪIncrement£¨ÔöÁ¿·½Ê½£©¡£Use Control InputsÏî¿ÉÒÔ²»Ñ¡¡£ÒòΪÈç¹ûÑ¡ÖдËÏ´ËÄ£¿é»á³öÏÖÁ½¸öÊäÈë¶Ë£¬·Ö±ðÊǸ´Î»¶ËºÍʱÖÓ¶Ë¡£Í¨³£ÔÚsimulinkͼÖеÄÔª¼þµÄ¸´Î»ºÍʱÖÓ¶Ë£¨Èç¹û´æÔڵϰ£©ÊÇ·Ö±ðĬÈϽÓÓÚµÍµçÆ½ºÍÓëÈ«¾ÖʱÖÓÏàÁ¬µÄ¡£Clock Phase Selection¿ÉÉèÖÃΪ1£¨¶þ½øÖÆ£©£¬ÆäËûÉèÖòÉÓÃIncrement DecrementÄ£¿éµÄĬÈÏÉèÖá£ÉèÖÃÍêµÄ¶Ô»°¿òÈçͼ3-10¡£È»ºóµã»÷¡°OK¡±°´Å¥È·ÈÏ¡£

×¢Ò⣬Èô¶ÔDSP Builder¿âÖÐÄ£¿éÉèÖòÎÊýÖµ²»Á˽⣬¿ÉÒÔÔÚÏàӦģ¿éµÄ²ÎÊýÉèÖöԻ°¿òÖеã»÷¡°Help¡±°´Å¥¡£

MatlabSimulink½¨Á¢Ä£ÐÍSimulinkÄ£ÐÍ·ÂÕæmdlת³Évhdl×Ô¶¯Á÷³Ì×ÛºÏ(Quartus II,LeonardoSpectrum,Synplify)ATOM Netlist²úÉúQuartus IIQuartus IIÊÖ¶¯Á÷³Ì×ÛºÏ(Quartus II,LeonardoSpectrum,Synplify)HDL·ÂÕæ(ModelSim)Éú³É±à³ÌÎļþ(.pof,.sof)ÏÂÔØÖÁÓ²¼þ

ͼ4-1 DSP BuilderÉè¼ÆÁ÷³Ì ͼ4-2 ÕýÏÒ²¨·¢ÉúÄ£¿éÔ­Àíͼ

6¡¢·ÅÖÃÕýÏÒ²éÕÒ±í£¨SinLUT£©¡£ÔÚAltera DSP Builder¿âµÄGate¿âÖÐÕÒµ½²éÕÒ±íÄ£¿é£ºLUT£¨Í¼4-10£©£¬Íϵ½Ð½¨Ä£ÐÍ´°¿Ú£¬Ãû×ÖÐ޸ijɡ°SinLUT¡±¡£Ë«»÷SinLUTÄ£¿é£¬´ò¿ª²ÎÊýÉèÖöԻ°¿ò£º¡°Block Parameters SinLUT¡±,Èçͼ4-11Ëùʾ¡£°ÑÊä³öλ¿í£¨Output[number of bits]£©¸ÄΪ8£¬²éÕÒ±íµØÖ·Ïßλ¿í£¨LUT Address Width£©ÉèΪ6¡£ÔÚ¡°MATLAB Array¡±±à¼­¿òÖÐÊäÈë¼ÆËã²éÕÒ±íÄÚÈݵļÆËãʽ¡£ÔÚ´Ë¿ÉÒÔÖ±½ÓʹÓÃsin£¨ÕýÏÒ£©º¯Êý£¬ÔÚÕâÀïsinº¯ÊýµÄµ÷ÓøñʽΪ£º

sin([Æðʼֵ:²½½øÖµ:½áÊøÖµ]) ¡£SinLUTÊÇÒ»¸öÊäÈëµØÖ·Îª6λ¡¢Êä³öֵλ¿íΪ8µÄÕýÏÒ²éÕÒ±íÄ£¿é£¬ÇÒÊäÈëµØÖ·×ÜÏßΪÓзûºÅÊý£¬¿ÉÒÔÉèÖÃÆðʼֵΪ0¡¢½áÊøÖµÎª2¦Ð¡¢²½½øÖµÎª2?¡£¼ÆËãʽ¿Éд³É£º £¨127*sin[0:2*pi/2^6]:2*pi£©£©

26ÆäÖÐpi¼´Îª³£Êý¦Ð¡£ÉÏʽµÄÊýÖµ±ä»¯·¶Î§ÊÇ-127 - +127 £¬×ÜÖµÊÇ256£¬Ç¡ºÃÊÇ8λ¶þ½øÖÆÊý×î´óÖµ¡£µ«Ó¦×¢Ò⣬Èç¹û¸Ä±äµØÖ·Ïß¿í£¬Èç8£¬ÒÔÉϵÄ2µÄ6´Î·½Òª¸Ä³É2µÄ8´Î·½¡£ÁíÍ⣬ÔÚ¡°Use LPM¡±´¦Ñ¡Ôñ´ò¹´£¬±íʾÔÊÐíQuartusIIÀûÓÃÄ¿±êÆ÷¼þÖеÄǶÈëʽRAM£¨ÔÚEAB¡¢ESB»òM4KÄ£¿éÖУ©À´¹¹³ÉSinLUT£¬¼´½«Éú³ÉµÄÕýÏÒ²¨Êý¾Ý·ÅÔÚǶÈëʽRAM¹¹³ÉµÄROMÖУ¬ÕâÑù¿ÉÒÔ½ÚÊ¡´óÁ¿Âß¼­×ÊÔ´¡£·ñÔòÖ»ÄÜÓÃоƬÖеÄLCsÀ´¹¹³É¡£SinLUT²ÎÊýÈçͼ4-11Ëùʾ¡£ 7¡¢·ÅÖÃDelayÄ£¿é¡£ÔÚsimulink¿â¹ÜÀíÆ÷µÄAltera DSP Builder¿âÖУ¬Ñ¡ÖÐStorage¿âϵÄDelay£¬·ÅÖõ½Ð½¨Ä£ÐÍ´°¿Ú¡£Delay£¨Í¼4-12£©ÊÇÒ»¸öÑÓʱ»·½Ú¡£ÔÚÕâÀï¿ÉÒÔ²»ÐÞ¸ÄÆäĬÈϲÎÊýÉèÖá£Æä¾ßÌåµÄĬÈϲÎÊýÉèÖüûͼ4-12¡£

Clock Phase Selection²ÎÊýÖ÷ÒªÊÇ¿ØÖƲÉÑùµÄ£¬ÉèÖÃΪ1ʱ±íʾÿһÖ÷ƵÂö³åºó£¬Êý¾Ý¶¼ÄÜͨ¹ý¡£°´ÕÕͼ4-2°ÑËûÃÇÁ¬½ÓÆðÀ´¡£°ÑÊó±êÒÆ¶¯µ½Ä£¿éµÄÊäÈëÊä³ö¶Ë¿Ú£¬Êó±êÖ¸Õë¾Í»á±ä³ÉÊ®×ÖÐΣ¬Õâʱ°´×¡Êó±ê×ó¼ü£¬Í϶¯Êó±ê¾Í¿ÉÒÔÁ¬ÏßÁË¡£

ͼ4-5 simulink¿â¹ÜÀíÆ÷ ͼ4-7 ·ÅÖÃSignalCompiler

8¡¢·ÅÖö˿ÚSinCtrl¡£ÔÚsimulink¿â¹ÜÀíÆ÷µÄAltera DSP Builder¿âÖУ¬Ñ¡ÖÐBus Manipulation¿â£¬ÕÒµ½AltBusÄ£¿é£¬·ÅÖÃÔÚн¨Ä£ÐÍ´°¿ÚÖС£ÐÞ¸ÄAltBusÄ£¿éµÄÃû×ÖΪSinCtrl¡£SinCtrlÊÇÒ»¸ö1λÊäÈë¶Ë¿Ú£¬Ë«»÷SinCtrlÄ£¿é£¬´ò¿ªÄ£¿é

20


SOPC - EDAʵÑé½²Òå - GW48-PK2 - ͼÎÄ(4).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£ºÓ¢ÃÀÎÄ»¯Óë¹ú¼Ò¸Å¿ö½Ì°¸

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º