Closed mospoly closed 7 years ago
Hi mospoly,
The message you received from package require tincr
is expected. It is telling you that the Tincr version you have installed is "0.0" (it is a little weird). Try typing the command tincr::refresh_packages
to test that Tincr is installed correctly.
Dear @ttown523
Thanks for your reply. Actually I have executed the tincr::refresh_packages
command and I got the following return message:
Refreshing all Tincr packages: Refreshing tincr package...DONE Refreshing tincr.cad package...DONE Refreshing tincr.cad.cache package...DONE Refreshing tincr.cad.design package...DONE Refreshing tincr.cad.device package...DONE Refreshing tincr.cad.placer package...DONE Refreshing tincr.cad.router package...DONE Refreshing tincr.cad.util package...DONE Refreshing tincr.io package...DONE Refreshing tincr.io.design package...DONE Refreshing tincr.io.device package...DONE Refreshing tincr.io.library package...DONE
It seems that all packages have been installed correctly. Now, when I am trying to execute any of the tinct commands in this link I receive the following ERROR messages. For example: (the net's name is Inst_StartPoint_DFF/Qs)
tincr::nets::unroute Inst_StartPoint_DFF/Qs
**ERROR: [Common 17-161] Invalid option value 'Inst_StartPoint_DFF/Qs' specified for 'object'.**
Another example:
tincr::nets::manhattan_distance Inst_StartPoint_DFF/DOUT_reg
ERROR: [Common 17-161] Invalid option value 'Inst_StartPoint_DFF/DOUT_reg' specified for 'of_objects'.
ONLY I could execute the two following tincr commands successfully in Tcl command line of Vivado 2015.4:
tincr::nets::rename tincr::nets::new
Can you please guide me how did happen? the tincr packages are installed? not installed?
Thanks and regards,
The functions you referenced are expecting Vivado net
objects and not net names, which is why the errors are occurring. Try these commands instead:
tincr::nets::unroute [get_nets Inst_StartPoint_DFF/Qs]
and
tincr::nets::manhattan_distance [get_nets Inst_StartPoint_DFF/DOUT_reg]
Dear @ttown523
EXCELLENT ! Now it is working properly and both commands are working very well. Since I am newbie to TINCR tool, as aquestion please, Does the TINCR tool provides us something more that we can achieve by Tcl commands?
Thanks and Regards,
Dear @ttown523 ,
Another issue is that some of the commands mentioned in the link in my initial post do not return anything and some of them give an ERROR message, like these commands:
tincr::nets::get_route_throughs [get_nets Inst_StartPoint_DFF/Qs]
That returns nothing !!!!
tincr::nets::list_pips [get_nets Inst_StartPoint_DFF/Qs]
that gives the error below:
invalid command name "get_nodes_of_net"
Why does it happen?
Thanks and Regards,
The first command you referenced tincr::nets::get_route_throughs [get_nets Inst_StartPoint_DFF/Qs]
returns a list of Bel
objects that are being used as routethroughs. If the net you passed into the function has no routethroughs, then a empty list will be returned (which will look like nothing in Tcl).
The second command is probably a bug. I looked at the code and can't find where "get_nodes_of_net" is defined. I am going to reference @bradselw to answer this question since he is the one who wrote that part of the code.
To answer you previous question, yes Tincr provides several functions that are an extension to Vivado's Tcl interface. The function you referenced get_route_throughs
is an example. Vivado does not offer a similar function, and finding these routethroughs is actually quite complicated. Tincr makes some things easier to do for users such as yourself. Also, using Tincr (in conjunction with RapidSmith2) you can extract designs from Vivado, and manipulate/analyze them in an external Java environment.
Dear @ttown523 ,
Thank you for your clear explanation. Meanwhile that @bradselw looks to that function, could you please let me know what is exactly "routethroughs" by your definition? Do you mean the logics and pins that a path will through to complete a routing path? If so, using tincr, can we force the Tcl (or tincr) based script to navigate through a path a prepare all available PIPs and wires for each node of the path? Can we force the tool to pass through a specific logic or switch box without determining the source logic?
Thanks and Regards,
@mospoly, we use the same definition of "routethrough" as in Xilinx's own XDL language. Basically, it is a LUT that has been repurposed as a PIP.
I have opened issue #54 for the list_pips
bug you mentioned above. Thanks for reporting it!
I am closing this issue as your original question has been answered.
Dear all,
While I tried to install TINCR on my VIVADO 2015.4 installed on Windows 7-64-bit, it does not work. I did the following steps:
user environment for Me
TINCR_PATH D:\Xilinx\tincr-master\tincr-master
Copied pkgIndex.tcl to the following destination folder where I have installed my Vivado2015.4 D:\Xilinx\Vivado2015.4\tps\tcl\tcl8.5
Opened Vivado in Tcl mode and typed :
package require tincr
and I got the following message:0.0 Vivado%
It seems weird ! It seems that it could not install pkgIndex.tcl file !!!!
Can anybody help me to solve this problem? I do no know where this problem does come??
Thanks and Regards, MOSPOLY