### sample testcase for circuit analysis ### sub sample_netlist_1 { %ALF_InstanceReference = ( 'cell0','sampleInv', 'cell1','sampleNand2', 'cell2','sampleInv', 'cell3','sampleInv' ); %ALF_InstanceConnect = ( 'cell0', &CreateAssoc( 'A','node0', 'Y','node2' ), 'cell1', &CreateAssoc( 'A','node2', 'B','node1', 'Y','node3' ), 'cell2', &CreateAssoc( 'A','node3', 'Y','node4' ), 'cell3', &CreateAssoc( 'A','node3', 'Y','node5' ), ); 1; } sub sample_constraint_1 { &ALF_CreateConstraint('node0','ARRIVAL','RISE',10); &ALF_CreateConstraint('node0','ARRIVAL','FALL',10); &ALF_CreateConstraint('node0','SLEWRATE','RISE',0.5); &ALF_CreateConstraint('node0','SLEWRATE','FALL',0.5); &ALF_CreateConstraint('node1','ARRIVAL','RISE',20); &ALF_CreateConstraint('node1','ARRIVAL','FALL',20); &ALF_CreateConstraint('node1','SLEWRATE','RISE',0.8); &ALF_CreateConstraint('node1','SLEWRATE','FALL',0.8); &ALF_CreateConstraint('node4','CAPACITANCE','RISE',0.1); &ALF_CreateConstraint('node4','CAPACITANCE','FALL',0.1); &ALF_CreateConstraint('node5','CAPACITANCE','RISE',0.2); &ALF_CreateConstraint('node5','CAPACITANCE','FALL',0.2); (); } sub constraint_early_late { &ALF_CreateConstraint('node0','ARRIVAL','RISE',10,'window','early'); &ALF_CreateConstraint('node0','ARRIVAL','FALL',10,'window','early'); &ALF_CreateConstraint('node0','SLEWRATE','RISE',0.5,'window','early'); &ALF_CreateConstraint('node0','SLEWRATE','FALL',0.5,'window','early'); &ALF_CreateConstraint('node1','ARRIVAL','RISE',20,'window','early'); &ALF_CreateConstraint('node1','ARRIVAL','FALL',20,'window','early'); &ALF_CreateConstraint('node1','SLEWRATE','RISE',0.8,'window','early'); &ALF_CreateConstraint('node1','SLEWRATE','FALL',0.8,'window','early'); &ALF_CreateConstraint('node0','ARRIVAL','RISE',15,'window','late'); &ALF_CreateConstraint('node0','ARRIVAL','FALL',15,'window','late'); &ALF_CreateConstraint('node0','SLEWRATE','RISE',0.3,'window','late'); &ALF_CreateConstraint('node0','SLEWRATE','FALL',0.3,'window','late'); &ALF_CreateConstraint('node1','ARRIVAL','RISE',25,'window','late'); &ALF_CreateConstraint('node1','ARRIVAL','FALL',25,'window','late'); &ALF_CreateConstraint('node1','SLEWRATE','RISE',0.4,'window','late'); &ALF_CreateConstraint('node1','SLEWRATE','FALL',0.4,'window','late'); &ALF_CreateConstraint('node4','CAPACITANCE','RISE',0.1); &ALF_CreateConstraint('node4','CAPACITANCE','FALL',0.1); &ALF_CreateConstraint('node5','CAPACITANCE','RISE',0.2); &ALF_CreateConstraint('node5','CAPACITANCE','FALL',0.2); ('window'); } sub sample_report_1 { local $method_list = &CreateArray ( 'minimum', 'maximum', ); local $modeltype_list = &CreateArray ( 'DELAY', 'ARRIVAL', 'ENERGY', ); ($method_list,$modeltype_list); } sub report_all_min { local $method_list = &CreateArray ( 'minimum', ); local $modeltype_list = &CreateArray ( 'DELAY', 'ARRIVAL', 'SLEWRATE', 'CAPACITANCE', 'ENERGY', ); ($method_list,$modeltype_list); } sub report_all_max { local $method_list = &CreateArray ( 'maximum', ); local $modeltype_list = &CreateArray ( 'DELAY', 'ARRIVAL', 'SLEWRATE', 'CAPACITANCE', 'ENERGY', ); ($method_list,$modeltype_list); } sub report_arrival_min { local $method_list = &CreateArray ( 'minimum', ); local $modeltype_list = &CreateArray ( 'DELAY', 'ARRIVAL', ); ($method_list,$modeltype_list); } sub report_arrival_max { local $method_list = &CreateArray ( 'maximum', ); local $modeltype_list = &CreateArray ( 'DELAY', 'ARRIVAL', ); ($method_list,$modeltype_list); } 1;