Perl program search and culculate

March 30, 2011 at 20:55:36
Specs: Windows XP
I have one log file that have quite big a list of errors. Therefore I need one program that can help me to analyse and summary the data.

In this log files contains: few type of errors:
1) Error $setup at its memory, the key pattern start RF2P* + $hold + Error

So I want to calculate time difference ==> 181411 ps - 181171 ps = 240 ps , Since it gives > 200 ps, this instance is bad timing

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/MEM/RF2P_32x20/RF2P_32x20.v(1636): $setup( posedge CLKA:181171 ps, posedge CLKB &&& contA_EMAA2eq0andEMAA1eq0andEMAA0eq0:181411 ps, 500 ps );
# Time: 181411 ps Iteration: 1 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20/U_RF2P_32x20/RF2P_32x20_instance_0

For above statement, the report will be like this:

Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20

==expected report
setup timing violation = -240 ps = -0.24 ns
result for /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20 > -0.2 ns

1) Error $hold at its memory, the key pattern start RA2P* + Error + $hold

So I want to calculate time difference ==> 182455 ps - 182455 ps = 0 ps , Since it gives 0 ps, this instance give hold time violation.

Report:
Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_fec/u_fectop/turbo_decMod/alpha_beta_ram_2_c0/U_RA2SH_128x16/RA2SH_128x16_instance_0
=hold time violation, at 0 ps.

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/MEM/RA2SH_128x16/RA2SH_128x16.v(1858): $hold( posedge CLKA:182455 ps, posedge CLKB &&& cont_flag:182455 ps, 1 ps );
# Time: 182455 ps Iteration: 1 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_fec/u_fectop/turbo_decMod/alpha_beta_ram_2_c0/U_RA2SH_128x16/RA2SH_128x16_instance_0

3) Same as no 2, but key word is Error + tsmc090_neg + $setup

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/STDCELL/sc-x_2005q3v2/verilog/tsmc090_neg.v(29028): $setup( negedge SI:342861835 ps, posedge CK &&& (scan == 1):342861991 ps, 244 ps );
# Time: 342861991 ps Iteration: 2 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_mac/U_Xtensa/Xtensa_ExternInt_inbound_req_response_buffer_xtpop0_delay1_reg_tmp_reg_0_


Please help me.. there are more than 150k instances need to analyse and summarise.


See More: Perl program search and culculate

Report •


#1
March 30, 2011 at 21:54:08
I want to do a correction:

1) Error $setup at its memory, the key pattern start RF2P* + $hold + Error

So I want to calculate time difference ==> 181411 ps - 181171 ps = 240 ps , So since reference time is 500ps , there will be time violate at 240 - 500 = -260 ps. Since it gives > 200 ps, this instance is bad timing

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/MEM/RF2P_32x20/RF2P_32x20.v(1636): $setup( posedge CLKA:181171 ps, posedge CLKB &&& contA_EMAA2eq0andEMAA1eq0andEMAA0eq0:181411 ps, 500 ps );
# Time: 181411 ps Iteration: 1 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20/U_RF2P_32x20/RF2P_32x20_instance_0

For above statement, the report will be like this:

Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20

==expected report
setup timing violation = -240 ps = -0.24 ns
result for /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_dac_intf/FIFO/RF2P_32x20 > -0.2 ns

1) Error $hold at its memory, the key pattern start RA2P* + Error + $hold

So I want to calculate time difference ==> 182455 ps - 182455 ps = 0 ps , Since it gives 0 ps, this instance give hold time violation.

Report:
Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_fec/u_fectop/turbo_decMod/alpha_beta_ram_2_c0/U_RA2SH_128x16/RA2SH_128x16_instance_0
=hold time violation, at 0 ps.

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/MEM/RA2SH_128x16/RA2SH_128x16.v(1858): $hold( posedge CLKA:182455 ps, posedge CLKB &&& cont_flag:182455 ps, 1 ps );
# Time: 182455 ps Iteration: 1 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_fec/u_fectop/turbo_decMod/alpha_beta_ram_2_c0/U_RA2SH_128x16/RA2SH_128x16_instance_0

3) Same as no 2, but key word is Error + tsmc090_neg + $setup

# ** Error: /Wimax/SoC/lib/rel4_1/tsmc90g/STDCELL/sc-x_2005q3v2/verilog/tsmc090_neg.v(29028): $setup( negedge SI:342861835 ps, posedge CK &&& (scan == 1):342861991 ps, 244 ps );
# Time: 342861991 ps Iteration: 2 Instance: /wimax_top_tf_test_s_chain_v_ctl/wimax_top_inst/U_wimax_core_edt_top/wimax_core_i/U_xtensa_subsys/U_mac/U_Xtensa/Xtensa_ExternInt_inbound_req_response_buffer_xtpop0_delay1_reg_tmp_reg_0_



Report •
Related Solutions


Ask Question