Sunteți pe pagina 1din 8

Introduction

► Pipelining is one way of improving overall processing performance of a


design
► Allows simultaneous execution of several tasks
► Very common to have pipeline structure in almost all ASIC design today
Design Pipeline planning
► Design feedthrough planning , has pushed some PP logic inside block
► To facilitate PP logic pushed inside block , pipeline ports were created
at block boundary

Fig1 - Inter-block pipeline implementation


Placement Expectation
► PD expectation for pipeline latch placement is , the number of
pipeline stage should be spanned across the block
► Also placed equidistant among each other & IO ports
Innovus default place opt behaviour
Problem:
Innovus place_opt have given preference for reg2reg, thus
resulted in bad in2reg & reg2out timing

Innovus has not understood these structures are Pipeline


implementation & treated these logic as normal reg2reg timing
paths

Block Name Default Place opt

Congestion In2reg Reg2Out

Block 1 0.13% H 0.16%V -334/3k -948ps/4k

Block 2 0.98%H 0.78%V -580ps/7k -1.2ns/6k


Exp: Increased Path group effort
Increased path group effort, weight, target slack for in2reg & reg2out path group

Tool Outcome:
Very minimal slack improvement even after 3 - 4 iterations of incremental place opt
Block Default Place opt
Name
Congesti In2reg Reg2Out
on

Block 1 0.13% H -303/2.9k -932ps/3.


0.162%V 79k

Block 2 0.98%H -560ps/6. -1.19ns/5


0.8%V 8k .9k

Analysis: Tool has clustered pipeline flops at one place , than placing them
spanned across pipeline elements source & sink logic
Pipeline Latch placement methodology
innovus 9> createPipelineNetGroup netGroup1 -startTerm thr_ipe_bmr_info_ibtm_cp_clk_ibtm_moe_in[0] -endTerm
thr_ipe_bmr_info_ibtm_cp_clk_ibtm_moe_out[0]
Added [1] net(s) in the net-group [netGroup1].

innovus 10> reportPipeline -netGroup netGroup1


There are no pipeline flops; add some or try analysis mode.
Pipeline Latch placement methodology - contd
► createPipelineNetGroup netGroup1 -startTerm
{thr_ipe_bmr_info_ibtm_cp_clk_ibtm_moe_in[0]} -endTerm
{thr_ipe_bmr_info_ibtm_cp_clk_ibtm_moe_out[0]}
Group 'netGroup1': can not add previously grouped net 'thr_ipe_bmr_info_ibtm_cp_clk_ibtm_moe_in[0]'.
Added [3] net(s) in the net-group [netGroup1].

► reportPipeline
There are unplaced pipeline flops; assuming pre-placement mode.
Invoking trialRoute...
...trialRoute complete
*** trialRoute , (cpu=0:02:51, 58517.8M) ***
Net group 'netGroup1':
Expected min spacing = 1646.50
Expected max spacing = 1646.50

► placePipeline
Placed 1 pipeline net group with 'softFixed' status.
Conclusion

► In2reg, reg2out fails are fixed


► Methodology is aware of
Placement blockage, Hard IP,
memory etc
► Turn around time was
drastically brought down
during FP stage & helped in
converging on better pipeline
logic planning by projecting
correct timing picture

S-ar putea să vă placă și