Browse Source

Set of scripts to automatically install Xilinx Vivado into a VM,

and provide a way to launch it from the command line.  This is
tested on MacOSX w/ VirtualBox.  It also installs the Xilinx drivers
and has been tested in programming a Digilent Cora Z7 board.
main
John-Mark Gurney 3 years ago
commit
26db63c809
6 changed files with 98 additions and 0 deletions
  1. +6
    -0
      .gitignore
  2. +29
    -0
      Makefile
  3. +14
    -0
      README.md
  4. +13
    -0
      Vagrantfile
  5. +3
    -0
      bootstrap.sh
  6. +33
    -0
      install_config.txt

+ 6
- 0
.gitignore View File

@@ -0,0 +1,6 @@
Xilinx_Unified_2019.2_1106_2127_Lin64.bin
.extract
.token
.install
.vagrant
.DS_Store

+ 29
- 0
Makefile View File

@@ -0,0 +1,29 @@
# Installation instructions:
# https://www.xilinx.com/content/dam/xilinx/support/documentation/sw_manuals/xilinx2019_2/ug973-vivado-release-notes-install-license.pdf
#
# See Chapt 4: Installing the Vivado Design Suite Tools -> Batch Mode Installation Flow

Xilinx_Unified_2019.2_1106_2127_Lin64.bin:
echo 'Must d/l manually'
exit 1

.extract: Xilinx_Unified_2019.2_1106_2127_Lin64.bin
chmod 755 $< && vagrant up && vagrant ssh -c '/vagrant/Xilinx_Unified_2019.2_1106_2127_Lin64.bin --keep --noexec --target vivado' && touch $@ || (echo failed to extract; rm -f $@)

.token: .extract
vagrant up && vagrant ssh -c 'vivado/xsetup -b AuthTokenGen' && touch $@ || (echo failed to generate auth token; rm -f $@)

.PHONY: confgen
confgen: .extract
vagrant ssh -c 'vivado/xsetup -b ConfigGen && cp .Xilinx/install_config.txt /vagrant'

.install: .token
vagrant up && vagrant ssh -c 'sudo mkdir -p /tools/Xilinx && sudo chown vagrant /tools/Xilinx && vivado/xsetup -b Install -a XilinxEULA,3rdPartyEULA,WebTalkTerms -c /vagrant/install_config.txt && cd /tools/Xilinx/Vivado/2019.2/data/xicom/cable_drivers/lin64/install_script/install_drivers && sudo ./install_drivers' && touch $@ || (echo failed to install software; rm -f $@)

.PHONY: vivado
vivado: .install
vagrant up && vagrant ssh -c /tools/Xilinx/Vivado/2019.2/bin/vivado

.PHONY: shell
shell: .install
vagrant up && vagrant ssh

+ 14
- 0
README.md View File

@@ -0,0 +1,14 @@
Vivado Vagrant
==============

This automatically installs Vivado into a VM for development.


Steps
-----

Note: by running these commands, it will execute a step that has you agree to Xilinux's EULA, their 3rd Party EULA and their Web Talk Terms. If you do not agree to these terms, do not run the commands.

1) Make sure that vagrant is installed and functional.
2) Download and put the file `Xilinx_Unified_2019.2_1106_2127_Lin64.bin` in this directory.
3) Run: `make vivado`

+ 13
- 0
Vagrantfile View File

@@ -0,0 +1,13 @@
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.ssh.forward_x11 = true

config.vm.provider 'virtualbox' do |v|
v.customize ['modifyvm', :id, '--usb', 'on']
v.customize ['modifyvm', :id, '--usbehci', 'on']
v.memory = 2048
v.cpus = 2
end

config.vm.provision :shell, path: "bootstrap.sh"
end

+ 3
- 0
bootstrap.sh View File

@@ -0,0 +1,3 @@
#!/bin/sh -

apt-get install -y xauth libxrender1 libxtst6 libxi6

+ 33
- 0
install_config.txt View File

@@ -0,0 +1,33 @@
#### Vivado HL WebPACK Install Configuration ####
Edition=Vivado HL WebPACK

Product=Vivado

# Path where Xilinx software will be installed.
Destination=/tools/Xilinx

# Choose the Products/Devices the you would like to install.
Modules=Virtex UltraScale+ HBM:1,Zynq UltraScale+ MPSoC:1,DocNav:1,Kintex UltraScale:1,Zynq-7000:1,System Generator for DSP:0,Virtex UltraScale+:1,Kintex UltraScale+:1,Model Composer:0

# Choose the post install scripts you'd like to run as part of the finalization step. Please note that some of these scripts may require user interaction during runtime.
InstallOptions=

## Shortcuts and File associations ##
# Choose whether Start menu/Application menu shortcuts will be created or not.
CreateProgramGroupShortcuts=1

# Choose the name of the Start menu/Application menu shortcut. This setting will be ignored if you choose NOT to create shortcuts.
ProgramGroupFolder=Xilinx Design Tools

# Choose whether shortcuts will be created for All users or just the Current user. Shortcuts can be created for all users only if you run the installer as administrator.
CreateShortcutsForAllUsers=0

# Choose whether shortcuts will be created on the desktop or not.
CreateDesktopShortcuts=1

# Choose whether file associations will be created or not.
CreateFileAssociation=1

# Choose whether disk usage will be optimized (reduced) after installation
EnableDiskUsageOptimization=1


Loading…
Cancel
Save