summaryrefslogtreecommitdiffstats
path: root/fpga/xilinx/programmer/bit2svf
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-20 01:52:36 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-20 01:52:36 -0600
commitd94bf35fe7f2c30c5ea333eb0c97c20f29da089a (patch)
treecef60efbce395f3079308d9aa2e767993013c8bf /fpga/xilinx/programmer/bit2svf
parent9c6d284d49dd8849e3c0ebb614df72aa96f910f9 (diff)
downloadulab-d94bf35fe7f2c30c5ea333eb0c97c20f29da089a.tar.gz
ulab-d94bf35fe7f2c30c5ea333eb0c97c20f29da089a.zip
Add initial untested support for Spartan 6 devices
Diffstat (limited to 'fpga/xilinx/programmer/bit2svf')
-rw-r--r--fpga/xilinx/programmer/bit2svf/templates/DEVICES5
-rw-r--r--fpga/xilinx/programmer/bit2svf/templates/alg_Spartan_6.svft80
2 files changed, 84 insertions, 1 deletions
diff --git a/fpga/xilinx/programmer/bit2svf/templates/DEVICES b/fpga/xilinx/programmer/bit2svf/templates/DEVICES
index 86f53a9..1e1eb63 100644
--- a/fpga/xilinx/programmer/bit2svf/templates/DEVICES
+++ b/fpga/xilinx/programmer/bit2svf/templates/DEVICES
@@ -36,7 +36,10 @@ XC3S4000, f1448093, 0fffffff, alg_Spartan_3, VOID , 0l
XC3S5000, f1450093, 0fffffff, alg_Spartan_3, VOID , 0l
// Virtex 4 family (10 bits IR)
-XC4VLX25, f167c093, 0fffffff, alg_Virtex_4, VOID, 0l
+XC4VLX25, f167c093, 0fffffff, alg_Virtex_4 , VOID , 0l
+
+// Spartan 6 family
+XC6SLX16, f4002093, 0fffffff, alg_Spartan_6, VOID , 0l
//EOF
diff --git a/fpga/xilinx/programmer/bit2svf/templates/alg_Spartan_6.svft b/fpga/xilinx/programmer/bit2svf/templates/alg_Spartan_6.svft
new file mode 100644
index 0000000..5e64c24
--- /dev/null
+++ b/fpga/xilinx/programmer/bit2svf/templates/alg_Spartan_6.svft
@@ -0,0 +1,80 @@
+//Info: Sample template for programming XILINX Spartan 6 FPGA
+//Info: Created with output from Impact
+
+--LITERAL START
+TRST OFF;
+ENDIR IDLE;
+ENDDR IDLE;
+STATE RESET;
+STATE IDLE;
+FREQUENCY 1E6 HZ;
+//Operation: Program -p 0
+TIR 0 ;
+HIR 0 ;
+TDR 0 ;
+HDR 0 ;
+TIR 0 ;
+HIR 0 ;
+HDR 0 ;
+TDR 0 ;
+//Loading device with 'idcode' instruction.
+SIR 6 TDI (09) SMASK (3f) ;
+SDR 32 TDI (00000000) SMASK (ffffffff) TDO (f4002093) MASK (0fffffff) ;
+//Boundary Scan Chain Contents
+//Position 1: xc6slx16
+TIR 0 ;
+HIR 0 ;
+TDR 0 ;
+HDR 0 ;
+TIR 0 ;
+HIR 0 ;
+TDR 0 ;
+HDR 0 ;
+TIR 0 ;
+HIR 0 ;
+HDR 0 ;
+TDR 0 ;
+//Loading device with 'idcode' instruction.
+SIR 6 TDI (09) ;
+SDR 32 TDI (00000000) TDO (f4002093) ;
+//Loading device with 'bypass' instruction.
+SIR 6 TDI (3f) ;
+// Loading device with a `jprogram` instruction.
+SIR 6 TDI (0b) ;
+// Loading device with a `cfg_in` instruction.
+SIR 6 TDI (05) ;
+RUNTEST 10000 TCK;
+STATE RESET;
+// Loading device with a `cfg_in` instruction.
+SIR 6 TDI (05) ;
+SDR 32 TDI (00000000) SMASK (ffffffff) ;
+SIR 6 TDI (05) TDO (00) MASK (00) ;
+SDR $SBITS$ TDI ($DATA_INV(-1)$) SMASK ($FILL(0xFF,-1)$);
+// Loading device with a `jstart` instruction.
+SIR 6 TDI (0c) ;
+RUNTEST 24 TCK;
+//Loading device with 'bypass' instruction.
+SIR 6 TDI (3f) ;
+//Loading device with 'bypass' instruction.
+SIR 6 TDI (3f) ;
+TIR 0 ;
+HIR 0 ;
+HDR 0 ;
+TDR 0 ;
+TIR 0 ;
+HIR 0 ;
+HDR 0 ;
+TDR 0 ;
+// Loading device with a `jstart` instruction.
+SIR 6 TDI (0c) ;
+RUNTEST 24 TCK;
+//Checking done pin status.
+//Loading device with 'Bypass' instruction.
+SIR 6 TDI (3f) TDO (21) MASK (20) ;
+TIR 0 ;
+HIR 0 ;
+TDR 0 ;
+HDR 0 ;
+SIR 6 TDI (3f) ;
+SDR 1 TDI (00) SMASK (01) ;
+--END