THE GOULD MILLENIUM MICROSYSTEM EMULATOR
   
BACKGROUND ON EMULATORS
 
Imagine yourself in hardware development, you are only working with a single unknown, your prototype hardware. When dealing with software debug, the only unknown is the new software. Now imagine yourself dealing with a system design, where you will be dealing with trying to run the new software on your new hardware. At this point, you will be working with two unknowns. No matter how hard you test your new hardware and software on their own , there will still be some bugs which will only show up when running them both together. This is where the Gould Millenium Microsystem Emulator comes into play. The emulator will allow you to emulate the hardware of the microprocessor, thus allowing you to make changes to the hardware as you see fit before you actually physically create the hardware itself. What you want to do is load your program memory into emulation memory. Execute it with your prototype hardware using in-circuit emulation. Then make changes in either hardware or software when bugs are found. When you debugged your program as far as possible in emulation memory, move it to your prototype hardware. This can be accomplished by burning an EPROM using the EPROM burner. This will save you a lot of time and money when doing your own design.

The key to hardware development is that you must only introduce resources into your prototype hardware only when you need them. The emulator substitutes its resources until yours become available in your prototype hardware. This way you are only working with one or two unknowns at a time, thus allowing you to concentrate on the problem at hand. The Gould Millennium Microsystems Emulator will:

- Replace the microprocessor during the hardware development.

- Provide a program memory to hold your development software routines.

- Provide a terminal interface, which allows you to put your development software into memory, and to look into your system.

- provide a command structure that allows you to observe and control the operation in your prototype hardware.

The Gould Millennium Microsystems Emulator consists of a main unit which contains the common control circuits, the real time trace module, emulation memory, the microprocessor power supply, and the microprocessor in-circuit emulation module. The emulator is connected to the microprocessor via the CPU (central processing unit) using a cable.




 
THE EMULATOR COMMANDS
ASM The assemble command is used to change instructions and data in the emulator�s memory. The assembly command uses assembly language mnemonics rather than machine language. The syntax for this command is as following:

ASM (address)
After entering the command the emulator will prompt you for input data. The input data you enter an instruction mnemonic or an operation which the system will recognize.

DISM The Dism command simply translates the hexadecimal memory data into an assembled mnemonic line form.

DUMP The dump command displays the memory in hexadecimal and ASCII format .
Example: DUMP ( lower address- upper address)

MOVE This command allows you to move a block of memory from one location to another. This command will allow you transfer data from either anywhere from the microprocessor�s on board memory, or the emulation memory. To designate the microprocessor, we use the letter u as in user, to designate the emulator we use the letter s as in system. There are up to four different combinations, they are as follows:
UU- Transfer within the microprocessor�s memory.
SS- Transfer within the emulator�s own memory.
SU- Transfer from the emulator to the microprocessor�s memory.
When using the move command, you also specify the lower and upper addresses and than the address you want to move to. Example: MOVE US 1200 1500 0000
In this example, the data (1200 to 1500) from the microprocessor will be transferred to the address 0000 of the emulator.

EMUL
This command is used to select one of two emulation modes.
In System mode, the clock is provided by the emulator; the program memory is emulator
memory.
In User mode, the clock is provided by the microprocessor; the program can be in the microprocessor or the emulator or even both.
System mode is usually used to debug software, while the user mode is mostly used for hardware debug and system integration. The syntax used is EMUL (Sys or User)

GO
The go command is used to start execution. Conditions which may be selected are:
- Continuous run
- Trace program execution, displaying each instruction executed, or jump instructions, only.
For example if you input the syntax: GO 0 until 1000 TRACE ALL. In this example starts execution at 0 and ends at 1000 while listing all the instructions for that portion of the program.




 
THE LAB AND THE QUIZ
Step 1 Turn on the emulator, the microprocessor and the monitor. Go into User mode by using the EMUL command.

Step 2 Transfer all the addresses from the ROM of the microprocessor using the move command. Note: the addresses in the ROM are listed on the ROM chip on the actual microprocessor itself.

Step 3 To make sure you transferred the data correctly we will try executing a program. So execute the address 05F9 using the go command. If done properly you should hear the rocket blast off sequence being played by the microprocessor.

Step 4 Using the dump command we want to then display the memory from 0804 to 080D.

Step 5 Using the ASM command, we then want to modify the program memory in the following addresses:
Address Instruction
0804 MVI A,0
0805
0806 STA 3000
0807
0808
0809 NOP
080A INR A
080B JMP 0806
080C
080D
Simply enter in the above instructions next to its corresponding address.

Step 6 Now try executing the above memory using the GO command.


QUIZ

1) What does the Dump command do?
a) displays the memory in hexadecimal and ASCII format.
b) displays the memory in hexadecimal format only
c) allow you to change memory values
d) executes the program

2) What is the difference between system and user mode.
a) in User mode the clock is provided by the microprocessor, while in System mode the clock is provided by the emulator.
b) in System mode the clock is provided by the microprocessor, while in User mode the clock is provided by the emulator.
c) they are both the same

3) What does the following syntax tell the emulator to do?
GO 0000 1000 trace all
a) execute from address 0000 to 1000
b) alter the memory from address 0 to 1000 while displaying each instruction executed
c) start execution at 0 and ends at 1000 while listing the instruction from that portion of the program.

4) What command would you use to modify program memory?
a) ASM
b) DSM
c) cd
d) EMUL

5) When would you most likely need to use an emulator to design microprocessor?
a) when doing the new hardware development
b) when doing the new software development
c) when doing the new software development for the new hardware
d) none of the above

6) What is the Emul command used for?
a) to emulate
b) to change modes
c) to start execution
d) to alter memory

7) Through what part of the microprocessor is the emulator connected to?
a) via the ROM
b) via the RAM
c) via the CPU
d) via the power supply


8) True or False The terminal interface allows you to control the operation of your prototype hardware.

9) True or False The command structure allows you to put your development software into memory.

10) True or False The program memory is used to hold the software development routines.




 
Favourite links
 

emulators.com
A great site for info regarding Emulators


MicroSystems Development


EMULATORS UNLIMITED

Email me at:
[email protected]

This page has been visited times.