diff options
Diffstat (limited to 'fpga/xilinx/programmer/dependencies/libxsvf/xsvftool-xpcu.src/hardware.sh')
-rw-r--r-- | fpga/xilinx/programmer/dependencies/libxsvf/xsvftool-xpcu.src/hardware.sh | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/fpga/xilinx/programmer/dependencies/libxsvf/xsvftool-xpcu.src/hardware.sh b/fpga/xilinx/programmer/dependencies/libxsvf/xsvftool-xpcu.src/hardware.sh new file mode 100644 index 0000000..e4c9579 --- /dev/null +++ b/fpga/xilinx/programmer/dependencies/libxsvf/xsvftool-xpcu.src/hardware.sh @@ -0,0 +1,100 @@ +#!/bin/bash +# +# xsvftool-xpcu - An (X)SVF player for the Xilinx Platform Cable USB +# +# Copyright (C) 2011 RIEGL Research ForschungsGmbH +# Copyright (C) 2011 Clifford Wolf <clifford@clifford.at> +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +. /opt/Xilinx/13.1/ISE_DS/settings32.sh + +cat > hardware.prj <<- EOT + verilog work "hardware.v" +EOT + +cat > hardware.lso <<- EOT + work +EOT + +cat > hardware.xst <<- EOT + set -tmpdir "xilinx/projnav.tmp" + set -xsthdpdir "xilinx" + run + -ifn hardware.prj + -ifmt mixed + -ofn hardware + -ofmt NGC + -p xbr + -top top + -opt_mode Speed + -opt_level 1 + -iuc NO + -lso hardware.lso + -keep_hierarchy YES + -netlist_hierarchy as_optimized + -rtlview Yes + -hierarchy_separator / + -bus_delimiter <> + -case maintain + -verilog2001 YES + -fsm_extract YES -fsm_encoding Auto + -safe_implementation No + -mux_extract YES + -resource_sharing YES + -iobuf YES + -pld_mp YES + -pld_xp YES + -pld_ce YES + -wysiwyg NO + -equivalent_register_removal YES +EOT + +cat > hardware.cmd <<- EOT + setMode -bs + setCable -port svf -file "hardware.svf" + addDevice -p 1 -file "hardware.jed" + Erase -p 1 + Program -p 1 -e -v + Verify -p 1 + quit +EOT + +cat > erasecpld.cmd <<- EOT + setMode -bs + setCable -port svf -file "erasecpld.svf" + addDevice -p 1 -file "hardware.jed" + Erase -p 1 + quit +EOT + +set -ex + +mkdir -p xilinx/projnav.tmp/ +xst -ifn "hardware.xst" -ofn "hardware.syr" + +mkdir -p xilinx/_ngo/ +ngdbuild -dd xilinx/_ngo -uc hardware.ucf -p xc2c256-VQ100-6 hardware.ngc hardware.ngd + +cpldfit -p xc2c256-7-VQ100 -ofmt verilog -optimize density -htmlrpt -loc on -slew fast -init low \ + -inputs 32 -pterms 28 -unused keeper -terminate keeper -iostd LVCMOS18 hardware.ngd + +hprep6 -i hardware + +impact -batch hardware.cmd +sed -i '\,^// Date:, d;' hardware.svf + +impact -batch erasecpld.cmd +sed -i '\,^// Date:, d;' erasecpld.svf + |