PandA-2024.02
|
superclass include More...
#include <xilinx_taste_backend_flow.hpp>
Public Member Functions | |
XilinxTasteBackendFlow (const ParameterConstRef ¶meters, const std::string &flow_name, const generic_deviceRef _device) | |
Constructor. More... | |
std::string | GenerateSynthesisScripts (const std::string &fu_name, const structural_managerRef SM, const std::list< std::string > &hdl_files, const std::list< std::string > &aux_files) override |
Generates the synthesis scripts for the specified design. More... | |
Public Member Functions inherited from XilinxBackendFlow | |
XilinxBackendFlow (const ParameterConstRef Param, const std::string &flow_name, const generic_deviceRef _device) | |
Constructor. More... | |
~XilinxBackendFlow () override | |
Destructor. More... | |
void | InitDesignParameters () override |
Initializes the parameters. More... | |
void | ExecuteSynthesis () override |
Checks if the execution can be performed and, in case, performs the synthesis. More... | |
Public Member Functions inherited from BackendFlow | |
BackendFlow (const ParameterConstRef Param, std::string flow_name, const generic_deviceRef _device) | |
Constructor. More... | |
virtual | ~BackendFlow () |
Destructor. More... | |
void | Execute (const std::string &top_id, const std::string &top_normalized, const std::string &filestring, const std::string &filename_bench, const std::string &clock, double clk_period, bool syntax_check) |
Executes the synthesis with the implemented flow. More... | |
std::string | CreateScripts (const DesignParametersRef dp) |
Creates the scripts for the specified tools in the right order, along with the overall configuration. More... | |
void | parse_flow (const XMLDomParserRef parser) |
Creates the synthesis flow based on the user's requirements. More... | |
void | create_xml_scripts (const std::string &xml_file) |
Creates the XML script containing all the steps. More... | |
void | add_backend_step (const BackendStepRef &step) |
Adds a backend step to the list of the ones to be performed. More... | |
std::string | get_flow_name () const |
Returns the name of the flow. More... | |
void | set_initial_parameters (const DesignParametersRef &flow_parameters, const CustomOrderedSet< std::string > &undefined_parameters) |
Sets parameters. More... | |
void | set_parameters (const DesignParametersRef &_flow_parameters) |
Sets actual parameters. More... | |
area_infoRef | get_used_resources () const |
Returns the list of used resources. More... | |
time_infoRef | get_timing_results () const |
Returns the timing information. More... | |
Protected Member Functions | |
void | create_cf (const DesignParametersRef dp, bool xst) override |
Creates the UCF file. More... | |
Protected Member Functions inherited from XilinxBackendFlow | |
void | WriteFlowConfiguration (std::ostream &script) override |
Writes the proper flow configuration in the output script. More... | |
void | CheckSynthesisResults () override |
Checks the synthesis results and fills the corresponding data-structures. More... | |
void | xparse_xst_utilization (const std::string &fn) |
Parses the utilization file in XML format. More... | |
void | parse_DSPs (const std::string &log_file) |
retrieve the number of DSPs from the xst log More... | |
void | xparse_map_utilization (const std::string &fn) |
Parses the utilization file in XML format. More... | |
void | vivado_xparse_utilization (const std::string &fn) |
parse vivado results More... | |
void | xparse_timing (const std::string &fn) |
Fixed the parsing of timing results from trce. More... | |
void | parse_timing (const std::string &log_file) |
Fixed the parsing of timing results from xst. More... | |
Protected Member Functions inherited from BackendFlow | |
void | ParseBackendFlow (const std::string &flow_name) |
Parses the description of the backend flow given its identifier. More... | |
void | xload (const xml_element *node) |
Loads the backend flow from an XML node. More... | |
Additional Inherited Members | |
Public Types inherited from BackendFlow | |
using | type_t = enum { UNKNOWN, XILINX_FPGA, ALTERA_FPGA, LATTICE_FPGA, NANOXPLORE_FPGA, GENERIC, } |
implemented flow More... | |
Static Public Member Functions inherited from BackendFlow | |
static BackendFlowRef | CreateFlow (const ParameterConstRef Param, const std::string &flow_name, const generic_deviceRef _device) |
Creates the flow specification based on the given parameters. More... | |
static type_t | DetermineBackendFlowType (const generic_deviceRef device, const ParameterConstRef parameters) |
Determines the type of the backend flow based on the target device. More... | |
Protected Attributes inherited from XilinxBackendFlow | |
std::map< std::string, double > | design_values |
results from the synthesis More... | |
Protected Attributes inherited from BackendFlow | |
const ParameterConstRef | Param |
class containing all the parameters More... | |
int | debug_level |
debugging level of the class More... | |
unsigned int | output_level |
verbosity level of the class More... | |
std::string | flow_name |
string-based identifier of the flow More... | |
std::string | out_dir |
name of the output directory More... | |
std::map< std::string, std::string > | default_data |
map between the identifiers of the synthesis flows and the corresponding implementations More... | |
const generic_deviceRef | device |
information about the target device More... | |
xml_element * | root |
root node of the configuration device More... | |
area_infoRef | area_m |
pointer to the data structure containing information about the resources More... | |
time_infoRef | time_m |
pointer to the data structure containing timing information More... | |
std::vector< BackendStepRef > | steps |
ordered list of synthesis steps More... | |
DesignParametersRef | default_flow_parameters |
set of design parameters to be set More... | |
CustomOrderedSet< std::string > | undefined_parameters |
list of undefined parameters More... | |
DesignParametersRef | actual_parameters |
set of design parameters with the actual values More... | |
std::string | generated_synthesis_script |
name of the synthesis script More... | |
superclass include
Definition at line 46 of file xilinx_taste_backend_flow.hpp.
XilinxTasteBackendFlow::XilinxTasteBackendFlow | ( | const ParameterConstRef & | parameters, |
const std::string & | flow_name, | ||
const generic_deviceRef | _device | ||
) |
Constructor.
parameters | is the set of input parameters |
flow_name | is the name of the create flow |
manager | is the target manager |
Definition at line 56 of file xilinx_taste_backend_flow.cpp.
References BackendFlow::debug_level, and GET_CLASS.
|
overrideprotectedvirtual |
Creates the UCF file.
Reimplemented from XilinxBackendFlow.
Definition at line 194 of file xilinx_taste_backend_flow.cpp.
References DesignParameters::component_name, PARAM_ucf_file, PARAM_xcf_file, DesignParameters::parameter_values, and UCF_SUBDIR.
|
overridevirtual |
Generates the synthesis scripts for the specified design.
Copying GRLIB
Modifying xst project adding grlib files
Reimplemented from BackendFlow.
Definition at line 63 of file xilinx_taste_backend_flow.cpp.
References BackendFlow::actual_parameters, DesignParameters::chain_name, CLOCK_PORT_NAME, DesignParameters::component_name, BackendFlow::CreateScripts(), BackendFlow::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, BackendFlow::device, BackendFlow::flow_name, GetCurrentPath(), GetPath(), INDENT_DBG_MEX, XilinxBackendFlow::InitDesignParameters(), IsError(), PandaSystem(), BackendFlow::Param, PARAM_backend_script_extensions, PARAM_clk_name, PARAM_connect_iob, PARAM_has_script_extensions, PARAM_has_VHDL_library, PARAM_HDL_files, PARAM_is_combinational, PARAM_time_constrained, PARAM_top_id, PARAM_VHDL_library, PARAM_xst_prj_file, DesignParameters::parameter_values, relocate_compiler_path(), STR, and THROW_ERROR.