Analyze the Simpleton Basic App: Difference between revisions
Jump to navigation
Jump to search
New page: Download the simpleton app: <nowiki> svn co http://svn.chaddington.com/simpleton</nowiki> Follow the vector adder example for how to ... |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Download the simpleton | == Overview == | ||
Simpleton is a minimalist Convey personality that has two custom instructions. The first increments a value in an AEG register. The second uses a single memory controller to increment a value in coprocessor memory. | |||
Advantages of using Simpleton as the start of your project include: | |||
* It's minimalist | |||
* It's well commented | |||
* The top level module, personality.v, replaces cae_pers.v with awesomeness: | |||
** The port declaration is only 50 lines and no longer scary (cae_pers.v is >150 lines) | |||
** It wraps the memory controller interfaces in to unpacked arrays so you can easily use generate loops | |||
** It hides unnecessary instruction decode and clock logic | |||
** It gets rid of the CSR interface (because, honestly, you weren't going to use it anyway) | |||
** Adds a console bell at the end of the run and runcp scripts | |||
== Download == | |||
All of Chad's Convey projects are located on the RCL SVN. To checkout all projects, or just a tar.gz of simpleton: | |||
<nowiki> | <nowiki> | ||
svn co | svn co svn://rcl-1.ece.iastate.edu/projects/convey/ | ||
svn co svn://rcl-1.ece.iastate.edu/projects/convey/cae_simpleton/simpleton.tar.gz</nowiki> | |||
Open and analyze the following files, learn the directory structure, etc: | Open and analyze the following files, learn the directory structure, etc: | ||
* /README | |||
* /cae_simpleton/src/run | |||
* /cae_simpleton/src/runcp | |||
* /cae_simpleton/src/UserApp.c | |||
* /cae_simpleton/src/cp.s | |||
* /cae_simpleton/sim/CaeIsa.cpp | |||
* /cae_simpleton/verilog/personality.v | |||
* /cae_simpleton/coregen/README | |||
* /cae_simpleton/phys | |||
* /cae_simpleton/makefile.include | |||
* /personalities/customdb | |||
* /personalities/65100.1.1.0/ |
Latest revision as of 01:22, 20 February 2013
Overview
Simpleton is a minimalist Convey personality that has two custom instructions. The first increments a value in an AEG register. The second uses a single memory controller to increment a value in coprocessor memory.
Advantages of using Simpleton as the start of your project include:
- It's minimalist
- It's well commented
- The top level module, personality.v, replaces cae_pers.v with awesomeness:
- The port declaration is only 50 lines and no longer scary (cae_pers.v is >150 lines)
- It wraps the memory controller interfaces in to unpacked arrays so you can easily use generate loops
- It hides unnecessary instruction decode and clock logic
- It gets rid of the CSR interface (because, honestly, you weren't going to use it anyway)
- Adds a console bell at the end of the run and runcp scripts
Download
All of Chad's Convey projects are located on the RCL SVN. To checkout all projects, or just a tar.gz of simpleton:
svn co svn://rcl-1.ece.iastate.edu/projects/convey/ svn co svn://rcl-1.ece.iastate.edu/projects/convey/cae_simpleton/simpleton.tar.gz
Open and analyze the following files, learn the directory structure, etc:
- /README
- /cae_simpleton/src/run
- /cae_simpleton/src/runcp
- /cae_simpleton/src/UserApp.c
- /cae_simpleton/src/cp.s
- /cae_simpleton/sim/CaeIsa.cpp
- /cae_simpleton/verilog/personality.v
- /cae_simpleton/coregen/README
- /cae_simpleton/phys
- /cae_simpleton/makefile.include
- /personalities/customdb
- /personalities/65100.1.1.0/