ForthForge - Building a Forth MicroComputer in a Xilinx FPGA
Skip Navigation Links. Skip Navigation LinksForthForge>Introduction to Software Utilities

The following utilty pages provide the software dis-assembly, assembly,  re-ordering and re-assembly, functions needed to manipulate the firmware of your project to include new instructions, or remove unused instructions, when minimising the space used by an application, and automating the start of the application, on power-up.


1.  "DUMPCOE => Source Text (Dis-assembler)"

As a starter point for your application a file myfile.coe may be downloaded from a Forth application running on a demo board. A command to output this download (DUMPCOE) is provided as part of the Forth.

The downloaded file, may then be submitted to the dis_assembler which outputs a text file containing the Forth source code. This text file which may be viewed in 'Notepad' or similar plain text editor, may now be edited to add new commands or remove unwanted commands. Typically the first stage of development is to add the new commands your application required. When the new commands are tested and the application Forth is finalised you may then want to remove unused Forth words from the final application, in order to minimise resources used. The command DUMPCOE would then be re-run and unused commands removed from the source text.


2.  Re-order Source Text (ASCII code order)

After editing the source text it is convenient to place commands within the source file in ASCII order. This utility simply reshuffles the commands within the file into ASCII code order.


3.  Source Text Assembler (Text, .COE outputs)

The edited source text must be re-assembled into a myfile.coe in order to initialise a new version of the Forth program memory in the micro. The resuling myfile.coe may be used by COREgen. This assembler utility produces an assembly text file for information, and input to a further stage (see ForthForge below) as well as the resulting .coe file. Note,this assembly text file includes codes used by the ForthForge utility to process the file.


4.  ForthForge

This is a further Assember utility which determines the Native Words Required by the application and Application Words required. The additional information, enables the reduction of the ouput myfile.coe code to the minimal sub-set required to run the application. Provision is also made to set the Top Level Word to cause the application to auto-start. Based on the Required words reports from ForthForge the hardware provided may be minimised by the removal of unused instruction logic from the vhdl source code.