processor emulator MIPS emulator koyote coyotte asm architecture processeur cours circuit cours exercices cours logiciel cours microprocesseur cours tp cpu ucode loading error exercice cours linux MIPS microprocesseur intel microprocesseur motorola mips fcc mips32 processeur mips intel risc risc instruction set design processor microprocessor intel microprocessor motorola program download screenshot hardware control unit datapath data path processor architecture RISC koyote project koyoteproject student university computer science CS informatique hardware design CPU central processing unit conception processeur

Table of contents

1. General Questions

Q: What is The KOYOTE Project?
A: The KOYOTE Project is an application capable of simulating a RISC processor's behavior and showing each step of execution of an instruction among a reduced subset. The components represented are : the memory, the datapath and its control unit. The processor we have chosen is a simplified MIPS-R2000-like processor.
Q: Why this name?
A: Simply because we liked it. That's all!
Q: Why is The KOYOTE Project taking so long and when will it be done?
A: The KOYOTE Project is currently in production. The latest release is available on the download page. We are currently working on the next version, i.e. tracking bugs, improving the code, adding new features, writing up-to-date documentation, etc.
Be patient!
Q: Why Free Software?
A: Simply because we like Free Software and want our software to be Free, so that everyone can use it and, why not, improve it!

2. Testing The KOYOTE Project

Q: How should I report bugs?
A: You can contact us and give a short error description in your mail and explain what you did before the error occurred.
Q: I can't compile The KOYOTE Project. Could you help me?
A: Sure. First, are you sure you downloaded the latest version? To check it out you can either check the archive name or the PACKAGE_VERSION and PACKAGE_RELEASE variables in the top-level Makefile. If you don't have the latest version, please proceed to the download page!
Q: I downloaded the latest version but the compilation fails. Could you help me?
A: Sure. Are you sure you have the latest GTK+ libraries installed? If not, you can get them here. If you have the latest GTK+ libraries installed, just contact us and tell us which compiler you are using and we'll try to see what we can do. Please send the detailed compilation error output along with your message.

3. The KOYOTE Project Team

Q: Who is working on The KOYOTE Project?
A: The KOYOTE Project is developed by Nicolas MOREAU and Brice DONVAL. Check out the contact page for more information.
Q: How can I contact you?
A: Please go to the contact page for more information.

4. Details

Q: How so I get under the hood of The KOYOTE Project?
A: Developer Manual will be available soon... Be patient!
Q: Does The KOYOTE Project support multiple languages?
A: No, English is the only supported language right now.
Q: Why did you choose the MIPS assembly language?
A: Because it's simple and many universities around the world use it as a reference.
Q: I wrote a MIPS assembly program and it does not work with The KOYOTE Project. Can you explain me why?
A: First, make sure your program doesn't use unsupported instructions. The Parser program used to translate your program into MIPS machine code does not understand all of the MIPS R2000 instruction set but only a part of it. Supported instructions are:

Then, make sure you don't have any symbolic jump labels in your program. Symbolic jump labels are not supported yet. You must use the hexadecimal instruction address. Symbolic jump labels support may be added in a future release.

Finally, assembler directives are ignored. If your program depends on such statements, it won't work. Assembler directives support may be added in a future release.

5. The future

Q: What new features are you working on?
A: We are working on several new features and improvements:
  • Displaying the current instruction name
  • Displaying labels with the wire names and Constant component values
  • Redirecting the parser errors to a GTK+ window instead of the standard error output.
  • Improving the drawing routines
  • Detailed component status on mouse click
These improvements will come soon...
Q: What other features may appear in the future?
A: We may add the following features in the future:
  • Improved parser with symbolic jump label and assembler directives support
  • Dynamic datapath loading at run-time
  • Other datapath implementations
These features may require important program changes, so don't expect them to come soon...
Q: Will there be a Windows distribution of The KOYOTE Project?
A: Maybe. We are concentrating our limited resources on getting the new features to work. When that is out the door, we may be able to work on a windows build. Don't take it for granted though.