1
\$\begingroup\$

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.

\$\endgroup\$
  • 1
    \$\begingroup\$ 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. \$\endgroup\$ – AndrejaKo May 8 '12 at 5:40
  • \$\begingroup\$ 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. \$\endgroup\$ – soniccool May 8 '12 at 5:41
  • 2
    \$\begingroup\$ @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. \$\endgroup\$ – stevenvh May 17 '12 at 9:19
  • 1
    \$\begingroup\$ @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 \$\endgroup\$ – clabacchio May 17 '12 at 10:38
  • 2
    \$\begingroup\$ That's not an octal representation, it is a 1-hot representation. \$\endgroup\$ – Brian Carlton May 17 '12 at 19:40
2
\$\begingroup\$

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
\$\endgroup\$
  • \$\begingroup\$ 2 to 4 bit decoder or 4 to 16? \$\endgroup\$ – soniccool May 17 '12 at 18:23
  • \$\begingroup\$ @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 \$\endgroup\$ – Curd May 17 '12 at 20:48
2
\$\begingroup\$

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.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.