summaryrefslogtreecommitdiff
path: root/usrp2/fpga/opencores/spi_boot/doc
diff options
context:
space:
mode:
Diffstat (limited to 'usrp2/fpga/opencores/spi_boot/doc')
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/CVS/Entries3
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/CVS/Repository1
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/CVS/Root1
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/CVS/Template0
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/spi_boot.pdfbin0 -> 113923 bytes
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/spi_boot_schematic.pdfbin0 -> 87189 bytes
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/CVS/Entries10
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/CVS/Repository1
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/CVS/Root1
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/CVS/Template0
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/architecture.eps512
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/architecture.fig222
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/initialization.eps303
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/initialization.fig119
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.eps421
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.fig176
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/spi_boot.sxwbin0 -> 39665 bytes
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/transfer.eps323
-rw-r--r--usrp2/fpga/opencores/spi_boot/doc/src/transfer.fig119
19 files changed, 2212 insertions, 0 deletions
diff --git a/usrp2/fpga/opencores/spi_boot/doc/CVS/Entries b/usrp2/fpga/opencores/spi_boot/doc/CVS/Entries
new file mode 100644
index 000000000..630615f41
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/CVS/Entries
@@ -0,0 +1,3 @@
+/spi_boot.pdf/1.6/Thu Mar 16 17:09:56 2006/-kb/
+/spi_boot_schematic.pdf/1.3/Thu Apr 14 21:20:35 2005/-kb/
+D/src////
diff --git a/usrp2/fpga/opencores/spi_boot/doc/CVS/Repository b/usrp2/fpga/opencores/spi_boot/doc/CVS/Repository
new file mode 100644
index 000000000..07fb78846
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/CVS/Repository
@@ -0,0 +1 @@
+spi_boot/doc
diff --git a/usrp2/fpga/opencores/spi_boot/doc/CVS/Root b/usrp2/fpga/opencores/spi_boot/doc/CVS/Root
new file mode 100644
index 000000000..44b2aa23b
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.opencores.org:/cvsroot/anonymous
diff --git a/usrp2/fpga/opencores/spi_boot/doc/CVS/Template b/usrp2/fpga/opencores/spi_boot/doc/CVS/Template
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/CVS/Template
diff --git a/usrp2/fpga/opencores/spi_boot/doc/spi_boot.pdf b/usrp2/fpga/opencores/spi_boot/doc/spi_boot.pdf
new file mode 100644
index 000000000..a889c3f22
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/spi_boot.pdf
Binary files differ
diff --git a/usrp2/fpga/opencores/spi_boot/doc/spi_boot_schematic.pdf b/usrp2/fpga/opencores/spi_boot/doc/spi_boot_schematic.pdf
new file mode 100644
index 000000000..92755d5f3
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/spi_boot_schematic.pdf
Binary files differ
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Entries b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Entries
new file mode 100644
index 000000000..b2d32af23
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Entries
@@ -0,0 +1,10 @@
+/architecture.eps/1.4/Thu Apr 14 21:18:11 2005/-kb/
+/architecture.fig/1.4/Thu Apr 14 21:18:11 2005/-kb/
+/initialization.eps/1.2/Thu Mar 16 15:41:16 2006/-kb/
+/initialization.fig/1.2/Thu Mar 16 15:41:16 2006/-kb/
+/memory_organization.eps/1.2/Thu Mar 16 16:50:57 2006/-kb/
+/memory_organization.fig/1.2/Thu Mar 16 16:50:57 2006/-kb/
+/spi_boot.sxw/1.6/Thu Mar 16 17:09:31 2006/-kb/
+/transfer.eps/1.1/Sun Feb 27 19:24:30 2005/-kb/
+/transfer.fig/1.1/Sun Feb 27 19:24:35 2005/-kb/
+D
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Repository b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Repository
new file mode 100644
index 000000000..5f8aafef8
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Repository
@@ -0,0 +1 @@
+spi_boot/doc/src
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Root b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Root
new file mode 100644
index 000000000..44b2aa23b
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.opencores.org:/cvsroot/anonymous
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Template b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Template
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/CVS/Template
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/architecture.eps b/usrp2/fpga/opencores/spi_boot/doc/src/architecture.eps
new file mode 100644
index 000000000..3e70efdb1
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/architecture.eps
@@ -0,0 +1,512 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: architecture.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Thu Apr 14 00:29:54 2005
+%%For: arnim@lola (Arnim Laeuger)
+%%BoundingBox: 0 0 452 241
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 241 moveto 0 0 lineto 452 0 lineto 452 241 lineto closepath clip newpath
+-194.1 454.9 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+/Courier ff 150.00 scf sf
+6570 4005 m
+gs 1 -1 sc (controller) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+6570 4185 m
+gs 1 -1 sc (FSM) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+7.500 slw
+gs clippath
+5025 5107 m 5025 5152 l 5146 5152 l 5056 5130 l 5146 5107 l cp
+eoclip
+n 8100 5130 m
+ 5040 5130 l gs col0 s gr gr
+
+% arrowhead
+n 5146 5107 m 5056 5130 l 5146 5152 l 5146 5107 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+7290 5085 m
+gs 1 -1 sc (spi_data) col0 sh gr
+% Polyline
+gs clippath
+8115 3712 m 8115 3667 l 7994 3667 l 8084 3690 l 7994 3712 l cp
+eoclip
+n 7200 3690 m
+ 8100 3690 l gs col0 s gr gr
+
+% arrowhead
+n 7994 3712 m 8084 3690 l 7994 3667 l 7994 3712 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+7605 3645 m
+gs 1 -1 sc (control) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+5025 3667 m 5025 3712 l 5146 3712 l 5056 3690 l 5146 3667 l cp
+eoclip
+n 5940 3690 m
+ 5040 3690 l gs col0 s gr gr
+
+% arrowhead
+n 5146 3667 m 5056 3690 l 5146 3712 l 5146 3667 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+5220 3645 m
+gs 1 -1 sc (control) col0 sh gr
+% Polyline
+gs clippath
+5955 4252 m 5955 4207 l 5834 4207 l 5924 4230 l 5834 4252 l cp
+eoclip
+n 5040 4230 m
+ 5940 4230 l gs col0 s gr gr
+
+% arrowhead
+n 5834 4252 m 5924 4230 l 5834 4207 l 5834 4252 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+5175 4185 m
+gs 1 -1 sc (status) col0 sh gr
+% Polyline
+gs clippath
+4035 3667 m 4035 3712 l 4156 3712 l 4066 3690 l 4156 3667 l cp
+eoclip
+n 4320 3690 m
+ 4050 3690 l gs col0 s gr gr
+
+% arrowhead
+n 4156 3667 m 4066 3690 l 4156 3712 l 4156 3667 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 3735 m
+gs 1 -1 sc (config_n) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+4335 3937 m 4335 3892 l 4214 3892 l 4304 3915 l 4214 3937 l cp
+eoclip
+n 4320 3915 m
+ 4050 3915 l gs col0 s gr gr
+
+% arrowhead
+n 4214 3937 m 4304 3915 l 4214 3892 l 4214 3937 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 3960 m
+gs 1 -1 sc (cfg_init_n) dup sw pop neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+4680 3870 m
+gs 1 -1 sc (config) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+4680 4050 m
+gs 1 -1 sc (port) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+15.000 slw
+n 4320 3420 m 5040 3420 l 5040 5310 l 4320 5310 l
+ cp gs col0 s gr
+% Polyline
+7.500 slw
+gs clippath
+4335 4162 m 4335 4117 l 4214 4117 l 4304 4140 l 4214 4162 l cp
+eoclip
+n 4320 4140 m
+ 4050 4140 l gs col0 s gr gr
+
+% arrowhead
+n 4214 4162 m 4304 4140 l 4214 4117 l 4214 4162 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 4185 m
+gs 1 -1 sc (cfg_done) dup sw pop neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+4680 6120 m
+gs 1 -1 sc (data) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+4680 6300 m
+gs 1 -1 sc (port) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+15.000 slw
+n 4320 5670 m 5040 5670 l 5040 7200 l 4320 7200 l
+ cp gs col0 s gr
+/Courier ff 150.00 scf sf
+8460 3870 m
+gs 1 -1 sc (SPI) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+8460 4050 m
+gs 1 -1 sc (port) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 8100 3420 m 8820 3420 l 8820 5310 l 8100 5310 l
+ cp gs col0 s gr
+% Polyline
+7.500 slw
+gs clippath
+9105 3712 m 9105 3667 l 8984 3667 l 9074 3690 l 8984 3712 l cp
+eoclip
+n 8820 3690 m
+ 9090 3690 l gs col0 s gr gr
+
+% arrowhead
+n 8984 3712 m 9074 3690 l 8984 3667 l 8984 3712 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+9135 3735 m
+gs 1 -1 sc (spi_clk) col0 sh gr
+% Polyline
+gs clippath
+9105 3937 m 9105 3892 l 8984 3892 l 9074 3915 l 8984 3937 l cp
+eoclip
+n 8820 3915 m
+ 9090 3915 l gs col0 s gr gr
+
+% arrowhead
+n 8984 3937 m 9074 3915 l 8984 3892 l 8984 3937 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+9135 3960 m
+gs 1 -1 sc (spi_cs_n) col0 sh gr
+% Polyline
+gs clippath
+9105 4162 m 9105 4117 l 8984 4117 l 9074 4140 l 8984 4162 l cp
+eoclip
+n 8820 4140 m
+ 9090 4140 l gs col0 s gr gr
+
+% arrowhead
+n 8984 4162 m 9074 4140 l 8984 4117 l 8984 4162 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+9135 4185 m
+gs 1 -1 sc (spi_data_in) col0 sh gr
+% Polyline
+gs clippath
+9105 4387 m 9105 4342 l 8984 4342 l 9074 4365 l 8984 4387 l cp
+eoclip
+n 8820 4365 m
+ 9090 4365 l gs col0 s gr gr
+
+% arrowhead
+n 8984 4387 m 9074 4365 l 8984 4342 l 8984 4387 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+9135 4410 m
+gs 1 -1 sc (spi_data_out) col0 sh gr
+/Courier ff 150.00 scf sf
+8460 6480 m
+gs 1 -1 sc (cmd) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+8460 6660 m
+gs 1 -1 sc (FSM) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+15.000 slw
+n 8100 5850 m 8820 5850 l 8820 7200 l 8100 7200 l
+ cp gs col0 s gr
+% Polyline
+7.500 slw
+gs clippath
+8482 5295 m 8437 5295 l 8437 5416 l 8460 5326 l 8482 5416 l cp
+eoclip
+n 8460 5850 m
+ 8460 5310 l gs col0 s gr gr
+
+% arrowhead
+n 8482 5416 m 8460 5326 l 8437 5416 l 8482 5416 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+8550 5625 m
+gs 1 -1 sc (spi_data) col0 sh gr
+% Polyline
+gs clippath
+4035 4882 m 4035 4927 l 4156 4927 l 4066 4905 l 4156 4882 l cp
+eoclip
+n 4320 4905 m
+ 4050 4905 l gs col0 s gr gr
+
+% arrowhead
+n 4156 4882 m 4066 4905 l 4156 4927 l 4156 4882 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 4950 m
+gs 1 -1 sc (cfg_clk) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+4035 5107 m 4035 5152 l 4156 5152 l 4066 5130 l 4156 5107 l cp
+eoclip
+n 4320 5130 m
+ 4050 5130 l gs col0 s gr gr
+
+% arrowhead
+n 4156 5107 m 4066 5130 l 4156 5152 l 4156 5107 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 5175 m
+gs 1 -1 sc (cfg_dat) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+4335 5962 m 4335 5917 l 4214 5917 l 4304 5940 l 4214 5962 l cp
+eoclip
+n 4320 5940 m
+ 4050 5940 l gs col0 s gr gr
+
+% arrowhead
+n 4214 5962 m 4304 5940 l 4214 5917 l 4214 5962 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 5985 m
+gs 1 -1 sc (start) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+4335 6412 m 4335 6367 l 4214 6367 l 4304 6390 l 4214 6412 l cp
+eoclip
+n 4320 6390 m
+ 4050 6390 l gs col0 s gr gr
+
+% arrowhead
+n 4214 6412 m 4304 6390 l 4214 6367 l 4214 6412 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 6435 m
+gs 1 -1 sc (dat_done) dup sw pop neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+6660 6390 m
+gs 1 -1 sc (MMC) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+6660 6570 m
+gs 1 -1 sc (comp.) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+15.000 slw
+n 6390 6210 m 6930 6210 l 6930 6660 l 6390 6660 l
+ cp gs col0 s gr
+/Courier ff 150.00 scf sf
+7515 6390 m
+gs 1 -1 sc (bit) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+7515 6570 m
+gs 1 -1 sc (cnt) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 7245 6210 m 7785 6210 l 7785 6660 l 7245 6660 l
+ cp gs col0 s gr
+/Courier ff 150.00 scf sf
+7515 6930 m
+gs 1 -1 sc (img) dup sw pop 2 div neg 0 rm col0 sh gr
+/Courier ff 150.00 scf sf
+7515 7110 m
+gs 1 -1 sc (cnt) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 7245 6750 m 7785 6750 l 7785 7200 l 7245 7200 l
+ cp gs col0 s gr
+% Polyline
+7.500 slw
+gs clippath
+4335 6187 m 4335 6142 l 4214 6142 l 4304 6165 l 4214 6187 l cp
+eoclip
+n 4320 6165 m
+ 4050 6165 l gs col0 s gr gr
+
+% arrowhead
+n 4214 6187 m 4304 6165 l 4214 6142 l 4214 6187 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 6210 m
+gs 1 -1 sc (mode) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+n 4050 7020 m 4185 7020 l 4185 6975 l 4275 7065 l 4185 7155 l 4185 7110 l
+ 4050 7110 l
+ cp gs col0 s gr
+/Courier ff 150.00 scf sf
+3960 7110 m
+gs 1 -1 sc (set_sel) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+gs clippath
+4035 6592 m 4035 6637 l 4156 6637 l 4066 6615 l 4156 6592 l cp
+eoclip
+n 4320 6615 m
+ 4050 6615 l gs col0 s gr gr
+
+% arrowhead
+n 4156 6592 m 4066 6615 l 4156 6637 l 4156 6592 l cp gs 0.00 setgray ef gr col0 s
+/Courier ff 150.00 scf sf
+4005 6660 m
+gs 1 -1 sc (detached) dup sw pop neg 0 rm col0 sh gr
+0.000 slw
+% Ellipse
+n 7020 5130 35 35 0 360 DrawEllipse gs 0.00 setgray ef gr
+% Polyline
+7.500 slw
+gs clippath
+7042 4665 m 6997 4665 l 6997 4786 l 7020 4696 l 7042 4786 l cp
+eoclip
+n 7020 5130 m
+ 7020 4680 l gs col0 s gr gr
+
+% arrowhead
+n 7042 4786 m 7020 4696 l 6997 4786 l 7042 4786 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+8115 5962 m 8115 5917 l 7994 5917 l 8084 5940 l 7994 5962 l cp
+eoclip
+n 6840 4680 m 6840 5940 l
+ 8100 5940 l gs col0 s gr gr
+
+% arrowhead
+n 7994 5962 m 8084 5940 l 7994 5917 l 7994 5962 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6682 4665 m 6637 4665 l 6637 4786 l 6660 4696 l 6682 4786 l cp
+eoclip
+n 8100 6120 m 6660 6120 l
+ 6660 4680 l gs col0 s gr gr
+
+% arrowhead
+n 6682 4786 m 6660 4696 l 6637 4786 l 6682 4786 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6142 4665 m 6097 4665 l 6097 4786 l 6120 4696 l 6142 4786 l cp
+eoclip
+n 6120 4680 m 6120 5940 l
+ 5040 5940 l gs col0 s gr gr
+
+% arrowhead
+n 6142 4786 m 6120 4696 l 6097 4786 l 6142 4786 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+7260 6907 m 7260 6862 l 7139 6862 l 7229 6885 l 7139 6907 l cp
+eoclip
+n 6300 4680 m 6300 6885 l
+ 7245 6885 l gs col0 s gr gr
+
+% arrowhead
+n 7139 6907 m 7229 6885 l 7139 6862 l 7139 6907 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+8115 6457 m 8115 6412 l 7994 6412 l 8084 6435 l 7994 6457 l cp
+eoclip
+n 7785 6435 m
+ 8100 6435 l gs col0 s gr gr
+
+% arrowhead
+n 7994 6457 m 8084 6435 l 7994 6412 l 7994 6457 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+8115 6997 m 8115 6952 l 7994 6952 l 8084 6975 l 7994 6997 l cp
+eoclip
+n 7785 6975 m
+ 8100 6975 l gs col0 s gr gr
+
+% arrowhead
+n 7994 6997 m 8084 6975 l 7994 6952 l 7994 6997 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6457 6225 m 6502 6225 l 6502 6104 l 6480 6194 l 6457 6104 l cp
+eoclip
+n 6480 4680 m
+ 6480 6210 l gs col0 s gr gr
+
+% arrowhead
+n 6457 6104 m 6480 6194 l 6502 6104 l 6457 6104 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+7260 6457 m 7260 6412 l 7139 6412 l 7229 6435 l 7139 6457 l cp
+eoclip
+n 6930 6435 m
+ 7245 6435 l gs col0 s gr gr
+
+% arrowhead
+n 7139 6457 m 7229 6435 l 7139 6412 l 7139 6457 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+n 5040 7020 m 7110 7020 l 7110 6975 l 7200 7065 l 7110 7155 l 7110 7110 l
+ 5040 7110 l
+ cp gs col0 s gr
+/Courier ff 150.00 scf sf
+7155 5895 m
+gs 1 -1 sc (state) col0 sh gr
+/Courier ff 150.00 scf sf
+7155 6075 m
+gs 1 -1 sc (finished) col0 sh gr
+/Courier ff 150.00 scf sf
+5265 5895 m
+gs 1 -1 sc (status) col0 sh gr
+/Courier ff 150.00 scf sf
+6705 6840 m
+gs 1 -1 sc (cnt) col0 sh gr
+% Polyline
+15.000 slw
+n 5940 3420 m 7200 3420 l 7200 4680 l 5940 4680 l
+ cp gs col0 s gr
+$F2psEnd
+rs
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/architecture.fig b/usrp2/fpga/opencores/spi_boot/doc/src/architecture.fig
new file mode 100644
index 000000000..708e166a8
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/architecture.fig
@@ -0,0 +1,222 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 5895 3375 7245 4725
+6 6120 3915 7020 4185
+4 1 0 50 0 12 10 0.0000 4 90 900 6570 4005 controller\001
+4 1 0 50 0 12 10 0.0000 4 90 270 6570 4185 FSM\001
+-6
+2 2 0 2 0 7 40 0 -1 0.000 0 0 -1 0 0 5
+ 5940 3420 7200 3420 7200 4680 5940 4680 5940 3420
+-6
+6 5040 4995 8100 5175
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8100 5130 5040 5130
+4 0 0 50 0 12 10 0.0000 4 120 720 7290 5085 spi_data\001
+-6
+6 7200 3555 8100 3735
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 7200 3690 8100 3690
+4 1 0 50 0 12 10 0.0000 4 90 630 7605 3645 control\001
+-6
+6 5040 3555 5940 3735
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 5940 3690 5040 3690
+4 0 0 50 0 12 10 0.0000 4 90 630 5220 3645 control\001
+-6
+6 5040 4095 5940 4275
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 5040 4230 5940 4230
+4 0 0 50 0 12 10 0.0000 4 90 540 5175 4185 status\001
+-6
+6 3285 3645 4320 3780
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 4320 3690 4050 3690
+4 2 0 50 0 12 10 0.0000 4 120 720 4005 3735 config_n\001
+-6
+6 3105 3870 4320 4005
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 2
+ 1 1 1.00 45.00 90.00
+ 4320 3915 4050 3915
+4 2 0 50 0 12 10 0.0000 4 120 900 4005 3960 cfg_init_n\001
+-6
+6 4275 3375 5085 5355
+6 4410 3780 4950 4095
+4 1 0 50 0 12 10 0.0000 4 120 540 4680 3870 config\001
+4 1 0 50 0 12 10 0.0000 4 120 360 4680 4050 port\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 4320 3420 5040 3420 5040 5310 4320 5310 4320 3420
+-6
+6 3285 4095 4320 4230
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 2
+ 1 1 1.00 45.00 90.00
+ 4320 4140 4050 4140
+4 2 0 50 0 12 10 0.0000 4 120 720 4005 4185 cfg_done\001
+-6
+6 4275 5625 5085 7245
+6 4500 6030 4860 6345
+4 1 0 50 0 12 10 0.0000 4 90 360 4680 6120 data\001
+4 1 0 50 0 12 10 0.0000 4 120 360 4680 6300 port\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 4320 5670 5040 5670 5040 7200 4320 7200 4320 5670
+-6
+6 8055 3375 8865 5355
+6 8280 3780 8640 4095
+4 1 0 50 0 12 10 0.0000 4 90 270 8460 3870 SPI\001
+4 1 0 50 0 12 10 0.0000 4 120 360 8460 4050 port\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 8100 3420 8820 3420 8820 5310 8100 5310 8100 3420
+-6
+6 8820 3645 9765 3780
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8820 3690 9090 3690
+4 0 0 50 0 12 10 0.0000 4 120 630 9135 3735 spi_clk\001
+-6
+6 8820 3870 9855 4005
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8820 3915 9090 3915
+4 0 0 50 0 12 10 0.0000 4 120 720 9135 3960 spi_cs_n\001
+-6
+6 8820 4095 10125 4230
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8820 4140 9090 4140
+4 0 0 50 0 12 10 0.0000 4 120 990 9135 4185 spi_data_in\001
+-6
+6 8820 4320 10215 4455
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8820 4365 9090 4365
+4 0 0 50 0 12 10 0.0000 4 120 1080 9135 4410 spi_data_out\001
+-6
+6 8055 5805 8865 7245
+6 8325 6390 8595 6660
+4 1 0 50 0 12 10 0.0000 4 90 270 8460 6480 cmd\001
+4 1 0 50 0 12 10 0.0000 4 90 270 8460 6660 FSM\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 8100 5850 8820 5850 8820 7200 8100 7200 8100 5850
+-6
+6 8415 5310 9270 5850
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 8460 5850 8460 5310
+4 0 0 50 0 12 10 0.0000 4 120 720 8550 5625 spi_data\001
+-6
+6 3375 4860 4320 4995
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 4320 4905 4050 4905
+4 2 0 50 0 12 10 0.0000 4 120 630 4005 4950 cfg_clk\001
+-6
+6 3375 5085 4320 5220
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 4320 5130 4050 5130
+4 2 0 50 0 12 10 0.0000 4 120 630 4005 5175 cfg_dat\001
+-6
+6 3555 5895 4320 5985
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 2
+ 1 1 1.00 45.00 90.00
+ 4320 5940 4050 5940
+4 2 0 50 0 12 10 0.0000 4 90 450 4005 5985 start\001
+-6
+6 3285 6345 4320 6480
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 2
+ 1 1 1.00 45.00 90.00
+ 4320 6390 4050 6390
+4 2 0 50 0 12 10 0.0000 4 105 720 4005 6435 dat_done\001
+-6
+6 6345 6165 6975 6705
+6 6435 6300 6885 6615
+4 1 0 50 0 12 10 0.0000 4 90 270 6660 6390 MMC\001
+4 1 0 50 0 12 10 0.0000 4 90 450 6660 6570 comp.\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 6390 6210 6930 6210 6930 6660 6390 6660 6390 6210
+-6
+6 7200 6165 7830 6705
+6 7380 6300 7650 6570
+4 1 0 50 0 12 10 0.0000 4 90 270 7515 6390 bit\001
+4 1 0 50 0 12 10 0.0000 4 90 270 7515 6570 cnt\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 7245 6210 7785 6210 7785 6660 7245 6660 7245 6210
+-6
+6 7200 6705 7830 7245
+6 7380 6840 7650 7110
+4 1 0 50 0 12 10 0.0000 4 120 270 7515 6930 img\001
+4 1 0 50 0 12 10 0.0000 4 90 270 7515 7110 cnt\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 7245 6750 7785 6750 7785 7200 7245 7200 7245 6750
+-6
+6 3645 6120 4320 6210
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 2
+ 1 1 1.00 45.00 90.00
+ 4320 6165 4050 6165
+4 2 0 50 0 12 10 0.0000 4 90 360 4005 6210 mode\001
+-6
+6 3330 6975 4275 7155
+2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8
+ 4050 7020 4185 7020 4185 6975 4275 7065 4185 7155 4185 7110
+ 4050 7110 4050 7020
+4 2 0 50 0 12 10 0.0000 4 105 630 3960 7110 set_sel\001
+-6
+6 3285 6570 4320 6660
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 4320 6615 4050 6615
+4 2 0 50 0 12 10 0.0000 4 90 720 4005 6660 detached\001
+-6
+1 3 0 0 0 -1 50 0 20 0.000 1 0.0000 7020 5130 35 35 7020 5130 7055 5130
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 7020 5130 7020 4680
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 6840 4680 6840 5940 8100 5940
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 8100 6120 6660 6120 6660 4680
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 1 3
+ 1 1 1.00 45.00 90.00
+ 6120 4680 6120 5940 5040 5940
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 6300 4680 6300 6885 7245 6885
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 7785 6435 8100 6435
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 7785 6975 8100 6975
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6480 4680 6480 6210
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6930 6435 7245 6435
+2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8
+ 5040 7020 7110 7020 7110 6975 7200 7065 7110 7155 7110 7110
+ 5040 7110 5040 7020
+4 0 0 50 0 12 10 0.0000 4 90 450 7155 5895 state\001
+4 0 0 50 0 12 10 0.0000 4 90 720 7155 6075 finished\001
+4 0 0 50 0 12 10 0.0000 4 90 540 5265 5895 status\001
+4 0 0 50 0 12 10 0.0000 4 90 270 6705 6840 cnt\001
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/initialization.eps b/usrp2/fpga/opencores/spi_boot/doc/src/initialization.eps
new file mode 100644
index 000000000..ff4ec89e9
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/initialization.eps
@@ -0,0 +1,303 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: initialization.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Thu Mar 16 15:45:46 2006
+%%For: arnim@lola (Arnim Laeuger)
+%%BoundingBox: 0 0 194 312
+%%Magnification: 0.6500
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 312 moveto 0 0 lineto 194 0 lineto 194 312 lineto closepath clip newpath
+-124.4 424.7 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.04094 0.04094 sc
+%
+% Fig objects follow
+%
+% Polyline
+15.000 slw
+n 3060 2790 m 4500 2790 l 4500 3420 l 3060 3420 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 3150 m
+gs 1 -1 sc (Power up) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 4027 m
+gs 1 -1 sc (CMD0) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 4252 m
+gs 1 -1 sc (GO_IDLE_STATE) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3060 3780 m 4500 3780 l 4500 4410 l 3060 4410 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 5017 m
+gs 1 -1 sc (CMD55) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 5242 m
+gs 1 -1 sc (APP_CMD) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3060 4770 m 4500 4770 l 4500 5400 l 3060 5400 l
+ cp gs col0 s gr
+% Polyline
+n 3780 5760 m 4500 6030 l 3780 6390 l 3060 6030 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 6112 m
+gs 1 -1 sc (Response ok?) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 6997 m
+gs 1 -1 sc (ACMD41) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 7222 m
+gs 1 -1 sc (SEND_OP_CMD) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3060 6750 m 4500 6750 l 4500 7380 l 3060 7380 l
+ cp gs col0 s gr
+% Polyline
+n 3780 7740 m 4500 8010 l 3780 8370 l 3060 8010 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 8092 m
+gs 1 -1 sc (Card idle?) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+6390 6997 m
+gs 1 -1 sc (CMD1) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+6390 7222 m
+gs 1 -1 sc (SEND_OP_CMD) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 5670 6750 m 7110 6750 l 7110 7380 l 5670 7380 l
+ cp gs col0 s gr
+% Polyline
+n 6390 7740 m 7110 8010 l 6390 8370 l 5670 8010 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+6390 8092 m
+gs 1 -1 sc (Card idle?) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 8977 m
+gs 1 -1 sc (CMD16) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 9202 m
+gs 1 -1 sc (SET_BLOCKLEN) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3060 8730 m 4500 8730 l 4500 9360 l 3060 9360 l
+ cp gs col0 s gr
+% Polyline
+n 3060 9720 m 4500 9720 l 4500 10350 l 3060 10350 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 10080 m
+gs 1 -1 sc (Wait for start) dup sw pop 2 div neg 0 rm col0 sh gr
+% Arc
+7.500 slw
+n 5130.0 6030.0 45.0 180.0 0.0 arc
+gs col0 s gr
+
+% Polyline
+gs clippath
+3757 3795 m 3802 3795 l 3802 3674 l 3780 3764 l 3757 3674 l cp
+eoclip
+n 3780 3420 m
+ 3780 3780 l gs col0 s gr gr
+
+% arrowhead
+n 3757 3674 m 3780 3764 l 3802 3674 l 3757 3674 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 4785 m 3802 4785 l 3802 4664 l 3780 4754 l 3757 4664 l cp
+eoclip
+n 3780 4410 m
+ 3780 4770 l gs col0 s gr gr
+
+% arrowhead
+n 3757 4664 m 3780 4754 l 3802 4664 l 3757 4664 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 5775 m 3802 5775 l 3802 5654 l 3780 5744 l 3757 5654 l cp
+eoclip
+n 3780 5400 m
+ 3780 5760 l gs col0 s gr gr
+
+% arrowhead
+n 3757 5654 m 3780 5744 l 3802 5654 l 3757 5654 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 6765 m 3802 6765 l 3802 6644 l 3780 6734 l 3757 6644 l cp
+eoclip
+n 3780 6390 m
+ 3780 6750 l gs col0 s gr gr
+
+% arrowhead
+n 3757 6644 m 3780 6734 l 3802 6644 l 3757 6644 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 7755 m 3802 7755 l 3802 7634 l 3780 7724 l 3757 7634 l cp
+eoclip
+n 3780 7380 m
+ 3780 7740 l gs col0 s gr gr
+
+% arrowhead
+n 3757 7634 m 3780 7724 l 3802 7634 l 3757 7634 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3765 4522 m 3765 4567 l 3886 4567 l 3796 4545 l 3886 4522 l cp
+eoclip
+n 4500 8010 m 5130 8010 l 5130 4545 l
+ 3780 4545 l gs col0 s gr gr
+
+% arrowhead
+n 3886 4522 m 3796 4545 l 3886 4567 l 3886 4522 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6367 6765 m 6412 6765 l 6412 6644 l 6390 6734 l 6367 6644 l cp
+eoclip
+n 5175 6030 m 6390 6030 l
+ 6390 6750 l gs col0 s gr gr
+
+% arrowhead
+n 6367 6644 m 6390 6734 l 6412 6644 l 6367 6644 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6367 7755 m 6412 7755 l 6412 7634 l 6390 7724 l 6367 7634 l cp
+eoclip
+n 6390 7380 m
+ 6390 7740 l gs col0 s gr gr
+
+% arrowhead
+n 6367 7634 m 6390 7724 l 6412 7634 l 6367 7634 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6375 6007 m 6375 6052 l 6496 6052 l 6406 6030 l 6496 6007 l cp
+eoclip
+n 7110 8010 m 7740 8010 l 7740 6030 l
+ 6390 6030 l gs col0 s gr gr
+
+% arrowhead
+n 6496 6007 m 6406 6030 l 6496 6052 l 6496 6007 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+n 4500 6030 m
+ 5085 6030 l gs col0 s gr
+% Polyline
+gs clippath
+3757 8745 m 3802 8745 l 3802 8624 l 3780 8714 l 3757 8624 l cp
+eoclip
+n 3780 8370 m
+ 3780 8730 l gs col0 s gr gr
+
+% arrowhead
+n 3757 8624 m 3780 8714 l 3802 8624 l 3757 8624 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3765 8482 m 3765 8527 l 3886 8527 l 3796 8505 l 3886 8482 l cp
+eoclip
+n 6390 8370 m 6390 8505 l
+ 3780 8505 l gs col0 s gr gr
+
+% arrowhead
+n 3886 8482 m 3796 8505 l 3886 8527 l 3886 8482 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 9735 m 3802 9735 l 3802 9614 l 3780 9704 l 3757 9614 l cp
+eoclip
+n 3780 9360 m
+ 3780 9720 l gs col0 s gr gr
+
+% arrowhead
+n 3757 9614 m 3780 9704 l 3802 9614 l 3757 9614 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 150.00 scf sf
+4590 7965 m
+gs 1 -1 sc (Yes) col0 sh gr
+/Helvetica ff 150.00 scf sf
+3870 6570 m
+gs 1 -1 sc (Yes) col0 sh gr
+/Helvetica ff 150.00 scf sf
+4590 5985 m
+gs 1 -1 sc (No) col0 sh gr
+/Helvetica ff 150.00 scf sf
+7200 7965 m
+gs 1 -1 sc (Yes) col0 sh gr
+/Helvetica ff 150.00 scf sf
+6480 8550 m
+gs 1 -1 sc (No) col0 sh gr
+/Helvetica ff 150.00 scf sf
+3690 8550 m
+gs 1 -1 sc (No) dup sw pop neg 0 rm col0 sh gr
+$F2psEnd
+rs
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/initialization.fig b/usrp2/fpga/opencores/spi_boot/doc/src/initialization.fig
new file mode 100644
index 000000000..96ec5f506
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/initialization.fig
@@ -0,0 +1,119 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+65.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 0 -1 0.000 0 0 0 0 5130.000 6030.000 5085 6030 5130 5985 5175 6030
+6 3015 2745 4545 3465
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 2790 4500 2790 4500 3420 3060 3420 3060 2790
+4 1 0 50 0 16 10 0.0000 4 135 540 3780 3150 Power up\001
+-6
+6 3015 3735 4545 4455
+6 3285 3915 4275 4275
+4 1 0 50 0 16 10 0.0000 4 105 360 3780 4027 CMD0\001
+4 1 0 50 0 16 10 0.0000 4 120 975 3780 4252 GO_IDLE_STATE\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 3780 4500 3780 4500 4410 3060 4410 3060 3780
+-6
+6 3015 4725 4545 5445
+6 3465 4905 4095 5265
+4 1 0 50 0 16 10 0.0000 4 105 435 3780 5017 CMD55\001
+4 1 0 50 0 16 10 0.0000 4 120 585 3780 5242 APP_CMD\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 4770 4500 4770 4500 5400 3060 5400 3060 4770
+-6
+6 3015 5715 4545 6435
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3780 5760 4500 6030 3780 6390 3060 6030 3780 5760
+4 1 0 50 0 16 10 0.0000 4 135 825 3780 6112 Response ok?\001
+-6
+6 3015 6705 4545 7425
+6 3285 6840 4275 7245
+4 1 0 50 0 16 10 0.0000 4 120 510 3780 6997 ACMD41\001
+4 1 0 50 0 16 10 0.0000 4 120 930 3780 7222 SEND_OP_CMD\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 6750 4500 6750 4500 7380 3060 7380 3060 6750
+-6
+6 3015 7695 4545 8415
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3780 7740 4500 8010 3780 8370 3060 8010 3780 7740
+4 1 0 50 0 16 10 0.0000 4 120 600 3780 8092 Card idle?\001
+-6
+6 5625 6705 7155 7425
+6 5895 6840 6885 7245
+4 1 0 50 0 16 10 0.0000 4 120 360 6390 6997 CMD1\001
+4 1 0 50 0 16 10 0.0000 4 120 930 6390 7222 SEND_OP_CMD\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 5670 6750 7110 6750 7110 7380 5670 7380 5670 6750
+-6
+6 5625 7695 7155 8415
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 6390 7740 7110 8010 6390 8370 5670 8010 6390 7740
+4 1 0 50 0 16 10 0.0000 4 120 600 6390 8092 Card idle?\001
+-6
+6 3015 8685 4545 9405
+6 3285 8820 4275 9225
+4 1 0 50 0 16 10 0.0000 4 120 435 3780 8977 CMD16\001
+4 1 0 50 0 16 10 0.0000 4 120 945 3780 9202 SET_BLOCKLEN\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 8730 4500 8730 4500 9360 3060 9360 3060 8730
+-6
+6 3015 9675 4545 10395
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 9720 4500 9720 4500 10350 3060 10350 3060 9720
+4 1 0 50 0 16 10 0.0000 4 120 705 3780 10080 Wait for start\001
+-6
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 3420 3780 3780
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 4410 3780 4770
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 5400 3780 5760
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 6390 3780 6750
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 7380 3780 7740
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4
+ 1 1 1.00 45.00 90.00
+ 4500 8010 5130 8010 5130 4545 3780 4545
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 5175 6030 6390 6030 6390 6750
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6390 7380 6390 7740
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4
+ 1 1 1.00 45.00 90.00
+ 7110 8010 7740 8010 7740 6030 6390 6030
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 4500 6030 5085 6030
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 8370 3780 8730
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 6390 8370 6390 8505 3780 8505
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 9360 3780 9720
+4 0 0 50 0 16 10 0.0000 4 105 210 4590 7965 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 210 3870 6570 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 165 4590 5985 No\001
+4 0 0 50 0 16 10 0.0000 4 105 210 7200 7965 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 165 6480 8550 No\001
+4 2 0 50 0 16 10 0.0000 4 105 165 3690 8550 No\001
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.eps b/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.eps
new file mode 100644
index 000000000..7f48f591d
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.eps
@@ -0,0 +1,421 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: memory_organization.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Thu Mar 16 15:57:13 2006
+%%For: arnim@lola (Arnim Laeuger)
+%%BoundingBox: 0 0 339 316
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 316 moveto 0 0 lineto 339 0 lineto 339 316 lineto closepath clip newpath
+-180.3 421.6 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/reencdict 12 dict def /ReEncode { reencdict begin
+/newcodesandnames exch def /newfontname exch def /basefontname exch def
+/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
+basefontdict { exch dup /FID ne { dup /Encoding eq
+{ exch dup length array copy newfont 3 1 roll put }
+{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
+newfont /FontName newfontname put newcodesandnames aload pop
+128 1 255 { newfont /Encoding get exch /.notdef put } for
+newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
+newfontname newfont definefont pop end } def
+/isovec [
+8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
+8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
+8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
+8#220 /dotlessi 8#230 /oe 8#231 /OE
+8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
+8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
+8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
+8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
+8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
+8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
+8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
+8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
+8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
+8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
+8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
+8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
+8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
+8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
+8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
+8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
+8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
+8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
+8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
+8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
+8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
+8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
+/Courier /Courier-iso isovec ReEncode
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+7.500 slw
+n 3870 4860 m 6750 4860 l 6750 5220 l 3870 5220 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 5070 m
+gs 1 -1 sc (Image 0) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 4500 m 6750 4500 l 6750 4860 l 3870 4860 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 4710 m
+gs 1 -1 sc (Image 1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 4140 m 6750 4140 l 6750 4500 l 3870 4500 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 4350 m
+gs 1 -1 sc (...) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 3780 m 6750 3780 l 6750 4140 l 3870 4140 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 3990 m
+gs 1 -1 sc (Image i-1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+30.000 slw
+n 3870 3780 m 6750 3780 l 6750 5220 l 3870 5220 l
+ cp gs col0 s gr
+% Polyline
+2 slj
+7.500 slw
+n 3780 3780 m 3778 3781 l 3775 3782 l 3769 3784 l 3761 3788 l 3753 3793 l
+ 3745 3799 l 3737 3807 l 3730 3816 l 3725 3827 l 3720 3840 l
+ 3717 3854 l 3714 3872 l 3713 3893 l 3712 3909 l 3711 3927 l
+ 3711 3946 l 3710 3967 l 3710 3989 l 3710 4013 l 3710 4038 l
+ 3710 4065 l 3710 4091 l 3709 4119 l 3709 4146 l 3708 4173 l
+ 3707 4199 l 3706 4225 l 3704 4249 l 3702 4272 l 3700 4294 l
+ 3697 4314 l 3694 4333 l 3690 4350 l 3682 4376 l 3673 4398 l
+ 3662 4418 l 3651 4436 l 3639 4450 l 3627 4463 l 3615 4473 l
+ 3605 4481 l 3597 4488 l 3590 4492 l 3586 4496 l 3585 4500 l
+ 3586 4504 l 3590 4508 l 3597 4512 l 3605 4519 l 3615 4527 l
+ 3627 4537 l 3639 4550 l 3651 4564 l 3662 4582 l 3673 4602 l
+ 3682 4624 l 3690 4650 l 3694 4667 l 3697 4686 l 3700 4706 l
+ 3702 4728 l 3704 4751 l 3706 4775 l 3707 4801 l 3708 4827 l
+ 3709 4854 l 3709 4881 l 3710 4909 l 3710 4935 l 3710 4962 l
+ 3710 4987 l 3710 5011 l 3710 5033 l 3711 5054 l 3711 5073 l
+ 3712 5091 l 3713 5108 l 3714 5128 l 3717 5146 l 3720 5160 l
+ 3725 5173 l 3730 5184 l 3737 5193 l 3745 5201 l 3753 5207 l
+ 3761 5212 l 3769 5216 l 3775 5218 l 3778 5219 l
+ 3780 5220 l gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+3510 4545 m
+gs 1 -1 sc (Set 1) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+0 slj
+n 3870 2790 m 6750 2790 l 6750 3150 l 3870 3150 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 3000 m
+gs 1 -1 sc (Image 0) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 2430 m 6750 2430 l 6750 2790 l 3870 2790 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 2640 m
+gs 1 -1 sc (Image 1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 2070 m 6750 2070 l 6750 2430 l 3870 2430 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 2280 m
+gs 1 -1 sc (...) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 1710 m 6750 1710 l 6750 2070 l 3870 2070 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 1920 m
+gs 1 -1 sc (Image i-1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+30.000 slw
+n 3870 1710 m 6750 1710 l 6750 3150 l 3870 3150 l
+ cp gs col0 s gr
+% Polyline
+2 slj
+7.500 slw
+n 3780 1710 m 3778 1711 l 3775 1712 l 3769 1714 l 3761 1718 l 3753 1723 l
+ 3745 1729 l 3737 1737 l 3730 1746 l 3725 1757 l 3720 1770 l
+ 3717 1784 l 3714 1802 l 3713 1823 l 3712 1839 l 3711 1857 l
+ 3711 1876 l 3710 1897 l 3710 1919 l 3710 1943 l 3710 1968 l
+ 3710 1995 l 3710 2021 l 3709 2049 l 3709 2076 l 3708 2103 l
+ 3707 2129 l 3706 2155 l 3704 2179 l 3702 2202 l 3700 2224 l
+ 3697 2244 l 3694 2263 l 3690 2280 l 3682 2306 l 3673 2328 l
+ 3662 2348 l 3651 2366 l 3639 2380 l 3627 2393 l 3615 2403 l
+ 3605 2411 l 3597 2418 l 3590 2422 l 3586 2426 l 3585 2430 l
+ 3586 2434 l 3590 2438 l 3597 2442 l 3605 2449 l 3615 2457 l
+ 3627 2467 l 3639 2480 l 3651 2494 l 3662 2512 l 3673 2532 l
+ 3682 2554 l 3690 2580 l 3694 2597 l 3697 2616 l 3700 2636 l
+ 3702 2658 l 3704 2681 l 3706 2705 l 3707 2731 l 3708 2757 l
+ 3709 2784 l 3709 2811 l 3710 2839 l 3710 2865 l 3710 2892 l
+ 3710 2917 l 3710 2941 l 3710 2963 l 3711 2984 l 3711 3003 l
+ 3712 3021 l 3713 3038 l 3714 3058 l 3717 3076 l 3720 3090 l
+ 3725 3103 l 3730 3114 l 3737 3123 l 3745 3131 l 3753 3137 l
+ 3761 3142 l 3769 3146 l 3775 3148 l 3778 3149 l
+ 3780 3150 l gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+3510 2475 m
+gs 1 -1 sc (Set s-1) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 3060 m
+gs 1 -1 sc (\(\(p-1\)*m\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 3105 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 2700 m
+gs 1 -1 sc (\(\(p-1\)*m+1\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 2745 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 2340 m
+gs 1 -1 sc (\(\(p-1\)*m+2\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 2385 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 1980 m
+gs 1 -1 sc (\(\(p-1\)*m+m-1\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 2025 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 3690 m
+gs 1 -1 sc (\(2*m\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 3735 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 4050 m
+gs 1 -1 sc (\(1*m+m-1\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 4095 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 4410 m
+gs 1 -1 sc (\(1*m+2\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 4455 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 4770 m
+gs 1 -1 sc (\(1*m+1\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 4815 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 5130 m
+gs 1 -1 sc (\(1*m\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 5175 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 6210 m
+gs 1 -1 sc (1*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 6255 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 5850 m
+gs 1 -1 sc (2*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 5895 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+/Courier-iso ff 120.00 scf sf
+6930 5490 m
+gs 1 -1 sc (\(m-1\)*bpi) col0 sh gr
+/Courier-iso ff 150.00 scf sf
+6930 5535 m
+gs 1 -1 sc (2) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+0 slj
+n 3870 6300 m 6750 6300 l 6750 6660 l 3870 6660 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 6510 m
+gs 1 -1 sc (Image 0) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 5940 m 6750 5940 l 6750 6300 l 3870 6300 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 6150 m
+gs 1 -1 sc (Image 1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 5580 m 6750 5580 l 6750 5940 l 3870 5940 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 5790 m
+gs 1 -1 sc (...) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3870 5220 m 6750 5220 l 6750 5580 l 3870 5580 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 5430 m
+gs 1 -1 sc (Image i-1) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+30.000 slw
+n 3870 5220 m 6750 5220 l 6750 6660 l 3870 6660 l
+ cp gs col0 s gr
+% Polyline
+2 slj
+7.500 slw
+n 3780 5220 m 3778 5221 l 3775 5222 l 3769 5224 l 3761 5228 l 3753 5233 l
+ 3745 5239 l 3737 5247 l 3730 5256 l 3725 5267 l 3720 5280 l
+ 3717 5294 l 3714 5312 l 3713 5333 l 3712 5349 l 3711 5367 l
+ 3711 5386 l 3710 5407 l 3710 5429 l 3710 5453 l 3710 5478 l
+ 3710 5505 l 3710 5531 l 3709 5559 l 3709 5586 l 3708 5613 l
+ 3707 5639 l 3706 5665 l 3704 5689 l 3702 5712 l 3700 5734 l
+ 3697 5754 l 3694 5773 l 3690 5790 l 3682 5816 l 3673 5838 l
+ 3662 5858 l 3651 5876 l 3639 5890 l 3627 5903 l 3615 5913 l
+ 3605 5921 l 3597 5928 l 3590 5932 l 3586 5936 l 3585 5940 l
+ 3586 5944 l 3590 5948 l 3597 5952 l 3605 5959 l 3615 5967 l
+ 3627 5977 l 3639 5990 l 3651 6004 l 3662 6022 l 3673 6042 l
+ 3682 6064 l 3690 6090 l 3694 6107 l 3697 6126 l 3700 6146 l
+ 3702 6168 l 3704 6191 l 3706 6215 l 3707 6241 l 3708 6267 l
+ 3709 6294 l 3709 6321 l 3710 6349 l 3710 6375 l 3710 6402 l
+ 3710 6427 l 3710 6451 l 3710 6473 l 3711 6494 l 3711 6513 l
+ 3712 6531 l 3713 6548 l 3714 6568 l 3717 6586 l 3720 6600 l
+ 3725 6613 l 3730 6624 l 3737 6633 l 3745 6641 l 3753 6647 l
+ 3761 6652 l 3769 6656 l 3775 6658 l 3778 6659 l
+ 3780 6660 l gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+3510 5985 m
+gs 1 -1 sc (Set 0) dup sw pop neg 0 rm col0 sh gr
+% Polyline
+0 slj
+30.000 slw
+n 3870 3780 m 6750 3780 l 6750 3150 l 3870 3150 l
+ cp gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+5310 3480 m
+gs 1 -1 sc (...) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+7.500 slw
+n 6750 2790 m
+ 6840 2790 l gs col0 s gr
+% Polyline
+n 6750 2430 m
+ 6840 2430 l gs col0 s gr
+% Polyline
+n 6750 2070 m
+ 6840 2070 l gs col0 s gr
+% Polyline
+30.000 slw
+n 6750 3780 m
+ 6930 3780 l gs col0 s gr
+% Polyline
+n 6750 5220 m
+ 6930 5220 l gs col0 s gr
+% Polyline
+7.500 slw
+n 6750 4140 m
+ 6840 4140 l gs col0 s gr
+% Polyline
+n 6750 4500 m
+ 6840 4500 l gs col0 s gr
+% Polyline
+n 6750 4860 m
+ 6840 4860 l gs col0 s gr
+% Polyline
+30.000 slw
+n 6750 6660 m
+ 6930 6660 l gs col0 s gr
+% Polyline
+7.500 slw
+n 6750 5580 m
+ 6840 5580 l gs col0 s gr
+% Polyline
+n 6750 5940 m
+ 6840 5940 l gs col0 s gr
+% Polyline
+n 6750 6300 m
+ 6840 6300 l gs col0 s gr
+% Polyline
+30.000 slw
+n 6750 3150 m
+ 6930 3150 l gs col0 s gr
+/Courier-iso ff 150.00 scf sf
+6840 6615 m
+gs 1 -1 sc (0) col0 sh gr
+$F2psEnd
+rs
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.fig b/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.fig
new file mode 100644
index 000000000..e9413110e
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/memory_organization.fig
@@ -0,0 +1,176 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 3060 3735 6795 5265
+6 3870 4860 6750 5220
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 4860 6750 4860 6750 5220 3870 5220 3870 4860
+4 1 0 50 0 12 10 0.0000 4 120 630 5310 5070 Image 0\001
+-6
+6 3870 4500 6750 4860
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 4500 6750 4500 6750 4860 3870 4860 3870 4500
+4 1 0 50 0 12 10 0.0000 4 135 630 5310 4710 Image 1\001
+-6
+6 3870 4140 6750 4500
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 4140 6750 4140 6750 4500 3870 4500 3870 4140
+4 1 0 50 0 12 10 0.0000 4 30 270 5310 4350 ...\001
+-6
+6 3870 3780 6750 4140
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 3780 6750 3780 6750 4140 3870 4140 3870 3780
+4 1 0 50 0 12 10 0.0000 4 135 810 5310 3990 Image i-1\001
+-6
+2 2 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 3780 6750 3780 6750 5220 3870 5220 3870 3780
+3 0 0 1 0 7 50 0 -1 0.000 0 0 0 7
+ 3780 3780 3690 3780 3735 4455 3510 4500 3735 4545 3690 5220
+ 3780 5220
+ 0.000 1.000 1.000 1.000 1.000 1.000 0.000
+4 2 0 50 0 12 10 0.0000 4 120 450 3510 4545 Set 1\001
+-6
+6 2880 1665 6795 3195
+6 3870 2790 6750 3150
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 2790 6750 2790 6750 3150 3870 3150 3870 2790
+4 1 0 50 0 12 10 0.0000 4 120 630 5310 3000 Image 0\001
+-6
+6 3870 2430 6750 2790
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 2430 6750 2430 6750 2790 3870 2790 3870 2430
+4 1 0 50 0 12 10 0.0000 4 135 630 5310 2640 Image 1\001
+-6
+6 3870 2070 6750 2430
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 2070 6750 2070 6750 2430 3870 2430 3870 2070
+4 1 0 50 0 12 10 0.0000 4 30 270 5310 2280 ...\001
+-6
+6 3870 1710 6750 2070
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 1710 6750 1710 6750 2070 3870 2070 3870 1710
+4 1 0 50 0 12 10 0.0000 4 135 810 5310 1920 Image i-1\001
+-6
+2 2 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 1710 6750 1710 6750 3150 3870 3150 3870 1710
+3 0 0 1 0 7 50 0 -1 0.000 0 0 0 7
+ 3780 1710 3690 1710 3735 2385 3510 2430 3735 2475 3690 3150
+ 3780 3150
+ 0.000 1.000 1.000 1.000 1.000 1.000 0.000
+4 2 0 50 0 12 10 0.0000 4 120 630 3510 2475 Set s-1\001
+-6
+6 6840 2970 7920 3105
+4 0 0 50 0 12 8 0.0000 4 90 975 6930 3060 ((p-1)*m)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 3105 2\001
+-6
+6 6840 2610 8055 2745
+4 0 0 50 0 12 8 0.0000 4 90 1125 6930 2700 ((p-1)*m+1)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 2745 2\001
+-6
+6 6840 2250 8055 2385
+4 0 0 50 0 12 8 0.0000 4 90 1125 6930 2340 ((p-1)*m+2)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 2385 2\001
+-6
+6 6840 1890 8235 2025
+4 0 0 50 0 12 8 0.0000 4 90 1275 6930 1980 ((p-1)*m+m-1)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 2025 2\001
+-6
+6 6840 3600 7605 3735
+4 0 0 50 0 12 8 0.0000 4 90 675 6930 3690 (2*m)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 3735 2\001
+-6
+6 6840 3960 7920 4095
+4 0 0 50 0 12 8 0.0000 4 90 975 6930 4050 (1*m+m-1)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 4095 2\001
+-6
+6 6840 4320 7785 4455
+4 0 0 50 0 12 8 0.0000 4 90 825 6930 4410 (1*m+2)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 4455 2\001
+-6
+6 6840 4680 7785 4815
+4 0 0 50 0 12 8 0.0000 4 90 825 6930 4770 (1*m+1)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 4815 2\001
+-6
+6 6840 5040 7605 5175
+4 0 0 50 0 12 8 0.0000 4 90 675 6930 5130 (1*m)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 5175 2\001
+-6
+6 6840 6120 7335 6255
+4 0 0 50 0 12 8 0.0000 4 90 375 6930 6210 1*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 6255 2\001
+-6
+6 6840 5760 7335 5895
+4 0 0 50 0 12 8 0.0000 4 90 375 6930 5850 2*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 5895 2\001
+-6
+6 6840 5400 7605 5535
+4 0 0 50 0 12 8 0.0000 4 90 675 6930 5490 (m-1)*bpi\001
+4 2 0 50 0 12 10 0.0000 4 90 90 6930 5535 2\001
+-6
+6 3060 5175 6795 6705
+6 3870 6300 6750 6660
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 6300 6750 6300 6750 6660 3870 6660 3870 6300
+4 1 0 50 0 12 10 0.0000 4 120 630 5310 6510 Image 0\001
+-6
+6 3870 5940 6750 6300
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 5940 6750 5940 6750 6300 3870 6300 3870 5940
+4 1 0 50 0 12 10 0.0000 4 135 630 5310 6150 Image 1\001
+-6
+6 3870 5580 6750 5940
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 5580 6750 5580 6750 5940 3870 5940 3870 5580
+4 1 0 50 0 12 10 0.0000 4 30 270 5310 5790 ...\001
+-6
+6 3870 5220 6750 5580
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 5220 6750 5220 6750 5580 3870 5580 3870 5220
+4 1 0 50 0 12 10 0.0000 4 135 810 5310 5430 Image i-1\001
+-6
+2 2 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 5220 6750 5220 6750 6660 3870 6660 3870 5220
+3 0 0 1 0 7 50 0 -1 0.000 0 0 0 7
+ 3780 5220 3690 5220 3735 5895 3510 5940 3735 5985 3690 6660
+ 3780 6660
+ 0.000 1.000 1.000 1.000 1.000 1.000 0.000
+4 2 0 50 0 12 10 0.0000 4 105 450 3510 5985 Set 0\001
+-6
+6 3825 3105 6795 3825
+2 2 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3870 3780 6750 3780 6750 3150 3870 3150 3870 3780
+4 1 0 50 0 12 10 0.0000 4 30 270 5310 3480 ...\001
+-6
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 2790 6840 2790
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 2430 6840 2430
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 2070 6840 2070
+2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 3780 6930 3780
+2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 5220 6930 5220
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 4140 6840 4140
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 4500 6840 4500
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 4860 6840 4860
+2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 6660 6930 6660
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 5580 6840 5580
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 5940 6840 5940
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 6300 6840 6300
+2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 6750 3150 6930 3150
+4 0 0 50 0 12 10 0.0000 4 90 90 6840 6615 0\001
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/spi_boot.sxw b/usrp2/fpga/opencores/spi_boot/doc/src/spi_boot.sxw
new file mode 100644
index 000000000..634cda5c8
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/spi_boot.sxw
Binary files differ
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/transfer.eps b/usrp2/fpga/opencores/spi_boot/doc/src/transfer.eps
new file mode 100644
index 000000000..b28abc024
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/transfer.eps
@@ -0,0 +1,323 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: transfer.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Sun Feb 27 18:38:40 2005
+%%For: arnim@lola (Arnim Laeuger)
+%%BoundingBox: 0 0 223 252
+%%Magnification: 0.6500
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 252 moveto 0 0 lineto 223 0 lineto 223 252 lineto closepath clip newpath
+-102.7 354.3 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.04094 0.04094 sc
+%
+% Fig objects follow
+%
+/Helvetica ff 150.00 scf sf
+3780 5017 m
+gs 1 -1 sc (CMD18) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 5242 m
+gs 1 -1 sc (READ_MULTIPLE_BLOCKS) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+15.000 slw
+n 2745 4770 m 4815 4770 l 4815 5400 l 2745 5400 l
+ cp gs col0 s gr
+% Polyline
+n 3060 2790 m 4500 2790 l 4500 3420 l 3060 3420 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 3150 m
+gs 1 -1 sc (Wait for start) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3780 3780 m 4500 4050 l 3780 4410 l 3060 4050 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 4132 m
+gs 1 -1 sc (mode = 1?) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3060 5760 m 4500 5760 l 4500 6390 l 3060 6390 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 6120 m
+gs 1 -1 sc (Read block) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 3780 6750 m 4500 7020 l 3780 7380 l 3060 7020 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+3780 7102 m
+gs 1 -1 sc (???_done?) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 7987 m
+gs 1 -1 sc (CMD12) dup sw pop 2 div neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+3780 8212 m
+gs 1 -1 sc (STOP_TRANSMISSION) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 2880 7740 m 4680 7740 l 4680 8370 l 2880 8370 l
+ cp gs col0 s gr
+% Polyline
+n 5940 4770 m 7380 4770 l 7380 5400 l 5940 5400 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+6660 5130 m
+gs 1 -1 sc (Activate config_n) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 6660 5760 m 7380 6030 l 6660 6390 l 5940 6030 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+6660 6112 m
+gs 1 -1 sc (cfg_init_n low?) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 5940 6750 m 7380 6750 l 7380 7380 l 5940 7380 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+6660 7110 m
+gs 1 -1 sc (Deactivate config_n) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+n 6660 7740 m 7380 8010 l 6660 8370 l 5940 8010 l
+ cp gs col0 s gr
+/Helvetica ff 150.00 scf sf
+6660 8092 m
+gs 1 -1 sc (cfg_init_n high?) dup sw pop 2 div neg 0 rm col0 sh gr
+% Polyline
+7.500 slw
+gs clippath
+3757 3795 m 3802 3795 l 3802 3674 l 3780 3764 l 3757 3674 l cp
+eoclip
+n 3780 3420 m
+ 3780 3780 l gs col0 s gr gr
+
+% arrowhead
+n 3757 3674 m 3780 3764 l 3802 3674 l 3757 3674 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 4785 m 3802 4785 l 3802 4664 l 3780 4754 l 3757 4664 l cp
+eoclip
+n 3780 4410 m
+ 3780 4770 l gs col0 s gr gr
+
+% arrowhead
+n 3757 4664 m 3780 4754 l 3802 4664 l 3757 4664 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 5775 m 3802 5775 l 3802 5654 l 3780 5744 l 3757 5654 l cp
+eoclip
+n 3780 5400 m
+ 3780 5760 l gs col0 s gr gr
+
+% arrowhead
+n 3757 5654 m 3780 5744 l 3802 5654 l 3757 5654 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 6765 m 3802 6765 l 3802 6644 l 3780 6734 l 3757 6644 l cp
+eoclip
+n 3780 6390 m
+ 3780 6750 l gs col0 s gr gr
+
+% arrowhead
+n 3757 6644 m 3780 6734 l 3802 6644 l 3757 6644 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 7755 m 3802 7755 l 3802 7634 l 3780 7724 l 3757 7634 l cp
+eoclip
+n 3780 7380 m
+ 3780 7740 l gs col0 s gr gr
+
+% arrowhead
+n 3757 7634 m 3780 7724 l 3802 7634 l 3757 7634 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3765 5512 m 3765 5557 l 3886 5557 l 3796 5535 l 3886 5512 l cp
+eoclip
+n 4545 7020 m 5130 7020 l 5130 5535 l
+ 3780 5535 l gs col0 s gr gr
+
+% arrowhead
+n 3886 5512 m 3796 5535 l 3886 5557 l 3886 5512 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3757 2805 m 3802 2805 l 3802 2684 l 3780 2774 l 3757 2684 l cp
+eoclip
+n 3780 8370 m 3780 8640 l 2520 8640 l 2520 2520 l 3780 2520 l
+ 3780 2790 l gs col0 s gr gr
+
+% arrowhead
+n 3757 2684 m 3780 2774 l 3802 2684 l 3757 2684 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3765 3532 m 3765 3577 l 3886 3577 l 3796 3555 l 3886 3532 l cp
+eoclip
+n 4680 3555 m
+ 3780 3555 l gs col0 s gr gr
+
+% arrowhead
+n 3886 3532 m 3796 3555 l 3886 3577 l 3886 3532 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6637 4785 m 6682 4785 l 6682 4664 l 6660 4754 l 6637 4664 l cp
+eoclip
+n 4500 4050 m 6660 4050 l
+ 6660 4770 l gs col0 s gr gr
+
+% arrowhead
+n 6637 4664 m 6660 4754 l 6682 4664 l 6637 4664 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6645 4027 m 6645 4072 l 6766 4072 l 6676 4050 l 6766 4027 l cp
+eoclip
+n 7380 6030 m 7920 6030 l 7920 4050 l
+ 6660 4050 l gs col0 s gr gr
+
+% arrowhead
+n 6766 4027 m 6676 4050 l 6766 4072 l 6766 4027 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6645 6502 m 6645 6547 l 6766 6547 l 6676 6525 l 6766 6502 l cp
+eoclip
+n 7380 8010 m 7920 8010 l 7920 6525 l
+ 6660 6525 l gs col0 s gr gr
+
+% arrowhead
+n 6766 6502 m 6676 6525 l 6766 6547 l 6766 6502 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+3765 4522 m 3765 4567 l 3886 4567 l 3796 4545 l 3886 4522 l cp
+eoclip
+n 6660 8370 m 6660 8640 l 5310 8640 l 5310 4545 l
+ 3780 4545 l gs col0 s gr gr
+
+% arrowhead
+n 3886 4522 m 3796 4545 l 3886 4567 l 3886 4522 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6637 5775 m 6682 5775 l 6682 5654 l 6660 5744 l 6637 5654 l cp
+eoclip
+n 6660 5400 m
+ 6660 5760 l gs col0 s gr gr
+
+% arrowhead
+n 6637 5654 m 6660 5744 l 6682 5654 l 6637 5654 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6637 6765 m 6682 6765 l 6682 6644 l 6660 6734 l 6637 6644 l cp
+eoclip
+n 6660 6390 m
+ 6660 6750 l gs col0 s gr gr
+
+% arrowhead
+n 6637 6644 m 6660 6734 l 6682 6644 l 6637 6644 l cp gs 0.00 setgray ef gr col0 s
+% Polyline
+gs clippath
+6637 7755 m 6682 7755 l 6682 7634 l 6660 7724 l 6637 7634 l cp
+eoclip
+n 6660 7380 m
+ 6660 7740 l gs col0 s gr gr
+
+% arrowhead
+n 6637 7634 m 6660 7724 l 6682 7634 l 6637 7634 l cp gs 0.00 setgray ef gr col0 s
+/Helvetica ff 150.00 scf sf
+3870 7560 m
+gs 1 -1 sc (Yes) col0 sh gr
+/Helvetica ff 150.00 scf sf
+4590 6930 m
+gs 1 -1 sc (No) col0 sh gr
+/Helvetica ff 150.00 scf sf
+4770 3600 m
+gs 1 -1 sc (start) col0 sh gr
+/Helvetica ff 150.00 scf sf
+3690 4590 m
+gs 1 -1 sc (No) dup sw pop neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+4590 3960 m
+gs 1 -1 sc (Yes) col0 sh gr
+/Helvetica ff 150.00 scf sf
+7470 5940 m
+gs 1 -1 sc (No) col0 sh gr
+/Helvetica ff 150.00 scf sf
+6570 6570 m
+gs 1 -1 sc (Yes) dup sw pop neg 0 rm col0 sh gr
+/Helvetica ff 150.00 scf sf
+7470 7920 m
+gs 1 -1 sc (No) col0 sh gr
+/Helvetica ff 150.00 scf sf
+6750 8550 m
+gs 1 -1 sc (Yes) col0 sh gr
+$F2psEnd
+rs
diff --git a/usrp2/fpga/opencores/spi_boot/doc/src/transfer.fig b/usrp2/fpga/opencores/spi_boot/doc/src/transfer.fig
new file mode 100644
index 000000000..3d1724050
--- /dev/null
+++ b/usrp2/fpga/opencores/spi_boot/doc/src/transfer.fig
@@ -0,0 +1,119 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+65.00
+Single
+-2
+1200 2
+6 2700 4725 4860 5445
+6 2970 4860 4590 5265
+4 1 0 50 0 16 10 0.0000 4 120 435 3780 5017 CMD18\001
+4 1 0 50 0 16 10 0.0000 4 120 1560 3780 5242 READ_MULTIPLE_BLOCKS\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2745 4770 4815 4770 4815 5400 2745 5400 2745 4770
+-6
+6 3015 2745 4545 3465
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 2790 4500 2790 4500 3420 3060 3420 3060 2790
+4 1 0 50 0 16 10 0.0000 4 120 705 3780 3150 Wait for start\001
+-6
+6 3015 3735 4545 4455
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3780 3780 4500 4050 3780 4410 3060 4050 3780 3780
+4 1 0 50 0 16 10 0.0000 4 135 615 3780 4132 mode = 1?\001
+-6
+6 3015 5715 4545 6435
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3060 5760 4500 5760 4500 6390 3060 6390 3060 5760
+4 1 0 50 0 16 10 0.0000 4 120 645 3780 6120 Read block\001
+-6
+6 3015 6705 4545 7425
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 3780 6750 4500 7020 3780 7380 3060 7020 3780 6750
+4 1 0 50 0 16 10 0.0000 4 120 675 3780 7102 ???_done?\001
+-6
+6 2835 7695 4725 8415
+6 3105 7830 4455 8235
+4 1 0 50 0 16 10 0.0000 4 120 435 3780 7987 CMD12\001
+4 1 0 50 0 16 10 0.0000 4 120 1290 3780 8212 STOP_TRANSMISSION\001
+-6
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2880 7740 4680 7740 4680 8370 2880 8370 2880 7740
+-6
+6 5895 4725 7425 5445
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 5940 4770 7380 4770 7380 5400 5940 5400 5940 4770
+4 1 0 50 0 16 10 0.0000 4 135 960 6660 5130 Activate config_n\001
+-6
+6 5895 5715 7425 6435
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 6660 5760 7380 6030 6660 6390 5940 6030 6660 5760
+4 1 0 50 0 16 10 0.0000 4 135 855 6660 6112 cfg_init_n low?\001
+-6
+6 5895 6705 7425 7425
+2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 5940 6750 7380 6750 7380 7380 5940 7380 5940 6750
+4 1 0 50 0 16 10 0.0000 4 135 1125 6660 7110 Deactivate config_n\001
+-6
+6 5895 7695 7425 8415
+2 3 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 6660 7740 7380 8010 6660 8370 5940 8010 6660 7740
+4 1 0 50 0 16 10 0.0000 4 135 915 6660 8092 cfg_init_n high?\001
+-6
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 3420 3780 3780
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 4410 3780 4770
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 5400 3780 5760
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 6390 3780 6750
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 3780 7380 3780 7740
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4
+ 1 1 1.00 45.00 90.00
+ 4545 7020 5130 7020 5130 5535 3780 5535
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 6
+ 1 1 1.00 45.00 90.00
+ 3780 8370 3780 8640 2520 8640 2520 2520 3780 2520 3780 2790
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 4680 3555 3780 3555
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+ 1 1 1.00 45.00 90.00
+ 4500 4050 6660 4050 6660 4770
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4
+ 1 1 1.00 45.00 90.00
+ 7380 6030 7920 6030 7920 4050 6660 4050
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4
+ 1 1 1.00 45.00 90.00
+ 7380 8010 7920 8010 7920 6525 6660 6525
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 5
+ 1 1 1.00 45.00 90.00
+ 6660 8370 6660 8640 5310 8640 5310 4545 3780 4545
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6660 5400 6660 5760
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6660 6390 6660 6750
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+ 1 1 1.00 45.00 90.00
+ 6660 7380 6660 7740
+4 0 0 50 0 16 10 0.0000 4 105 210 3870 7560 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 165 4590 6930 No\001
+4 0 0 50 0 16 10 0.0000 4 105 240 4770 3600 start\001
+4 2 0 50 0 16 10 0.0000 4 105 165 3690 4590 No\001
+4 0 0 50 0 16 10 0.0000 4 105 210 4590 3960 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 165 7470 5940 No\001
+4 2 0 50 0 16 10 0.0000 4 105 210 6570 6570 Yes\001
+4 0 0 50 0 16 10 0.0000 4 105 165 7470 7920 No\001
+4 0 0 50 0 16 10 0.0000 4 105 210 6750 8550 Yes\001