Software tools for microcode generation of the Am29300 series
Software tools for microcode generation of the Am29300 series The major functional modules of the MetaStep Plus system are described by Abdullah Warda...
Software tools for microcode generation of the Am29300 series The major functional modules of the MetaStep Plus system are described by Abdullah Wardak and R l Rhodes together with the relevant commands and their usage for each of the system's processors
The major functional modules of the MetaStep Plus system are described and the relevant commands and their usage for each of the MetaStep processors are explained. An application example is given and all the source files and commands required for the Am29325 floating-point processor are presented. The generated microcode has been used in developing the software for an Am29300 microprogrammable computer board, which has been applied to the speeding up of highly repetitive portions of the programs in three-dimensional image generation. MetaStep Plus generation
generatedmicrocode
three-dimensional image
Inherently, microinstructions are binary and often a single-bit controls a single-enable-line; therefore, it would be a tedious and difficult process to write them manually from the related data sheets. To ease this task, some software tools are required to generate the microcodes. As more supporting facilities are provided, the design process improves significantly and the possibility of making mistakes is reduced. In general, it is far easier to support a fixed architecture/ fixed instruction set device compared with a microprogrammable one. This is due to the fact that for the latter group, the architecture is not fixed and it is not possible to predefine a compiler or assembler for the system. A separate compiler or assembler has to be developed for each specific processor architecture. In this paper, the major functional modules of the MetaStep Plus system are described and the required source files for the Am29325 floating-point processor, a member of the Am29300 family, are presented. The
required commands and their usage for each of the functional modules are outlined.
METASTEP PLUS SYSTEM OVERVIEW The microcode development process comprises three phases: the definition phase, where the instruction format and the language structure of the target machine are defined; the programming phase, where the microcode is written; and the verification phase, where the microcode is tested and corrected 1. Step Engineering offers a set of powerful development tools for the design and development of microprogram based systems, especially for the Am29300 family series1-4. The task of developing microcode is greatly simplified by the MetaStep Plus, Step Engineering's retargetable, relocatable, and macro driven microassembler. The major functional groups of the MetaStep Plus system are as follows: • • • • •
Plus Definition (MD) Processor, Plus Assembler (MA) Processor, Plus Linker (ML) Processor, Plus Format (MF) Processor, Plus User Defined Symbolic (UDS) Pro-
These software tools solve the problem of predefining a compiler or assembler for the system, by allowing the hardware configuration to be described in a file, called definition file. Then, based on this file, the microcode is generated for any bit-slice architecture 3, s, 7
MetaStep Plus Definition Processor Department of ElectricalEngineering,Universityof Bradford, Bradford, West Yorkshire,BD7 1DP, UK Paperreceived:19 March 1991. Revised:29 May 1991
The MetaStep Plus Definition (MD) Processor accepts the definition source file (.mdl) as input, which contains the
MD Processor source statements, describing the target system architecture and development environment. The M D Processor translates the description of the definition file into an internal form, and generates an internal definition file (.def). It generates a macro file (.mac), if macros are declared in the definition file Similarly, when the -le option is used, the file (.lis) i~ generated. The output files (.def, .mac and .lis) have the same names and are either named MetaStep by default. or user determined by giving the option, -d to lhe MD Processor. A standard MD Processor definition source file has the following format: < Instruction Definition.> end lnstruction; <::Macro and other Definitions> endDefinition statement; The general form of invocation of the MD Processor is as follows: mmd ~optionsl