370 likes | 457 Views
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
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