HOME       UP       PREV       FURTHER NOTES       NEXT (Transactional Handshaking in RTL)  

Folding, Retiming & Recoding Continued

Flip-flop migration can affect critical paths:

  a <= b + c;            b1 <=c; c1 <= c;        
  q <= (d) ? a:0;        q <= (d) ? b1+c1:0;   
Alternatively, pushing the multiplexor back will require an earlier version of d that might not be available (e.g. if it were an external input).

Problems arising:

but retiming can overcome structural hazards (e.g. the 'write back' cycle in RISC pipeline).

Other rewrites commonly use: automatically introduce one-hot and gray encoding, or invert for reset as preset.


(C) 2008-10, DJ Greaves, University of Cambridge, Computer Laboratory.