0 0 0 60 1f | xxxxxxxx 0 0 0 60 1f | xxxxxxxx 1 1 0 60 1f | xxxxxxxx -- shows early completion 0 0 1 00 7f | xxxxxxxx -- and not removing the product 0 0 1 00 7f | xxxxxxxx -- immediately. 0 0 1 00 7f | xxxxxxxx 0 0 0 00 7f | xxxxxxxx 0 0 0 70 0f | 1 2 3 0 60 1f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 00 7f | xxxxxxxx 0 0 0 70 0f | 6 78 3245 0 60 1f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 70 0f | 179058 78 3245 0 64 1b | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 70 0f | 179058 61000000 3486107a 0 60 1f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 70 0f | 3a000000 12345678 2457afeb 0 60 1f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 70 0f | bfef6828 69000000 19000000 0 60 1f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 0 70 0f | 0a410000 61000000 3486107a 0 60 1f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 0 70 0f | 13e6cc3e 12345678 2457afeb 0 60 1f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 0 70 0f | 02959874 80000000 80000000 0 60 1f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 0 70 0f | c0000000 80000000 80000000 0 60 1f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 2 00 7f | xxxxxxxx 0 0 1 00 7f | xxxxxxxx 0 0 0 70 0f | 40000000 . ¬MpyTestVecs.tioga Copyright Σ 1987 by Xerox Corporation. All rights reserved. by Ross May 8, 1987 4:30:33 pm PDT Last Edited by: Ross May 14, 1987 3:14:09 pm PDT Vectors to check out the entire multiplier. Try FirstLevelOnly to get the overall picture of what tests are performed. The control assignments are listed below for reference: EUControl[0:2] = 110 => Load Mpy EUControl[0:2] = 111 => UnLoad Mpy EUControl[3:6] = x0xx => Load 32 bit number EUControl[3:6] = x1xx => Load floating pt. number Note: the difference between signed and unsigned multipliers when doingUpper is controlled by whether a single cycle of doingLower follows the 8 cycles (of CLK2 not CLK). It makes no sense to consider an unsigned multiply when only doingLower. See the example below for the timing of this operation state[0:1] = 00 => done state[0:1] = 01 => doingLower state[0:1] = 10 => doingUpper state[0:1] = 11 => Invalid For testing purposes, the D1 and FloatD2 inputs are tied together as with D2 and FloatD1. Vectors which have been commented out have all passed but not deleted from the file. d1 d2 state euctl neuctl | R  Initialization: Basics with early completion and waiting after done: Floating Point load: The interesting thing about these next two is trying out whether the loading of the floating point works. If it does, the numbers should swap and it should take more cycles to do the booth encoding. More Serious Examples: Check out the multiply that returns the upper 32 bits: Demonstration of signed vs. unsigned mpy upper: signed: Now for the signed (notice the cycle with state 1 after the cycles with state 2): Κ=˜™Icode™Jšœ˜.J˜J˜J˜J™—™J˜J˜J˜J˜J˜J˜—J˜™J™ΙJ˜J˜!J˜J˜J˜J˜J˜!J˜J˜J˜J˜J˜—J˜J˜™J™J˜(J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜Jšœ(˜(J˜J˜J˜J˜J˜J˜J˜J˜Jšœ˜—J˜J™™6J˜J˜(J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜(J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜Jšœ(˜(J˜J˜J˜J˜J˜J˜J˜J˜Jšœ˜—J˜J™™/J™J™Jšœ(˜(J˜J˜J˜J˜J˜J˜J˜J˜Jšœ˜J˜J˜J™QJ˜Jšœ(˜(J˜J˜J˜J˜J˜J˜J˜J˜J˜Jšœ˜—J˜J˜J˜J˜—…—