Open hzeller opened 1 month ago
This is now simplified in a way that all simulation inputs take a --testvector_textproto
which is of type xls::testvector::SampleInputsProto
. The --args/--args_file/--channel_file flags are still supported for now, but they are not used anymore by the fuzzer, so possibly clean to remove.
Nexs steps
xls::testvector::SampleInputsProto
with xls::ProcChannelValuesProto
to just have one proto representing the data; will require changing the existing crasher*.x as they contain a SampleInputsProto
This is something to simplify.
Currently, there are two types of serializations used to represent test vectors to simulation
eval_proc_main
,eval_ir_main
andsimulate_module_main
use function data serialized as strings (in the args file),and similar for channel data ('channel values file'). These is essentially an ad-hoc serialization format.The fuzzer runner then reads these, and converts into the other serialization format needed for the evaluators. This works,but it makes it harder to add additional information (I am currently looking into adding valid holdoff fuzzing), as that then has to be added to the proto, but also to the ad-hoc serialization.
The proto describing the input data should be broken out of the fuzzer context, made to be a serialization of test vectors (like before, but proto lives somewhere differently), then used in the fuzzer but as well in the evaluators/simulators.