CIRCT  20.0.0git
Public Member Functions | Private Attributes | List of all members
circt::calyx::MemoryInterface Struct Reference

#include <CalyxLoweringUtils.h>

Collaboration diagram for circt::calyx::MemoryInterface:
Collaboration graph
[legend]

Public Member Functions

 MemoryInterface ()
 
 MemoryInterface (const MemoryPortsImpl &ports)
 
 MemoryInterface (calyx::MemoryOp memOp)
 
 MemoryInterface (calyx::SeqMemoryOp memOp)
 
std::string memName ()
 
Value readData ()
 
Value readEn ()
 
Value contentEn ()
 
Value writeData ()
 
Value writeEn ()
 
Value done ()
 
std::optional< Value > readDataOpt ()
 
std::optional< Value > readEnOpt ()
 
std::optional< Value > contentEnOpt ()
 
std::optional< Value > writeDataOpt ()
 
std::optional< Value > writeEnOpt ()
 
std::optional< Value > doneOpt ()
 
ValueRange addrPorts ()
 

Private Attributes

std::variant< calyx::MemoryOp, calyx::SeqMemoryOp, MemoryPortsImplimpl
 

Detailed Description

Definition at line 100 of file CalyxLoweringUtils.h.

Constructor & Destructor Documentation

◆ MemoryInterface() [1/4]

circt::calyx::MemoryInterface::MemoryInterface ( )
default

◆ MemoryInterface() [2/4]

circt::calyx::MemoryInterface::MemoryInterface ( const MemoryPortsImpl ports)
explicit

◆ MemoryInterface() [3/4]

circt::calyx::MemoryInterface::MemoryInterface ( calyx::MemoryOp  memOp)
explicit

Definition at line 169 of file CalyxLoweringUtils.cpp.

◆ MemoryInterface() [4/4]

circt::calyx::MemoryInterface::MemoryInterface ( calyx::SeqMemoryOp  memOp)
explicit

Definition at line 170 of file CalyxLoweringUtils.cpp.

Member Function Documentation

◆ addrPorts()

ValueRange circt::calyx::MemoryInterface::addrPorts ( )

◆ contentEn()

Value circt::calyx::MemoryInterface::contentEn ( )

Definition at line 184 of file CalyxLoweringUtils.cpp.

References assert(), and contentEnOpt().

◆ contentEnOpt()

std::optional< Value > circt::calyx::MemoryInterface::contentEnOpt ( )

Definition at line 246 of file CalyxLoweringUtils.cpp.

References assert(), impl, and writeEn().

Referenced by contentEn().

◆ done()

Value circt::calyx::MemoryInterface::done ( )

Definition at line 202 of file CalyxLoweringUtils.cpp.

References assert(), and doneOpt().

◆ doneOpt()

std::optional< Value > circt::calyx::MemoryInterface::doneOpt ( )

Definition at line 285 of file CalyxLoweringUtils.cpp.

References impl.

Referenced by done().

◆ memName()

std::string circt::calyx::MemoryInterface::memName ( )

Definition at line 208 of file CalyxLoweringUtils.cpp.

References impl.

◆ readData()

Value circt::calyx::MemoryInterface::readData ( )

Definition at line 172 of file CalyxLoweringUtils.cpp.

References assert(), and readDataOpt().

◆ readDataOpt()

std::optional< Value > circt::calyx::MemoryInterface::readDataOpt ( )

Definition at line 219 of file CalyxLoweringUtils.cpp.

References impl.

Referenced by readData().

◆ readEn()

Value circt::calyx::MemoryInterface::readEn ( )

Definition at line 178 of file CalyxLoweringUtils.cpp.

References assert(), and readEnOpt().

◆ readEnOpt()

std::optional< Value > circt::calyx::MemoryInterface::readEnOpt ( )

Definition at line 230 of file CalyxLoweringUtils.cpp.

References assert(), and impl.

Referenced by readEn().

◆ writeData()

Value circt::calyx::MemoryInterface::writeData ( )

Definition at line 190 of file CalyxLoweringUtils.cpp.

References assert(), and writeDataOpt().

◆ writeDataOpt()

std::optional< Value > circt::calyx::MemoryInterface::writeDataOpt ( )

Definition at line 263 of file CalyxLoweringUtils.cpp.

References impl.

Referenced by writeData().

◆ writeEn()

Value circt::calyx::MemoryInterface::writeEn ( )

Definition at line 196 of file CalyxLoweringUtils.cpp.

References assert(), and writeEnOpt().

Referenced by contentEnOpt().

◆ writeEnOpt()

std::optional< Value > circt::calyx::MemoryInterface::writeEnOpt ( )

Definition at line 274 of file CalyxLoweringUtils.cpp.

References impl.

Referenced by writeEn().

Member Data Documentation

◆ impl

std::variant<calyx::MemoryOp, calyx::SeqMemoryOp, MemoryPortsImpl> circt::calyx::MemoryInterface::impl
private

The documentation for this struct was generated from the following files: