Cpre 281 Project
Cpre 281 Project
My final project for the course of CPR E 281 consisted of creating a pseudo random number
generator using digital logic. This assignment had specific specifications which the machine had to
follow. This machine had to store a sequence of data given by the user, use that data to generate a
random number, and then store that random number in memory. The random number would then
need to be displayed in an easy to read way.
I successfully completed this project, meeting all specifications, and including an extra random
seed generator component. There were many steps that I had to take to complete this project, and I was
responsible for designing the entire system from scratch. To complete this project I had to create: 2-1
multiplexer, 4-1 multiplexer, 2-4 decoder, 2 bit up counter, 8 bit parallel load shift register, finite state
machine, 4 bit wide 4 register file, and a seven segment display decoder.
I designed each one of these components while trying to maximize cost efficiency as well as
speed. When cost interferes with speed, I prioritized cost for this particular project. I made several
optimizations to this assignment, and learned several important concepts during the creation. Upon
completion, the machine worked as specified with no bugs.
I really enjoyed working on this project, and learned many interesting things I had not seen in
class. I found small optimizations in my circuit that was able to allow me to save on cost as well as time
execution. I also learned a lot about planning out a large project and taking it step by step. To complete
this assignment I started with a very abstract concept, and kept going deeper and deeper until the
circuit was complete. Breaking up the project into parts was a very critical part, as I was able to
maintain my focus on the importance of each individual section. For this assignment it was very
important to have the project planned out properly, as there was not a lot of time to fix any issues that
may have come up. For this reason I learned how to properly plan out an entire project before
beginning on the construction, which could potentially save a lot of money in a real world project.