We will learn about the internals of ROMS in future lectures. Right now, it is important to understand what a ROM is. This lab aims to increase your knowledge about and give your more experience with ROMS.
Finish Problems 1-4 in the Design Problem Examples.
Understand what a ROM is.
Read the rest of this Lab before your Lab session.
Implementing a ROM. You can think of a ROM as just storing a truth table. NOTE: different simulators and hardware that uses specific software all store the information differently. But essentially, you are storing a truth table.
Let's create a rom that stores the truth table for a 2-input AND gate.
In the simulator start a new circuit.
Draw a custom logic chip (Check Digital Logic)
Double click on the chip
Click on Edit Model
Edit the options so you have 2 Inputs and 1 Output
In the definition, enter the truth table for the and gate as follows:
Notice that what was inputed is basically the truth table.
Now let's try a more complicated rom. You want to design a ROM that stores a byte of information at each address. You want to store 8 different bytes of information. The bytes you want to store and access using the ROM in hexadecimal and in order are (3C, 25, FC, A4, 86, 7B, D9, 0E). In order means the first address (0 base 2) should hold 3C base 16 (convert to base 2). The second address ( 1 base 2) should hold 25 (convert to base 2) and so on. Write out the truth table (Figure out how many inputs and outputs you need).
Implement this as a ROM in the simulator and check that all address are saving the current information.
For problems 1 - 4 in the Design Problem Examples,
Implement each problem using a ROM in the simulator.
They physical lab has access to re programmable ROMS. These ROMs can be used on a breadboard. Do a little bit of research on programmable ROMs. Try to implement problem 2 (From the Design Problem Examples in Task 3) using a physical ROM.
Submit one single PDF file which includes all your design work and simulator screenshots. Make sure to include screenshots of editing the ROM (inputs/outputs, and definition).