370 likes | 383 Views
This research paper discusses the progress status of work in areas such as control synthesis, interconnect synthesis, and high-level synthesis for System-on-Chip (SoC) design. It presents insights into delay-driven post-layout re-synthesis, data path synthesis, and partitioning algorithms for hardware/software components. The paper also involves a detailed examination of techniques like gate resizing, local logic substitution, and corner block list for achieving optimized circuit performance and area utilization. Experiment results and future research directions are explored, highlighting the integration of synthesis and physical design processes in SoC development.
E N D
Merging Synthesis With Layout For Soc Design -- Research Status Jinian Bian and Hongxi Xue Dept. Of Computer Science and Technology, Tsinghua University, Beijing 100084 2002.3.28
Contents • The progress status of our work. • Delay-driven algorithm for logic re-synthesis after placement • Interconnect driven high-level synthesis. • Data path synthesis • Control synthesis
Progress Status of Our Work • System specification • IIR into HDM Internal Intermediate Representation • C to VHDL : • HDM (IIR) to CDFG FFT.c FFT.vhd Package
Progress Status of Our Work • Interconnect synthesis • Delay-driven post-layout re-synthesis • Interconnect driven high-level synthesis • Data path synthesis combining with floor-planning • Delay driven control synthesis
Progress Status of Our Work • HW/SW partitioning • Partition modeling • Partition algorithm • Simulated annealing algorithm • Tabu algorithm • Search space smoothing algorithm • Partition system
Interconnect Driven Synthesis • Background • Interconnect wires play the dominating role for circuit performance and area instead of function units.
Our Approach Hardware Spec. High-Level Synthesis Floor-planning RT-Level Synthesis Logic Synthesis Global Placement Re-Synthesis Detail Placement Incremental Placement Routing
Logic Synthesis Placement Detail Placement and Routing Re-synthesis Re-Synthesis + Incremental Placement
Delay Calculation • Using the method in the placement • When get a new gate, allocate it to an ideal position
A A (a) Before buffer insertion (b) After buffer insertion C B Buffer Insertion C B
Gate Resizing gate_resize() foreach gate g in the circuit{ if (g is non-critical) continue; if (g’s better alternative gate n not exist) continue; replace g with n; re-calculate the delay of the circuit; if (delay is not reduced) recover g; }
a c b a c b Alternative Wire
Local Logic Substitution • Uses the model mapping method to search for the local alternative circuit
a a b b c c d d Local Logic Substitution
a a b b c c d d Local Logic Substitution • The critical path may be shorten, • eg: if the wires marked red are critical path, in the alternative circuit, the path is shorten, but the non-critical path (follows input c) is lengthen
Conclusion • Our system begins with the circuit after the initial placement and performs local re-synthesis to reduce the delay. • A final netlist and placement are then generated after the incremental placement. • The result shows the system is a fine combination of synthesis and physical design. The future work may be replacing the greedy algorithm with the heuristic algorithm.
Behavior Description Entity example is Port( a,b,cin: in bit; S,cout: out bin); End example; Architecture behavior of example is Begin If a=‘1’ and b=‘1’ and cin=‘1’ then s <= ‘1’; Elsif …… …… End;
Behavior Synthesis BEHAVIOR DESCRIPTION VHDL HDM-IIR CDFG Controller Data Path layout
Problems to Be Solved • How to get information of interconnection delay at higher level? • How to bind floor-planning with high-level synthesis together? • How to achieve an accurate result with limited time?
Our Approach Hardware Spec. From HW/SW CDFG & Restriction Estimate Steps & Resources Make Grids Make CBL Simulate Annealing Heuristic Algorithm SSS Result
Representation of Scheduling and Binding Result Using a Two –Dimensional Table
Get a New Solution by Changing the Placement of the Table • Select one operation randomly, changes its column. A B D C E A B C D E
Select one operation randomly • According to the step range of the operation calculated by ASAP and ALAP algorithm, select a new row to place the operation randomly • Adjust the rows of the operations that violate the precedence constraints, finally, decide the columns of these operations . A B D C E A B D C E
5 6 7 2 4 1 3 Corner Block List We use CBL(Corner Block List) to show the result of floorplan. CBL is based-on non-slicing floorplan. • Example: • Seq=(1234567) • L=(010011) • T=(10010010) • Example: • Seq=(1234567) • L=(010011) • T=(10010010)
Corner Block List • The most important thing is • Any (S,L,T) is validate!!! • We can get new floorplan-solution by changing the (S,L,T) group.
Controller Synthesis CDFG Data Path FSM State Simplification State Assigned placement
State Assigned • Various-length state assigned algorithm e.g. 10 states: 4-10 bits, The optimal solution: How many bits? How to encode?
Conclusions By binding and floor-planning into a single phase: • We can obtain more accurate information of interconnections in high-level synthesis. • The floor-planning can benefit from the information of scheduling and binding • There are still much work to be done on how to use the information to avoid randomness of the simulated annealing approach.
The Future Work • Combine HLS with the result of HW/SW. • Use different algorithms instead of simulated annealing algorithm. • Heuristic algorithms • Search space smoothing • Using re-timing technique