This project is distributed in two forms: release and devel (development).
The release distribution contains only the documentation. However, all the VHDL sources are embedded into the documentation, and are thus easily accessible.
This is useful for those who want just to test pAVR or want to find what is pAVR, without trying to modify it to make it better (for the latter ones there's the devel pack).
The release distribution comes in two flavors: CHM or HTML. My favorite is CHM, because it's much more compact. I kept HTML for portability issues.
The devel distribution contains
- pAVR documentation
- VHDL sources for pAVR and associated VHDL tests
- test programs
- some utilities (preprocessor, some useful scripts)
In short, the devel structure contains anything that is needed for one to develop this project further. As a side note, this project was developed under Windows XP. Yet, most software tools used here have Linux counterparts (Doxygen, VHDL simulator, C compiler, TCL interpreter, text editor). Exceptions are Atmel's AVR assembler & simulator, which are Windows only, as far as I know.
The documentation is generated via Doxygen. For those who don't know how about this wonderful tool, please check www.doxygen.org .
The directory structure of the devel pAVR project is:
pAVR
doc
chm
html
src
synthesis
test
gentest
sieve
stefan
waves
tools
backup
build_vhdl_hdr
build_vhdl_test
common
In the "doc" directory is the documentation of course. It's available in source format. Run Doxygen to compile it and obtain the HTML and CHM in the HTML and CHM folders. Some scripts are also provided in the doc folder, that can be used to compile the documentation, clean it up, or run (view) it.
The "src" folder contains the VHDL sources, VHDL tests, some Modelsim macro files and the license file.
The "test" folder contains the test programs (ASM and ANSI C) with which pAVR was tested so far.
The "tools" folder contains some utilities. The most important utility is a text preprocessor. In the VHDL sources are placed XML-like tags, inserted as VHDL comments. For example, some tags isolate non-synthesizable code that can easily removed when synthesizing pAVR. The preprocessor parses the sources and interprets the tags. The preprocessor is also used to insert a common header into all VHDL source files.
The "tools" folder also contains some scripts that build devel or release packages.
The source files are written based on a set of common-sense conventions (the process splitting strategy, signals naming, etc). Thus, pAVR is quite an easily maintainable design.
Extensive testing was carried out.
pAVR will soon be synthesized into an FPGA.