OpenASIP
2.0
|
#include <SinglePortSSRAMBlock.hh>
Public Member Functions | |
SinglePortSSRAMBlock ()=delete | |
SinglePortSSRAMBlock (const std::string &addressWidth, const std::string &dataWidth, const std::string &initFile, bool isForSimulation=true) | |
virtual | ~SinglePortSSRAMBlock () |
void | setAccessTraceFile (const std::string filename) |
const NetlistPortGroup & | memoryPort () const |
virtual void | write (const Path &targetBaseDir, HDL targetLang=VHDL) const override |
Public Member Functions inherited from ProGe::BaseNetlistBlock | |
BaseNetlistBlock () | |
BaseNetlistBlock (BaseNetlistBlock *parent) | |
BaseNetlistBlock (const std::string &moduleName, const std::string &instanceName, BaseNetlistBlock *parent=nullptr) | |
virtual | ~BaseNetlistBlock () |
const std::string & | instanceName () const |
void | setInstanceName (const std::string &name) |
const std::string & | moduleName () const |
const std::string | name () const |
virtual size_t | subBlockCount () const |
virtual const BaseNetlistBlock & | subBlock (size_t index) const |
virtual bool | hasSubBlock (const std::string &instanceName) const |
virtual bool | isSubBlock (const BaseNetlistBlock &block) const |
virtual bool | hasParameter (const std::string &name) const |
virtual const Parameter & | parameter (const std::string &name) const |
virtual size_t | parameterCount () const |
virtual const Parameter & | parameter (size_t index) const |
virtual size_t | portCount () const |
virtual const NetlistPort & | port (size_t index) const |
virtual std::vector< const NetlistPort * > | portsBy (SignalType type) const |
virtual const NetlistPort & | portBy (SignalType type, size_t index=0) const |
virtual bool | hasPortsBy (SignalType type) const |
virtual const NetlistPort * | port (const std::string &portName, bool partialMatch=true) const |
virtual size_t | portGroupCount () const |
virtual const NetlistPortGroup & | portGroup (size_t index) const |
virtual std::vector< const NetlistPortGroup * > | portGroupsBy (SignalGroupType type) const |
virtual const Netlist & | netlist () const |
virtual bool | hasParentBlock () const |
virtual const BaseNetlistBlock & | parentBlock () const |
virtual bool | isVirtual () const |
virtual void | build () override |
virtual void | connect () override |
virtual void | finalize () override |
virtual void | writeSelf (const Path &targetBaseDir, HDL targetLang=VHDL) const |
virtual size_t | packageCount () const |
virtual const std::string & | package (size_t idx) const |
PortContainerType & | ports () |
virtual bool | isLeaf () const |
BaseNetlistBlock * | shallowCopy (const std::string &instanceName="") const |
Public Member Functions inherited from ProGe::IGenerationPhases | |
virtual | ~IGenerationPhases () |
Private Attributes | |
NetlistPortGroup * | memoryPortGroup_ = nullptr |
bool | isForSimulation_ = true |
Definition at line 46 of file SinglePortSSRAMBlock.hh.
|
delete |
ProGe::SinglePortSSRAMBlock::SinglePortSSRAMBlock | ( | const std::string & | addressWidth, |
const std::string & | dataWidth, | ||
const std::string & | memInitFile, | ||
bool | isForSimulation = true |
||
) |
Constructs Single port synchronous SRAM block.
addressWidth | The width of the address port. |
dataWidth | The width of the data port. |
memInitFile | Name of the memory initialization file loaded during RTL-simulation. |
isForSimulation | Tells if the block is used in RTL simulation. Affects placement of the HDL source. |
Definition at line 56 of file SinglePortSSRAMBlock.cc.
References ProGe::BaseNetlistBlock::addParameter(), ProGe::BaseNetlistBlock::addPort(), ProGe::BaseNetlistBlock::addPortGroup(), ProGe::ADDRESS, ProGe::BIT_VECTOR, ProGe::BITMASKED_SRAM_PORT, ProGe::PortFactory::clockPort(), ProGe::LOW, memoryPortGroup_, ProGe::BaseNetlistBlock::NetlistPortGroup, ProGe::BaseNetlistBlock::Parameter, ProGe::READ_DATA, ProGe::READ_WRITE_REQUEST, ProGe::WRITE_BITMASK, ProGe::WRITE_DATA, and ProGe::WRITEMODE.
|
virtual |
Definition at line 85 of file SinglePortSSRAMBlock.cc.
const NetlistPortGroup & ProGe::SinglePortSSRAMBlock::memoryPort | ( | ) | const |
Definition at line 97 of file SinglePortSSRAMBlock.cc.
References assert, and memoryPortGroup_.
Referenced by ProGe::ProcessorWrapperBlock::addDataMemory(), and ProGe::ProcessorWrapperBlock::addInstructionMemory().
void ProGe::SinglePortSSRAMBlock::setAccessTraceFile | ( | const std::string | filename | ) |
Sets a file name where memory access trace is dumped for this memory.
Definition at line 91 of file SinglePortSSRAMBlock.cc.
References ProGe::BaseNetlistBlock::Parameter, and ProGe::BaseNetlistBlock::setParameter().
Referenced by ProGe::ProcessorWrapperBlock::addInstructionMemory().
|
overridevirtual |
Does nothing on self but calls write function on each sub block.
Reimplemented from ProGe::BaseNetlistBlock.
Definition at line 103 of file SinglePortSSRAMBlock.cc.
References Environment::dataDirPath(), HDLTemplateInstantiator::instantiateTemplateFile(), isForSimulation_, and ProGe::VHDL.
|
private |
Definition at line 66 of file SinglePortSSRAMBlock.hh.
Referenced by write().
|
private |
Definition at line 64 of file SinglePortSSRAMBlock.hh.
Referenced by memoryPort(), and SinglePortSSRAMBlock().