PandA-2024.02
|
Main class for wrapping vivado_flow tool by XILINX. More...
#include <vivado_flow_wrapper.hpp>
Public Member Functions | |
vivado_flow_wrapper (const ParameterConstRef &Param, const std::string &_output_dir, const generic_deviceRef &_device) | |
Constructor. More... | |
~vivado_flow_wrapper () override | |
Destructor. More... | |
Public Member Functions inherited from XilinxWrapper | |
XilinxWrapper (const ParameterConstRef &Param, const std::string &tool_exec, const generic_deviceRef &device, const std::string &_output_dir, const std::string &_default_output_dir) | |
Constructor. More... | |
~XilinxWrapper () override | |
Destructor. More... | |
void | generate_synthesis_script (const DesignParametersRef &dp, const std::string &file_name) override |
Creates the proper configuration script. More... | |
std::string | toString (const xml_script_node_tRef node, const DesignParametersRef dp) const override |
Returns the string-based representation of the XML element. More... | |
std::string | getStringValue (const xml_script_node_tRef node, const DesignParametersRef &dp) const override |
Returns the string-based representation of the XML element. More... | |
Public Member Functions inherited from SynthesisTool | |
SynthesisTool (const ParameterConstRef &Param, std::string tool_exec, const generic_deviceRef &device, const std::string &_flow_name, std::string default_output_dir) | |
Constructor. More... | |
virtual | ~SynthesisTool () |
Destructor. More... | |
virtual void | CheckExecution () |
Check if the tool can be really executed; i.e., it has been properly configured. More... | |
std::string | get_output_directory () const |
Returns the path of the output directory. More... | |
std::string | generate_bare_script (const std::vector< xml_script_node_tRef > &nodes, const DesignParametersRef &dp) |
xml_set_variable_tRef | get_reserved_parameter (const std::string &name) |
Gets a reserved (tool) parameter by name. More... | |
void | replace_parameters (const DesignParametersRef &dp, std::string &script) const |
Replaces occurrences of parameters inside a script. More... | |
void | xload_scripts (const xml_element *child) |
Actual parsing of parameters and script nodes. More... | |
void | xload (const xml_element *node, const std::string &tool_config) |
Method parsing the configuration file directly from an XML node. More... | |
xml_nodeRef | xwrite () const |
Method writing the configuration file. More... | |
bool | has_scripts () const |
Checks if there is a configuration script loaded. More... | |
virtual std::string | get_tool_exec () const |
Returns the name of the tool executable. More... | |
Protected Member Functions | |
void | EvaluateVariables (const DesignParametersRef dp) override |
Evaluates the design variables. More... | |
std::string | get_command_line (const DesignParametersRef &dp) const override |
Returns the proper command line. More... | |
Protected Member Functions inherited from SynthesisTool | |
void | create_output_directory (const std::string &sub_dir) |
Creates the directory to store the output files. More... | |
virtual void | init_reserved_vars () |
Initializes the reserved variables. More... | |
Private Member Functions | |
void | create_sdc (const DesignParametersRef &dp) |
Additional Inherited Members | |
Public Types inherited from SynthesisTool | |
using | type_t = enum { UNKNOWN=0, XST, NGDBUILD, MAP, PAR, TRCE, VIVADO_FLOW, QUARTUS_13_FLOW, QUARTUS_13_SETUP, QUARTUS_13_STA, QUARTUS_SETUP, QUARTUS_FLOW, QUARTUS_POW, QUARTUS_STA, LATTICE_FLOW, NXPYTHON_FLOW, BASH_FLOW } |
supported synthesis tools More... | |
Static Public Member Functions inherited from SynthesisTool | |
static SynthesisToolRef | create_synthesis_tool (type_t type, const ParameterConstRef &Param, const std::string &output_dir, const generic_deviceRef &device) |
Factory method. More... | |
Protected Attributes inherited from SynthesisTool | |
const generic_deviceRef | device |
class containing information about the target device More... | |
const ParameterConstRef | Param |
class containing all the parameters More... | |
int | debug_level |
debug level of the class More... | |
unsigned int | output_level |
verbosity level of the class More... | |
ToolManagerRef | tool |
utility class to manage the executable More... | |
const std::string | tool_exec |
name of the tool executable More... | |
std::string | output_dir |
the output directory More... | |
std::string | script_name |
name of the script More... | |
std::map< unsigned int, std::string > | script_map |
map between the identifier of the script and the corresponding stream More... | |
std::vector< xml_parameter_tRef > | xml_tool_options |
std::vector< xml_script_node_tRef > | xml_script_nodes |
std::vector< xml_set_variable_tRef > | xml_reserved_vars |
Main class for wrapping vivado_flow tool by XILINX.
Definition at line 56 of file vivado_flow_wrapper.hpp.
vivado_flow_wrapper::vivado_flow_wrapper | ( | const ParameterConstRef & | Param, |
const std::string & | _output_dir, | ||
const generic_deviceRef & | _device | ||
) |
Constructor.
Param | is the set of parameters |
Definition at line 57 of file vivado_flow_wrapper.cpp.
References SynthesisTool::debug_level, DEBUG_LEVEL_PEDANTIC, PRINT_DBG_MEX, and ~vivado_flow_wrapper().
|
overridedefault |
|
private |
Definition at line 76 of file vivado_flow_wrapper.cpp.
References DesignParameters::component_name, SynthesisTool::output_dir, SynthesisTool::Param, PARAM_clk_name, PARAM_clk_period, PARAM_connect_iob, PARAM_is_combinational, PARAM_sdc_file, and DesignParameters::parameter_values.
Referenced by EvaluateVariables().
|
overrideprotectedvirtual |
Evaluates the design variables.
Reimplemented from SynthesisTool.
Definition at line 67 of file vivado_flow_wrapper.cpp.
References DesignParameters::assign(), DesignParameters::component_name, create_sdc(), SynthesisTool::output_dir, PARAM_vivado_outdir, PARAM_vivado_report, PARAM_vivado_timing_report, and DesignParameters::parameter_values.
|
overrideprotectedvirtual |
Returns the proper command line.
Implements SynthesisTool.
Definition at line 107 of file vivado_flow_wrapper.cpp.
References SynthesisTool::get_tool_exec(), SynthesisTool::replace_parameters(), SynthesisTool::script_name, XilinxWrapper::toString(), symmetry::value, and SynthesisTool::xml_tool_options.