Lab 14 – Tutorial
Two Function Calculator with Special Operations with Xilinx ISE 9.2 and Digilent Spartan 3E Starter Kit Board
At this time, the student should be ableto deal with sequence detectors, counters, seven segment displays and frequency dividers (among others). The two function calculator with special operations is a good laboratory to implement a systemcomposed of several of these components exploring new implementation alternatives using VHDL and the Digilent Spartan 3E Starter Kit Board resources.
In this tutorial, the designerwill have to implement a two-function calculator with special operations. The calculator should accept two parallel-input numbers, A and B, (2 bits each) and multiplies them if the Operation inputequals ‘1’ or adds them if ‘0’. Then, the system has to count up cyclically from 0 to 99 in steps equals to the result of the operation synchronously with the system clock, displaying the result on atwo-digit display. The counter stops if the serial sequence “11101” is entered by a serial input rx, and restarts if a second sequence “11101” is detected.
1. Design a unit able to addand multiply two 2-bits numbers.
2. Design a serial receiver that identifies a specific sequence of bits.
3. Design a cyclic upward counter with a variable step size determined by adigital input.
4. Design a synchronous 7-segment display controller that shows the output of the upward counter.
1. The unit that will add and multiply two 2-bit numbersshould have a selector input named Operation that is type std_logic. When this input equals ‘0’ the unit adds the two 2-bit inputs, otherwise the system multiplies them. The following is a possible code toimplement such a unit:
EXAMPLE ADDER MULTIPLIER CODE
-- This entity behaves as an adder/multipler with 2 inputs circuit.
-- Every input has a lentgh of 2 bits
entity add_mult is...