1. ALU.V
2. ALUControl.v
3. Controller.v
4. DataMemory.v
5. RegFile.v
©è TestBench
©é°íÂû
©ç Vivado¸¦ ÀÌ¿ëÇÏ¿© MIPSÀÇ Multicycle ¸ðµ¨ÀÌ ¾î¶»°Ô ¼öÇàµÇ´ÂÁö ºÐ¼®
Vivado¸¦ ÀÌ¿ëÇÏ¿© MIPSÀÇ Multicycle ¸ðµ¨ÀÌ ¼öÇàµÇ´Â °úÁ¤À» ºÐ¼®Çϸé, MIPS ¾ÆÅ°ÅØóÀÇ ±âº»ÀûÀΠƯ¼º°ú ¼³°è ¿ø¸®¸¦ ÀÌÇØÇÒ ¼ö ÀÖ´Ù. MIPS ´ÙÁß »çÀÌŬ ¼³°è´Â ÇÑ ¸í·É¾îÀÇ ½ÇÇàÀ» ¿©·¯ ´Ü°è·Î ³ª´©¾î °¢ ´Ü°è¸¶´Ù ÇÊ¿äÇÑ ÀÛ¾÷À» ¼øÂ÷ÀûÀ¸·Î ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù. ÀÌ´Â °¢ »çÀÌŬ¿¡¼ ´Ù¾çÇÑ ±â´ÉÀ» ´ã´çÇÏ´Â Çϵå¿þ¾î ÀÚ¿øÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ¿©, ¸í·É¾îÀÇ ½ÇÇàÀ» ÃÖÀûÈÇÑ´Ù. MIPS ÇÁ·Î¼¼¼´Â ±âº»ÀûÀ¸·Î Fetch, Decode, Execute, Memory Access, Write BackÀÇ ´Ù¼¸ °¡Áö ÁÖ¿ä ´Ü°è·Î ³ª´¶´Ù. °¢°¢ÀÇ ´Ü°è¿¡¼´Â ƯÁ¤ÇÑ ÀÛ¾÷À» ¼öÇàÇϸç, À̸¦ À§ÇØ ÇÊ¿äÇÑ ½ÅÈ£¿Í Á¦¾î ·ÎÁ÷ÀÌ È°¼ºÈµÈ´Ù. Vivado ȯ°æ¿¡¼´Â ÀÌ·¯ÇÑ »çÀÌŬÀ» ±¸ÇöÇϱâ À§ÇØ Verilog·Î ¼³°èµÈ ¸ðµâµéÀ» ¿¬°áÇÏ°í, °¢ ´Ü°è¿¡ ÇÊ¿äÇÑ Á¦¾î ½ÅÈ£¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â »óÅ ±â°è¸¦ ±¸¼ºÇÑ´Ù. ¸ÕÀú, ¸í·É¾î¸¦ ¸Þ¸ð¸®¿¡¼ °¡Á®¿À´Â Fetch ´Ü°è¿¡¼´Â ÇÁ·Î±×·¥ Ä«¿îÅÍ(PC)°¡ ÇöÀç ½ÇÇà ÁßÀÎ ¸í·É¾îÀÇ ÁÖ¼Ò¸¦ °¡¸®Å°°í ÀÌ ÁÖ¼Ò¸¦ ±â¹ÝÀ¸·Î ¸í·É¾î ¸Þ¸ð¸®¿¡¼ ÇØ´ç ¸í·É¾î¸¦ Àоî¿Â´Ù. ÀÐÀº ¸í·É¾î´Â ·¹Áö½ºÅÍ ÆÄÀÏ·Î Àü´ÞµÇ¸ç, ÀÌ °úÁ¤¿¡¼ ÇÁ·Î±×·¥ Ä«¿îÅÍ´Â ´ÙÀ½ ¸í·É¾î¸¦ °¡¸®Å°±â À§ÇØ 4¸¦ ´õÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÑ´Ù. ÀÌ °úÁ¤¿¡¼ PC ÁÖ¼Ò¿Í ¸Þ¸ð¸®ÀÇ ¿¬°á, ±×¸®°í Àоî¿Â ¸í·É¾îÀÇ ³»ºÎ ½ÅÈ£µéÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö º¸´Â °ÍÀÌ Áß¿äÇÏ´Ù. ÀÌ¾î¼ Decode ´Ü°è¿¡¼´Â °¡Á®¿Â ¸í·É¾î¸¦ Çؼ®ÇÏ°í ÇÊ¿äÇÑ ·¹Áö½ºÅÍÀÇ ÁÖ¼Ò¸¦ Àоî¿Â´Ù. À̶§, ·¹Áö½ºÅÍ ÆÄÀÏ¿¡¼ Àоî¿Â °ªµéÀº ÀÌÈÄ Execute ´Ü°è¿¡¼ »ç¿ëµÉ ¼ö ÀÖµµ·Ï Çؼ®µÈ´Ù. ¶ÇÇÑ, ¸í·É¾î¸¦ Çؼ®ÇÏ´Â °úÁ¤¿¡¼ Á¦¾î À¯´ÖÀÌ ÀÛµ¿ÇÏ¿© ¾î¶² ÀÛ¾÷À» ¼öÇàÇؾß
...
|