Introductory Digital Systems


In this assignment you are required to design circuits that would implement a simple Arithmetic Logic Unit (ALU) using the DSX Experimenter Module CPLD and Seven Segment Displays. You are also expected to write an assembly code for the PIC Microcontroller to program the LCD.

Hardware Requirements

  • D Series DSX Experimenter Module
  • USB Cable
  • Hook-up wire
  • Side cutters for cutting and striping the wire 

Software Requirements

  • DSX Kirra
  • Xilinx ISE 9.2i
  • Microchip MPLAB IDE v8.00 

Hardware Block Diagram

The following peripherals will be used on the DSX Experimenter Module

  • Seven Segment Displays
  • S10 Reset Switch
  • Rotary switch
  • Two dip switches and one push button
  • LCD Display 

A hardware block diagram for this assignment is shown below:



Four functions are to be implemented, which are “addition”, “subtraction”, “logical AND”, and “logical OR”. The circuit should have two 4-bit BCD inputs and produce a 4-bit BCD output “Sum” and an output carry “Cout”, as shown in Fig. 2. One of the inputs is external (to be entered by the user), while the other one is the current “Sum”. The circuit also has a “Reset” input, which is used to reset the “Sum” to zero.

The inputs and outputs

The top-level block of your design will have the following inputs and outputs

  • Clock (input – from PIC 18F2550)
  • Reset (input – S10)
  • a1, a2, a3, a4 (inputs to represent the external 4-bit number – rotary switch)
  • p1, p2 (inputs to represent the Opcode – two dip switches)
  • pe (input to enable the Opcode, i.e., to implement the operation – push button)
  • d1, d2, d3, d4, d5 (outputs to switch between the five 7-segment displays – to be connected to H12)
  • a, b, c, d, e, f, g (7-segment display outputs – to be connected to H13)
  • Cout (output – to be connected to a LED) 

The 7-segment Displays

Five 7-segments are to be used to display the current BCD input “A”, operation, the current BCD output “Sum”, the equal sign “=” and the new “Sum”. The initial value of “Sum” is „0‟, hence if the power has just turned on, then „0‟ is to be displayed on one of the 7-segment displays. Note that if the “Sum” is greater than “1001”, then it should be corrected, as we are dealing with BCD numbers. The value of the other input is to be entered externally (using the rotary switch of the DSX kit), and hence, it would take any value between “0000” to “1001”. Input values between “1010” to “1111” should be converted to “0000”. The value of the external input is to be displayed on another 7-segment display. The input “A” and the “Sum” are to be displayed in decimal (hence, you will need to implement a BCD to 7-segment decoder). “Cout” is to have a value of „1‟ if the outcome of the current operation is addition and produces an output carry. Also, if the operation is subtraction and “A” is greater than “Sum”, then “Sum” should be cleared to “0000” and “Cout” set to „1‟. Apart from those two cases, the value of “Cout” should be „0‟. As mentioned above, a LED is to show the value of “Cout”.

View Complete Question


Other Students are using our Assignment Help Melbourne,
Are you the only one left Behind?

Order Now

Rated 4.5/5 based on 25042 reviews
Copyright © 2010-2017 www.goassignmenthelp.com.au. All rights reserved.