Making 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 Catalog, but inside the same toolkit’s QSys it doesn’t appear in the list of IPs. As discussed in this forum thread, [...]

Under 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 Makefile-based build system. But I also wanted to leave the possibility to open the project using Vivado’s GUI, if something went wrong or needed [...]

Tcl 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, entering an interactive session, $ quartus_sh -s Info: ******************************************************************* Info: Running Quartus II 32-bit Shell Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web [...]

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 don’t survive changes in the hierarchy. For example, regarding get_pins, the SDC and TimeQuest API Reference Manual page 2-15 states [...]