/******************************************************************** * Unit test functions to validate the correctness of * 1. parser of data structures * 2. writer of data structures *******************************************************************/ /* Headers from vtrutils */ #include "vtr_assert.h" #include "vtr_log.h" /* Headers from readarchopenfpga */ #include "check_circuit_library.h" #include "read_xml_openfpga_arch.h" #include "write_xml_openfpga_arch.h" int main(int argc, const char** argv) { /* Ensure we have only one or two argument */ VTR_ASSERT((2 == argc) || (3 == argc)); /* Parse the circuit library from an XML file */ const openfpga::Arch& openfpga_arch = read_xml_openfpga_arch(argv[1]); VTR_LOG("Parsed %lu circuit models from XML into circuit library.\n", openfpga_arch.circuit_lib.num_models()); /* Check the circuit library */ check_circuit_library(openfpga_arch.circuit_lib); /* Output the circuit library to an XML file * This is optional only used when there is a second argument */ if (3 <= argc) { write_xml_openfpga_arch(argv[2], openfpga_arch); VTR_LOG("Echo the OpenFPGA architecture to an XML file: %s.\n", argv[2]); } }