0

I find the Vivado IDE to be very unwieldy, particularly for small classroom demos. I would like to just use a text editor, the compiler, and the graph displayer.

In icarus verilog, it's easy:

iverilog my_tb.sv -o my_tb
./my_tb
gtkwave my_tb.vcd

Is there an equivalent in vivado? I've seen tcl script that write to an FPGA board, but I just want to run the compiler and I can't find that. I found that the simulation tool is xsim.

Also, the vivado installation process is horrendously bad. Slow, fails easily, installs gigabytes of files. I'm currently running on this linux laptop, and their installer is downloading at about 5MB/s, it's going to take 5 hours to download. I have experienced this in the past so I am downloading first, then installing, because the installs often fail.

By unchecking most families of FPGAs I could get it down to about 45GB. But is there a lot more that could be removed, if I just want to compile and simulate? Or for that matter, if I want to program only a single FPGA like XC7Z020-1CLG400C.

4
  • why do you want to use vivado? Commented Sep 26, 2024 at 15:10
  • are you just looking for an alternative simulator to iverilog? Commented Sep 26, 2024 at 15:23
  • vivado is the industry leader. But in class, it's extremely unwieldy to create a project for a little demo. So it's nice to be able to bypass the poor IDE if possible, but I guess it's not really Commented Sep 26, 2024 at 21:17
  • Vivado is large mostly because of the back end tools target a lot of different hardware. If you want to run simulation and look at waves use www.edaplayground.com , full versions of all industry standard simulation tools, it's free just need an good email address to register. There are some limitations, nothing to install. Check it out Commented Sep 26, 2024 at 21:31

1 Answer 1

0

The best way to do this is to create a Tcl script with whatever you need to do, and then invoke it from the command line. Everything happens within Vivado's runtime environment, which takes some time to start up. So invoking things as individual commands from a shell script can be pretty slow.

You can run your Tcl script from the command line like this:

source <vivado_dir>/settings64.sh
vivado -mode <mode> -source script.tcl

The <mode> can be batch to just run the script and exit, or gui if you need the GUI. Replace <vivado_dir> with the base Vivado dir, where you'll see that settings64 script.

For simulation, your Tcl script will include an open_project and launch_simulation, or some variant of that depending on exactly what you want to do.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.