Overview
Learn and document how to interface our system with the wishbone bus. This will allow our design to communicate with the CPU!
https://cdn.opencores.org/downloads/wbspec_b4.pdf
Background
System Requirements
What are the requirements for your system? What functionality must it have? Are there any design space/size requirements? Use the table down below to efficiently document these:
Requirement Designator | Requirement Explanation |
---|---|
Interface
What is the interface of your design? Are there any inputs/outputs?
Implementation
Timeline
Include a timeline of tasks and/or milestones for your project (with dates). This should be decided at the beginning, and reviewed throughout the semester to evaluate whether the project is on schedule or not. This can take the form of either a Gantt chart or a Confluence task list (click the "+" button, and select "Task List")
Files
Give a brief overview of the file structure involved in your design, including where they are stored (ex. link to GitHub repo), as well as maybe a one-sentence description for each
Theory of Design
How did you come up with your design? What is the overall structure or design methodologies involved? This is where one might include block diagrams, FSM diagrams, or anything along those lines relevant to the design, as well as (brief) explanations for any non-obvious algorithms
Testing
Testing Strategy
What was your overall testing strategy? What types of testing did you perform?
Running Tests
Include step-by-step instructions on how to run the tests on your design (from a clean clone, if stored on GitHub)
Appendix
Resources
Include links to any resources that you used for your design, including other projects, algorithms, etc. The idea is that others who are interested in your project can explore these as well, and that they might provide helpful background knowledge
https://caravel-harness.readthedocs.io/en/latest/index.html
Lessons Learned
To be filled out as you go! What are some of the lessons you learned while completing your project? They can be technical or soft skills (such as time management, collaboration, etc.)