For this project we will design a memory for a microprocessor utilizing three different tools (VLSI, VHDL and FPGA). The memory will be able to have data stored into it as well as have data extracted from it. We are going to design a 128 bit memory which will allow sixteen eight bit numbers to be stored at one time.
The memory will be designed using D flip flops as storage elements. A D flip flop stores and outputs a bit on every clock cycle. The flip flops will be combined into groups of eight, so the microprocessor can store an eight-bit value. An address decoder will activate a certain group of eight flip-flops, and then they will either store or output a required value for use in the microprocessor program.
For this design we will need a total of thirteen inputs to the system. Three inputs will determine which group of eight flip flops will be chosen. Eight inputs are required if the program needs to store a value. One input is needed to tell if the flip-flops are storing a number, and another one is needed to tell the flip-flops the program needs a value that is stored. A total of eight outputs are required for this project, these outputs are activated only when the program requires the memory to provide a value that has been stored. These outputs come from the eight flip flops that have the value stored in them.
To design this project we will first implement our design using logic works. When our design is functioning properly in logic works, we will take our design and implement it in L-Edit using our knowledge of VLSI. After we are finished with that, we plan on using VHDL to create our memory for a microprocessor. Once the VHDL has been completed, the FPGA may be implemented.
If things go smoothly and our design works, we plan on sending our design to be manufactured. This process will be funded by the National Science Foundation through MOSIS