# N-bit Gray-to-binary converter

## Homework Statement

Desigh an n-bit Gray-to-binary converter.

## Homework Equations

bn-1 = gn-1
bk-1 = gk-1 if bk=0
bk-1 = $\overline{g}$k-1 if bk=1

## The Attempt at a Solution

I just want someone to give me some hints as to how I should approach this problem... Also, when it tells me to "design,"" does it mean it wants me to design a logic network? I am confused!

rcgldr
Homework Helper
You didn't mention what the class is for, so I don't know if you're supposed to do the design in software or with logic. I'm guessing probably software. Also are the bits numbers right to left (least signifcant to most signficant), but this may not matter since you're given equations.

If you're doing this in software, you could use an array of bytes, with each byte holding just one bit. If this is C language, you could use bit fields. You just need to impement the software so it follows the rules in the relevant equations.

jedishrfu
Mentor
Have you learned how to write truth tables? And then convert them to Boolean expressions?

It seems that they have given you the Boolean expressions already for a one bit stage of the converter.

Can you combine the second and third one into a single expression without the if condition using AND and OR logic?

This problem is for my Digital Logic class. And yes, we have learned how to write truth tables and apply them to Boolean functions. In fact, in this chapter, we learned about combinational networks and how to draw basic logic circuits. I know what gray code is , of course, but I just don't know how to apply what I've learned to the problem. What is of particular confusion to me is how it just says "design." Design what? A logic circuit? An algorithim? Especially because in the next part of the problem it says "Using the above algorithm as a starting point..." If it is just an algorithm, how do I go about writing one?

LCKurtz
Homework Helper
Gold Member
Wouldn't it be kind of difficult to define an n-bit logic converter in a hardware circuit, not knowing the value of n? I'm guessing you want an algorithm, not a circuit.

jedishrfu
Mentor
This problem is for my Digital Logic class. And yes, we have learned how to write truth tables and apply them to Boolean functions. In fact, in this chapter, we learned about combinational networks and how to draw basic logic circuits. I know what gray code is , of course, but I just don't know how to apply what I've learned to the problem. What is of particular confusion to me is how it just says "design." Design what? A logic circuit? An algorithim? Especially because in the next part of the problem it says "Using the above algorithm as a starting point..." If it is just an algorithm, how do I go about writing one?

I think they want you to design a circuit diagram similar to designing a half adder circuit.

I think they want you to design a circuit diagram similar to designing a half adder circuit.
I don't think so; I don't even know what that is! This "half-adder" circuit certainly isn't in the chapter.

NascentOxygen
Staff Emeritus