#!/usr/bin/env python
# -*- Python -*-

import spec

class SPEC2000_175_vpr(spec.TestModule):
    year = '2000'
    category = 'int'
    benchmark = '175.vpr'

    train_input_set = ['train/input/net.in', 'train/input/arch.in', 'train/input/place.in']
    train_output_set = ['train/output/place_log.out']
    train_args = ['net.in arch.in place.in dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 > 175.vpr.place.out 2> 175.vpr.place.err', 'net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 > 175.vpr.route.out 2> 175.vpr.route.err']
    train_cmp_cmds = ['diff 175.vpr.place.out place_log.out --strip-trailing-cr > 175.vpr.place.cmp']
    ref_input_set = ['ref/input/net.in', 'ref/input/arch.in', 'ref/input/place.in']
    ref_output_set = ['ref/output/place_log.out']
    ref_args = ['net.in arch.in place.in dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 > 175.vpr.place.out 2> 175.vpr.place.err', 'net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 > 175.vpr.route.out 2> 175.vpr.route.err']
    ref_cmp_cmds = ['diff 175.vpr.place.out place_log.out --strip-trailing-cr > 175.vpr.place.cmp']

# This is the only required entry point to the module.
test_class = SPEC2000_175_vpr

# This is not required, but allows users with LNT in the environment (required
# for initial imports to work) to execute this test directly.
if __name__ == '__main__':
    test_class().main()
