All designs passed the simple simulations with the exception of:
Team A | Attempts multiplication when in unsupported modes. |
Team F | Provides no Unsupported signal |
Team O | Doesn't recover from dealing with -ve numbers |
Mode = 0 | Mode = 1 | Mode = 2 | Mode = 3 | |
Team A | 8 bit | 16 bit | fails | fails |
Team B | 7 bit | 15 bit | 31 bit | Unsupported |
Team C | 9 bit | 17 bit | 25 bit | fails |
Team D | 7 bit | 15 bit | 31 bit | Unsupported |
Team E | 7 bit (unsigned only) | 15 bit (unsigned only) | 31 bit (unsigned only) | Unsupported |
Team F | 8 bit | fails | fails | n bit (signed only) |
Team G | 8 bit | 16 bit | 32 bit | Unsupported |
Team H | 8 bit (signed only) | 16 bit (signed only) | 32 bit (signed only) | Unsupported |
Team I | 8 bit | 16 bit | Unsupported | Unsupported |
Team L | 8 bit | 16 bit | 32 bit | n bit (signed only) |
Team M | 8 bit | 16 bit | 32 bit | n bit |
Team N | 8 bit | 16 bit | 32 bit | n bit |
Team O | 8 bit (unsigned only) | Unsupported | Unsupported | Unsupported |
The most common fault is in the timing of multiplications, with three teams implementing multiplications with one too few cycles (e.g. 7 bit multiplication where 8 bit multiplication was required) and one team with one too many cycles. These problems and problems with signed/unsigned numbers should be relatively easy to cope with during the testing exercise next semester.
The most serious problems are with state machines that continue to operate
in some way after a multiplication is complete. This is the cause of the
failed modes for Team F and Team O.