57 const std::string& addressWidth,
const std::string& dataWidth,
58 const std::string& memInitFile,
bool isForSimulation)
60 isForSimulation_(isForSimulation) {
66 Parameter(
"ACCESSTRACEFILENAME",
"string",
"\"access_trace\""));
110 const Path& targetBaseDir,
HDL targetLang)
const {
115 std::string tempFile = std::string(
"synch_byte_mask_sram.vhdl");
116 std::string targetDir =
118 : ((targetLang ==
VHDL) ? std::string(
"vhdl")
119 : std::string(
"verilog"));
121 (progeDataDir / std::string(
"tb") / tempFile).
string(),
122 (targetBaseDir / targetDir / tempFile).
string());
#define assert(condition)
static std::string dataDirPath(const std::string &prog)
void instantiateTemplateFile(const std::string &templateFile, const std::string &dstFile)
NetlistPort * addPort(NetlistPort *port)
void addParameter(const Parameter ¶m)
void addPortGroup(NetlistPortGroup *portGroup)
void setParameter(const Parameter ¶m)
friend class NetlistPortGroup
Convenience class for input bit ports.
Convenience class for input ports.
Convenience class for output bit ports.
Convenience class for output ports.
static NetlistPort * clockPort(Direction direction=IN)
NetlistPortGroup * memoryPortGroup_
void setAccessTraceFile(const std::string filename)
SinglePortByteMaskSSRAMBlock()=delete
const NetlistPortGroup & memoryPort() const
virtual ~SinglePortByteMaskSSRAMBlock()
virtual void write(const Path &targetBaseDir, HDL targetLang=VHDL) const override
@ BIT_VECTOR
Several bits.
@ BYTEMASKED_SRAM_PORT
Signal group type for one port SRAM having read and write capability and bitmask for writing with sep...
@ AVALID
Signal types for memory interface with separate valid/ready in address/data.
HDL
HDLs supported by ProGe.