In this Lab6 we will write a simple program and store it in a PROM (Programmable Read Only Memory).
(Modified March7, 2002.)
(0) Write a simple test program.
(1) Load LogicWorks4.
(3) Testing PROM.
(4) Testing of the program in prom1.
Submit entire "Lab6.cct" file (in (4)) via eMail to
Dr. Hasegawa by 10.00pm on Saturday, Mar 16th.
(0a) Load NotePad from Programs/Accessories.
(0b) Write a simple (3 instructions) program such as:
F000 F000 A800
(=1111000000000000 1111000000000000 1010100000000000
=nop nop jmp 800)
(0c) Save this program as "test1.hex".
(2) Click (select) PLA/PROM/RAM Construction Wizard from the 2nd button from right on
the top Tool Bar.
(2a) Select PROM option and press NEXT.
(2b) Enter 12 in the Number of Address Box and 16 in Bits per Word Box.
(2c) Select Read Data from Raw Hex File option in Data Entry Method and click NEXT .
(2d) Click Select Raw Hex File button.
(2e) Choose Raw Hex File "test1.hex" (you have created in (0)) from the File Map.
(2f) Name this device (PROM) as prom1 and place (select) it in your own
Lib such as test1.clf.
(2g) Click Finish button.
(3a) Select prom1 (created in (2)) from Lib box.
(3b) Select Hex Keyboard (w/o s) from Lib box and make 3 copies.
(3c) Connect 12 output lines of 3 Hex Keybord to 12 input lines of prom1.
(3d) Select Hex Display from Lib box and make 4 copies.
(3e) Connect 16 output lines of prom1 to 16 input lines of 4 copies of Hex Display.
(3f) Key-in "000" (address 000(Hex)) to prom1
(3g) Obseve that the contents (the first line of the program in prom1 is
displayed in 4 copies of Hex Display: F000.
(4a) Make a new copy of your entire design Lab3.
(4b) Check the hardwiring of NOP and JMP instructions (output lines 15 and 10 of
the 4x16 Decoder attached to IR[12..15]). If they are not done, finish wiring of JMP
using T7 clock and Fetch line(no wiring for NOP).
(4c) Replace RAM by prom1(and simplify the circuits
around MBR - PROM is read only !).
(4d) Pre-load PC with "0000 0000 0000" (000(Hex)).
(4e) Now Run 3 Fetch cycles.
(4f) Observe that PC register now contains 800
(that is, jmp 800 is executed after two nop instructions).