User interface tutorial
The program has two parts: writing program tab and executing program tab.
Writing Programs tab:
To write a program there is an instruction list to select instruction. Below the instruction list there are some fields to set or edit the instruction parameter. Instruction description also viewed there. The instructions could be sorted alphabetically by pressing the sort button.
The program is written by selecting instructions and adding them to the program list. In this list it is possible to edit instruction parameter, select instruction or instructions and move them up or down or delete instructions. Beside the program list there are the program code written in hexadecimal values. The code can be edited directly and then transformed to instruction list rather than editing the program list. It is also possible to copy another program code and paste it there.
Comments can be added as separate lines. The show program lines checkbox can show or hide program lines. The program can be saved as a text file contains the hexadecimal code. The program comments are saved in a separate file with the same name and with additional "_cmt" extension.
Finally for this tab, the program can be downloaded to the instruction memory to a specific address. The connection had to be established.
Executing Programs tab:
In the beginning, the program is uploaded from the instruction memory. The uploaded program is listed on the left side of the window.
The upload address and the number of bytes to upload have to be determined before uploading. Comments can be added from the current comment file to the uploaded program by checking the show-comments checkbox.
Below the uploaded program, there are execution control buttons. Set-break-point button copies the selected instruction address to BP register. Single-step button executes only one instruction. Run-all button executes all instruction. The execution stops when it reaches the stop instruction, BP register equals PCRead register or the user presses stop button. Reset PCRead button set the PCRead register to zero which means to reset the execution.
On the right side of this window, processor register contents are displayed. Memory addresses six address registers are displayed and assigned with a "set" buttons that enables the user to set a value to the register manually. The chip frequency is calculated according to FR register value. The user can set the processor frequency and the number of cycles used by the MeasureFrequency instruction. Update-Registers button reload all register value from the processor. Reset-All-Registers button sends a reset signals to the processor and reload the register values.
Memory windows:
The memory window has a memory table reflects the memory contents. Each row in the table represents a vector (i.e. test vector, result vector, etc.). The first column in the table is the address column shows the memory address or the vector number. The middle columns represent the memory contents one byte for each cell. The last column is the vector column which is formed be combining the other columns together. Column headers represent how many bits should be taken from each byte to form the test vector. For example, the test vector header in the video is 23 which is the summation of (8+7+3+5) in the other columns. The user should take care of these numbers of bits when writing programs to send those test vectors.
Finally, using the file menu, the memory contents can be saved or read from files.
Test-data memory window:
This window is used to download or upload test-data and expected results to the processor test-data memory. The user can specify a memory location and number of bytes to upload. The user also can move directly to a specific test vector or a specific memory location. The current write and read addresses of the test data memory is shown in the status bar and updated after each execution. This window is also used to show the expected result.
Test-result memory window
This window is used to upload test-result and the expected result stored in the test-data memory so the memory contents can be compared.
Compare instruction can compare between test-data and test-result memory and store the comparison result in test-data memory. The memory is sorted by the third column which brings up five errors rows. This indicates that vectors 234, 67, 189, 146 and 220 (i.e. EA, 43, BD, 92 and DC) resulted in errors.
Importing test vectors to memory window:
Usually, test-vectors and expected-results are presented in a binary format in a text file. These vectors are needed to be converted to bytes to be downloaded to the processor memory. Import-test-vectors window can read those files and extract test vectors and expected results.