Syncopation: Adaptive Clock Management for High-Level Synthesis Generated Circuits on FPGAs

High-level synthesis (HLS) tools improve hardware designer productivity by enabling software design techniques during hardware development. During HLS the delay of paths can only be estimated, so the resulting circuit may suffer from unbalanced computational path delays across clock cycles. Since the maximum operating frequency of circuits is determined statically using the worst-case timing path, unbalanced paths may lead to reduced performance compared to circuits designed at the hardware level. In this paper, we address this using Syncopation, a performance-boosting fine-grained timing analysis and adaptive clock management technique for HLS circuits. The key idea is to use the HLS scheduling information along with the results from placement and routing to determine the worst-case timing path for individual clock cycles. By then adjusting the clock period on a cycle-to-cycle basis, we can increase circuit performance. Our experiments show that Syncopation and fine-grained timing analysis can improve performance without altering the HLS-synthesis toolchain.

[1]  Viswanathan Subramanian,et al.  Superscalar Processor Performance Enhancement through Reliable Dynamic Clock Frequency Tuning , 2007, 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07).

[2]  Sorin Cotofana,et al.  Hybrid adaptive clock management for FPGA processor acceleration , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[3]  Hiroyuki Tomiyama,et al.  CHStone: A benchmark program suite for practical C-based high-level synthesis , 2008, 2008 IEEE International Symposium on Circuits and Systems.

[4]  Paolo Ienne,et al.  Dynamically Scheduled High-level Synthesis , 2018, FPGA.

[5]  Jin Hee Kim,et al.  High-Level Synthesis Techniques to Generate Deeply Pipelined Circuits for FPGAs with Registered Routing , 2019, 2019 International Conference on Field-Programmable Technology (ICFPT).

[6]  Jieru Zhao,et al.  Hi-ClockFlow: Multi-Clock Dataflow Automation and Throughput Optimization in High-Level Synthesis , 2019, 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[7]  Philippe Coussy,et al.  Hierarchical and Multiple-Clock Domain High-Level Synthesis for Low-Power Design on FPGA , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[8]  Christos-Savvas Bouganis,et al.  Scaling Up Loop Pipelining for High-Level Synthesis: A Non-iterative Approach , 2018, 2018 International Conference on Field-Programmable Technology (FPT).

[9]  Wayne Luk,et al.  Dynamic clock-frequencies for FPGAs , 2006, Microprocess. Microsystems.

[10]  Jason Helge Anderson,et al.  LegUp: An open-source high-level synthesis tool for FPGA-based processor/accelerator systems , 2013, TECS.

[11]  Jie Gu,et al.  An Instruction-Driven Adaptive Clock Management Through Dynamic Phase Scaling and Compiler Assistance for a Low Power Microprocessor , 2019, IEEE Journal of Solid-State Circuits.

[12]  Valavan Manohararajah,et al.  The Stratix™ 10 Highly Pipelined FPGA Architecture , 2016, FPGA.

[13]  Cyrille Chavet,et al.  Dynamic branch prediction for high-level synthesis , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[14]  Yvon Savaria,et al.  A Low-Complexity High-Speed Clock Generator for Dynamic Frequency Scaling of FPGA and Standard-Cell Based Designs , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[15]  Andreas Peter Burg,et al.  DynOR: A 32-bit microprocessor in 28 nm FD-SOI with cycle-by-cycle dynamic clock adjustment , 2016, ESSCIRC Conference 2016: 42nd European Solid-State Circuits Conference.

[16]  Paolo Ienne,et al.  Combining Dynamic & Static Scheduling in High-level Synthesis , 2020, FPGA.

[17]  Jason Helge Anderson,et al.  High-Level Synthesis of FPGA Circuits with Multiple Clock Domains , 2018, 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[18]  Paolo Ienne,et al.  From C to elastic circuits , 2017, 2017 51st Asilomar Conference on Signals, Systems, and Computers.