Tincr  0.0
A Tcl-based CAD Tool Framework for Xilinx's Vivado Design Suite
Functions
tincr::bels Namespace Reference

The bels ensemble encapsulates the bel class from Vivado's Tcl data structure. More...

Functions

 test args
 
 get args
 
 get_name bel
 
 get_type bel
 
 unique args
 
 get_info bel ?info?
 
 instance_route_through args
 
 get_types bel
 
 get_site_types bel
 
 iterate var obj body
 
 compatible_with_lib_cell lib_cell
 
 compatible_with_cell cell
 
 compatible_with objs
 
 is_lut5 bel
 
 is_lut6 bel
 
 is_lut args
 
 is_route_through bel
 
 remove_route_through args
 

Detailed Description

The bels ensemble encapsulates the bel class from Vivado's Tcl data structure.

Function Documentation

◆ compatible_with()

tincr::bels::compatible_with   objs  

Get the BELs that the given objects can be placed on. Valid objects include lib_cells and cells.

Parameters
objsThe list of objects.
Returns
A list of bel objects that one or more of the listed objects can be placed on.

◆ get_info()

tincr::bels::get_info   bel ?info?  

Get information about a BEL that can be found by parsing its name.

Parameters
belThe bel object.
infowhich information to get about the BEL. Valid values include site or name.
Returns
The specified value as a string.

◆ get_name()

tincr::bels::get_name   bel  

Get the name of a BEL.

Parameters
belThe bel object.
Returns
The name of the BEL as a string.

◆ get_site_types()

tincr::bels::get_site_types   bel  

Get the site types of a BEL, including alternate site types. NOTE: This command accesses a cached array that must first be generated. The first time this command is run in a Vivado session, it will take significantly longer than subsequent calls to the command.

Parameters
belThe bel object.
Returns
A list of site types of the parent site object that include this BEL.

◆ get_type()

tincr::bels::get_type   bel  

Get the type of a BEL.

Parameters
belThe bel object.
Returns
The BEL's type as a string.

◆ get_types()

tincr::bels::get_types   bel  

Get the alternate types of a BEL. Some BELs can change their type without changing the type of the parent site. Vivado does not provide a listing of these alternate types, and the only way to discover them is by placing a cell using the name of the BEL's alternate type instance.

Parameters
belThe bel object.
Returns
A list of the alternate bel objects.

◆ is_lut()

tincr::bels::is_lut   args  

A simple proc to tell if a given BEL is a LUT

Parameters
belThe bel object.
Returns
True (1) if the BEL is a LUT, false (0) otherwise.

◆ is_lut5()

tincr::bels::is_lut5   bel  

A simple proc to tell if a given BEL is a LUT5

Parameters
belThe bel object.
Returns
True (1) if the BEL is a LUT5, false (0) otherwise.

◆ is_lut6()

tincr::bels::is_lut6   bel  

A simple proc to tell if a given BEL is a LUT6

Parameters
belThe bel object.
Returns
True (1) if the BEL is a LUT6, false (0) otherwise.

◆ is_route_through()

tincr::bels::is_route_through   bel  

Is this BEL a route-through?

Parameters
belThe bel object.
Returns
True (1) if this BEL is being used as a route through, false (0) otherwise.

◆ iterate()

tincr::bels::iterate   var obj body  

Iterate over the set of BELs associated with the given object.

Parameters
varThe name of the variable that will represent the bel object in each iteration.
objThe object that will be queried for its set of bel objects.
bodyThe script that will executed each iteration.

◆ remove_route_through()

tincr::bels::remove_route_through   args  

Remove the route-through (i.e. replace it with a BUF cell)

◆ unique()

tincr::bels::unique   args  

Get a list of BELs on the device that is unique based on BEL type. TODO Remove args processing.