Sie sind auf Seite 1von 21

Projects for CLD(E,F)

2014

Computer Logic Design (Spring 2014)

Submission Details/Deadlines:
1- High level Design of Circuit- 28th April, 2014
2- Complete implementation of the circuit in Logic
Works.- 7th May, 2014

Project 1:
Traffic lights
Problem
If the three traffic lights (leaving yellow) are written as R, G and G- where
G- is the green light to turn right, then the traffic signals operate as
follows.

The traffic lights operate with the following signals


R
x0
G
x1
G1x
You have to design a circuit controlling all the lights. Each state should
stay there for 4 clock cycles.

Input
Clock Pulse CP

Output
Light connections A0, A1, B0, B1, C0, C1, D0, D1

Project 2:
Dice counter
Problem
A company is producing dice. To check the balancing of the dice they have made a
mechanical equipment to throw the dice and read the answer. But they now need a
circuit to count the actual number of times each side appeared.
They already have a display and the dice counter. The LCD has 4 inputs and displays the
number placed at its input. The dice counter has five outputs, four to tell which number
has appeared and one to tell that a new sample is available.
You have to design a circuit that gets input from the counter, counts the frequency of all
the numbers and produce the output on six LCDs i.e. you will have 24 output lines.

Input
Clock Pulse
Sample Available
Sample Data

CP
SA
D0D3

Output
Count of 1-6

A0A3, B0B3, C0C3, D0D3, E0E3, F0F3

Project 3:
Queue of 2-bit words
Problem
Implement a queue of 2 bit numbers. The capacity should be 4 words. It should have an
add input with 2 inputs for actual data. A delete input with 2 outputs for data. And two
outputs as overflow and underflow indicators.

Input
Clock Pulse
Add
Add Data
Delete

CP
AA
A0, A1
DA

Output
Delete Data
Overflow
Underflow

D0, D1
OF
UF

Project 4:
Stack of 2-bit numbers
Problem
Implement a stack of 2 bit numbers. The capacity should be 4 words. It should have a
push input with 2 inputs for actual data and a pop input with 2 outputs for data. And two
outputs as overflow and underflow indicators.

Input
Clock Pulse
Add
Push Data
Delete

CP
AA
A0, A1
DA

Output
Pop Data
Overflow
Underflow

D0, D1
OF
UF

Project 5:
Linked List of bits
Problem
Design a linked list of 1 bit numbers with capacity for 8 bits. It should have an insert
input with 3-bit input for position and a bit for actual data. It should also have a delete
input with 3-bit position input and a bit for output. Every position should know weather
there is data available or not. This should be set on insert and cleared on delete.

Input
Clock Pulse
Insert
Delete
Position
Insert Data

CP
IA
DA
P0P2
ID

Output
Delete Data
DD
Nothing to Delete
DF
Data Already present IF

(delete failure)
(insert failure)

Project 6:
Robot Controller
Problem
A computer needs to control a robot, where the computer sends the following
commands:
Do nothing
00
Turn right
01
Turn left
10
Move forward 11
You have to design a circuit that accepts these commands and sends the robot the
following signals
Do nothing
000
Turn right
001
010 011
Turn left
101
110 111
Move forward 100
100
So they respectively take 1,3,3 and 2 clock cycles. Until the current command is
completed, dont take a look at the next input from the computer.

Input
Clock Pulse
Input Available
Input Command

CP
IA
C0, C1

Output
Output Available
Output Signal

OA
S0S2

Project 7:
Alarm clock
Problem
You have to design a digital alarm clock. The circuit you will design will keep the time in
24 hour format and will give its output to 4 seven- segment displays, whose input is 7
bits controlling the seven segments. So you will have 28 output lines for the display. You
will also have an alarm output, which is connected to an actual alarm. The alarm will ring
as long as this signal is 1. You will set this output at 1200 hrs everyday and it should
remain set for 5 minutes. Assume that the clock pulse you are using gives pulses exactly
one minute apart.

Input
Clock Pulse

CP

Output
Display output
Alarm Output

A0A6, B0B6, C0C6, D0D6


AP

Project 8:
Serial I/O Controller
Problem
A serial I/O Controller will interrupt the CPU when 8 bits are available in its buffer. It
will provide the CPU with data when the CPU acknowledges the interrupt. It will discard
its buffer, if the CPU does negative acknowledgment. To read data from the serial device
it check input available flag, then reads data and sends data read signal. If more data is
available, input available will be set in the next cycle also.

Input
Clock Pulse
Input Available
Input Data
INT acknowledge
INT NOT ACK

CP
IA
ID
INTA
INTNA

Output
Data Read Signal
Output Data
Output Available

R
OD
OA

Project 9:
Memory Controller
Problem
A computer has 2 ROMs each containing 8 words of 1-bits data. There are two devices
each of which needs access to the ROMs. Each ROM has three address lines; an enable
input while produces output of a single bit, setting the output available flag, in total four
inputs and 2 outputs.
Each device has five outputs; one to enable the memory, one to select which ROM to
use, three to select the address in the ROM, while there are two inputs, data available
and the actual data.
You are to insert a circuit between the devices that allows both devices to use both
ROMs. The devices should be able to simultaneously place requests and get data if
they are going for different ROMs while one should wait when going before one of
them.
Assume one request arrives in one clock cycle, and no request can arrive from the
same device until the first is satisfied. However the memory can take many clock
cycles before it sets output available and gives the data.
In the following A and B are the prefix for devices, X and Y for ROMs.

Input
Clock Pulse
Memory enable
ROM Select
Address lines
Output Available
Output Data

CP
AE, BE
AS, BS
AA0AA2, BA0BA2
XOA, YOA
XOD, YOD

Output
Output Available
Output Data
Memory enable
Address lines

AOA, BOA
AOD, BOD
XE, YE
XA0XA2, YA0YA2

Project 10:
Mouse Controller
Problem
The actual mouse device never sends screen coordinates; it sends relative motion. You
have to design a circuit that is given relative motion in both directions from mouse
device and is to continuously output x and y coordinates. A RESET input can be used to
set both to zero.
The relative motion is coded as follows:
Fast motion
110
Slow motion
101
No motion
100
Slow negative motion
011
Fast negative motion
010

Input
Clock Pulse
Reset X and Y
Up/down input
Left/right input

CP
RESET
RY0RY2
RX0RX2

Output
X position
Y position

X0X7
Y0Y7

+2 pixels
+1 pixel
no change
-1 pixel
-2 pixels

Project 11:
System timer
Problem
Computers contain a timer containing programmable channels. Programmable channels
mean timers of different durations. You are to design a circuit with four programmable
channels, each disabled initially. An enable input, two channel select inputs and 4 lines
for duration input can set any channel to a given duration from 1-15. Zero means to
disable a channel. Four output lines correspond to the channels and are set high as soon
as the corresponding timer expires.

Input
Clock Pulse
Input Available
Channel Select
Duration

CP
IA
CS0, CS1
D0D3

Output
Timer Expire

TA, TB, TC, TD

Project 12:
Ping reporter
Problem
Design a circuit that communicates with a device using two lines, PING and
RESPONSE. Your circuit counts the clock cycles between each PING and the
following RESPONSE by the device. It makes available the 4-bit max number of
cycles at its output.
Assume that no stale RESPONSE replies may occur. Every PING will be followed by a
RESPONSE and the max time before RESPONSE cannot exceed 16.

Input
Clock Pulse
Response

CP
R

Output
Ping
Maximum time

P
M0M3

Project 13:
Speedometer
Problem
You have to design a circuit, which will be given the 4-bit speed of a vehicle at its input
every clock cycle. It has 3 outputs, max, avg & min, each 4-bit long giving the
respective value.

Input
Clock Pulse
Input Speed

CP
I0I3

Output
Max speed
Avg speed
Min speed

Note:

X0X3
A0A3
N0N3

You can ignore decimal portion in average.Project

14:

Multiplier
Problem
Design a circuit that can multiply two 8-bit numbers. You will need to use adder
circuits in the design of the multiplier.

Input
Clock Pulse
First Number
Second Number

CP
A0A7
B0B7

Output
Answer

C0C14

Project 15:
Calculator
Problem
You have to design a processor for a calculator, which can do the following:
Display A
Display B
Input A
Input B
A=A+B
B=A+B
A=B - A
B=A

000
001
010
011
100
101
110
111

Your circuit has three inputs to read the command and a command available flag. While
it has four more inputs to read A or B and has 5 outputs, 4 for displaying and 1 as output
available flag.

Input
Clock Pulse
Command Available
Command
Input Data

CP
CA
C0C2
A0A3

Output
Output Available
Output Data

OA
D0D3

Project 16:
FunBrain Magician
The FunBrain Magician is game that will pick a secret number between 0 31. User
guesses what number it is. If the guess is high or low, FunBrain will give a hint.
User will ask the magician to generate the random number by setting input GRN = 1.
Magician will take the guess after every 4 cycles. If the answer is correct CA will be set
to 1, otherwise H or L will be set accordingly. In the end magician should tell in how
many turns user is able to guess the correct number.

Input
Clock Pulse
CP
Generate Random number GRN
Guessed Number
C0C4

Output
Correct Answer
Number of guesses
High
Low

CA
D0D4
H
L

Project 17:
Circular Linked List
Problem
Design a linked list of 3 bit numbers with capacity for 3x4 bits. It should be able to insert
input with 2-bit input for position and 3 bits for actual data. Every position should know
weather there is data available or not. This should be set on insert. It should be able to
rotate data right & left. It should also be able to swap data of 2 nodes. In that case there
should be two 2 bits for source & destination.
Your circuit has 2 inputs A, B to read the command
Command
Insert
Rotate right
Rotate left
swap

A,B
00
01
10
11

A Seven segment display is attached to each node.

Input
Clock Pulse
Insert Position
Insert Data
Source Position
Destination Position
Command

CP
P0,P1
I0I2
S0,S1
D0,D1
A,B

Output
4 Seven segment display showing the
contents of each node
(insert
Data Already present IF
failure)
Note:
If node is empty then Seven segment display should display E

Project 18
16-bit pseudo random generator
It should generate 16 bit random number. Make sure your system should not
generate the same random number on the same seed.

Input
Clock Pulse
Seed

CP
S0S15

Output
Random Number

A0..A15

Project 19
Tic-Tac-Toe Game
Its a two player game. You have a grid of size 20x20. Each cell of the grid is
assigned a unique combination (id) of length 6. Each player will mark the cell on its turn.
The cell will be marked by giving its unique id. The player who succeeds in placing
twenty respective marks in a horizontal, vertical, or diagonal row wins the game.

Input
Clock Pulse
Cell no

CP
CN (on every turn)

Output
Winner Player

WP

Project 20
Snakes and Ladders
Its a two player game. You have 0-99 cells, with each cell having a unique number. Each
player roles a dice and output can only be between 1 to 6. The player moves number of
cells ahead according to face value of dice. The first one to reach 99 will win. You need
to fix the positions of snakes and ladders on the cells. The game also has to display the
turn of each player.

Input
Clock Pulse
Start Dice Roll

CP
1 to start and 0 to stop

Output
Position of each player on board
Winner Player
WP

Project 21

Distance Measuring Device (SONAR)


Sonar (originally an acronym for SOund Navigation And Ranging) is a technique that
uses sound propagation (usually underwater, as in submarine navigation) to navigate,
communicate with or detect objects on or under the surface of the water, such as other
vessels. Bats are the pioneers in nature to have mastered the technique of echo-location
based on the same principle.
You are required to design a similar device that emits an acoustic wave pulse, receives the
echo, and using the time difference between these two events calculates the distance of a far
off object. You do not need to design the emitter and receiver, assume that the hardware is
available.

Input
Clock Pulse
T (Trigger Device)
SR(Sound Received)
I(Input Speed)
Speed of Sound(m/s)

CP
set to initiate distance measurement process
set when the echo is received
set when speed of sound has to be updated
S0S15

Output
ES(Emit Sound)
Distance (m)

Signal for the Sound Emitter to initiate pulse


D0D15

Project 22
Snake Game
You are required to design the famous single player game called Snake. The snake (initially
3 bits long) moves in a 16 x 16 grid. Food appears at random locations on the grid and the
size of the snake grows by one each time it eats. Each food item increases the points by 5.
Twenty points leads to the next level where the size of the snake is again reset to 3 bits and
new obstacles (bricks on certain locations on the grid) appear. If the snake hits one of these
obstacles, it dies and game is over. There are 5 levels in the game. If the player scores 100,
he wins.

Input
Clock Pulse
Up
Down
Right
Left

CP
1 to move up
1 to move down
1 to move right
1 to move left

Output
Level
Points

L0, L1, L2
P0P6

Das könnte Ihnen auch gefallen