Implementing Logic Function with a ROM

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.
  • #1
CoolDude420
201
9

Homework Statement


6c057f18b9.png


Homework Equations

The Attempt at a Solution


d6afa7111c.jpg


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?
 
Physics news on Phys.org
  • #2
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.
 
  • #3
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.
e156b04ecb.jpg


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
 
  • #4
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)...

ROM.jpg


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)
 

FAQ: Implementing Logic Function with a ROM

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.

Similar threads

Replies
13
Views
5K
Replies
1
Views
2K
Replies
1
Views
2K
Replies
2
Views
2K
Replies
13
Views
2K
Replies
5
Views
4K
Back
Top