Add ports to component declarations
This commit is contained in:
parent
191187ed1b
commit
f6753a9013
|
|
@ -279,6 +279,8 @@ vhdl_component_decl *vhdl_component_decl::component_decl_for(const vhdl_entity *
|
||||||
vhdl_component_decl *decl = new vhdl_component_decl
|
vhdl_component_decl *decl = new vhdl_component_decl
|
||||||
(ent->get_name().c_str());
|
(ent->get_name().c_str());
|
||||||
|
|
||||||
|
decl->ports_ = ent->get_ports();
|
||||||
|
|
||||||
return decl;
|
return decl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -286,7 +288,14 @@ void vhdl_component_decl::emit(std::ofstream &of, int level) const
|
||||||
{
|
{
|
||||||
emit_comment(of, level);
|
emit_comment(of, level);
|
||||||
of << "component " << name_ << " is";
|
of << "component " << name_ << " is";
|
||||||
// ...ports...
|
|
||||||
|
if (ports_.size() > 0) {
|
||||||
|
newline(of, indent(level));
|
||||||
|
of << "port (";
|
||||||
|
emit_children<vhdl_decl>(of, ports_, indent(level), ";");
|
||||||
|
of << ");";
|
||||||
|
}
|
||||||
|
|
||||||
newline(of, level);
|
newline(of, level);
|
||||||
of << "end component;";
|
of << "end component;";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -302,7 +302,7 @@ public:
|
||||||
private:
|
private:
|
||||||
vhdl_component_decl(const char *name);
|
vhdl_component_decl(const char *name);
|
||||||
|
|
||||||
// TODO: Ports, etc.
|
decl_list_t ports_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -429,6 +429,7 @@ public:
|
||||||
void add_port(vhdl_port_decl *decl);
|
void add_port(vhdl_port_decl *decl);
|
||||||
vhdl_arch *get_arch() const { return arch_; }
|
vhdl_arch *get_arch() const { return arch_; }
|
||||||
vhdl_decl *get_decl(const std::string &name) const;
|
vhdl_decl *get_decl(const std::string &name) const;
|
||||||
|
const decl_list_t &get_ports() const { return ports_; }
|
||||||
const std::string &get_name() const { return name_; }
|
const std::string &get_name() const { return name_; }
|
||||||
void requires_package(const char *spec);
|
void requires_package(const char *spec);
|
||||||
const std::string &get_derived_from() const { return derived_from_; }
|
const std::string &get_derived_from() const { return derived_from_; }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue