# Computer science - implement a function

1. Sep 28, 2009

### XodoX

Not sure where to put this thread. I'll just post it here. I need help with the following:

Can someone tell me how to do this? I have no idea. I'd really appreciate it.

2. Sep 28, 2009

### CRGreathouse

What are you allowed to use other than 3-to-8 decoders -- OR gates?

3. Sep 28, 2009

### XodoX

Probably....these won't work?

4. Sep 28, 2009

### CRGreathouse

Without building it, I would guess that it could be done with two 3-to-8s if you allow ORs, but it certainly requires 3+ if you don't.

5. Sep 29, 2009

### willem2

a 3 to 8 decoder can implement a 2 or 3 input NOR gate. You can build all possible
logical circuits with NOR gates

6. Sep 29, 2009

### CRGreathouse

Yes, but you'll need many 3-to-8 decoders if you build it this way! The question asked for the minimal number of decoders, so I had to know the actual requirements.

7. Sep 29, 2009

### uart

Yes I can do it with just two 3-to-8 decoders plus three 2-input OR gates. I've been a bit reluctant to contribute to this thread or post a complete solution becasue it certainly looks a bit like homework.

Xodox, tell us what you already know or have done. Do you know what a "min-term" is? Do you know how to construct a boolean function as a sum of min-terms? Have you learnt that a decoder can be considered as a "min-term generator"?

8. Sep 29, 2009

### CRGreathouse

Good for you. It was easy enough for me to do it with only two 3-to-8s but I used more ORs.

I wonder if 3 is the minimum number of ORs with 2 decoders.

9. Sep 29, 2009

### uart

Hi CRGreathouse, I think I know where you needed more OR gates. The A’CD + AC’D’ part is easy right, just two min terms of (A,C,D); but the A’B + AB’ may require more min terms and hence more OR gates depending on how you approach it.

You can however easily make A’B + AB’ with only two min terms of (A,B,X) if you make an appropriate choice for "X". Hint: think about boolean constants rather than only variables. :)

10. Sep 29, 2009

### CRGreathouse

Nah, my approach was different. But thanks for the tip.