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.