To support hardware provenance, SiliconCompiler supports automated tracking of a number of execution and place of origin related parameters. SiliconCompiler will record the SiliconCompiler version, tool version and options, and task start and end times by default. Additional tracking is off by default in SiliconCompiler, but can be turned on with the ['option', 'track'] parameter.

chip.set('option', 'track', True)

This will enable tracking of the user and machine information, which may be considered sensitive, so please use caution when enabling all tracking.

Records are kept on a per step, and index basis. Records must be stored for each task in the flowgraph to ensure unbroken traceability from the beginning to the end in the chain of custody.



['record', 'userid']

Record: userid

['record', 'publickey']

Record: public key

['record', 'machine']

Record: machine name

['record', 'macaddr']

Record: MAC address

['record', 'ipaddr']

Record: IP address

['record', 'platform']

Record: platform name

['record', 'distro']

Record: distro name

['record', 'arch']

Record: hardware architecture

['record', 'starttime']

Record: start time

['record', 'endtime']

Record: end time

['record', 'region']

Record: cloud region

['record', 'scversion']

Record: software version

['record', 'toolversion']

Record: tool version

['record', 'toolpath']

Record: tool path

['record', 'toolargs']

Record: tool CLI arguments

['record', 'osversion']

Record: O/S version

['record', 'kernelversion']

Record: O/S kernel version

['record', 'remoteid']

Record: remote job ID