Download AUGH User Guide DEVELOPMENT VERSION INCOMPLETE
Transcript
CHAPTER 4. DESIGN TRANSFORMATIONS 4.2 10 Wiring branch conditions By default, conditional assignments as described in C language with the keywords if and switch are implemented with a branch condition. Figure 4.2: Wiring a condition The Figure 4.2 illustrates the transformation of the following if construct: myif1: if(A + B == 0) R = C + D; else R = E + F; A conditional jump is replaced by an unconditional assignment. This assignment can then be merged with the other instructions that were before and after the if construct, which can offer very interesting scheduling optimizations. To manually wire a condition, use the following command: hier node-switch find label myif1 one-cycle It is also possible to find a condition from a source line: hier node-switch find line 99 wire one-cycle 4.3 Adding shared components A fast design is one that executes a lot of instructions at a time. By default, AUGH allocates only the minimum number of components to map the instructions of the input C description. But this allows only a low number of instructions to be scheduled a given control step. Adding components to the circuit can reduce this bottleneck.