PandA-2024.02
generate_fu_list.hpp
Go to the documentation of this file.
1 /*
2  *
3  * _/_/_/ _/_/ _/ _/ _/_/_/ _/_/
4  * _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/
5  * _/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/
6  * _/ _/ _/ _/ _/ _/ _/ _/ _/
7  * _/ _/ _/ _/ _/ _/_/_/ _/ _/
8  *
9  * ***********************************************
10  * PandA Project
11  * URL: http://panda.dei.polimi.it
12  * Politecnico di Milano - DEIB
13  * System Architectures Group
14  * ***********************************************
15  * Copyright (C) 2015-2024 Politecnico di Milano
16  *
17  * This file is part of the PandA framework.
18  *
19  * The PandA framework is free software; you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation; either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program. If not, see <http://www.gnu.org/licenses/>.
31  *
32  */
40 #ifndef GENERATE_FU_LIST_HPP
41 #define GENERATE_FU_LIST_HPP
42 
43 #include "functional_unit_step.hpp"
44 #include "refcount.hpp"
45 #include "to_data_file_step.hpp"
46 
48 
50 {
51  private:
54 
57 
59  std::string component;
60 
62  std::string current_list;
63 
64  public:
71  GenerateFuList(const generic_deviceRef _device, const DesignFlowManagerConstRef design_flow_manager,
73 
78  DesignFlowStep_Status Exec() override;
79 
85  void ComputeRelationships(DesignFlowStepSet& relationship,
86  const DesignFlowStep::RelationshipType relationship_type) override;
87 
92  bool HasToBeExecuted() const override;
93 
98  std::string GetSignature() const override;
99 
104  std::string GetName() const override;
105 
109  DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory() const override;
110 
121  void AnalyzeCell(functional_unit* fu, const unsigned int prec, const std::vector<std::string>& portsize_parameters,
122  const size_t portsize_index, const std::vector<std::string>& pipe_parameters,
123  const size_t stage_index, const unsigned int constPort, const bool is_commutative,
124  size_t max_lut_size) override;
125 };
126 #endif
generic device description
std::string GetName() const override
Return the name of this design step.
GenerateFuList(const generic_deviceRef _device, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
The constructor.
void ComputeRelationships(DesignFlowStepSet &relationship, const DesignFlowStep::RelationshipType relationship_type) override
Compute the relationships of a step with other steps.
Base class for data backend.
CustomOrderedSet< std::string > components_to_be_characterized
The list of components to be added to the list; if the list is empty, all the components will be adde...
RelationshipType
The relationship type.
DesignFlowStep_Status Exec() override
Execute the step.
CustomOrderedSet< std::string > cells
The set of list of cells.
This class specifies the characteristic of a particular functional unit.
Abstract class to iterate over all the cells of a template.
std::string component
The current functional unit.
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
const ParameterConstRef parameters
Set of input parameters.
DesignFlowStep_Status
The status of a step.
void AnalyzeCell(functional_unit *fu, const unsigned int prec, const std::vector< std::string > &portsize_parameters, const size_t portsize_index, const std::vector< std::string > &pipe_parameters, const size_t stage_index, const unsigned int constPort, const bool is_commutative, size_t max_lut_size) override
Analyze the single cell.
Template definition of refcount.
DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory() const override
Return the factory to create this type of steps.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Definition: refcount.hpp:94
REF_FORWARD_DECL(generic_device)
std::string current_list
The current entry for list of functional units.
std::string GetSignature() const override
Return a unified identifier of this design step.
Step which loads device dependent technology information.

Generated on Mon Feb 12 2024 13:02:51 for PandA-2024.02 by doxygen 1.8.13