0
\$\begingroup\$

How can I abstractly describe a sequence of instructions/function at a register transfer level, given a certain set of instructions.

For example, here is the type of questions that we would be asked for our homework.

(1)Implement the following program repeatedly using a single 8-bit adder/subtracter (AS) module, 8-bit registers, as few as possible as small as possible counters and combinational modules of your choice. The AS module executes addition, when control signal c1 is 0 and subtraction when control signal c1 is 1. Every five cycles the 7-bit input variables b, c, and e are updated with new values. All values (given and calculated) are positive. Values a, f, g, h, and d should be available one each clock cycle, in their respective order.

statement 1. a = b + c;

statement 2. f = b + e;

statement 3. g = a − c;

statement 4. h = b + e;

statement 5. d = b − c;

And a more challenging question. Design a system that computes the following expression: F = ax4 + bx3 + cx2 + dx + e The constant values a, b, c, d, and e are stored in five shift registers. Variable x arrives every 8 clock cycles. Use the minimal number of shift registers, multipliers, and adders to design the system.

Im not necessarily looking for answers to this, I just want to know if there is someone that can provide me with certain topics that would allow me to solve these types of problems. Essentially, I want to be guided in the right direction so that I may be able to understand this topic. I understand we have to use ALU's and registers, but how can I translate this to some sort of state table and diagram so that i may implement the situation.

Thanks to all.

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

There are hadware description languages https://en.wikipedia.org/wiki/Hardware_description_language

A very common one is VHDL https://en.wikipedia.org/wiki/VHDL

But if you are starting with all this you should go to a Digital Systems textbook, normally they start with AHPL (A Hardware Programming Language). Here is a nice introduction to it: http://www.docfoc.com/a-hardware-programming-language

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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