My Project
Public Member Functions | Public Attributes | List of all members
Dataflow::DFnetlist Class Reference
Collaboration diagram for Dataflow::DFnetlist:
Collaboration graph
[legend]

Public Member Functions

 DFnetlist ()
 Implementation of DFnet;. More...
 
 ~DFnetlist ()
 Default destructor.
 
 DFnetlist (const std::string &name)
 Constructor. It reads a netlist from a file. More...
 
 DFnetlist (FILE *file)
 Constructor. It creates a netlist from a file descriptor. The file is assumed to be opened. More...
 
 DFnetlist (const std::string &name, const std::string &name_bb)
 Constructor. It creates a netlist from two files. first file consists of blocks. second file consists of basic blocks. More...
 
 DFnetlist (const DFnetlist &other)
 Copy constructor.
 
void setMilpSolver (const std::string &solver="cbc")
 Sets the solver for MILP optimization problems. More...
 
bool check ()
 Checks that the netlist is well-formed. More...
 
const std::string & getName () const
 
blockID createBlock (BlockType type, const std::string &name="")
 Creates a new block in the netlist. More...
 
blockID getBlock (const std::string &name) const
 Returns a block id of the netlist. More...
 
const std::string & getBlockName (blockID id) const
 Returns the name of a block. More...
 
double getBlockDelay (blockID id, int indx) const
 Returns the delay of a block. More...
 
void setBlockDelay (blockID id, double d, int indx)
 Sets the delay of a block. More...
 
double getBlockRetimingDiff (blockID id) const
 
void setBlockRetimingDiff (blockID id, double retimingDiff)
 
int getLatency (blockID id) const
 Returns the latency of a block. More...
 
void setLatency (blockID id, int lat)
 Sets the latency of a block. More...
 
int getInitiationInterval (blockID id) const
 Returns the initiation interval of a block. More...
 
void setInitiationInterval (blockID id, int ii)
 Sets the initiation interval of a block. More...
 
void setExecutionFrequency (blockID id, double freq)
 Sets the execution frequency of a block. More...
 
int getExecutionFrequency (blockID id) const
 Returns the execution frequency of a block. More...
 
void setTrueFrac (blockID id, double freq)
 Sets the true/false exe. fraction of a select op. More...
 
double getTrueFrac (blockID id) const
 
int getBufferSize (blockID id) const
 Returns the number of slots of an elastic buffer. More...
 
void setBufferSize (blockID id, int slots)
 Sets the number of slots of an elastic buffer. More...
 
bool isBufferTransparent (blockID id) const
 Checks whether the buffer is transparent. More...
 
void setBufferTransparency (blockID id, bool value)
 Sets the transparency of an elastic buffer. More...
 
blockID getBlockFromPort (portID p) const
 
void removeBlock (blockID block)
 Removes a block and all the associated channels from the netlist. More...
 
portID createPort (blockID block, bool isInput, const std::string &name="", int width=-1, PortType type=GENERIC_PORT)
 Adds a new port to a block. More...
 
void removePort (portID port)
 Removes a port and the associated channels from the netlist. More...
 
portID getPort (blockID block, const std::string &name) const
 Returns the id of a port from a given block and pin name. More...
 
const std::string & getPortName (portID port, bool full=true) const
 Returns the name of a port. More...
 
PortType getPortType (portID port) const
 Returns the type of a port. More...
 
bool isInputPort (portID port) const
 Indicates whether a port is input. More...
 
bool isOutputPort (portID port) const
 Indicates whether a port is output. More...
 
int getPortWidth (portID port) const
 Returns the width of a port. More...
 
bool isBooleanPort (portID port) const
 Checks whether a port is Boolean. More...
 
bool isControlPort (portID port) const
 Checks whether a port is a control port. More...
 
double getPortDelay (portID port) const
 Returns the delay of a port. More...
 
void setPortDelay (portID port, double d)
 Sets the delay of a port. More...
 
const setPorts & getPorts (blockID id, PortDirection dir) const
 Returns the set of ports with a certain direction. More...
 
portID getConditionalPort (blockID id) const
 
portID getTruePort (blockID id) const
 
portID getFalsePort (blockID id) const
 
portID getDemuxDataPort (blockID id) const
 
portID getDemuxComplementaryPort (portID port) const
 Returns the complementary port associated to one of the ports of a demux. If the parameter is an input control port, it returns the corresponding output data port, and vice versa. More...
 
channelID getConnectedChannel (portID port) const
 Returns the channel associated to a port. More...
 
BlockType getBlockType (blockID block) const
 Returns the block type associated to a block. More...
 
bool isPortConnected (portID port) const
 Checks whether a port is connected. More...
 
portID getConnectedPort (portID port) const
 Returns the opposite port connected to the same channel. More...
 
channelID createChannel (portID src, portID dst)
 Creates a channel between two ports. More...
 
portID getSrcPort (channelID id) const
 Returns the source port of a channel. More...
 
portID getDstPort (channelID id) const
 Returns the destination port of a channel. More...
 
void removeChannel (channelID id)
 Removes a channel. More...
 
std::string getChannelName (channelID id, bool full=true) const
 Returns the name of the channel. More...
 
channelID getChannelID (portID id)
 Returns the channel ID. More...
 
int getChannelBufferSize (channelID id) const
 Returns the number of slots of the elastic buffer in the channel. More...
 
void setChannelBufferSize (blockID id, int slots)
 Sets the number of slots of the elastic buffer in the channel. More...
 
bool isChannelTransparent (channelID id) const
 Checks whether the buffer of the channel is transparent. More...
 
void setChannelTransparency (channelID id, bool value)
 Sets the transparency of the elastic buffer in the channel. More...
 
void setChannelEB (channelID id)
 Sets the presence of an EB on the channel. More...
 
bool getChannelEB (channelID id)
 Gets the presence of an EB on the channel. More...
 
void setChannelFrequency (channelID id, double value)
 
double getChannelFrequency (channelID id)
 
bool hasBuffer (channelID id) const
 Checks whether a channel has an elastic buffer (slots > 0). More...
 
blockID insertBuffer (channelID c, int slots, bool transparent)
 Inserts a buffer in a channel. The insertion removes the previous channel and creates two new channels. More...
 
blockID insertBuffer (channelID c, int slots, bool transparent, bool EB)
 Inserts a buffer in a channel. The insertion removes the previous channel and creates two new channels. More...
 
void removeBuffer (blockID buf)
 Removes a buffer and reconnects the input and output channels. More...
 
void setError (const std::string &err)
 Sets an error message for the netlist. More...
 
const std::string & getError () const
 
void clearError ()
 Erases the error.
 
bool hasError () const
 Indicates whether there is an error. More...
 
int numBlocks () const
 
int numChannels () const
 
int numPorts () const
 
bool validPort (portID p) const
 
bool validBlock (blockID id) const
 Indicates whether a block id is valid. More...
 
bool validChannel (channelID id) const
 Indicates whether a channel id is valid. More...
 
void reduceMerges ()
 Reduce the number of merges since 1 input merges can be reduced to a wire.
 
bool writeDot (const std::string &filename="")
 Writes the dataflow netlist in dot format. More...
 
bool writeDot (std::ostream &s)
 Writes the dataflow netlist in dot format. More...
 
bool writeDotMG (const std::string &filename="")
 
bool writeDotMG (std::ostream &s)
 
bool writeDotBB (std::ostream &s)
 
bool writeDotBB (const std::string &filename="")
 
bool writeBasicBlockDot (const std::string &filename="")
 Writes the Basic Blocks of the dataflow netlist in dot format. More...
 
bool writeBasicBlockDot (std::ostream &s)
 Writes the Basic Blocks of the dataflow netlist in dot format. More...
 
bool addElasticBuffers (double Period=0, double BufferDelay=0, bool maxThroughput=false, double coverage=0)
 Adds elastic buffers to meet a certain cycle period and have elasticity in the system. More...
 
bool addElasticBuffersBB (double Period=0, double BufferDelay=0, bool maxThroughput=false, double coverage=0, int timeout=-1, bool first_MG=false)
 
bool addElasticBuffersBB_sc (double Period=0, double BufferDelay=0, bool maxThroughput=false, double coverage=0, int timeout=-1, bool first_MG=false, const std::string &model_mode="default", const std::string &lib_path="")
 
void instantiateElasticBuffers ()
 Creates buffers for all those channels annotated with buffers. The information in the channels is deleted.
 
void instantiateAdditionalElasticBuffers (const std::string &filename)
 Creates buffers for all those channels annotated inside input file. // Carmine 09.02.22.
 
void hideElasticBuffers ()
 Removes the elastic buffers and transfers the information to the channels.
 
void cleanElasticBuffers ()
 Removes all the elastic buffers from the netlist.
 
void eraseNonSCC ()
 Removes all non-SCC blocks and channels. More...
 
void computeSCC (bool onlyMarked)
 
void printBlockSCCs ()
 
bool calculateBasicBlocks ()
 Calculates the Basic Blocks of the netlist. More...
 
bool optimize ()
 Performs different types of optimizations to reduce the complexity of the dataflow netlist. More...
 
bool removeControl ()
 Remove the control (synchronization) blocks of the dataflow netlist. More...
 
double extractMarkedGraphs (double coverage)
 Extracts a set of marked graphs from the netlist until a certain coverage of execution frequency is achieved. More...
 

Public Attributes

DFnetlist_ImplDFI
 

Constructor & Destructor Documentation

◆ DFnetlist() [1/4]

DFnetlist::DFnetlist ( )

Implementation of DFnet;.

Default constructor.

◆ DFnetlist() [2/4]

Dataflow::DFnetlist::DFnetlist ( const std::string &  name)

Constructor. It reads a netlist from a file.

Parameters
nameFilename of the input description.

◆ DFnetlist() [3/4]

DFnetlist::DFnetlist ( FILE *  file)

Constructor. It creates a netlist from a file descriptor. The file is assumed to be opened.

Parameters
fileFile descriptor.

◆ DFnetlist() [4/4]

Dataflow::DFnetlist::DFnetlist ( const std::string &  name,
const std::string &  name_bb 
)

Constructor. It creates a netlist from two files. first file consists of blocks. second file consists of basic blocks.

Shabnam:

Parameters
fileFile name of the input descriptions.

Member Function Documentation

◆ addElasticBuffers()

bool DFnetlist::addElasticBuffers ( double  Period = 0,
double  BufferDelay = 0,
bool  maxThroughput = false,
double  coverage = 0 
)

Adds elastic buffers to meet a certain cycle period and have elasticity in the system.

Parameters
PeriodTarget cycle Period (ignored if Period <= 0).
BufferDelayCLK-to-Q delay of the Elastic Buffer.
maxThroughputIf asserted, it maximizes the throghput of the system.
Returns
True if successful, and false otherwise.

◆ calculateBasicBlocks()

bool DFnetlist::calculateBasicBlocks ( )

Calculates the Basic Blocks of the netlist.

Returns
True if no error occurred, and false otherwise.

◆ check()

bool DFnetlist::check ( )

Checks that the netlist is well-formed.

Returns
True if it is well-formed and false otherwise.
Note
If not well-formed, an error message is generated.

◆ createBlock()

blockID DFnetlist::createBlock ( BlockType  type,
const std::string &  name = "" 
)

Creates a new block in the netlist.

Parameters
typeType of the block.
nameName of the block.
Returns
The block id. It returns an invalid block if an error occurs.

◆ createChannel()

channelID DFnetlist::createChannel ( portID  src,
portID  dst 
)

Creates a channel between two ports.

Parameters
srcThe source port.
dstThe destination port.
Returns
The channel id. It returns invalidChannel in case of an error.

◆ createPort()

portID DFnetlist::createPort ( blockID  block,
bool  isInput,
const std::string &  name = "",
int  width = -1,
PortType  type = GENERIC_PORT 
)

Adds a new port to a block.

Parameters
blockid of the block.
nameName of the port.
isInputDirection of the port.
widthThe width of the port.
typeType of the port (generic, select, true, false).
Returns
The port id. It returns an invalidPort in case of error.
Note
If the name is empty, a new fresh name is created.

◆ eraseNonSCC()

void DFnetlist::eraseNonSCC ( )

Removes all non-SCC blocks and channels.

Returns
The netlist with only the SCCs.

◆ extractMarkedGraphs()

double DFnetlist::extractMarkedGraphs ( double  coverage)

Extracts a set of marked graphs from the netlist until a certain coverage of execution frequency is achieved.

Parameters
coverageThe target coverage.
Returns
The achieved coverage.

◆ getBlock()

blockID DFnetlist::getBlock ( const std::string &  name) const

Returns a block id of the netlist.

Parameters
nameName of the block.
Returns
The id of the block (invalidDataflowID if not found).

◆ getBlockDelay()

double DFnetlist::getBlockDelay ( blockID  id,
int  indx 
) const

Returns the delay of a block.

Parameters
idIdentifier of the block.
Returns
The delay of the block.

◆ getBlockFromPort()

blockID DFnetlist::getBlockFromPort ( portID  p) const
Parameters
pPort ID.
Returns
The block owner of the port.

◆ getBlockName()

const string & DFnetlist::getBlockName ( blockID  id) const

Returns the name of a block.

Parameters
idIdentifier of the block.
Returns
The name of the block.

◆ getBlockType()

BlockType DFnetlist::getBlockType ( blockID  block) const

Returns the block type associated to a block.

Parameters
blockThe block from which we want to obtain the type
Returns
The block type

◆ getBufferSize()

int DFnetlist::getBufferSize ( blockID  id) const

Returns the number of slots of an elastic buffer.

Parameters
idIdentifier of the block.
Returns
The number of slots of the buffer.

◆ getChannelBufferSize()

int DFnetlist::getChannelBufferSize ( channelID  id) const

Returns the number of slots of the elastic buffer in the channel.

Parameters
idIdentifier of the channel.
Returns
The number of slots of the buffer.

◆ getChannelEB()

bool DFnetlist::getChannelEB ( channelID  id)

Gets the presence of an EB on the channel.

//Carmine 21.02.22

Parameters
idIdentifier of the channel.

◆ getChannelID()

channelID Dataflow::DFnetlist::getChannelID ( portID  id)

Returns the channel ID.

Parameters
idIdentifier of the port.
Returns
The ID representing the channel connected to that port

◆ getChannelName()

string DFnetlist::getChannelName ( channelID  id,
bool  full = true 
) const

Returns the name of the channel.

Parameters
idIdentifier of the channel.
fullIf asserted, a block:port -> block:port description is generated. Otherwise, a block -> block description is generated.
Returns
The string representing the name of the port.

◆ getConditionalPort()

portID DFnetlist::getConditionalPort ( blockID  id) const
Parameters
idBlock id.
Returns
The conditional port of a block (invalidDataflowID if it does not exists).

◆ getConnectedChannel()

channelID DFnetlist::getConnectedChannel ( portID  port) const

Returns the channel associated to a port.

Parameters
portThe port from which we want to obtain the channel.
Returns
The channel id..

◆ getConnectedPort()

portID DFnetlist::getConnectedPort ( portID  port) const

Returns the opposite port connected to the same channel.

Parameters
portThe id of the port.
Returns
The port ID of the opposite port.

◆ getDemuxComplementaryPort()

portID DFnetlist::getDemuxComplementaryPort ( portID  port) const

Returns the complementary port associated to one of the ports of a demux. If the parameter is an input control port, it returns the corresponding output data port, and vice versa.

Parameters
portPort of the demux.
Returns
The complementary port.

◆ getDemuxDataPort()

portID DFnetlist::getDemuxDataPort ( blockID  id) const
Parameters
idBlock id.
Returns
The data port of a demux.

◆ getDstPort()

portID DFnetlist::getDstPort ( channelID  id) const

Returns the destination port of a channel.

Parameters
idId of the channel.
Returns
The destination port. It returns invalidPort in case of error.

◆ getError()

const string & DFnetlist::getError ( ) const
Returns
The error message associated to the netlist.

◆ getExecutionFrequency()

int DFnetlist::getExecutionFrequency ( blockID  id) const

Returns the execution frequency of a block.

Parameters
idIdentifier of the block.
Returns
The execution frequency of the block.

◆ getFalsePort()

portID DFnetlist::getFalsePort ( blockID  id) const
Parameters
idBlock id.
Returns
The False port of a block (invalidDataflowID if it does not exists).

◆ getInitiationInterval()

int DFnetlist::getInitiationInterval ( blockID  id) const

Returns the initiation interval of a block.

Parameters
idIdentifier of the block.
Returns
The initiation interval of the block.

◆ getLatency()

int DFnetlist::getLatency ( blockID  id) const

Returns the latency of a block.

Parameters
idIdentifier of the block.
Returns
The latency of the block.

◆ getName()

const string & DFnetlist::getName ( ) const
Returns
The name of the netlist.

◆ getPort()

portID DFnetlist::getPort ( blockID  block,
const std::string &  name 
) const

Returns the id of a port from a given block and pin name.

Parameters
blockId of the block.
nameName of the pin
Returns
the port id (invalidePort if not found).

◆ getPortDelay()

double DFnetlist::getPortDelay ( portID  port) const

Returns the delay of a port.

Parameters
portIdentifier of the port.
Returns
The delay of the port.

◆ getPortName()

const string & DFnetlist::getPortName ( portID  port,
bool  full = true 
) const

Returns the name of a port.

Parameters
portIdentifier of the port.
fullIf asserted, the full name (block:port) is returned.
Returns
A string with the name of the port.

◆ getPorts()

const setPorts & DFnetlist::getPorts ( blockID  id,
PortDirection  dir 
) const

Returns the set of ports with a certain direction.

Parameters
idBlock id (the owner of the ports).
dirDirection of the ports (input/output/all).
Returns
The set of ports.

◆ getPortType()

PortType DFnetlist::getPortType ( portID  port) const

Returns the type of a port.

Parameters
portThe id of the port.
Returns
The type of the port.

◆ getPortWidth()

int DFnetlist::getPortWidth ( portID  port) const

Returns the width of a port.

Parameters
portThe id of the port.
Returns
The width of the port.

◆ getSrcPort()

portID DFnetlist::getSrcPort ( channelID  id) const

Returns the source port of a channel.

Parameters
idId of the channel.
Returns
The source port. It returns invalidPort in case of error.

◆ getTruePort()

portID DFnetlist::getTruePort ( blockID  id) const
Parameters
idBlock id.
Returns
The True port of a block (invalidDataflowID if it does not exists).

◆ hasBuffer()

bool DFnetlist::hasBuffer ( channelID  id) const

Checks whether a channel has an elastic buffer (slots > 0).

Parameters
idIdentifier of the channel.
Returns
True if it has a buffer, and false otherwise.

◆ hasError()

bool DFnetlist::hasError ( ) const

Indicates whether there is an error.

Returns
True if there is an error and false otherwise.

◆ insertBuffer() [1/2]

blockID DFnetlist::insertBuffer ( channelID  c,
int  slots,
bool  transparent 
)

Inserts a buffer in a channel. The insertion removes the previous channel and creates two new channels.

Parameters
cThe channel identifier.
slotsNumber of slots of the buffer.
transparentTrue if the channel must be transparent and false if opaque.
Returns
The block identifier.

◆ insertBuffer() [2/2]

blockID DFnetlist::insertBuffer ( channelID  c,
int  slots,
bool  transparent,
bool  EB 
)

Inserts a buffer in a channel. The insertion removes the previous channel and creates two new channels.

Parameters
cThe channel identifier.
slotsNumber of slots of the buffer.
transparentTrue if the channel must be transparent and false if opaque.
EBTrue if an elastic buffer needs to be placed.
Returns
The block identifier.

◆ isBooleanPort()

bool DFnetlist::isBooleanPort ( portID  port) const

Checks whether a port is Boolean.

Parameters
portThe id of the port.
Returns
True if it is boolean, and false otherwise.

◆ isBufferTransparent()

bool DFnetlist::isBufferTransparent ( blockID  id) const

Checks whether the buffer is transparent.

Parameters
idIdentifier of the block.
Returns
True if transparent, and false if opaque.

◆ isChannelTransparent()

bool DFnetlist::isChannelTransparent ( channelID  id) const

Checks whether the buffer of the channel is transparent.

Parameters
idIdentifier of the channel.
Returns
True if transparent, and false if opaque.

◆ isControlPort()

bool DFnetlist::isControlPort ( portID  port) const

Checks whether a port is a control port.

Parameters
portThe id of the port.
Returns
True if it is a control port, and false otherwise.

◆ isInputPort()

bool DFnetlist::isInputPort ( portID  port) const

Indicates whether a port is input.

Parameters
portThe id of the port.
Returns
True if it is an input port, and false if it is output.

◆ isOutputPort()

bool DFnetlist::isOutputPort ( portID  port) const

Indicates whether a port is output.

Parameters
portThe id of the port.
Returns
True if it is an output port, and false if it is input.

◆ isPortConnected()

bool DFnetlist::isPortConnected ( portID  port) const

Checks whether a port is connected.

Parameters
portThe port id.
Returns
True if the port is connected, and False otherwise.

◆ numBlocks()

int DFnetlist::numBlocks ( ) const
Returns
The number of blocks of the netlist.

◆ numChannels()

int DFnetlist::numChannels ( ) const
Returns
The number of channels of the netlist.

◆ numPorts()

int DFnetlist::numPorts ( ) const
Returns
The number of ports of the netlist.

◆ optimize()

bool DFnetlist::optimize ( )

Performs different types of optimizations to reduce the complexity of the dataflow netlist.

Returns
True if changes have been produced, and false otherwise.

◆ removeBlock()

void DFnetlist::removeBlock ( blockID  block)

Removes a block and all the associated channels from the netlist.

Parameters
blockIdentifier of the block.

◆ removeBuffer()

void DFnetlist::removeBuffer ( blockID  buf)

Removes a buffer and reconnects the input and output channels.

Parameters
bufIdentifier of the buffer.

◆ removeChannel()

void DFnetlist::removeChannel ( channelID  id)

Removes a channel.

Parameters
idId of the channel.

◆ removeControl()

bool DFnetlist::removeControl ( )

Remove the control (synchronization) blocks of the dataflow netlist.

Returns
True if changes have been produced, and false otherwise.

◆ removePort()

void DFnetlist::removePort ( portID  port)

Removes a port and the associated channels from the netlist.

Parameters
portIdentifier of the port.

◆ setBlockDelay()

void DFnetlist::setBlockDelay ( blockID  id,
double  d,
int  indx 
)

Sets the delay of a block.

Parameters
idIdentifier of the block.
dDelay of the block.

◆ setBufferSize()

void DFnetlist::setBufferSize ( blockID  id,
int  slots 
)

Sets the number of slots of an elastic buffer.

Parameters
idIdentifier of the block.
iiNumber of slots of the buffer.

◆ setBufferTransparency()

void DFnetlist::setBufferTransparency ( blockID  id,
bool  value 
)

Sets the transparency of an elastic buffer.

Parameters
idIdentifier of the block.
valueTrue if transparent, and false if opaque.

◆ setChannelBufferSize()

void DFnetlist::setChannelBufferSize ( blockID  id,
int  slots 
)

Sets the number of slots of the elastic buffer in the channel.

Parameters
idIdentifier of the channel.
slotsNumber of slots of the buffer.

◆ setChannelEB()

void DFnetlist::setChannelEB ( channelID  id)

Sets the presence of an EB on the channel.

//Carmine 21.02.22

Parameters
idIdentifier of the channel.

◆ setChannelTransparency()

void DFnetlist::setChannelTransparency ( channelID  id,
bool  value 
)

Sets the transparency of the elastic buffer in the channel.

Parameters
idIdentifier of the channel.
valueTrue if transparent, and false if opaque.

◆ setError()

void DFnetlist::setError ( const std::string &  err)

Sets an error message for the netlist.

Parameters
errError message.

◆ setExecutionFrequency()

void DFnetlist::setExecutionFrequency ( blockID  id,
double  freq 
)

Sets the execution frequency of a block.

Parameters
idIdentifier of the block.
freqExecution frequency of the block.

◆ setInitiationInterval()

void DFnetlist::setInitiationInterval ( blockID  id,
int  ii 
)

Sets the initiation interval of a block.

Parameters
idIdentifier of the block.
iiInitiation interval of the block.

◆ setLatency()

void DFnetlist::setLatency ( blockID  id,
int  lat 
)

Sets the latency of a block.

Parameters
idIdentifier of the block.
latLatency of the block.

◆ setMilpSolver()

void DFnetlist::setMilpSolver ( const std::string &  solver = "cbc")

Sets the solver for MILP optimization problems.

Parameters
solverName of the solver (usually cbc or glpsol).

◆ setPortDelay()

void DFnetlist::setPortDelay ( portID  port,
double  d 
)

Sets the delay of a port.

Parameters
portIdentifier of the port.
dThe delay.

◆ setTrueFrac()

void DFnetlist::setTrueFrac ( blockID  id,
double  freq 
)

Sets the true/false exe. fraction of a select op.

Parameters
idIdentifier of the block.
freqExecution frequency of the block.

◆ validBlock()

bool DFnetlist::validBlock ( blockID  id) const

Indicates whether a block id is valid.

Parameters
idThe id of the block.
Returns
True if the id is valid and false otherwise.

◆ validChannel()

bool DFnetlist::validChannel ( channelID  id) const

Indicates whether a channel id is valid.

Parameters
idThe id of the channel.
Returns
True if the id is valid and false otherwise.

◆ validPort()

bool DFnetlist::validPort ( portID  p) const
Parameters
pThe port id.
Returns
True if it is valid and false otherwise.

◆ writeBasicBlockDot() [1/2]

bool Dataflow::DFnetlist::writeBasicBlockDot ( const std::string &  filename = "")

Writes the Basic Blocks of the dataflow netlist in dot format.

Parameters
filenameThe name of the file. In case the filename is empty, it is written into cout.
Returns
true if successful, and false otherwise.

◆ writeBasicBlockDot() [2/2]

bool DFnetlist::writeBasicBlockDot ( std::ostream &  s)

Writes the Basic Blocks of the dataflow netlist in dot format.

Parameters
sThe output stream.
Returns
True if successful, and false otherwise.

◆ writeDot() [1/2]

bool Dataflow::DFnetlist::writeDot ( const std::string &  filename = "")

Writes the dataflow netlist in dot format.

Parameters
filenameThe name of the file. In case the filename is empty, it is written into cout.
Returns
true if successful, and false otherwise.

◆ writeDot() [2/2]

bool DFnetlist::writeDot ( std::ostream &  s)

Writes the dataflow netlist in dot format.

Parameters
sThe output stream.
Returns
True if successful, and false otherwise.

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