You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.5 KiB
101 lines
2.5 KiB
#!/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
|
|
|