- make
- ghdl
- gtkwave (optional)
To analyze, elaborate and run all entity testbenches use
make allTo build just one specific testbench use
make <entity>with entity being one of ram, regs, alu, imm, decoder and cpu at the moment.
Make sure to clean the project by using the command
make cleanbefore commit or push to the repository.
Ram size: 4096b => 4kb divided in 1kb Instruction, 3kb Data
Instruction set: 32i Base Instructions (currently R | I | S implemented)
Open new Branch when
- you start working on more than one file or
- you do more than minor changes to existing code
- you plan on improving already finished parts
- you want to make changes for testing
- Commit after every major change
- If creating a new file do
git commitfor only this file
- Give a brief and precice description of your changes
- Use ERROR/WARNING/BUG to indicate a problem in your commit
- Make sure to only commit important files
- Only merge, if your branch is worked out
- Don't merge branches with errors, or bugs, unless we merge all branches together
- If filestructure was changed, do a rebase instead
- Comment every entity/architecture/process/etc.
- Comments should be less than one sentence
- No comments for single statements
- avoid meaningless names for signals, ports, variables
- use 2 spaces or tabsize 2 intendation
- name every process, entity, ...
- FORMAT FILE WITH EMACS (C-c + C-b)
- reduce the use of programming control structures as far as possible
- if possible use switch case instead of if
- use if statements instead of index access to vectors (avoiding latches)