8 bit octal full adder help

I have this project listen below and im not sure where to start maybe someone can give me a few pointers or perhaps point me in the right direction of starting this? Thanks!!

Input: A, B = octal digits (see representation below); Cin = binary digit

Output: S = octal digit (see representation below); Cout = binary digit

Task: Using binary FAs, design a circuit that acts as an octal FA. More specifically, this circuit would input the two octal digits A, B, convert them into binary numbers, add them using only binary FAs, convert the binary result back to octal, and output the sum as an octal digit, and the binary carry out.

Input/Output binary representation of octal digits

Every octal digit will be represented using the following 8-bit binary representation:

Octal 8-bit Input Lines:

Digit: 0 1 2 3 4 5 6 7
0       1 0 0 0 0 0 0 0
1       0 1 0 0 0 0 0 0
2       0 0 1 0 0 0 0 0
3       0 0 0 1 0 0 0 0
4       0 0 0 0 1 0 0 0
5       0 0 0 0 0 1 0 0
6       0 0 0 0 0 0 1 0
7       0 0 0 0 0 0 0 1

You are required to design the circuit in a structured way.

• Interesting. So what did you try? What did you consider and didn't try and why? Do you have any idea where to start? Here we generally expect to see a bit of effort on the OP's side for this type of questions. May 8, 2012 at 5:40
• I am kind of lost on it. I just need a kick start i looked into some videos but im lost at where to start. May 8, 2012 at 5:41
• @Kaz - "It is bad style to post homework questions without a [homework] tag." No it isn't. The [homework] tag is deprecated. Tags are supposed to indicate what topics the question is related to. May 17, 2012 at 9:19
• @mystycs this site is not meant to solve your homeworks, did you do some work on it? Adding a bounty doesn't make this question less of a homework May 17, 2012 at 10:38
• That's not an octal representation, it is a 1-hot representation. May 17, 2012 at 19:40

Some hints:

• Convert the input digit representation to binary (3 bits) for each of both digits using two 3 bit encoders.
• add both 3 bit digits using a 3 bit adder
• convert the result back to the required representation using a 4 bit decoder
• 2 to 4 bit decoder or 4 to 16? May 17, 2012 at 18:23
• @mystycs: the ouput of the adder has 4 bits (including the carry bit). So you need a 4 to 16 decoder to convert the result into your desired representation
– Curd
May 17, 2012 at 20:48

Since your inputs are one-hot there's no need to use a Priority encoder at the input stage, just OR' the inputs together that should drive each output bit. This is more friendly on the synthesis tool. Take a look at "Advanced Synthesis Cookbook - Altera" Section 4-1 http://www.altera.com/literature/manual/stx_cookbook.pdf

You will find sample code for the adders and output encoder too.