|
My Project
|
#include <DFnetlist.h>

Public Member Functions | |
| DFnetlist_Impl () | |
| Default constructor. | |
| DFnetlist_Impl (const std::string &name) | |
| Constructor. It reads a netlist from a file. More... | |
| DFnetlist_Impl (FILE *file) | |
| Constructor. It creates a netlist from a file descriptor. The file is assumed to be opened. More... | |
| DFnetlist_Impl (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... | |
| 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... | |
| BlockType | getBlockType (blockID id) const |
| Returns the type of block. More... | |
| std::string | printBlockType (BlockType type) const |
| void | printChannelInfo (channelID c, int slots, int transparent) |
| bool | isInnerChannel (channelID c) |
| bool | getChannelMerge (channelID c) |
| void | setChannelMerge (channelID c) |
| double | getBlockDelay (blockID id, int indx) const |
| Returns the delay of a block. More... | |
| void | setBasicBlock (blockID id, bbID bb=invalidDataflowID) |
| Defines the basic block of a block. More... | |
| bbID | getBasicBlock (blockID id) const |
| Returns the basic block of a block. More... | |
| void | setBlockDelay (blockID id, double d, int indx) |
| Sets the delay of a block. More... | |
| 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... | |
| double | getBlockRetimingDiff (blockID id) const |
| void | setBlockRetimingDiff (blockID id, double diff) |
| 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 |
| Returns the the true/false exe. fraction of a select op. More... | |
| void | setValue (blockID id, longValueType value) |
| Defines the value of a constant block. More... | |
| void | setOperation (blockID id, std::string op) |
| Defines the operation (instruction) of operators. More... | |
| const std::string & | getOperation (blockID id) const |
| void | setMemPortID (blockID id, int memPortID) |
| int | getMemPortID (blockID id) const |
| void | setMemOffset (blockID id, int memOffset) |
| int | getMemOffset (blockID id) const |
| void | setMemBBCount (blockID id, int count) |
| int | getMemBBCount (blockID id) const |
| void | setMemLdCount (blockID id, int count) |
| int | getMemLdCount (blockID id) const |
| void | setMemStCount (blockID id, int count) |
| int | getMemStCount (blockID id) const |
| void | setMemName (blockID id, std::string name) |
| const std::string & | getMemName (blockID id) const |
| void | setMemPortSuffix (blockID id, std::string op) |
| const std::string & | getMemPortSuffix (blockID id) const |
| void | setFuncName (blockID id, std::string op) |
| const std::string & | getFuncName (blockID id) const |
| void | setOrderings (blockID id, map< bbID, vector< int >> value) |
| void | setLSQDepth (blockID id, int depth) |
| int | getLSQDepth (blockID id) const |
| void | setNumLoads (blockID id, std::string name) |
| const std::string & | getNumLoads (blockID id) const |
| void | setNumStores (blockID id, std::string name) |
| const std::string & | getNumStores (blockID id) const |
| void | setLoadOffsets (blockID id, std::string name) |
| const std::string & | getLoadOffsets (blockID id) const |
| void | setStoreOffsets (blockID id, std::string name) |
| const std::string & | getStoreOffsets (blockID id) const |
| void | setLoadPorts (blockID id, std::string name) |
| const std::string & | getLoadPorts (blockID id) const |
| void | setStorePorts (blockID id, std::string name) |
| const std::string & | getStorePorts (blockID id) const |
| void | setGetPtrConst (blockID id, int c) |
| int | getGetPtrConst (blockID id) const |
| longValueType | getValue (blockID id) |
| Defines the value of a constant block. More... | |
| bool | getBoolValue (blockID id) const |
| Retruns the boolean value of a constant. More... | |
| 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... | |
| void | setPortWidth (portID port, int width) |
| Defines the width of a port. 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... | |
| bool | isBooleanConstant (portID port, bool &value) const |
| Indicates whether the port has a constant boolean value. 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... | |
| double | getCombinationalDelay (portID inp, portID outp) const |
| Returns the combinational delay between an input and and output port of a block. The ports are assumed to belong to the same blocks and the latency of the block is assumed to be zero. More... | |
| const setPorts & | getPorts (blockID id, PortDirection dir) const |
| Returns a set of ports with a certain direction. More... | |
| const setPorts & | getDefinitions (portID p) const |
| Returns the set of ports that define values for a port. More... | |
| portID | getConditionalPort (blockID id) const |
| portID | getTruePort (blockID id) const |
| portID | getFalsePort (blockID id) const |
| portID | getDataPort (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... | |
| 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, int slots=0, bool transparent=true) |
| Creates a channel between two ports. More... | |
| void | removeChannel (channelID id) |
| Removes a channel. 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... | |
| blockID | getSrcBlock (channelID id) const |
| Returns the source block of a channel. More... | |
| blockID | getDstBlock (channelID id) const |
| Returns the destination block of a channel. More... | |
| 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... | |
| channelID | 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 |
| std::string & | getError () |
| 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. | |
| void | execute_reduction (blockID b) |
| bool | writeDot (const std::string &filename="") |
| Writes the dataflow netlist in dot format. More... | |
| bool | writeDot (std::ostream &of) |
| Writes the dataflow netlist in dot format. More... | |
| bool | writeDotMG (const std::string &filename="") |
| bool | writeDotMG (std::ostream &s) |
| bool | writeDotBB (const std::string &filename="") |
| bool | writeDotBB (std::ostream &of) |
| bool | writeBasicBlockDot (const std::string &filename="") |
| Writes the basic blocks of a dataflow netlist in dot format. More... | |
| bool | writeBasicBlockDot (std::ostream &s) |
| Writes the basic blocks of a 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 guarantee 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) |
| Adds elastic buffers to meet a certain cycle period and guarantee elasticity in the system by looking at a Basic Block level. More... | |
| 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 | addBorderBuffers () |
| void | findMCLSQ_load_channels () |
| 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 | setMilpSolver (const std::string &solver="cbc") |
| Sets the solver for MILP optimization problems. More... | |
| void | eraseNonSCC () |
| Removes all non-SCC blocks and channels. More... | |
| bool | calculateBasicBlocks () |
| Calculates the graph of basic blocks. More... | |
| bool | optimize () |
| Performs different types of optimizations to reduce the complexity of the dataflow netlist. It also calculates the rechable definitions for every block. More... | |
| bool | removeControl () |
| Remove the control (synchronization) blocks of the dataflow netlist. More... | |
| double | extractMarkedGraphs (double coverage) |
| Extract a set of marked graphs to achieve a certain execution frequency coverage. The extraction is stopped when the coverage is achieved or no more marked graphs are found. More... | |
| double | extractMarkedGraphsBB (double coverage) |
| Extract a set of marked graphs consisting of Basic Blocks to achieve a certain execution frequency coverage. The extraction is stopped when the coverage is achieved or no more marked graphs are found. More... | |
| void | printBlockSCCs () |
| void | computeSCCpublic (bool onlyMarked) |
| std::vector< Block > & | getBlocks () |
| std::vector< Port > & | getPorts () |
| std::vector< Channel > & | getChannels () |
Public Attributes | |
| setBlocks | allBlocks |
| setPorts | allPorts |
| setChannels | allChannels |
| BasicBlockGraph | BBG |
| Dataflow::DFnetlist_Impl::DFnetlist_Impl | ( | const std::string & | name | ) |
Constructor. It reads a netlist from a file.
| name | File name of the input description. |
| DFnetlist_Impl::DFnetlist_Impl | ( | FILE * | file | ) |
Constructor. It creates a netlist from a file descriptor. The file is assumed to be opened.
| file | File descriptor. |
| DFnetlist_Impl::DFnetlist_Impl | ( | 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:
| file | File name of the input descriptions. |
| bool DFnetlist_Impl::addElasticBuffers | ( | double | Period = 0, |
| double | BufferDelay = 0, |
||
| bool | MaxThroughput = false, |
||
| double | coverage = 0 |
||
| ) |
Adds elastic buffers to meet a certain cycle period and guarantee elasticity in the system.
| Period | Target cycle Period. If Period <= 0, then no constraints on the period are assumed. |
| BufferDelay | CLK-to-Q delay of the Elastic Buffer. |
| If | asserted, throughput is maximized. |
| bool DFnetlist_Impl::addElasticBuffersBB | ( | double | Period = 0, |
| double | BufferDelay = 0, |
||
| bool | MaxThroughput = false, |
||
| double | coverage = 0, |
||
| int | timeout = -1, |
||
| bool | first_MG = false |
||
| ) |
Adds elastic buffers to meet a certain cycle period and guarantee elasticity in the system by looking at a Basic Block level.
| Period | Target cycle Period. If Period <= 0, then no constraints on the period are assumed. |
| BufferDelay | CLK-to-Q delay of the Elastic Buffer. |
| If | asserted, throughput is maximized. |
| bool DFnetlist_Impl::calculateBasicBlocks | ( | ) |
Calculates the graph of basic blocks.
| bool DFnetlist_Impl::check | ( | ) |
Checks that the netlist is well-formed.
| blockID DFnetlist_Impl::createBlock | ( | BlockType | type, |
| const std::string & | name = "" |
||
| ) |
Creates a new block in the netlist.
| type | Type of the block. |
| name | Name of the block. |
| channelID DFnetlist_Impl::createChannel | ( | portID | src, |
| portID | dst, | ||
| int | slots = 0, |
||
| bool | transparent = true |
||
| ) |
Creates a channel between two ports.
| src | The source port. |
| dst | The destination port. |
| slots | Size of the elastic buffer (0 if no buffer). |
| transparent | Indicates that the elastic buffer is transparent. |
| portID DFnetlist_Impl::createPort | ( | blockID | block, |
| bool | isInput, | ||
| const std::string & | name = "", |
||
| int | width = -1, |
||
| PortType | type = GENERIC_PORT |
||
| ) |
Adds a new port to a block.
| block | id of the block. |
| isInput | Direction of the port. |
| name | Name of the port. |
| width | The width of the port. |
| type | Type of the port (generic, select, true, false). |
| void DFnetlist_Impl::eraseNonSCC | ( | ) |
Removes all non-SCC blocks and channels.
| double DFnetlist_Impl::extractMarkedGraphs | ( | double | coverage | ) |
Extract a set of marked graphs to achieve a certain execution frequency coverage. The extraction is stopped when the coverage is achieved or no more marked graphs are found.
| coverage | The target coverage. |
| double DFnetlist_Impl::extractMarkedGraphsBB | ( | double | coverage | ) |
Extract a set of marked graphs consisting of Basic Blocks to achieve a certain execution frequency coverage. The extraction is stopped when the coverage is achieved or no more marked graphs are found.
| coverage | The target coverage. |
| bbID DFnetlist_Impl::getBasicBlock | ( | blockID | id | ) | const |
Returns the basic block of a block.
| id | Identifier of the block. |
| blockID DFnetlist_Impl::getBlock | ( | const std::string & | name | ) | const |
Returns a block id of the netlist.
| name | Name of the block. |
| double DFnetlist_Impl::getBlockDelay | ( | blockID | id, |
| int | indx | ||
| ) | const |
Returns the delay of a block.
| id | Identifier of the block. |
| blockID DFnetlist_Impl::getBlockFromPort | ( | portID | p | ) | const |
| p | Port ID. |
| const string & DFnetlist_Impl::getBlockName | ( | blockID | id | ) | const |
Returns the name of a block.
| id | Identifier of the block. |
| BlockType DFnetlist_Impl::getBlockType | ( | blockID | id | ) | const |
Returns the type of block.
| id | Identifier of the block. |
| bool DFnetlist_Impl::getBoolValue | ( | blockID | id | ) | const |
Retruns the boolean value of a constant.
| id | Identifier of the block. |
| int DFnetlist_Impl::getBufferSize | ( | blockID | id | ) | const |
Returns the number of slots of an elastic buffer.
| id | Identifier of the block. |
| int DFnetlist_Impl::getChannelBufferSize | ( | channelID | id | ) | const |
Returns the number of slots of the elastic buffer in the channel.
| id | Identifier of the channel. |
| bool DFnetlist_Impl::getChannelEB | ( | channelID | id | ) |
Gets the presence of an EB on the channel.
//Carmine 21.02.22
| id | Identifier of the channel. |
| channelID DFnetlist_Impl::getChannelID | ( | portID | id | ) |
Returns the channel ID.
| id | Identifier of the port. |
| string DFnetlist_Impl::getChannelName | ( | channelID | id, |
| bool | full = true |
||
| ) | const |
Returns the name of the channel.
| id | Identifier of the channel. |
| full | If asserted, a block:port -> block:port description is generated. Otherwise, a block -> block description is generated. |
| double DFnetlist_Impl::getCombinationalDelay | ( | portID | inp, |
| portID | outp | ||
| ) | const |
Returns the combinational delay between an input and and output port of a block. The ports are assumed to belong to the same blocks and the latency of the block is assumed to be zero.
| inp | The input port. |
| outp | The output port. |
| portID DFnetlist_Impl::getConditionalPort | ( | blockID | id | ) | const |
| id | Block id. |
| channelID DFnetlist_Impl::getConnectedChannel | ( | portID | port | ) | const |
Returns the channel associated to a port.
| port | The port from which we want to obtain the channel. |
| portID DFnetlist_Impl::getConnectedPort | ( | portID | port | ) | const |
Returns the opposite port connected to the same channel.
| port | The id of the port. |
| portID DFnetlist_Impl::getDataPort | ( | blockID | id | ) | const |
| id | Block id. |
| const setPorts & DFnetlist_Impl::getDefinitions | ( | portID | p | ) | const |
Returns the set of ports that define values for a port.
| p | The identifier of the port. |
| portID DFnetlist_Impl::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.
| port | Port of the demux. |
| blockID DFnetlist_Impl::getDstBlock | ( | channelID | id | ) | const |
Returns the destination block of a channel.
| id | Id of the channel. |
| portID DFnetlist_Impl::getDstPort | ( | channelID | id | ) | const |
Returns the destination port of a channel.
| id | Id of the channel. |
| const string & DFnetlist_Impl::getError | ( | ) | const |
| string & DFnetlist_Impl::getError | ( | ) |
| int DFnetlist_Impl::getExecutionFrequency | ( | blockID | id | ) | const |
Returns the execution frequency of a block.
| id | Identifier of the block. |
| portID DFnetlist_Impl::getFalsePort | ( | blockID | id | ) | const |
| id | Block id. |
| int DFnetlist_Impl::getInitiationInterval | ( | blockID | id | ) | const |
Returns the initiation interval of a block.
| id | Identifier of the block. |
| int DFnetlist_Impl::getLatency | ( | blockID | id | ) | const |
Returns the latency of a block.
| id | Identifier of the block. |
| const string & DFnetlist_Impl::getName | ( | ) | const |
| portID DFnetlist_Impl::getPort | ( | blockID | block, |
| const std::string & | name | ||
| ) | const |
Returns the id of a port from a given block and pin name.
| block | Id of the block. |
| name | Name of the pin |
| double DFnetlist_Impl::getPortDelay | ( | portID | port | ) | const |
Returns the delay of a port.
| port | Identifier of the port. |
| const string & DFnetlist_Impl::getPortName | ( | portID | port, |
| bool | full = true |
||
| ) | const |
Returns the name of a port.
| port | Identifier of the port. |
| full | If asserted, the full name (block:port) is returned. |
| const setPorts & DFnetlist_Impl::getPorts | ( | blockID | id, |
| PortDirection | dir | ||
| ) | const |
Returns a set of ports with a certain direction.
| id | Block id (the owner of the ports). |
| dir | Direction of the ports (input/output/all). |
| PortType DFnetlist_Impl::getPortType | ( | portID | port | ) | const |
Returns the type of a port.
| port | The id of the port. |
| int DFnetlist_Impl::getPortWidth | ( | portID | port | ) | const |
Returns the width of a port.
| port | The id of the port. |
| blockID DFnetlist_Impl::getSrcBlock | ( | channelID | id | ) | const |
Returns the source block of a channel.
| id | Id of the channel. |
| portID DFnetlist_Impl::getSrcPort | ( | channelID | id | ) | const |
Returns the source port of a channel.
| id | Id of the channel. |
| double DFnetlist_Impl::getTrueFrac | ( | blockID | id | ) | const |
Returns the the true/false exe. fraction of a select op.
| id | Identifier of the block. |
| portID DFnetlist_Impl::getTruePort | ( | blockID | id | ) | const |
| id | Block id. |
| long long DFnetlist_Impl::getValue | ( | blockID | id | ) |
Defines the value of a constant block.
| id | Identifier of the block. |
| value | Value of the constant. |
| bool DFnetlist_Impl::hasBuffer | ( | channelID | id | ) | const |
Checks whether a channel has an elastic buffer (slots > 0).
| id | Identifier of the channel. |
| bool DFnetlist_Impl::hasError | ( | ) | const |
Indicates whether there is an error.
| blockID DFnetlist_Impl::insertBuffer | ( | channelID | c, |
| int | slots, | ||
| bool | transparent | ||
| ) |
Inserts a buffer in a channel. The insertion removes the previous channel and creates two new channels.
| c | The channel identifier. |
| slots | Number of slots of the buffer. |
| transparent | True if the channel must be transparent and false if opaque. |
| blockID DFnetlist_Impl::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.
| c | The channel identifier. |
| slots | Number of slots of the buffer. |
| transparent | True if the channel must be transparent and false if opaque. |
| EB | True if an elastic buffer needs to be placed. |
| bool DFnetlist_Impl::isBooleanConstant | ( | portID | port, |
| bool & | value | ||
| ) | const |
Indicates whether the port has a constant boolean value.
| port | Identifier of the port. |
| value | Value of the constant in case the port has a constant value. |
| bool DFnetlist_Impl::isBooleanPort | ( | portID | port | ) | const |
Checks whether a port is Boolean.
| port | The id of the port. |
| bool DFnetlist_Impl::isBufferTransparent | ( | blockID | id | ) | const |
Checks whether the buffer is transparent.
| id | Identifier of the block. |
| bool DFnetlist_Impl::isChannelTransparent | ( | channelID | id | ) | const |
Checks whether the buffer of the channel is transparent.
| id | Identifier of the channel. |
| bool DFnetlist_Impl::isControlPort | ( | portID | port | ) | const |
Checks whether a port is a control port.
| port | The id of the port. |
| bool DFnetlist_Impl::isInputPort | ( | portID | port | ) | const |
Indicates whether a port is input.
| port | The id of the port. |
| bool DFnetlist_Impl::isOutputPort | ( | portID | port | ) | const |
Indicates whether a port is output.
| port | The id of the port. |
| bool DFnetlist_Impl::isPortConnected | ( | portID | port | ) | const |
Checks whether a port is connected.
| port | The port id. |
| int DFnetlist_Impl::numBlocks | ( | ) | const |
| int DFnetlist_Impl::numChannels | ( | ) | const |
| int DFnetlist_Impl::numPorts | ( | ) | const |
| bool DFnetlist_Impl::optimize | ( | ) |
Performs different types of optimizations to reduce the complexity of the dataflow netlist. It also calculates the rechable definitions for every block.
| void DFnetlist_Impl::removeBlock | ( | blockID | block | ) |
Removes a block and all the associated channels from the netlist.
| block | Identifier of the block. |
| channelID DFnetlist_Impl::removeBuffer | ( | blockID | buf | ) |
Removes a buffer and reconnects the input and output channels.
| buf | Identifier of the buffer. |
| void DFnetlist_Impl::removeChannel | ( | channelID | id | ) |
Removes a channel.
| id | Id of the channel. |
| bool DFnetlist_Impl::removeControl | ( | ) |
Remove the control (synchronization) blocks of the dataflow netlist.
| void DFnetlist_Impl::removePort | ( | portID | port | ) |
Removes a port and the associated channels from the netlist.
| port | Identifier of the port. |
| void DFnetlist_Impl::setBasicBlock | ( | blockID | id, |
| bbID | bb = invalidDataflowID |
||
| ) |
Defines the basic block of a block.
| id | Identifer of the block |
| void DFnetlist_Impl::setBlockDelay | ( | blockID | id, |
| double | d, | ||
| int | indx | ||
| ) |
Sets the delay of a block.
| id | Identifier of the block. |
| d | Delay of the block. |
| void DFnetlist_Impl::setBufferSize | ( | blockID | id, |
| int | slots | ||
| ) |
Sets the number of slots of an elastic buffer.
| id | Identifier of the block. |
| slots | Number of slots of the buffer. |
| void DFnetlist_Impl::setBufferTransparency | ( | blockID | id, |
| bool | value | ||
| ) |
Sets the transparency of an elastic buffer.
| id | Identifier of the block. |
| value | True if transparent, and false if opaque. |
| void DFnetlist_Impl::setChannelBufferSize | ( | blockID | id, |
| int | slots | ||
| ) |
Sets the number of slots of the elastic buffer in the channel.
| id | Identifier of the channel. |
| slots | Number of slots of the buffer. |
| void DFnetlist_Impl::setChannelEB | ( | channelID | id | ) |
Sets the presence of an EB on the channel.
//Carmine 21.02.22
| id | Identifier of the channel. |
| void DFnetlist_Impl::setChannelTransparency | ( | channelID | id, |
| bool | value | ||
| ) |
Sets the transparency of the elastic buffer in the channel.
| id | Identifier of the channel. |
| value | True if transparent, and false if opaque. |
| void DFnetlist_Impl::setError | ( | const std::string & | err | ) |
Sets an error message for the netlist.
| err | Error message. |
| void DFnetlist_Impl::setExecutionFrequency | ( | blockID | id, |
| double | freq | ||
| ) |
Sets the execution frequency of a block.
| id | Identifier of the block. |
| freq | Execution frequency of the block. |
| void DFnetlist_Impl::setInitiationInterval | ( | blockID | id, |
| int | ii | ||
| ) |
Sets the initiation interval of a block.
| id | Identifier of the block. |
| ii | Initiation interval of the block. |
| void DFnetlist_Impl::setLatency | ( | blockID | id, |
| int | lat | ||
| ) |
Sets the latency of a block.
| id | Identifier of the block. |
| lat | Latency of the block. |
| void DFnetlist_Impl::setMilpSolver | ( | const std::string & | solver = "cbc" | ) |
Sets the solver for MILP optimization problems.
| solver | Name of the solver (usually cbc or glpsol). |
| void DFnetlist_Impl::setOperation | ( | blockID | id, |
| std::string | op | ||
| ) |
Defines the operation (instruction) of operators.
Lana 07.03.19
| id | Identifier of the block. |
| op | Operation. |
| void DFnetlist_Impl::setPortDelay | ( | portID | port, |
| double | d | ||
| ) |
Sets the delay of a port.
| port | Identifier of the port. |
| d | The delay. |
| void DFnetlist_Impl::setPortWidth | ( | portID | port, |
| int | width | ||
| ) |
Defines the width of a port.
| port | The id of the port. |
| width | The width of the port. |
| void DFnetlist_Impl::setTrueFrac | ( | blockID | id, |
| double | freq | ||
| ) |
Sets the true/false exe. fraction of a select op.
| id | Identifier of the block. |
| freq | Execution frequency of the block. |
| void DFnetlist_Impl::setValue | ( | blockID | id, |
| longValueType | value | ||
| ) |
Defines the value of a constant block.
| id | Identifier of the block. |
| value | Value of the constant. |
| bool DFnetlist_Impl::validBlock | ( | blockID | id | ) | const |
Indicates whether a block id is valid.
| id | The id of the block. |
| bool DFnetlist_Impl::validChannel | ( | channelID | id | ) | const |
Indicates whether a channel id is valid.
| id | The id of the channel. |
| bool DFnetlist_Impl::validPort | ( | portID | p | ) | const |
| p | The port id. |
| bool Dataflow::DFnetlist_Impl::writeBasicBlockDot | ( | const std::string & | filename = "" | ) |
Writes the basic blocks of a dataflow netlist in dot format.
| filename | The name of the file. In case the filename is empty, it is written into cout. |
| bool DFnetlist_Impl::writeBasicBlockDot | ( | std::ostream & | s | ) |
Writes the basic blocks of a dataflow netlist in dot format.
| s | The output stream. |
| bool Dataflow::DFnetlist_Impl::writeDot | ( | const std::string & | filename = "" | ) |
Writes the dataflow netlist in dot format.
| filename | The name of the file. In case the filename is empty, it is written into cout. |
| bool DFnetlist_Impl::writeDot | ( | std::ostream & | of | ) |
Writes the dataflow netlist in dot format.
| s | The output stream. |
1.8.13