OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

Refactor deltadebug

Open habibayassin opened this issue 1 year ago • 15 comments

#5117

habibayassin avatar Jun 10 '24 22:06 habibayassin

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 10 '24 22:06 github-actions[bot]

final def output before:

VERSION 5.8 ; DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; DESIGN uart ; UNITS DISTANCE MICRONS 1000 ; DIEAREA ( 0 0 ) ( 17000 17000 ) ; ROW ROW_0 asap7sc7p5t 1080 1080 N DO 276 BY 1 STEP 54 0 ; ROW ROW_1 asap7sc7p5t 1080 1350 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_2 asap7sc7p5t 1080 1620 N DO 276 BY 1 STEP 54 0 ; ROW ROW_3 asap7sc7p5t 1080 1890 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_4 asap7sc7p5t 1080 2160 N DO 276 BY 1 STEP 54 0 ; ROW ROW_5 asap7sc7p5t 1080 2430 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_6 asap7sc7p5t 1080 2700 N DO 276 BY 1 STEP 54 0 ; ROW ROW_7 asap7sc7p5t 1080 2970 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_8 asap7sc7p5t 1080 3240 N DO 276 BY 1 STEP 54 0 ; ROW ROW_9 asap7sc7p5t 1080 3510 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_10 asap7sc7p5t 1080 3780 N DO 276 BY 1 STEP 54 0 ; ROW ROW_11 asap7sc7p5t 1080 4050 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_12 asap7sc7p5t 1080 4320 N DO 276 BY 1 STEP 54 0 ; ROW ROW_13 asap7sc7p5t 1080 4590 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_14 asap7sc7p5t 1080 4860 N DO 276 BY 1 STEP 54 0 ; ROW ROW_15 asap7sc7p5t 1080 5130 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_16 asap7sc7p5t 1080 5400 N DO 276 BY 1 STEP 54 0 ; ROW ROW_17 asap7sc7p5t 1080 5670 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_18 asap7sc7p5t 1080 5940 N DO 276 BY 1 STEP 54 0 ; ROW ROW_19 asap7sc7p5t 1080 6210 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_20 asap7sc7p5t 1080 6480 N DO 276 BY 1 STEP 54 0 ; ROW ROW_21 asap7sc7p5t 1080 6750 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_22 asap7sc7p5t 1080 7020 N DO 276 BY 1 STEP 54 0 ; ROW ROW_23 asap7sc7p5t 1080 7290 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_24 asap7sc7p5t 1080 7560 N DO 276 BY 1 STEP 54 0 ; ROW ROW_25 asap7sc7p5t 1080 7830 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_26 asap7sc7p5t 1080 8100 N DO 276 BY 1 STEP 54 0 ; ROW ROW_27 asap7sc7p5t 1080 8370 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_28 asap7sc7p5t 1080 8640 N DO 276 BY 1 STEP 54 0 ; ROW ROW_29 asap7sc7p5t 1080 8910 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_30 asap7sc7p5t 1080 9180 N DO 276 BY 1 STEP 54 0 ; ROW ROW_31 asap7sc7p5t 1080 9450 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_32 asap7sc7p5t 1080 9720 N DO 276 BY 1 STEP 54 0 ; ROW ROW_33 asap7sc7p5t 1080 9990 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_34 asap7sc7p5t 1080 10260 N DO 276 BY 1 STEP 54 0 ; ROW ROW_35 asap7sc7p5t 1080 10530 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_36 asap7sc7p5t 1080 10800 N DO 276 BY 1 STEP 54 0 ; ROW ROW_37 asap7sc7p5t 1080 11070 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_38 asap7sc7p5t 1080 11340 N DO 276 BY 1 STEP 54 0 ; ROW ROW_39 asap7sc7p5t 1080 11610 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_40 asap7sc7p5t 1080 11880 N DO 276 BY 1 STEP 54 0 ; ROW ROW_41 asap7sc7p5t 1080 12150 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_42 asap7sc7p5t 1080 12420 N DO 276 BY 1 STEP 54 0 ; ROW ROW_43 asap7sc7p5t 1080 12690 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_44 asap7sc7p5t 1080 12960 N DO 276 BY 1 STEP 54 0 ; ROW ROW_45 asap7sc7p5t 1080 13230 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_46 asap7sc7p5t 1080 13500 N DO 276 BY 1 STEP 54 0 ; ROW ROW_47 asap7sc7p5t 1080 13770 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_48 asap7sc7p5t 1080 14040 N DO 276 BY 1 STEP 54 0 ; ROW ROW_49 asap7sc7p5t 1080 14310 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_50 asap7sc7p5t 1080 14580 N DO 276 BY 1 STEP 54 0 ; ROW ROW_51 asap7sc7p5t 1080 14850 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_52 asap7sc7p5t 1080 15120 N DO 276 BY 1 STEP 54 0 ; ROW ROW_53 asap7sc7p5t 1080 15390 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_54 asap7sc7p5t 1080 15660 N DO 276 BY 1 STEP 54 0 ; TRACKS X 116 DO 211 STEP 80 LAYER Pad ; TRACKS Y 116 DO 211 STEP 80 LAYER Pad ; TRACKS X 116 DO 211 STEP 80 LAYER M9 ; TRACKS Y 116 DO 211 STEP 80 LAYER M9 ; TRACKS X 116 DO 211 STEP 80 LAYER M8 ; TRACKS Y 116 DO 211 STEP 80 LAYER M8 ; TRACKS X 16 DO 266 STEP 64 LAYER M7 ; TRACKS Y 16 DO 266 STEP 64 LAYER M7 ; TRACKS X 60 DO 353 STEP 48 LAYER M6 ; TRACKS Y 16 DO 266 STEP 64 LAYER M6 ; TRACKS X 12 DO 354 STEP 48 LAYER M5 ; TRACKS Y 12 DO 354 STEP 48 LAYER M5 ; TRACKS X 45 DO 471 STEP 36 LAYER M4 ; TRACKS Y 12 DO 354 STEP 48 LAYER M4 ; TRACKS X 9 DO 472 STEP 36 LAYER M3 ; TRACKS Y 9 DO 472 STEP 36 LAYER M3 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS Y 45 DO 63 STEP 270 LAYER M2 ; TRACKS Y 81 DO 63 STEP 270 LAYER M2 ; TRACKS Y 117 DO 63 STEP 270 LAYER M2 ; TRACKS Y 153 DO 63 STEP 270 LAYER M2 ; TRACKS Y 189 DO 63 STEP 270 LAYER M2 ; TRACKS Y 225 DO 63 STEP 270 LAYER M2 ; TRACKS Y 270 DO 62 STEP 270 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M1 ; TRACKS Y 9 DO 472 STEP 36 LAYER M1 ; VIAS 2 ; - via1_2_14904_18_1_414_36_36 + VIARULE M2_M1 + CUTSIZE 18 18 + LAYERS M1 V1 M2 + CUTSPACING 18 18 + ENCLOSURE 0 0 2 0 + ROWCOL 1 414 ; - via5_6_120_288_1_2_58_322 + VIARULE M6_M5widePWR1p152 + CUTSIZE 24 288 + LAYERS M5 V5 M6 + CUTSPACING 34 34 + ENCLOSURE 19 0 0 0 + ROWCOL 1 2 ; END VIAS COMPONENTS 5 ; - 0859 AND3x1_ASAP7_75t_R + PLACED ( 6150 11576 ) N ; - 0860 AND3x1_ASAP7_75t_R + PLACED ( 5199 12119 ) N ; - 0861 XNOR2x2_ASAP7_75t_R + PLACED ( 5005 12179 ) N ; - 0867 AO221x1_ASAP7_75t_R + PLACED ( 6689 10316 ) N ; - 0868 AND3x1_ASAP7_75t_R + PLACED ( 5518 12147 ) N ; END COMPONENTS NETS 5 ; - 0268 ( 0868 A ) ( 0859 A ) + USE SIGNAL ; - 0362 ( 0861 B ) ( 0860 Y ) + USE SIGNAL ; - 0363 ( 0868 B ) ( 0861 Y ) + USE SIGNAL ; - 0368 ( 0867 B1 ) + USE SIGNAL ; - 0369 ( 0868 C ) ( 0867 Y ) + USE SIGNAL ; END NETS END DESIGN

habibayassin avatar Jun 10 '24 22:06 habibayassin

final def after mangling:

VERSION 5.8 ; DIVIDERCHAR "/" ; BUSBITCHARS "[]" ; DESIGN uart ; UNITS DISTANCE MICRONS 1000 ; DIEAREA ( 0 0 ) ( 17000 17000 ) ; ROW ROW_0 asap7sc7p5t 1080 1080 N DO 276 BY 1 STEP 54 0 ; ROW ROW_1 asap7sc7p5t 1080 1350 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_2 asap7sc7p5t 1080 1620 N DO 276 BY 1 STEP 54 0 ; ROW ROW_3 asap7sc7p5t 1080 1890 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_4 asap7sc7p5t 1080 2160 N DO 276 BY 1 STEP 54 0 ; ROW ROW_5 asap7sc7p5t 1080 2430 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_6 asap7sc7p5t 1080 2700 N DO 276 BY 1 STEP 54 0 ; ROW ROW_7 asap7sc7p5t 1080 2970 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_8 asap7sc7p5t 1080 3240 N DO 276 BY 1 STEP 54 0 ; ROW ROW_9 asap7sc7p5t 1080 3510 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_10 asap7sc7p5t 1080 3780 N DO 276 BY 1 STEP 54 0 ; ROW ROW_11 asap7sc7p5t 1080 4050 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_12 asap7sc7p5t 1080 4320 N DO 276 BY 1 STEP 54 0 ; ROW ROW_13 asap7sc7p5t 1080 4590 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_14 asap7sc7p5t 1080 4860 N DO 276 BY 1 STEP 54 0 ; ROW ROW_15 asap7sc7p5t 1080 5130 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_16 asap7sc7p5t 1080 5400 N DO 276 BY 1 STEP 54 0 ; ROW ROW_17 asap7sc7p5t 1080 5670 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_18 asap7sc7p5t 1080 5940 N DO 276 BY 1 STEP 54 0 ; ROW ROW_19 asap7sc7p5t 1080 6210 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_20 asap7sc7p5t 1080 6480 N DO 276 BY 1 STEP 54 0 ; ROW ROW_21 asap7sc7p5t 1080 6750 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_22 asap7sc7p5t 1080 7020 N DO 276 BY 1 STEP 54 0 ; ROW ROW_23 asap7sc7p5t 1080 7290 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_24 asap7sc7p5t 1080 7560 N DO 276 BY 1 STEP 54 0 ; ROW ROW_25 asap7sc7p5t 1080 7830 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_26 asap7sc7p5t 1080 8100 N DO 276 BY 1 STEP 54 0 ; ROW ROW_27 asap7sc7p5t 1080 8370 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_28 asap7sc7p5t 1080 8640 N DO 276 BY 1 STEP 54 0 ; ROW ROW_29 asap7sc7p5t 1080 8910 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_30 asap7sc7p5t 1080 9180 N DO 276 BY 1 STEP 54 0 ; ROW ROW_31 asap7sc7p5t 1080 9450 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_32 asap7sc7p5t 1080 9720 N DO 276 BY 1 STEP 54 0 ; ROW ROW_33 asap7sc7p5t 1080 9990 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_34 asap7sc7p5t 1080 10260 N DO 276 BY 1 STEP 54 0 ; ROW ROW_35 asap7sc7p5t 1080 10530 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_36 asap7sc7p5t 1080 10800 N DO 276 BY 1 STEP 54 0 ; ROW ROW_37 asap7sc7p5t 1080 11070 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_38 asap7sc7p5t 1080 11340 N DO 276 BY 1 STEP 54 0 ; ROW ROW_39 asap7sc7p5t 1080 11610 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_40 asap7sc7p5t 1080 11880 N DO 276 BY 1 STEP 54 0 ; ROW ROW_41 asap7sc7p5t 1080 12150 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_42 asap7sc7p5t 1080 12420 N DO 276 BY 1 STEP 54 0 ; ROW ROW_43 asap7sc7p5t 1080 12690 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_44 asap7sc7p5t 1080 12960 N DO 276 BY 1 STEP 54 0 ; ROW ROW_45 asap7sc7p5t 1080 13230 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_46 asap7sc7p5t 1080 13500 N DO 276 BY 1 STEP 54 0 ; ROW ROW_47 asap7sc7p5t 1080 13770 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_48 asap7sc7p5t 1080 14040 N DO 276 BY 1 STEP 54 0 ; ROW ROW_49 asap7sc7p5t 1080 14310 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_50 asap7sc7p5t 1080 14580 N DO 276 BY 1 STEP 54 0 ; ROW ROW_51 asap7sc7p5t 1080 14850 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_52 asap7sc7p5t 1080 15120 N DO 276 BY 1 STEP 54 0 ; ROW ROW_53 asap7sc7p5t 1080 15390 FS DO 276 BY 1 STEP 54 0 ; ROW ROW_54 asap7sc7p5t 1080 15660 N DO 276 BY 1 STEP 54 0 ; TRACKS X 116 DO 211 STEP 80 LAYER Pad ; TRACKS Y 116 DO 211 STEP 80 LAYER Pad ; TRACKS X 116 DO 211 STEP 80 LAYER M9 ; TRACKS Y 116 DO 211 STEP 80 LAYER M9 ; TRACKS X 116 DO 211 STEP 80 LAYER M8 ; TRACKS Y 116 DO 211 STEP 80 LAYER M8 ; TRACKS X 16 DO 266 STEP 64 LAYER M7 ; TRACKS Y 16 DO 266 STEP 64 LAYER M7 ; TRACKS X 60 DO 353 STEP 48 LAYER M6 ; TRACKS Y 16 DO 266 STEP 64 LAYER M6 ; TRACKS X 12 DO 354 STEP 48 LAYER M5 ; TRACKS Y 12 DO 354 STEP 48 LAYER M5 ; TRACKS X 45 DO 471 STEP 36 LAYER M4 ; TRACKS Y 12 DO 354 STEP 48 LAYER M4 ; TRACKS X 9 DO 472 STEP 36 LAYER M3 ; TRACKS Y 9 DO 472 STEP 36 LAYER M3 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M2 ; TRACKS Y 45 DO 63 STEP 270 LAYER M2 ; TRACKS Y 81 DO 63 STEP 270 LAYER M2 ; TRACKS Y 117 DO 63 STEP 270 LAYER M2 ; TRACKS Y 153 DO 63 STEP 270 LAYER M2 ; TRACKS Y 189 DO 63 STEP 270 LAYER M2 ; TRACKS Y 225 DO 63 STEP 270 LAYER M2 ; TRACKS Y 270 DO 62 STEP 270 LAYER M2 ; TRACKS X 9 DO 472 STEP 36 LAYER M1 ; TRACKS Y 9 DO 472 STEP 36 LAYER M1 ; VIAS 2 ; - via1_2_14904_18_1_414_36_36 + VIARULE M2_M1 + CUTSIZE 18 18 + LAYERS M1 V1 M2 + CUTSPACING 18 18 + ENCLOSURE 0 0 2 0 + ROWCOL 1 414 ; - via5_6_120_288_1_2_58_322 + VIARULE M6_M5widePWR1p152 + CUTSIZE 24 288 + LAYERS M5 V5 M6 + CUTSPACING 34 34 + ENCLOSURE 19 0 0 0 + ROWCOL 1 2 ; END VIAS COMPONENTS 5 ; - element1 AND3x1_ASAP7_75t_R + PLACED ( 6150 11576 ) N ; - element2 AND3x1_ASAP7_75t_R + PLACED ( 5199 12119 ) N ; - element3 XNOR2x2_ASAP7_75t_R + PLACED ( 5005 12179 ) N ; - element4 AO221x1_ASAP7_75t_R + PLACED ( 6689 10316 ) N ; - element5 AND3x1_ASAP7_75t_R + PLACED ( 5518 12147 ) N ; END COMPONENTS NETS 5 ; - net1 ( element5 A ) ( element1 A ) + USE SIGNAL ; - net2 ( element3 B ) ( element2 Y ) + USE SIGNAL ; - net3 ( element5 B ) ( element3 Y ) + USE SIGNAL ; - net4 ( element4 B1 ) + USE SIGNAL ; - net5 ( element5 C ) ( element4 Y ) + USE SIGNAL ; END NETS END DESIGN

habibayassin avatar Jun 10 '24 22:06 habibayassin

Also make sure the unittest w mocking is hooked up to CI and still works

oharboe avatar Jun 11 '24 14:06 oharboe

@oharboe do you think we need to mangle the name of the PDK from the final def file?

habibayassin avatar Jun 22 '24 19:06 habibayassin

If the PDK is under NDA, then renaming it is not going to do anything...

@maliberty ?

oharboe avatar Jun 22 '24 21:06 oharboe

My impression is that the goal here is more to limit how much data is handed off between orgs, even under NDA. I don't expect we will be able to fully automate a process to reduce a test case to a publicly releasable form from a private PDK. If so, renaming the PDK is not important.

maliberty avatar Jun 23 '24 00:06 maliberty

Also make sure the unittest w mocking is hooked up to CI and still works

@oharboe are you referring to the one in ORFS? currently, the test in the ci is failing here because OpenROAD needed to be updated

habibayassin avatar Jul 01 '24 19:07 habibayassin

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jul 01 '24 19:07 github-actions[bot]

@habibayassin @maliberty Make sure this test is hooked up to CI https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/etc/test_deltaDebug.py

oharboe avatar Jul 02 '24 06:07 oharboe

@habibayassin @maliberty Make sure this test is hooked up to CI https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/etc/test_deltaDebug.py

@vvbandeira

habibayassin avatar Jul 28 '24 23:07 habibayassin

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jul 28 '24 23:07 github-actions[bot]

@maliberty @vvbandeira FYI Checking if CI tests are running on delta debug.

These should both fail, or CI is not hooked up.

https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/2207 https://github.com/The-OpenROAD-Project/OpenROAD/pull/5483

oharboe avatar Jul 30 '24 18:07 oharboe

@vvbandeira @maliberty Also waiting to see if CI catches this error https://github.com/The-OpenROAD-Project/OpenROAD/pull/5485

oharboe avatar Jul 31 '24 06:07 oharboe