Titlepage | Introduction | Overview | ROM | Datapath | Layout | Testing | Conclusion | References.
Instruction Word Organization: conditional statements iiiuc aaaaaaa assertion statement 111ss sssssss c=1 TEST c=0 FALSE start: 0 CJMP TEST end-loop; 0100 1001 1101 49d 1 ASSERT 000000000; 1110 0000 0000 e00 2 ASSERT 000000001; 1110 0000 0001 e01 3 ASSERT 000000010; 1110 0000 0010 e02 4 JSRP quick-jump-loop; 0011 0001 0100 314 5 ASSERT 000000100; 1110 0000 0100 e04 6 CJMP FALSE jump-loop; 0100 0001 0110 416 7 ASSERT 000001000; 1110 0000 1000 e08 8 CJSRP TEST jump-loop; 0010 1001 0110 296 9 ASSERT 000010000; 1110 0001 0000 e10 10 CPUSH TEST; 0110 1000 0000 680 11 ASSERT 000100000; 1110 0010 0000 e20 12 CPOP TEST; 1000 1000 0000 880 13 CPUSH TEST; 0110 1000 0000 680 14 ASSERT 001000000; 1110 0100 0000 e40 15 CRTN TEST; 1010 1000 0000 a80 16 PUSH; 0111 0000 0000 700 17 JMP test-cjp; 0101 0001 1001 519 back-to-main-loop: 10010 18 ASSERT 010000000; 1110 1000 0000 e80 19 JMP reset; 0101 0001 1011 51b quick-jump-loop: 10100 20 ASSERT 100000000; 1111 0000 0000 f00 21 RTN; 1011 0000 0000 b00 jump-loop: 10110 22 ASSERT 000000011; 1110 0000 0011 e03 23 CRTN TEST; 1010 1000 0000 a80 24 JMP jump-loop; 0101 0001 0110 516 test-cjp: 11001 25 ASSERT 000001100; 1110 0000 1100 e0c 26 JPP back-to-main-loop; 1101 0001 0010 d12 reset: 11011 27 ASSERT 000110000; 1110 0011 0000 e30 28 LDZ; 0000 0000 0000 000 end-loop: 11101 29 PUSH; 0111 0000 0000 700 30 PUSH; 0111 0000 0000 700 31 PUSH; 0111 0000 0000 700 32 PUSH; 0111 0000 0000 700 33 PUSH; 0111 0000 0000 700 34 PUSH; 0111 0000 0000 700 35 PUSH; 0111 0000 0000 700 36 PUSH; 0111 0000 0000 700 37 POP; 1001 0000 0000 900 38 POP; 1001 0000 0000 900 39 POP; 1001 0000 0000 900 40 POP; 1001 0000 0000 900 41 POP; 1001 0000 0000 900 42 POP; 1001 0000 0000 900 43 POP; 1001 0000 0000 900 44 POP; 1001 0000 0000 900 45 JMP end-loop; 0101 0001 1101 51d
XXXX JUMP ZERO 0001 CONTINUE 0002 JUMP SUBROUTINE 2048 2048 CONTINUE 2049 RETURN FROM SUBROUTINE 0005 XXXXXXXXXXXXXXXXXXXXXXExecuting the above program using Lsim produced the following plot. The plot shows that the worst delay through the chip occurs when it is executing a sequential instruction at location 2047. In this situation, the incrementer carry is propagating through all the carries. This worst delay approximately 24ns. Taking into account that the actual delay of the pop in the program may actually be longer because the output of a pop is normally only available at the low part of the clock cycle, we expect to be able to run the chip at 30Mhz.
Note that this simulation does not account for the delay of the external program ROM and the delay of the inputs and outputs through the pads of the chip. The chip can be expected to run at approximately 20Mhz taking these factors into account.
Comments to benleong@mit.edu
or mike_sy@mit.edu or sclee@mit.edu
Last updated 11/21/96.
Titlepage | Introduction | Overview | ROM | Datapath | Layout | Testing | Conclusion | References.