10.1 RESOURCES

In order to synthesize a digital circuit the designer has to develop—or states the necessity to develop—computation, memory, and connection resources:

  • The computation resources are deduced from the operations included in the algorithm; they are characterized by their functions, their computation times, and their costs.
  • The memory resources are registers, banks of registers, random access or read-only memories, stacks, and queues, characterized by their minimum setup and hold times, maximum propagation time, and read and write cycles, among other features, as well as by their costs.
  • The connection resources are multiplexers and tristate buffers used for controlling the transfer of data between computation resources and registers; they are characterized by their propagation times and costs.

Consider two examples

Example 10.1 (Combinational circuit; complete VHDL source code available.) Synthesize an n-bit adder based on Algorithm 4.2 with B = 2. The corresponding computation resources are:

  • the carry-propagate function p defined by p(a, b) = 1 iff a + b = 1, that is, a 2-input XOR gate;
  • the carry-generate function g defined by g(a, b) = 1 if a + b > 1, any value if a + b = 1,0 if a + b < 1 (Comment 4.1(2)) so that g could be chosen equal to a, b or a · b; let it be b;
  • the 3-operand mod 2 sum: mod_sum(a, b, c) = (a + b + c) mod 2, that is, a 3-input XOR gate equivalent to two 2-input ones.

The only connection resource type is a 2-to-1 multiplexer able to transfer ...

Get Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.