This repository is a part of Intel lab's activity at Moscow Institute of Physics and Technology (MIPT).
The aim of the project is to teach the students the computer architecture through development of a microprocessor implementing the MIPS instruction set in both functional and performance simulators.
We expect MIPT students to be the main contributors to the projects. If you are not a MIPT student, but you want to make a contribution, please contact mentors by e-mail first. Please keep in mind that students get points for each closed issue, therefore you may 'steal' some points from students. However, you are free to open new issues. Mentors will assign them to project members and they can fix bugs you've reported or add features you've requested.
- We use only English language in our conversations to let our external users understand what was changed, what is broken etc.
- Each issue is categorized with # of points solver will get. Points do correlate with task difficulty and importance.
- Before performing any change, take a look at Issues tab and get sure that the problem is not being solved by anyone else.
- Similarly, you must assign yourself to the Issue you're solving to prevent conflict.
- If you are trying to solve a new issue (not listed), please open a tracker, so mentor will be able to provide you points.
- Students are allowed to perform a task in collaboration, points will be divided half-by-half. You may use this option to solve really tough issues.
- The guideline is to have no more than two tasks assigned simultaneously. Exceptions are possible with mentors' approves.
- Please follow our code style guidelines.
- Please follow our C++ features guidelines.
- Students are granted with write access to repository, so they can assign themselves on issues and change wiki.
- Students cannot push the changes directly to the
master
branch of repository, but they may create new branches. - Keep commit messages and pull request description clean.
- We use continuous integration by Travis and AppVeyour. If your changes did not pass all tests, your code would be reviewed in low priority.
- Continious integration may be bypassed by adding [skip ci] to commit message. It is allowed only for documentation changes.
- New code should be covered with existing unit tests or new unit tests, excepting special cases.