Experimenting with SDC/Tcl wildcards: Quartus TimingQuest Timing Analyzer
Wildcards There is a certain confusion regarding how wildcards are matched in the SDC file (in fact, by the Tcl commands), which is why full paths are often used. This causes overloaded SDC files that...
View ArticleTcl scripting: Which version of Quartus am I running?
The short answer is $quartus(version). Those familiar with Tcl immediately tell that there’s a named array (hash), $quartus, containing a key “version” which returns the full revision name. So,...
View ArticleUnder the hood of Vivado runs: Some scripting essentials
Introduction My motivation for looking inside Vivado runs was that I wanted to implement a Vivado project from within XEmacs, using the Compile button, and all that within a rather tangled...
View ArticleMaking any IP in the IP Catalog availabe in QSys
Introduction I needed the Cyclone V Transceiver Native PHY IP Core inside QSys. Why? Actually, part of a failed attempt to find solve a compilation error. The IP is available in Quartus 15.1′s IP...
View ArticleCritical Warnings after upgrading a PCIe block for Ultrascale+ on Vivado 2020.1
Introduction Checking Xillybus’ bundle for Kintex Ultrascale+ on Vivado 2020.1, I got several critical warnings related to the PCIe block. As the bundle is intended to show how Xillybus’ IP core is...
View ArticleVivado: Failed to install all user apps
Every now and then Vivado whines with [Common 17-356] Failed to install all user apps. And every time I’m looking up how to to solve this, and then I find that the command that fixes this is...
View Article