Added the DRC rules checks to the GRAMM code based on the current masters. The following is the list of the changes completed in detail:
DRC rules are added as described in Issue #10. These DRC rules are described in DRC.h and DRC.cpp files. Note that this is an active issue as more mandatory DRC can be added later on.
Variable names in the dotVertex and edgeProperty structs were renamed to indicate if the respective variable in the struct is related to application DFG or the device model graph. This is done to ensure consistency among the variable naming and remove any ambiguity that may have been introduced
Added the edge weight in the EdgeProperty struct instead of using the typedef boost::property<boost::edge_weight_t, int> EdgeWeightProperty;. This change was executed to ensure that GRAMM code can use Boost algorithms in future development. However, one drawback is that we will need to manually define the edge weight unlike before.
Added checks to verify if the users have inputted the mandatory and optional DFG attributes for the Application DFG and Device model graph respectively. In doing so, all the variables in the dotVertex and edgeProperty structs are converted to strings. This allows the DRC to verify if any properties are missing as the string will be empty. However, some properties have floating or integer values, hence, users will need to convert the strings to floating/integer variables when getting these properties. Do note that if the string is empty, users must not covert these strings to floating/integer variables
Added a DRC timestep to calculate the execution time for the DRC code
@ombhilare999 Could you verify everything is okay so we can push to master
Added the DRC rules checks to the GRAMM code based on the current masters. The following is the list of the changes completed in detail:
typedef boost::property<boost::edge_weight_t, int> EdgeWeightProperty;
. This change was executed to ensure that GRAMM code can use Boost algorithms in future development. However, one drawback is that we will need to manually define the edge weight unlike before.@ombhilare999 Could you verify everything is okay so we can push to master