-
Notifications
You must be signed in to change notification settings - Fork 8
Home
The manual is in forwardcom.pdf
To make changes to the manual or any other file, create a branch as explained here.
The manual is written in LaTeX. It is split into multiple LaTeX files which can be edited individually as explained here. You can edit each .tex file separately and convert it to pdf to see your changes. The forwardcom.pdf file has to be rebuilt when a changed .tex file has been committed to the master branch. This is done by converting the main file - forwardcom.tex - to pdf. The forwardcom.tex file includes all the other .tex files. Please check that the table of contents, bookmarks, cross references, hyperlinks, etc. work correctly before committing a new version of forwardcom.pdf.
All instructions are described in two places: the forwardcom.pdf manual and the instruction list file. These files must be kept synchronized at all times in the master branch.
All instruction codes are listed in fwc_instruction_list.tex, divided into categories. Please follow the instructions for how to assign opcodes to instructions in the section "Assignment of opcodes" in the chapter "Instruction formats" in the manual.
The name or mnemonic for a new instruction should be long enough to make sense. Avoid short abbreviations. If an instruction is not self-explaining then add a description in the file fwc_description_of_instructions.tex.
The instruction_list.csv file is a comma-separated file which can be read by assemblers, disassemblers, emulators, and debuggers. This list must be updated whenever an instruction is added or modified.
The instruction_list.csv file is not modified manually, but generated from the spreadsheet file named instruction_list_unsorted.ods. The latter file is sorted by instruction category, format and OP1 code, while the instruction_list.csv file is sorted alphabetically. The procedure for editing it is as follows:
- Edit instruction_list_unsorted.ods using Libre Office or any other suitable spreadsheet program. Keep the instructions ordered by category, format and opcode so that it is easy to see which opcodes are vacant and to give similar instructions code values (OP1) near each other.
- Save instruction_list_unsorted.ods and make a copy named instruction_list.ods.
- Sort instruction_list.ods alphabetically and convert it to a comma-separated file instruction_list.csv with all text fields quoted.
- Commit the modified files instruction_list_unsorted.ods, instruction_list.csv, fwc_instruction_list.tex and fwc_description_of_instructions.tex simultaneously to keep them synchronized. Do not commit the intermediate file instruction_list.ods.
Compilers, assemblers, disassemblers, linkers, loaders, library managers, emulators and debuggers for ForwardCom must use the ELF file format described in the object file format repository. Please see the wiki there for instructions.
Make a new repository for an FPGA or ASIC implementation. See the Opencores community for instructions and help.