Verilog to Routing - VPR
Public Member Functions | Private Attributes
BlackBoxInst Class Reference
Inheritance diagram for BlackBoxInst:
Inheritance graph
[legend]
Collaboration diagram for BlackBoxInst:
Collaboration graph
[legend]

Public Member Functions

 BlackBoxInst (std::string type_name, std::string inst_name, std::map< std::string, std::string > params, std::map< std::string, std::string > attrs, std::map< std::string, std::vector< std::string >> input_port_conns, std::map< std::string, std::vector< std::string >> output_port_conns, std::vector< Arc > timing_arcs, std::map< std::string, double > ports_tsu, std::map< std::string, double > ports_tcq)
 
void print_blif (std::ostream &os, size_t &unconn_count, int depth=0) override
 Print the current instance in blif format. More...
 
void print_verilog (std::ostream &os, int depth=0) override
 Print the current instanse in Verilog, see print_blif() for argument descriptions. More...
 
void print_sdf (std::ostream &os, int depth=0) override
 Print the current instanse in SDF, see print_blif() for argument descriptions. More...
 
size_t find_port_size (std::string port_name)
 
- Public Member Functions inherited from Instance
virtual ~Instance ()=default
 

Private Attributes

std::string type_name_
 
std::string inst_name_
 
std::map< std::string, std::string > params_
 
std::map< std::string, std::string > attrs_
 
std::map< std::string, std::vector< std::string > > input_port_conns_
 
std::map< std::string, std::vector< std::string > > output_port_conns_
 
std::vector< Arctiming_arcs_
 
std::map< std::string, double > ports_tsu_
 
std::map< std::string, double > ports_thld_
 
std::map< std::string, double > ports_tcq_
 

Constructor & Destructor Documentation

◆ BlackBoxInst()

BlackBoxInst::BlackBoxInst ( std::string  type_name,
std::string  inst_name,
std::map< std::string, std::string >  params,
std::map< std::string, std::string >  attrs,
std::map< std::string, std::vector< std::string >>  input_port_conns,
std::map< std::string, std::vector< std::string >>  output_port_conns,
std::vector< Arc timing_arcs,
std::map< std::string, double >  ports_tsu,
std::map< std::string, double >  ports_tcq 
)
inline
Parameters
type_nameInstance type
inst_nameInstance name
paramsVerilog parameters: Dictonary of <param_name,value>
attrsInstance attributes: Dictonary of <attr_name,value>
input_port_connsPort connections: Dictionary of <port,nets>
output_port_connsPort connections: Dictionary of <port,nets>
timing_arcsCombinational timing arcs
ports_tsuPort setup checks
ports_tcqPort clock-to-q delays

Member Function Documentation

◆ find_port_size()

size_t BlackBoxInst::find_port_size ( std::string  port_name)
inline

◆ print_blif()

void BlackBoxInst::print_blif ( std::ostream &  os,
size_t &  unconn_count,
int  depth = 0 
)
inlineoverridevirtual

Print the current instance in blif format.

Parameters
osThe output stream to print to
unconn_countThe current count of unconnected nets. BLIF has limitations requiring unconnected nets to be used to represent unconnected ports. To allow unique naming of these nets unconn_count is used to uniquify these names. Whenever creating an unconnected net (and using unconn_count to uniquify its name in the file) unconn_count should be incremented.
depthCurrent indentation depth. This is used to figure-out how much indentation should be applied. This is purely for cosmetic formatting. Use indent() for generating consistent indentation.

Implements Instance.

◆ print_sdf()

void BlackBoxInst::print_sdf ( std::ostream &  os,
int  depth = 0 
)
inlineoverridevirtual

Print the current instanse in SDF, see print_blif() for argument descriptions.

Implements Instance.

◆ print_verilog()

void BlackBoxInst::print_verilog ( std::ostream &  os,
int  depth = 0 
)
inlineoverridevirtual

Print the current instanse in Verilog, see print_blif() for argument descriptions.

Implements Instance.

Field Documentation

◆ attrs_

std::map<std::string, std::string> BlackBoxInst::attrs_
private

◆ input_port_conns_

std::map<std::string, std::vector<std::string> > BlackBoxInst::input_port_conns_
private

◆ inst_name_

std::string BlackBoxInst::inst_name_
private

◆ output_port_conns_

std::map<std::string, std::vector<std::string> > BlackBoxInst::output_port_conns_
private

◆ params_

std::map<std::string, std::string> BlackBoxInst::params_
private

◆ ports_tcq_

std::map<std::string, double> BlackBoxInst::ports_tcq_
private

◆ ports_thld_

std::map<std::string, double> BlackBoxInst::ports_thld_
private

◆ ports_tsu_

std::map<std::string, double> BlackBoxInst::ports_tsu_
private

◆ timing_arcs_

std::vector<Arc> BlackBoxInst::timing_arcs_
private

◆ type_name_

std::string BlackBoxInst::type_name_
private

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