|==================================================================== |======================== Foundation Script Template File =========== | ÀÌ°ÍÀº Xilinx Foundation Simulation ¾ð¾î¿¡ ´ëÇÑ ¿¹Á¦ ÆÄÀÏ ÀÔ´Ï´Ù. | ÀÌ ¸í·É¾îµéÀº Viewlogic ȸ»çÀÇ Vsim command ¿Í ȣȯÀÌ µË´Ï´Ù. ±â | Á¸¿¡ Vsim À» »ç¿ëÇϽŠ»ç¿ëÀÚ´Â ±âÁ¸ vsim command script file¸¦ ÀÌ | ¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿¹Á¦´Â »ç¿ëÀÚ°¡ command scripts¸¦ ¾î¶»°Ô | ¸¸µé¾î »ç¿ëÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ ±âº»ÀûÀÎ ¸í·É¾î »ç¿ë ¹æ¹ýµéÀ» Á¦°ø | ÇÏ°í ÀÖ½À´Ï´Ù. Aldec simulator´Â GUI(graphical User Interface)À¸·Î | µµ »ç¿ëµÇ¸ç Scripts´ÂµðÀÚÀÎ »çÀÌÁî°¡ Å©°í º¹ÀâÇÑ °ÍÀ» simulation | Çϴµ¥ À¯¿ëÇÕ´Ï´Ù. | | "|" ¹®ÀÚ´Â ÁÖ¼®¹®À» ¸¸µé¶§ »ç¿ëµÇ¸ç ¹®Àå ½ÃÀÛ ¸Ç ¾Õ¿¡ À§Ä¡ÇÕ´Ï´Ù. | | Written by J.W. Brooks Xilinx FAE, Nashua, NH | Insight Korea FAE, Ha, Tae-Wook ¹ø¾È | email address : twha@memec-korea.com |==================================================================== |========================SETUP the Stimulus environment============== | |simulator window¿¡ ÀÖ´Â ¸ðµç ½ÅÈ£µé Áö¿ì±â | delete_signals | ¶Ç´Â dels |-------------------------- | print ¸í·É¿¡ ÀÇÇØ simulation result¸¦ °¡Áö°í ÀÖ´Â sim_out.out file | ¸¦ »èÁ¦ÇÏ´Â ¸í·ÉÀÌ "cplr" ÀÌ´Ù. | clpr sim_out.out |-------------------------- | ½Ã¹Ä·¹ÀÌ¼Ç ½ÃÀÛÁ¡À» 0 À¸·Î Àç½ÃÀÛÇϱâ | restart |-------------------------- | simulator modeÀ» functional simulation À¸·Î ¼³Á¤Çϱâ | ¿©·¯ºÐÀº ¾Æ¸¶µµ simulator¸¦ ½ÃÀÛ½Ãų ¶§ ¼±ÅÃµÈ mode¸¦ °¡Áö°í ÀÖ | À» °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ script¸¦ »ç¿ëÇÏ¿© Àç¼³Á¤ ÇÒ ¼öµµ ÀÖ´Ù. | |set_mode functional | * functional simulation * |set_mode timing | * timing simulation * |-------------------------- | Vectors ¼³Á¤Çϱâ | | 'vector' ¶Ç´Â 'v' ¸í·ÉÀº ¹ö½º,¶Ç´Â °³º°½ÅÈ£µéÀ» ±×·ìÇüÅ·Π¸¸µé | ¾î ÁØ´Ù. ÀԷ°ú Ãâ·Â½ÅÈ£µéÀ» ¹­¾î¼­ °°Àº vector ·Î ¸¸µé ¼ö´Â ¾ø | ´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇÏ¿© ÀÌ¿ëÀÚ´Â °ü½É ÀÖ´Â ½ÅÈ£µé¸¸À» ¹ö½º ÇüÅ | ·Î ¹­¾î¼­ ±× °á°ú¸¦ È®ÀÎÇØ º¸´Â µ¥ À¯¿ëÇÏ°Ô »ç¿ëÀÌ µÈ´Ù. | À¯ÀÇÇØ¾ß ÇÒ Á¡Àº ½ÅÈ£ÀÚü°¡ BUS ÇüÅÂ, ¿¹¸¦ µé¸é ADD[7:0] DATA[7:0] | µéµµ vector ½ÅÈ£·Î ¸¸µé¾î¾ß simulator window¿¡¼­ º¼ ¼ö ÀÖ´Ù. | | Controls: vector CONTROL_VEC CLOCK I_CLK_EN I_LOAD I_ADDSUM | | À§ÀÇ ¿¹´Â CLOCK, I_CLK_EN, I_LOAD, I_ADDSUM 4°³ÀÇ ½ÅÈ£¸¦ CONTROL_VEC | À̶ó´Â ±×·ì½ÅÈ£·Î ¸¸µé¾î ÁÖ´Â °ÍÀ» ÀǹÌÇÑ´Ù. | | Inputs: vector INDAT_VEC I_DAT_IN[7:0] | | À§ÀÇ ¿¹´Â I_DAT_IN[7:0] ¶ó´Â 8 bit ½ÅÈ£¸¦ INDAT_VEC À̶ó´Â vector | ½ÅÈ£·Î ¸¸µé¾î ÁÖ´Â °ÍÀ» ÀǹÌÇÑ´Ù. | | Outputs: vector ACCOUT_VEC O_ACC_OUT[7:0] | | À§ÀÇ ¿¹´Â O_ACC_OUT[7:0] ¶ó´Â 8 bit ½ÅÈ£¸¦ ACCOUNT_VEC À̶ó´Â vector | ½ÅÈ£·Î ¸¸µé¾î ÁÖ´Â °ÍÀ» ÀǹÌÇÑ´Ù. | |-------------------------- | watch ¸í·É¾î´Â waveform window ¿¡ º¸¿©Áú ½ÅÈ£µéÀ» Á¤ÀÇÇÒ ¶§ »ç¿ëµÈ´Ù. | ºÎ°¡ÀûÀ¸·Î ¸¸ÀÏ ±× ½ÅÈ£µéÀÌ ÆÄÀÏ¿¡ Ãâ·ÂµÇ±â¸¦ ¿øÇÏ¸é ¹Ýµå½Ã watch | ¹®Àå¿¡ ±× ½ÅÈ£µéÀ» Àû¾î ³Ö¾î¾ß ÇÑ´Ù. | ¾Æ·¡ÀÇ ¸í·ÉÀº O_C_OUT SimGlobalReset IN OUT 4°³ÀÇ ½ÅÈ£°¡ waveform window¿¡ | º¸¿©Áö´Â °ÍÀ» ¸»ÇÏ°í ÀÖ´Ù. | watch O_C_OUT SimGlobalReset IN OUT |-------------------------- | waveform window(viewer)¿¡ º¸¿©Áú vector signalÀÇ °ªÀ» 16Áø¼ö·Î Ç¥½ÃÇÏ´Â ¹æ¹ý. | radix hex INDAT_VEC radix hex ACCOUT_VEC | |-------------------------- | clockÀÇ step Å©±â¸¦ ¼³Á¤ÇÏ´Â ¹ý |¾Æ·¡ÀÇ ¿¹´Â clockÀÇ ÇÑ ÆÞ½ºÆøÀÌ 50ns ·Î ¼³Á¤ÇÑ´Ù. | stepsize 50.0ns | |-------------------------- | "clock" ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© clock singalÀ» Á¤ÀÇÇÑ´Ù. | ¾Æ·¡ÀÇ ¿¹´Â CLOCK À̶ó´Â singalÀ» ÇÑ ÁֱⰡ 100ns (50ns - LOW, 50ns-HIGH) | ÀÎ clockÀ¸·Î ¼³Á¤ÇÑ´Ù. ¹Ýº¹ÀûÀÎ ½ÅÈ£´Â ÀÌ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ¸¸µç´Ù. | clock CLOCK 0 1 | clock CLK1 0 0 1 1 * LOW PULSE WIDTH°¡ 2 steps, HIGH PULSE WIDTH°¡ 2 steps | clock CLK2 0 1 1 * LOW PULSE WIDTH°¡ 1 step, HIGH PULSE WIDTH°¡ 2 steps | |-------------------------- | "pattern" ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© clock singal ¶Ç´Â ÀÏÁ¤ÇÑ patternÀ» °¡Áö´Â | ½ÅÈ£¸¦ Á¤ÀÇÇÑ´Ù. | ¾Æ·¡ÀÇ ¿¹´Â din[7:0] bus singalÀ» 20ns ÁÖ±â·Î °ªÀÌ '1'¾¿ Áõ°¡ÇÏ´Â ÆÐÅÏÀ» | Á¤ÀÇÇÑ´Ù. | | vector in_d din[7:0] | pattern in_d 0 1 10 11 100 101 110 111 | stepsize 20ns | watch in_d | run | |-------------------------- | 'assign' À» »ç¿ëÇÏ¿© ÃʱⰪÀ» signal¿¡ ÇÒ´çÇÑ´Ù. | ¸¸ÀÏ »õ·Î¿î °ªÀ» ¿øÇÒ ¶§´Â assign ¸í·ÉÀ» »ç¿ëÇÏ¿© ´Ù½Ã ½ÅÈ£°ªÀ» ÁØ´Ù. | assign I_LOAD 0 | I_LOAD signal¿¡ 0(LOW) °ªÀ» ÇÒ´ç assign I_ADDSUM 1 | I_ADDSUM_1 singal¿¡ 1(HIGH) °ªÀ» ÇÒ´ç assign I_CLK_EN 0 | I_CLK_EN singal¿¡ 0(LOW) °ªÀ» ÇÒ´ç assign GSR 0 | GSR singal¿¡ 0(LOW) °ªÀ» ÇÒ´ç assign I_CE 0 | I_CE singal 0(LOW) °ªÀ» ÇÒ´ç assign I_OE 1 | I_OE singal 1(HIGH) °ªÀ» ÇÒ´ç assign B_IO 1 | B_IO singal 1(HIGH) °ªÀ» ÇÒ´ç | | ÀÔ·Â ¹ö½º¿¡ °ªÀ» ÁÖ´Â ¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖ´Ù. | | ¹æ¹ý 1: assign statementÀ» »ç¿ëÇÏ¿© Á÷Á¢ ½ÅÈ£°ªÀ» ÇÒ´çÇÏ°í ½ÅÈ£°ªÀÌ | º¯È­ÇÒ ¶§ ´Ù½Ã assign statement À» »ç¿ëÇÏ¿© ½ÅÈ£°ªÀ» ÁÖ´Â ¹æ¹ý | | assign INDAT_VEC 01\H | | ¹æ¹ý 2: wfm commandÀ» »ç¿ëÇÏ¿© ½Ã°£´ëº°·Î stimulus valuesÀ» ÁÖ´Â ¹æ¹ý | assign À¸·Î ¸¶Áö¸· ½Ã°£´ë ÀÌÈÄ¿¡ Á¤ÀÇÇÑ ½ÅÈ£°ªÀÌ ¾øÀ¸¸é simulator | ´Â ¸¶Áö¸· ½ÅÈ£°ªÀ» À¯ÁöÇÑ´Ù. | | -- Àý´ë½Ã°£(Absolute Time)Àº "@" ¹®ÀÚ·Î ½ÃÀÛÇÑ´Ù. | -- "@" ¹®ÀÚ¾øÀÌ ½ÃÀ۵Ǵ ½Ã°£Àº »ó´ë½Ã°£(Relative Time)À» ÀǹÌÇÑ´Ù. | -- "+" ÇöÀçÀÇ LINE°ú ´ÙÀ½ÀÇ LINEÀ» ¿¬°áÇÒ ¶§ »ç¿ëÇÑ´Ù. | wfm INDAT_VEC @0ns=01\H + @300ns=02\H + @600ns=05\H + @900ns=10\H | | À§ÀÇ ¹®ÀåÀº INDAT_VEC vector signal¿¡ Àý´ë½Ã°£À¸·Î hexadecimal°ªÀ» ÇÒ´ç | ÇÏ°í ÀÖ´Ù. 0ns ¿¡ 01°ªÀ» 300ns ¿¡ 02°ªÀ» 600ns ¿¡ 05°ªÀ» 900ns¿¡ 10°ªÀ» | ÇÒ´çÇÏ°í ÀÖ´Ù. | | ¹æ¹ý 3: stim.dat(ÆÄÀÏÀ̸§Àº »ç¿ëÀÚ°¡ ¸¶À½´ë·Î ÇÒ´çÇÒ ¼ö ÀÖ´Ù) ÆÄÀÏ¿¡ | ÇÒ´çµÉ ½ÅÈ£°ªÀ» ÀúÀåÇÑ ÈÄ wfm commandÀ» »ç¿ëÇÏ¿© Re direct ½ÃÅ°´Â ¹æ¹ý | |-------start stim.dat (not including this line)-------- | @0ns=01\H + | @300ns=02\H + | @600ns=05\H + | @900ns=10\H |-------end stim.dat (not including this line)-------- | | wfm INDAT_VEC < stim.dat | |%%%%%%%%% wfmÀÇ ¿©·¯°¡Áö »ç¿ë¹ý %%%%%%%%%%%%%%%%%%% | | 1. ½ÅÈ£ÀÇ °ªÀ» ÀÏÁ¤ÇÏ°Ô °¨¼Ò | | wfm ½ÅÈ£¸í ½ÃÀ۽ð£=½ÅÈ£°ª(½Ã°£ ÁÖ±â=dec by °¨¼Ò¿øÇÏ´Â °ª)*¹Ýº¹È½¼ö | | ½Ã°£Áֱ⿡ ½Ã°£¿¡ ´ÜÀ§°¡ ¾øÀ¸¸é ±âº»ÀûÀ¸·Î 100 pico secondÀÌ´Ù. | ±×·¯¹Ç·Î 1000 ´Â 100ns °¡ µÈ´Ù. | | wfm signal1 0=FF\H (1000=dec by 1)*4 | | ½ÅÈ£ signal1Àº 0ns À϶§ 'FF\H' ÀÌ°í 100ns¸¶´Ù '1'¾¿ °¨¼ÒÇÑ´Ù. | 100nsµÚ¿¡´Â 'FE\H'°¡ µÇ°í 200nsµÚ¿¡´Â 'FD\H'°¡ µÈ´Ù. | | 2. ½ÅÈ£ÀÇ °ªÀ» ÀÏÁ¤ÇÏ°Ô Áõ°¡ | | wfm ½ÅÈ£¸í ½ÃÀ۽ð£=½ÅÈ£°ª(½Ã°£ ÁÖ±â=inc by Áõ°¡¿øÇÏ´Â °ª)*¹Ýº¹È½¼ö | | wfm signal1 0=00\H (1000=dec by 1)*4 | | ½ÅÈ£ signal1Àº 0ns À϶§ '00\H' ÀÌ°í 100ns¸¶´Ù '1'¾¿ Áõ°¡ÇÑ´Ù. | 100nsµÚ¿¡´Â '01\H'°¡ µÇ°í 200nsµÚ¿¡´Â '02\H'°¡ µÈ´Ù. | | 3. ÁÖ±âÀûÀÎ ½ÅÈ£¸¦ ¸¸µé ¶§ | | wfm ½ÅÈ£¸í ½ÃÀ۽ð£=½ÅÈ£°ª(ÁÖ±â½Ã°£=°ª ÁÖ±â½Ã°£=°ª .....)*¹Ýº¹È½¼ö | | wfm signal1 @0=0 (10ns=1 10ns=0)*4 | | ½ÅÈ£ signal1Àº 0ns À϶§ '0' ÀÌ°í 10ns¸¶´Ù '1'°ú '0'À» ¹Ýº¹ÇÏ´Â ÆÄÇüÀ» | 4°³ ¸¸µå´Â °ÍÀ» º¸¿©ÁØ´Ù. | | wfm clk 0=0 ((1000=1 1000=0)*4 500=1 500=0)*3 | | ½ÅÈ£ clk´Â 0nsÀ϶§ '0'ÀÌ°í 100ns¸¶´Ù '1'°ú '0'À» ¹Ýº¹ÇÏ´Â ÆÄÇüÀ» 4°³¿Í | 50nsÀ϶§ '1'°ú ±× ÈÄ 50ns¶§ '0'ÀÌ µÇ´Â ÆÄÇü 3°³¸¦ ¸¸µë. | | 4. ´Ù¾çÇÑ »ç¿ë¹æ¹ý. | | wfm sig1 0=FF\H (1000=rl by 1)*10 --- rotate left | wfm sig1 0=FF\H (1000=rr by 1)*10 --- rotate right | wfm sig1 0=FF\H (1000=sl by 1)*10 --- shift left | wfm sig1 0=FF\H (1000=sr by 1)*10 --- shift right | |***** ÇÊ¿ä½Ã on-line help¸¦ ÂüÁ¶ÇÏ¿© ÀÛ¾÷ÇÒ °Í. ***** | |------- 'break' command --------------------------------- | Please consult users guide or on-line help. This command is | a powerful way to monitor you simulation and insert stimulus | if a certain event occurs: | Examples: | | break - deletes (turns off) all breakpoints | break clock - deletes all breakpoints on clock signal | | break clock ? - stops simulation after any clock transition | | break enable Z-X - stops simulation when the enable signal changes | from High_Z to Unknown_X | | break clock 0-1 do (assign < DATAfile.dat; print) - stops simulation | when the clock transitions from low to High and then assigns signal | DATA a new value from file.dat. Next, it prints the new state of all | signals. | |***** ÇÊ¿ä½Ã on-line help¸¦ ÂüÁ¶ÇÏ¿© ÀÛ¾÷ÇÒ °Í. ***** | |=================Start of the simulation stimulus===================== | ·ÎÁ÷ÀÇ »óÅ´ À̸§(HIGH, LOW µîµî)À̳ª ¼ýÀÚ(0,1)·Î¼­ Ç¥ÇöÀÌ µÈ´Ù. | ¹ö½º·ÎÁ÷»óŵµ À̸§ ¶Ç´Â ¼ýÀÚÀÇ Çà·Ä·Î¼­ Ç¥ÇöµÈ´Ù. | °¡Àå ¿ÞÂÊ¿¡ ÀÖ´Â À̸§À̳ª ¼ýÀÚ´Â ÃÖ»óÀÇ ¹ö½º½ÅÈ£°ªÀÌ µÈ´Ù. | ¸¸¾à ¹ö½º½ÅÈ£ÀÇ Å©±âº¸´Ù ÀÛÀº ½ÅÈ£°ªÀ» ÁÖ¸é, ÀÚµ¿ÀûÀ¸·Î »óÀ§ºñÆ® | °ªÀº 0 ¶Ç´Â LOW ½ÅÈ£·Î ä¿öÁø´Ù. ÇÑ°³ÀÇ ½ÅÈ£´Â ÇÑ°³ÀÇ ½ÅÈ£¼±À» | °¡Áö´Â ¹ö½º·Î Ãë±ÞµÈ´Ù. | | ¹ö½º´Â Binary´Â (\B)·Î OctalÀº (\O)·Î DecimalÀº (\D)·Î HexadecimalÀº | (\H)·Î Ç¥ÇöÀÌ µÈ´Ù. ¸¸ÀÏ ¾Æ¹«·± Ç¥ÇöÀÌ µÇÁö ¾ÊÀ¸¸é binary·Î °£ÁÖÇÑ´Ù. | ÀÌ·¯ÇÑ formatÀº ±×µéÀÇ ¼ýÀÚ¹è¼ö¸¦ »ç¿ëÇÏ¿© Ç¥ÇöµÉ¼öµµ ÀÖ´Ù. | e.g. \2, \8, \16, \20. | | Examples of bus values: | | 11100010101 binary bus representation | -- ÀÌÁø ¹ö½ºÇ¥Çö | 100010101\B binary bus representation | -- ÀÌÁø ¹ö½ºÇ¥Çö | 1234\8 octal bus representation | -- ÆÈÁø ¹ö½ºÇ¥Çö | 777\O octal bus representation | -- ÆÈÁø ¹ö½ºÇ¥Çö | eff3ab\16 hexadecimal bus representation | -- 16Áø ¹ö½ºÇ¥Çö | 10010101\H hexadecimal bus representation | -- 16Áø ¹ö½ºÇ¥Çö | 99999\D decimal bus representation | -- 10Áø ¹ö½ºÇ¥Çö | abcdefg\20 base 20 numbering system | -- 20Áø ¹ö½ºÇ¥Çö |------------------------------------------------------------------ | 'print' file_name.dat ´Â 'watch' ¸í·É¿¡ ÀÇÇØ ³ª¿­µÈ ½ÅÈ£µéÀÇ | °á°ú¸¦ file_name.dat ¶ó´Â ÆÄÀÏ¿¡ Ãâ·ÂÇÑ´Ù. | 'print' ´Â ±× ¸í·ÉÀÌ »ç¿ëµÈ ±× ½Ã°£±îÁöÀÇ ÀڷḦ ÀúÀåÇÑ´Ù. | ¿©·¯½Ã°£ÀÇ °ªÀ» ÀúÀåÇÏ·Á¸é print commandÀ» ¿©·¯¹ø »ç¿ëÇ϶ó. | print sim_out.out |------------------------------------------------------------------ | | 'high' ¶Ç´Â 'h' ±×¸®°í 'low' ¶Ç´Â 'l' Àº °³º°ÀûÀÎ ½ÅÈ£ÀÇ high | ¶Ç´Â lowÀ» ¼³Á¤ÇÒ ¶§ »ç¿ëÇÑ´Ù. 'x' ´Â ½ÅÈ£¿¡ unknownÀ» ¼³Á¤ÇÒ | ¶§ »ç¿ëÇÑ´Ù. | | Timing Simulation½Ã ½ÇÁ¦ º¸µåÀÇ µðÀÚÀÎÀÌ Ãʱ⵿ÀÛÀ» ÇÒ¶§¿¡ ¸ðµç | Register°¡ ResetÀÌ µÇ¾îÁö´Â È¿°ú¸¦ º¸±â À§ÇÏ¿© simulator¿¡ Àü¿ë | reset signalÀ» »ðÀÔÇÏ¿©¾ß ÇÑ´Ù. | | * SimGlobalReset -- FPGA¿ë Global Reset Signal | * PRLD -- CPLD (XC9500 only)¿ë Global Reset Signal | | À§ÀÇ µÎ ½ÅÈ£Àº high À϶§ ¸ðµç Flip-FlopÀ» ÃʱâÈ­ ½ÃŲ´Ù. | ´Ù¸¥ ¸»·Î´Â active-high µ¿ÀÛÀ» ÇÑ´Ù. h SimGlobalReset h PRLD cycle 3 print sim_out.out l SimGlobalReset l PRLD cycle print sim_out.out |-------------------------- | 'cycle n' ¸í·ÉÀº 'n' clock cycles ¸¸Å­ simulation ÇÑ´Ù. ¿©±â¼­ | n Àº ¼ýÀÚ¸¦ Á¤ÀÇÇÑ´Ù. ¿©·¯°³ÀÇ clockÀ» ¼±¾ðÇßÀ¸¸é ±× Áß¿¡¼­ | °¡Àå ÁֱⰡ ±ä clockÀ» ÇÑ ÁÖ±â·Î °è»êÇÏ¿© 1 cycleÀ» ½ÇÇà. | | 'sim xx.xxns' ´Â Á¤ÀÇÇÑ ½Ã°£¸¸Å­ simulation ÇÑ´Ù. | | 'run n' ´Â 'n' clock cycles ¸¸Å­ simulation ÇÑ´Ù. sim 100.0ns | 'h' ¶Ç´Â 'high' ´Â ½ÅÈ£¿¡ logical '1' À» ÇÒ´çÇÑ´Ù. h I_CLK_EN print sim_out.out sim 300.0ns |assign INDAT_VEC 02\H sim 100ns h I_CE print sim_out.out cycle | 'l' ¶Ç´Â 'low' ´Â ½ÅÈ£¿¡ logical '0' À» ÇÒ´çÇÑ´Ù. l I_CE l B_IO cycle print sim_out.out l I_OE |------------------------------------------------------------------ | ¾ç¹æÇâ I/O ¶Ç´Â busses ¸¦ simulationÇÒ ¶§ 'release' ¸í·ÉÀÌ Äè À¯¿ëÇÏ´Ù. | 'r' or 'release'¸í·ÉÀº ½ÅÈ£¸¦ stimulator control ¿¡¼­ Ç®¾î ÁØ´Ù. | ¾ç¹æÇâ ¹ö½º ¶Ç´Â ½ÅÈ£°¡ chip¿¡ ÀÇÇØ ±¸µ¿µÇ¾îÁú ¶§, ¾ç¹æÇâ ¹ö½º ¶Ç´Â | ½ÅÈ£ÀÇ °ªÀ» º¼ ¶§ »ç¿ëµÇ°ï ÇÑ´Ù. ¿©·¯ºÐÀº ¹ö½º³ª ÇÉ(pin)¿¡ | 'h', 'l', ¶Ç´Â 'assign' ¸í·ÉÀ» »ç¿ëÇÏ¿© stimulator ¸¦ ´Ù½Ã ³ÖÀ» ¼ö ÀÖ´Ù. | ¿©±â¼­ stimulator ´Â ½ÅÈ£¿¡ ¾î¶² ÆÐÅÏ ¶Ç´Â °ªÀ» ÇÒ´çÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. | | "B_IO" ¶ó´Â ¾ç¹æÇâ ½ÅÈ£¸¦ »ý°¢Çغ¸ÀÚ. Ãâ·Â ½ÅÈ£ÀÎ "DOUT" ÀÌ Tri-state | bufferÀÇ ÀԷ¿¡ °É¸®°í ±× Ãâ·ÂÀÌ B_IO ½ÅÈ£¿¡ °É¸®¸ç tri-state bufferÀÇ | enable singalÀ» t_en À̶ó ÇÏÀÚ. B_IO ½ÅÈ£°¡ input bufferÀÇ ÀԷ¿¡ °É¸®°í | ±× input bufferÀÇ Ãâ·ÂÀ» Dual_I¶ó Çϸé ÀÌ·¸¶§ ¾î¶²½ÄÀ¸·Î command file | À» ¸¸µé °ÍÀΰ¡. ¿©±â¼­ tri-state buffer ÀÇ enable signal´Â active-low·Î | µ¿ÀÛÇÑ´Ù°í °¡Á¤ÇÑ´Ù. | | ¸ÕÀú ÀÔ·ÂÀ» »ý°¢ÇØ º¸ÀÚ | assign B_IO 1 | assign t_en 1 | sim 100 ns | À§ÀÇ command °¡ ¼öÇàµÇ¸é Dual_I ´Â logical '1' ÀÌ µÉ °ÍÀÌ´Ù. | ÀÌ »óÅ¿¡¼­ t_en ÀÌ '0' °¡ µÇ°í DOUT ½ÅÈ£°¡ '0'ÀÌ µÇ¸é ¾î¶² Çö»óÀÌ ³ªÅ¸³¯±î? | ¾Æ¸¶µµ B_IO´Â '1'À» À¯ÁöÇÏ°í ÀÖÀ» °ÍÀÌ´Ù. À̶§ release ¸í·ÉÀ» »ç¿ëÇÑ´Ù. | release B_IO | assign t_en 0 | assign DOUT 0 | sim 100 ns | | * Á» ´õ ÀÚ¼¼ÇÑ ³»¿ëÀÌ ÇÊ¿äÇÏ¸é ¾Æ·¡ ȨÆäÀÌÁö ÁÖ¼Ò·Î ¿À¼¼¿ä. * | * http://www.xilinx.co.kr * | * À§ÀÇ ÁÖ¼Ò¿¡ Á¢¼ÓÇÏ¿© ±â¼úÀÚ·á¶õ¿¡¼­ ÇÊ¿äÇÑ ÀڷḦ ¹Þ¾Æ°¡¼¼¿ä. * | r B_IO cycle h I_OE cycle 2 print sim_out.out h B_IO cycle 2 print sim_out.out |================================================================== | Other commands to know of.... |------------------------------------------------------------------ | 'chk_design' ¸í·ÉÀº ±âÁ¸¿¡ ÀúÀåÇÑ simulation °á°ú¿Í ÇöÀç simulation | °á°ú°¡ °°ÀºÁö¸¦ ¾Ë±âÀ§ÇØ ºñ±³ÇÒ ¶§ »ç¿ëÇÑ´Ù. | Please see the online help of further details on this command. | chk_design design_name | chk_design c:\Perv_design\design_name | chkds design_name | Along the same lines is the 'chk_results' command. This command | compaires the results of the output files form the simulator for | two designs. Please see the on-line help for more details. | chk_results reference_file1 reference_file2 compsn_results_file | chk_results reference_file1 reference_file2 | |------------------------------------------------------------------ | 'delete_signals' ¶Ç´Â 'dels' ¸í·ÉÀº waveform viewer ¿¡¼­ ½ÅÈ£¸¦ | Áö¿î´Ù. | |------------------------------------------------------------------ | 'execute' ¶Ç´Â 'ex' ¸í·ÉÀº ´Ù¸¥ command file À» ¼öÇàÇÑ´Ù. | ÀÌ°ÍÀº »ç¿ëÀÚ°¡ ÁßøµÈ command fileÀ» ½±°Ô »ç¿ëÇÏ°Ô ÇÑ´Ù. | The syntax is: | ex file_name.cmd | |------------------------------------------------------------------ | 'network' ¶Ç´Â 'net' ¸í·ÉÀº simulator ·Î ´Ù¸¥ netlist À» ºÒ·¯ ¿Â´Ù. | net fifo_des |------------------------------------------------------------------ | ¿©·¯ºÐÀº simulation functionÀ» ¹Ýº¹Çϱâ À§ÇÏ¿© MacroÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. | | Example: |(assign A