|
OpenASIP 2.2
|
#include <HDLGenerator.hh>


Public Member Functions | |
| Asynchronous (const std::string &name) | |
| template<typename SS > | |
| Asynchronous & | operator<< (SS op) |
| template<typename Var > | |
| void | addVariable (Var op) |
| virtual void | reads (const std::string &var) override |
| virtual void | build () override |
| virtual void | hdl (std::ostream &stream, Language lang, int level) override |
Public Member Functions inherited from HDLGenerator::Generatable | |
| Generatable (std::string name) | |
| virtual | ~Generatable ()=default |
| virtual void | reads (const LHSValue &var) |
| virtual void | writes (const std::string &var) |
| virtual Register & | getRegister (const std::string &var) |
| virtual bool | hasOption (const std::string &var) |
| virtual bool | isRegister (const std::string &name) |
| virtual bool | isVariable (const std::string &name) |
| virtual bool | isConstant (const std::string &name) |
| virtual Width | width (const std::string &name) |
| int | integerWidth (const std::string &name) |
| virtual WireType | wireType (const std::string &name) |
| virtual Width | width () |
| virtual WireType | wireType () const |
| 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 Attributes | |
| std::vector< std::shared_ptr< Variable > > | variables_ |
| std::unordered_set< std::string > | readList_ |
Async process/always.
Definition at line 901 of file HDLGenerator.hh.
|
inline |
Definition at line 904 of file HDLGenerator.hh.
|
inline |
Definition at line 914 of file HDLGenerator.hh.
References variables_.
Referenced by FUGen::buildOperations().
|
overridevirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 47 of file HDLGenerator.cc.
References HDLGenerator::Generatable::build(), and variables_.

|
inlineoverridevirtual |
@lassetodo Sensitivity list implementation here for verilog if needed.
If sensitivity list is needed for verilog replace @* with @(, uncomment following code, and add ) before begin std::string separator = ""; for (auto&& r : readList_) { stream << separator << r; separator = " or "; }
Reimplemented from HDLGenerator::Generatable.
Definition at line 929 of file HDLGenerator.hh.
References HDLGenerator::Generatable::implementAll(), StringTools::indent(), HDLGenerator::Generatable::isConstant(), HDLGenerator::Generatable::name(), readList_, variables_, HDLGenerator::Verilog, and HDLGenerator::VHDL.

|
inline |
Definition at line 907 of file HDLGenerator.hh.
References HDLGenerator::Generatable::pushComponent().

|
inlineoverridevirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 919 of file HDLGenerator.hh.
References HDLGenerator::Generatable::parent(), readList_, and HDLGenerator::Generatable::reads().
Referenced by FUGen::buildOperations().

|
private |
Definition at line 977 of file HDLGenerator.hh.
|
private |
Definition at line 976 of file HDLGenerator.hh.
Referenced by addVariable(), build(), and hdl().