# Implementing Logic Function with a ROM

• CoolDude420
In summary: In fact, the ROM can be written in any convenient notation without any label at all.In summary, the homework statement is trying to solve for a function that takes in an input of 000 to 111 and outputs a different function depending on the input.
CoolDude420

## The Attempt at a Solution

I'm a bit confused with this. I thought a ROM was just a non-volatile storage. I don't understand how this would work. The decoder can only select one of the 8 outputs depending on what it gets at its input. I still attempted it but I am quite sure it isn't correct. Any ideas on how this is meant to work?

The output "gates" of a ROM are all the same (eg all OR gates) so you have to convert functions B and C to the required form first.

CoolDude420 said:
I'm a bit confused with this. I thought a ROM was just a non-volatile storage. I don't understand how this would work.

It is just non-volatile storage. Think about what a truth table is. It tells you what the outputs are for a given combination of inputs. You can think of a ROM as doing exactly the same thing.

In this example the ROM contains output data for all possible combinations of input from 000 to 111 so it can generate outputs for all possible combinations of input signals. In that respect it's actually better than hard wired logic. If you need to make a change you just reprogram the ROM. No need to rewire or change any logic gates.

Disadvantages might include cost, speed, area of silicon.

CWatters said:
The output "gates" of a ROM are all the same (eg all OR gates) so you have to convert functions B and C to the required form first.
It is just non-volatile storage. Think about what a truth table is. It tells you what the outputs are for a given combination of inputs. You can think of a ROM as doing exactly the same thing.

In this example the ROM contains output data for all possible combinations of input from 000 to 111 so it can generate outputs for all possible combinations of input signals. In that respect it's actually better than hard wired logic. If you need to make a change you just reprogram the ROM. No need to rewire or change any logic gates.

Disadvantages might include cost, speed, area of silicon.

Ah. I see. Would this be correct for the conversion? I just took the complement of the product of maxterms expression. (Id have to replace the AND gates with ORs and change the Xs

Yes that's correct.

You need not actually draw a circuit with x's and OR gates. You just need to provide the contents of the ROM in the form of a table with the Address and Data fields. Here is an example (different functions to yours)...

Although it might be better to label the address inputs A1(X) and A0(Y) and similarly for the data bits D1(A) and D0(B)

## 1. What is a ROM?

A ROM (Read-Only Memory) is a type of computer memory that is capable of storing data permanently. Unlike RAM (Random Access Memory), the data stored in a ROM cannot be modified or erased. It is commonly used for storing programs and data that should not be changed, such as the instructions for a logic function.

## 2. How does a ROM implement logic functions?

A ROM implements logic functions by using a combination of diodes and transistors to create a network of logic gates. The data stored in the ROM is used as inputs for these gates, which then produce the desired logic output based on the input combination. The output is then read from the ROM and used in the circuit.

## 3. What are the advantages of using a ROM for logic functions?

There are several advantages to using a ROM for logic functions. Firstly, they are cost-effective as they can be mass-produced and are relatively inexpensive. They also have a fast access time, making them suitable for applications that require quick responses. Additionally, a ROM can store a large amount of data, making it suitable for complex logic functions.

## 4. Are there any limitations to using a ROM for logic functions?

While ROMs have many advantages, there are also some limitations to using them for logic functions. One limitation is that the data stored in a ROM cannot be altered, meaning that the logic function cannot be changed once it is programmed. Additionally, the number of inputs and outputs for a ROM is fixed, so it may not be suitable for more complex logic functions with a large number of inputs.

## 5. How do you program a ROM for a specific logic function?

To program a ROM for a specific logic function, you must first determine the truth table for the desired function. This table will specify the input combinations and the corresponding outputs. Then, using a ROM programmer, the data is entered into the ROM's memory cells according to the truth table. The programmed ROM can then be used to implement the desired logic function.

• Engineering and Comp Sci Homework Help
Replies
13
Views
5K
• Engineering and Comp Sci Homework Help
Replies
6
Views
16K
• Engineering and Comp Sci Homework Help
Replies
2
Views
2K
• Engineering and Comp Sci Homework Help
Replies
1
Views
4K
• Engineering and Comp Sci Homework Help
Replies
1
Views
2K
• Engineering and Comp Sci Homework Help
Replies
1
Views
1K
• Engineering and Comp Sci Homework Help
Replies
13
Views
2K
• Engineering and Comp Sci Homework Help
Replies
16
Views
2K
• Engineering and Comp Sci Homework Help
Replies
5
Views
3K
• Engineering and Comp Sci Homework Help
Replies
10
Views
2K