|
OpenASIP 2.2
|
#include <HDLGenerator.hh>


Public Member Functions | |
| Module (std::string name) | |
| Module (ipxact::ModuleInfo info, int id) | |
| void | set_header () |
| void | set_prefix (std::string prefix) |
| Module & | operator<< (Behaviour &rhs) |
| Module & | operator<< (Behaviour &&rhs) |
| Module & | operator<< (Port &&port) |
| Module & | operator<< (Parameter &¶m) |
| Module & | operator<< (IntegerConstant &&constant) |
| Module & | operator<< (BinaryConstant &&constant) |
| Module & | operator<< (Wire &&wire) |
| Module & | operator<< (Register &®) |
| Module & | operator<< (Register ®) |
| Module & | operator<< (Option &&opt) |
| Module & | operator<< (Module &&rhs) |
| Module & | operator<< (Module &rhs) |
| void | build () final |
| void | appendToHeader (const std::string &line) |
| virtual bool | isRegister (const std::string &name) final |
| virtual bool | isConstant (const std::string &name) final |
| virtual bool | isVariable (const std::string &name) final |
| void | registerVariable (const std::shared_ptr< Variable > var) |
| Width | width (const std::string &name) final |
| WireType | wireType (const std::string &name) final |
| void | reads (const std::string &var) final |
| void | writes (const std::string &var) final |
| void | declare (std::ostream &stream, Language lang, int level) |
| void | instantiate (std::ostream &stream, Language lang, int level) |
| void | implement (std::ostream &stream, Language lang, int level=0) |
| bool | hasOption (const std::string &var) final |
| Register & | getRegister (const std::string &var) final |
Public Member Functions inherited from HDLGenerator::Generatable | |
| Generatable (std::string name) | |
| virtual | ~Generatable ()=default |
| virtual void | reads (const LHSValue &var) |
| int | integerWidth (const std::string &name) |
| virtual Width | width () |
| virtual WireType | wireType () const |
| virtual void | hdl (std::ostream &stream, Language lang, int indent) |
| virtual void | hdl (std::ostream &stream, Language lang) |
| virtual void | implementAll (std::ostream &stream, Language lang) |
| virtual void | implementAll (std::ostream &stream, Language lang, int indent) |
| template<typename Func > | |
| void | forAll (Func func) |
| template<typename Type , typename Func > | |
| void | forAll (Func func) |
| template<class Type > | |
| bool | parentIs () |
| template<class Type > | |
| Type * | parentType () |
| void | pushComponent (std::shared_ptr< Generatable > c) |
| template<class Component > | |
| void | addComponent (Component c) |
| const std::string & | name () const noexcept |
| void | setParent (Generatable *parent) noexcept |
| Generatable * | parent () const noexcept |
Private Member Functions | |
| void | clear () |
Private Attributes | |
| int | id_ = 0 |
| std::string | prefix_ |
| std::unordered_set< std::string > | options_ |
| std::vector< std::string > | headerComment_ |
| std::vector< Parameter > | parameters_ |
| std::vector< Port > | ports_ |
| std::vector< IntegerConstant > | constants_ |
| std::vector< BinaryConstant > | binaryConstants_ |
| std::vector< std::shared_ptr< Wire > > | wires_ |
| std::vector< Register > | registers_ |
| std::vector< std::shared_ptr< Variable > > | variables_ |
| std::vector< std::shared_ptr< Behaviour > > | behaviours_ |
| std::vector< Module > | modules_ |
Entity/module.
Definition at line 1164 of file HDLGenerator.hh.
|
inline |
Definition at line 1166 of file HDLGenerator.hh.
References set_header().

|
inline |
Definition at line 1170 of file HDLGenerator.hh.
References id_, HDLGenerator::In, HDLGenerator::Generatable::name(), HDLGenerator::Out, ipxact::ModuleInfo::parameters, parameters_, ipxact::ModuleInfo::ports, and set_header().

|
inline |
Definition at line 1278 of file HDLGenerator.hh.
References headerComment_.
Referenced by FUGen::createFUHeaderComment().
|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1271 of file HDLGenerator.hh.
References behaviours_.
Referenced by implement().
|
inlineprivate |
Definition at line 1674 of file HDLGenerator.hh.
References registers_, and variables_.
Referenced by implement().
|
inline |
Definition at line 1383 of file HDLGenerator.hh.
References StringTools::indent(), HDLGenerator::Generatable::name(), parameters_, ports_, HDLGenerator::Verilog, and HDLGenerator::VHDL.

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1664 of file HDLGenerator.hh.
References registers_.
|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1659 of file HDLGenerator.hh.
References options_.
|
inline |
Definition at line 1481 of file HDLGenerator.hh.
References behaviours_, binaryConstants_, build(), clear(), constants_, headerComment_, StringTools::indent(), modules_, HDLGenerator::Generatable::name(), parameters_, ports_, registers_, variables_, HDLGenerator::Verilog, HDLGenerator::VHDL, and wires_.
Referenced by FUGen::createImplementationFiles().

|
inline |
Definition at line 1418 of file HDLGenerator.hh.
References id_, StringTools::indent(), HDLGenerator::Generatable::name(), parameters_, ports_, prefix_, HDLGenerator::Verilog, and HDLGenerator::VHDL.

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1291 of file HDLGenerator.hh.
References binaryConstants_, constants_, and HDLGenerator::Generatable::name().

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1282 of file HDLGenerator.hh.
References HDLGenerator::Generatable::name(), and registers_.

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1305 of file HDLGenerator.hh.
References HDLGenerator::Generatable::name(), and variables_.

Definition at line 1216 of file HDLGenerator.hh.
References behaviours_.
Definition at line 1211 of file HDLGenerator.hh.
References behaviours_.
|
inline |
Definition at line 1236 of file HDLGenerator.hh.
References binaryConstants_.
|
inline |
Definition at line 1231 of file HDLGenerator.hh.
References constants_.
Definition at line 1261 of file HDLGenerator.hh.
References modules_.
Definition at line 1266 of file HDLGenerator.hh.
References modules_.
Definition at line 1256 of file HDLGenerator.hh.
References options_.
Definition at line 1226 of file HDLGenerator.hh.
References parameters_.
Definition at line 1221 of file HDLGenerator.hh.
References ports_.
Definition at line 1246 of file HDLGenerator.hh.
References registers_.
Definition at line 1251 of file HDLGenerator.hh.
References registers_.
Definition at line 1241 of file HDLGenerator.hh.
References wires_.
|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1379 of file HDLGenerator.hh.
|
inline |
Definition at line 1314 of file HDLGenerator.hh.
References variables_.
|
inline |
Definition at line 1188 of file HDLGenerator.hh.
References LicenseGenerator::generateMITLicense(), headerComment_, and TCEString::split().
Referenced by Module(), and Module().

|
inline |
Definition at line 1207 of file HDLGenerator.hh.
References prefix_.
Referenced by FUGen::createOperationResources().
|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1324 of file HDLGenerator.hh.
References constants_, HDLGenerator::Generatable::name(), parameters_, ports_, registers_, variables_, and wires_.

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1359 of file HDLGenerator.hh.
References HDLGenerator::Generatable::name(), ports_, variables_, and wires_.

|
inlinefinalvirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1381 of file HDLGenerator.hh.
|
private |
Definition at line 1695 of file HDLGenerator.hh.
Referenced by build(), implement(), operator<<(), and operator<<().
|
private |
Definition at line 1691 of file HDLGenerator.hh.
Referenced by implement(), isConstant(), and operator<<().
|
private |
Definition at line 1690 of file HDLGenerator.hh.
Referenced by implement(), isConstant(), operator<<(), and width().
|
private |
Definition at line 1687 of file HDLGenerator.hh.
Referenced by appendToHeader(), implement(), and set_header().
|
private |
Definition at line 1684 of file HDLGenerator.hh.
Referenced by instantiate(), and Module().
|
private |
Definition at line 1696 of file HDLGenerator.hh.
Referenced by implement(), operator<<(), and operator<<().
|
private |
Definition at line 1686 of file HDLGenerator.hh.
Referenced by hasOption(), and operator<<().
|
private |
Definition at line 1688 of file HDLGenerator.hh.
Referenced by declare(), implement(), instantiate(), Module(), operator<<(), and width().
|
private |
Definition at line 1689 of file HDLGenerator.hh.
Referenced by declare(), implement(), instantiate(), operator<<(), width(), and wireType().
|
private |
Definition at line 1685 of file HDLGenerator.hh.
Referenced by instantiate(), and set_prefix().
|
private |
Definition at line 1693 of file HDLGenerator.hh.
Referenced by clear(), getRegister(), implement(), isRegister(), operator<<(), operator<<(), and width().
|
private |
Definition at line 1694 of file HDLGenerator.hh.
Referenced by clear(), implement(), isVariable(), registerVariable(), width(), and wireType().
|
private |
Definition at line 1692 of file HDLGenerator.hh.
Referenced by implement(), operator<<(), width(), and wireType().