UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer slipknotchik
Observer
113 Views
Registered: ‎06-25-2016

Question on impl_utils.tcl script

Good Day!

I want to change impl_utils.tcl so that vivado will use /netlist/*.ngc files.

I guess I need to modify '$netlistDir/$module/${moduleName}.ngc' string in script.

A part of script (not changed) is

###############################################################
# Find netlist for specified module
###############################################################
proc get_module_file { module } {
global synthDir
global netlistDir

set moduleName [get_module_attribute $module moduleName]
set synthDCP [get_module_attribute $module synthCheckpoint]
set searchFiles [list $synthDCP \
$synthDir/$module/${moduleName}_synth.dcp \
$netlistDir/$module/${moduleName}.edf \
$netlistDir/$module/${moduleName}.edn \
$netlistDir/$module/${moduleName}.ngc
]
set moduleFile ""
foreach file $searchFiles {
if {[file exists $file]} {
set moduleFile $file
break
}
}
if {![llength $moduleFile]} {
set errMsg "ERROR: No synthesis netlist or checkpoint file found for $module\n"
append errMsg "Searched directories:"
foreach file $searchFiles {
append errMsg $file\n
}
error $errMsg
}
return $moduleFile
}

0 Kudos
4 Replies
Xilinx Employee
Xilinx Employee
83 Views
Registered: ‎04-16-2008

Re: Question on impl_utils.tcl script

The 'get_module_file' proc is for adding a top-level source to either top, or one of the RMs.  It already looks for NGC at a specific location:

$netlistDir/$module/${moduleName}.ngc 

If you just want to change the location of where this NGC exists, you can define it in synthDCP attribute, or modify this proc to check a different/new default location for the file name.  

However, if you want it to pick up all the NGC files in the /netlist directory, this is not the right (or at least on the only) change you need to make.  If there are separate NGC files for submodules within the Top or RM module, you can add these as "cores" to the module.  

The other option is load all the NGC files into VIvado using link_design (-mode OOC if this is an RM), and then write out a single DCP with everything merged. 

0 Kudos
Observer slipknotchik
Observer
59 Views
Registered: ‎06-25-2016

Re: Question on impl_utils.tcl script

Problem is that I've got ngc files with names not containing module name and Top vhd file include subtop file and also all molules in subtop are under generics. That was too difficult to create right named dirs in /netlist dir for me and I've changed string in proc so:

...proc...

...

$netlistDir/{*}.ngc      \

...

But TopDown implementation DCP still contains critical warnings on black boxes

Why does script can't see ngc's in dir?

0 Kudos
Observer slipknotchik
Observer
52 Views
Registered: ‎06-25-2016

Re: Question on impl_utils.tcl script

Also I've changed string to: $netlistDir/fifo.ngc
So script can't check direct link to my fifo.ngc too
0 Kudos
Xilinx Employee
Xilinx Employee
39 Views
Registered: ‎04-16-2008

Re: Question on impl_utils.tcl script

Try using the command.log to debug.  This will show you the actual commands being created by the scripts, and this should give an indication as to which files are being added, and why blackboxes may still exist.  Also search the vivado.log (or critical.log) for warnings that indicate if something didn't load the way you intended.

0 Kudos