OpenASIP
2.0
|
#include <HDLGenerator.hh>
Public Member Functions | |
Synchronous (std::string name) | |
template<typename SS > | |
Synchronous & | operator<< (SS op) |
template<typename Var > | |
void | addVariable (Var op) |
virtual void | build () override |
virtual void | writes (const std::string &var) override |
virtual void | vhdlReset (std::ostream &stream, Language lang, int level) |
virtual void | hdl (std::ostream &stream, Language lang, int level) override |
![]() | |
Generatable (std::string name) | |
virtual | ~Generatable ()=default |
virtual void | reads (const std::string &var) |
virtual void | reads (const LHSValue &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 > | registers_ |
Sync process/always.
Definition at line 982 of file HDLGenerator.hh.
|
inline |
Definition at line 984 of file HDLGenerator.hh.
|
inline |
|
overridevirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 33 of file HDLGenerator.cc.
References HDLGenerator::Generatable::build(), HDLGenerator::Generatable::isRegister(), registers_, and variables_.
|
inlineoverridevirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1029 of file HDLGenerator.hh.
References HDLGenerator::Generatable::getRegister(), HDLGenerator::Generatable::hasOption(), HDLGenerator::Generatable::implementAll(), StringTools::indent(), HDLGenerator::Mandatory, HDLGenerator::Generatable::name(), registers_, HDLGenerator::Register::reset(), HDLGenerator::Register::resetOption(), variables_, HDLGenerator::Verilog, HDLGenerator::VHDL, and vhdlReset().
|
inline |
Definition at line 987 of file HDLGenerator.hh.
References HDLGenerator::Generatable::pushComponent().
|
inlinevirtual |
Definition at line 1013 of file HDLGenerator.hh.
References HDLGenerator::Generatable::getRegister(), HDLGenerator::Generatable::hasOption(), StringTools::indent(), HDLGenerator::Mandatory, registers_, HDLGenerator::Register::reset(), and HDLGenerator::Register::resetOption().
Referenced by hdl().
|
inlineoverridevirtual |
Reimplemented from HDLGenerator::Generatable.
Definition at line 1001 of file HDLGenerator.hh.
References HDLGenerator::Generatable::isRegister(), HDLGenerator::Generatable::isVariable(), and registers_.
|
private |
Definition at line 1090 of file HDLGenerator.hh.
Referenced by build(), hdl(), vhdlReset(), and writes().
|
private |
Definition at line 1089 of file HDLGenerator.hh.
Referenced by addVariable(), build(), and hdl().