Commit 68e5ac71 authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

Updated HDL guide

- made HDL block diagram clearer
- updated architecture organization figure
- updated folder structure
- changed overall document organization, `Folder structure' and
`Getting around the code sections' are now after `Introduction'
- some small changes in text and wording
Signed-off-by: Theodor-Adrian Stana's avatarThedi Stana <t.stana@cern.ch>
parent 03f3fdcb
......@@ -9,9 +9,9 @@
\noindent \rule{\textwidth}{.1cm}
\hfill Gateware v2.00
\hfill Gateware v1.0
\hfill\today
\hfill January 5, 2014
\vspace*{3cm}
......
......@@ -9,12 +9,12 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="407.12799"
height="385.62"
width="407.12796"
height="430.57178"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="declarative.svg">
inkscape:version="0.48.4 r9939"
sodipodi:docname="arch.svg">
<defs
id="defs4">
<marker
......@@ -137,14 +137,14 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="70.913676"
inkscape:cy="216.06366"
inkscape:zoom="0.98994949"
inkscape:cx="-16.795407"
inkscape:cy="203.48188"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1855"
inkscape:window-height="1176"
inkscape:window-width="1535"
inkscape:window-height="876"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
......@@ -161,7 +161,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
......@@ -171,265 +171,284 @@
id="layer1"
transform="translate(-118.28683,-169.23885)">
<g
id="g3171"
transform="translate(0,-15.168533)">
id="g3138">
<g
transform="translate(0,-15.168533)"
id="g3171">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2989"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 124.28571,202.36218 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
id="path2989"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text4389"
y="192.00504"
x="117.85714"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="192.00504"
x="117.85714"
y="192.00504"
id="text4389"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4391"
sodipodi:role="line"><tspan
id="tspan4397"
style="font-weight:bold">architecture </tspan>behav <tspan
id="tspan4395"
style="font-weight:bold">of </tspan>conv_ttl_blo_v2 <tspan
id="tspan4393"
style="font-weight:bold">is</tspan></tspan></text>
x="117.85714"
y="192.00504"><tspan
style="font-weight:bold"
id="tspan4397">architecture </tspan>behav <tspan
style="font-weight:bold"
id="tspan4395">of </tspan>conv_ttl_blo <tspan
style="font-weight:bold"
id="tspan4393">is</tspan></tspan></text>
<text
sodipodi:linespacing="125%"
id="text4399"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="143.21429"
y="230.26361"
id="text4399"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4401"
x="143.21429"
y="230.26361">Type declarations</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4421"
d="m 124.28571,255.11809 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text4423"
y="283.01953"
x="143.21429"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="230.26361"
y="283.01953"
x="143.21429"
id="tspan4401"
sodipodi:role="line">Type declarations</tspan></text>
id="tspan4425"
sodipodi:role="line">Constant declarations</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 124.28571,255.11809 0,45.66929"
id="path4421"
d="m 124.28571,308.26769 0,45.66929"
id="path4427"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="143.21429"
y="283.01953"
id="text4423"
y="336.16916"
id="text4429"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4425"
id="tspan4431"
x="143.21429"
y="283.01953">Constant declarations</tspan></text>
y="336.16916">Component declarations</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4427"
d="m 124.28571,308.26769 0,45.66929"
id="path4433"
d="m 124.28571,361.4173 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text4429"
y="336.16916"
id="text4435"
y="389.31879"
x="143.21429"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="336.16916"
y="389.31879"
x="143.21429"
id="tspan4431"
sodipodi:role="line">Component declarations</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 124.28571,361.4173 0,45.66929"
id="path4433"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
id="tspan4437"
sodipodi:role="line">Signal declarations</tspan></text>
<text
xml:space="preserve"
sodipodi:linespacing="125%"
id="text4439"
y="432.28345"
x="117.85714"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="143.21429"
y="389.31879"
id="text4435"
sodipodi:linespacing="125%"><tspan
xml:space="preserve"><tspan
y="432.28345"
x="117.85714"
id="tspan4441"
sodipodi:role="line"
id="tspan4437"
x="143.21429"
y="389.31879">Signal declarations</tspan></text>
style="font-weight:bold">begin</tspan></text>
</g>
</g>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="117.85714"
y="432.28345"
id="text4439"
x="212.3093"
y="597.9649"
id="text3218"
sodipodi:linespacing="125%"><tspan
style="font-weight:bold"
sodipodi:role="line"
id="tspan4441"
x="117.85714"
y="432.28345">begin</tspan></text>
</g>
id="tspan3220"
x="212.3093"
y="597.9649"
style="font-size:14px;font-weight:bold">(a)</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3222"
y="597.9649"
x="433.26901"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:14px;font-weight:bold"
y="597.9649"
x="433.26901"
id="tspan3224"
sodipodi:role="line">(b)</tspan></text>
<g
id="g3192"
transform="translate(-68.571428,0)">
id="g3109">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path2989-4"
d="m 439.61331,180.37981 0,45.66929"
d="m 371.04188,180.37981 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text4389-7"
y="506.56372"
x="432.09702"
y="560.02997"
x="363.52557"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-weight:bold"
y="506.56372"
x="432.09702"
y="560.02997"
x="363.52557"
id="tspan4391-9"
sodipodi:role="line">end</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4399-1"
y="208.28123"
x="458.5419"
x="389.97046"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="208.28123"
x="458.5419"
x="389.97046"
id="tspan4401-6"
sodipodi:role="line">125 MHz clock, reset</tspan></text>
sodipodi:role="line">Reset logic</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 439.61331,233.52942 0,45.66929"
d="m 371.04188,233.52942 0,45.66929"
id="path4421-5"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="458.5419"
x="389.97046"
y="261.43088"
id="text4423-2"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4425-2"
x="458.5419"
x="389.97046"
y="261.43088">I<tspan
id="tspan4538"
style="font-size:65.00091553%;baseline-shift:super">2</tspan>C bridge and crossbar</tspan></text>
style="font-size:65.00091553%;baseline-shift:super">2</tspan>C bridge</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4427-3"
d="m 439.61331,286.67902 0,45.66929"
d="m 371.04188,286.67902 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text4429-6"
y="309.29971"
x="458.5419"
x="389.97046"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan4540"
y="309.29971"
x="458.5419"
x="389.97046"
sodipodi:role="line">CSR instantiation</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 439.61331,339.82863 0,45.66929"
d="m 371.04188,339.82863 0,45.66929"
id="path4433-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="458.5419"
x="389.97046"
y="361.4801"
id="text4435-2"
sodipodi:linespacing="125%"><tspan
id="tspan4542"
sodipodi:role="line"
x="458.5419"
x="389.97046"
y="361.4801">Pulse generation and pulse</tspan><tspan
id="tspan3068"
sodipodi:role="line"
x="458.5419"
x="389.97046"
y="373.9801">status logic</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="432.5267"
x="363.95526"
y="176.8365"
id="text4439-2"
sodipodi:linespacing="125%"><tspan
style="font-weight:bold"
sodipodi:role="line"
id="tspan4441-7"
x="432.5267"
x="363.95526"
y="176.8365">begin</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4544"
d="m 439.61331,392.97824 0,45.66929"
d="m 371.04188,446.44453 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text4546"
y="415.59891"
x="458.5419"
y="469.06522"
x="389.97046"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="415.59891"
x="458.5419"
y="469.06522"
x="389.97046"
sodipodi:role="line"
id="tspan4550">Status LEDs</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 439.61331,446.12784 0,45.66929"
d="m 371.04188,499.59413 0,45.66929"
id="path4554"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="458.5419"
y="474.02927"
x="389.97046"
y="527.49554"
id="text4556"
sodipodi:linespacing="125%"><tspan
id="tspan4560"
sodipodi:role="line"
x="458.5419"
y="474.02927">RTM detection</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="212.3093"
y="553.01312"
id="text3218"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3220"
x="212.3093"
y="553.01312"
style="font-size:14px;font-weight:bold">(a)</tspan></text>
x="389.97046"
y="527.49554">RTM detection</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3087"
d="m 371.04188,393.12162 0,45.66929"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)" />
<text
sodipodi:linespacing="125%"
id="text3222"
y="553.01312"
x="433.26901"
id="text3089"
y="421.02304"
x="389.97046"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:14px;font-weight:bold"
y="553.01312"
x="433.26901"
id="tspan3224"
sodipodi:role="line">(b)</tspan></text>
y="421.02304"
x="389.97046"
sodipodi:role="line"
id="tspan3093">MultiBoot logic</tspan></text>
</g>
</g>
</svg>
......@@ -9,8 +9,8 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="594.12488"
height="338.61417"
width="524.57092"
height="346.47241"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
......@@ -20,6 +20,34 @@
inkscape:export-ydpi="72">
<defs
id="defs4">
<marker
inkscape:stockid="TriangleOutS"
orient="auto"
refY="0"
refX="0"
id="TriangleOutS"
style="overflow:visible">
<path
id="path5638"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.2,0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleInS"
orient="auto"
refY="0"
refX="0"
id="TriangleInS"
style="overflow:visible">
<path
id="path5629"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(-0.2,-0.2)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleInM"
orient="auto"
......@@ -168,16 +196,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="129.09127"
inkscape:cy="293.60136"
inkscape:zoom="0.98994949"
inkscape:cx="275.4181"
inkscape:cy="101.8227"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1138"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-width="1535"
inkscape:window-height="876"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true"
......@@ -186,7 +214,8 @@
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:snap-global="true"
inkscape:snap-bbox="true">
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true">
<inkscape:grid
type="xygrid"
id="grid2985"
......@@ -197,8 +226,8 @@
units="mm"
spacingx="0.5mm"
spacingy="0.5mm"
originx="-17.334816mm"
originy="-182.21778mm" />
originx="-15.346647mm"
originy="-122.21778mm" />
</sodipodi:namedview>
<metadata
id="metadata7">
......@@ -216,535 +245,698 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-61.422577,-68.094452)">
transform="translate(-54.377884,-272.83463)">
<g
id="g3974">
<rect
transform="translate(54.377884,272.83463)"
y="217.91336"
x="140.50401"
height="106.29921"
width="239.17322"
id="rect3118"
style="fill:#000000;fill-opacity:0.30000001;stroke:none" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 251.5748,134.64565 -56.69291,0 0,14.17323 -35.43307,-2e-5"
id="path12620"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
id="path12854"
d="m 377.36221,514.47406 0,21.25984 -138.18898,0 0,23.0315 15.94488,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<g
transform="translate(0,11.574489)"
id="g9909">
<path
inkscape:connector-curvature="0"
id="path12622"
d="m 251.5748,127.55904 -56.69291,0 0,-14.17323 -35.43307,0"
sodipodi:nodetypes="cccc"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cccc" />
d="m 103.3412,426.19685 21.25985,0 0,5.31496 26.5748,0"
id="path9905"
inkscape:connector-curvature="0"
transform="translate(61.422577,68.094452)" />
<path
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 248.0315,122.24408 c 5.31496,7.08661 5.31496,10.62992 0,17.71654 12.04146,0 21.25984,0 26.5748,-8.85827 -5.31496,-8.85827 -14.53334,-8.85827 -26.5748,-8.85827 z"
id="path3936"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
id="path9907"
d="m 164.76378,511.50784 21.25985,0 0,-5.31496 26.5748,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 356.10236,131.10235 -81.49606,0"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path12624"
d="m 233.85827,514.47406 22.24515,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="356.10236"
y="104.52753"
id="text13454"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="356.10236"
y="104.52753"
id="tspan13456"
style="font-weight:bold;text-align:start;text-anchor:start">6x pulse</tspan><tspan
sodipodi:role="line"
x="356.10236"
y="117.02753"
style="font-weight:bold;text-align:start;text-anchor:start"
id="tspan13485">generator</tspan></text>
id="path3936"
d="m 208.80512,505.61579 c 5.31496,7.08661 5.31496,10.62992 0,17.71654 12.04146,0 21.25984,0 26.5748,-8.85827 -5.31496,-8.85827 -14.53334,-8.85827 -26.5748,-8.85827 z"
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 409.25195,131.10234 95.66931,0"
id="path13508"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
id="path13508"
d="m 345.97244,515.22407 65.55119,-0.5"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path13512"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
transform="translate(301.54037,531.69057)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(394.938,147.81884)" />
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect13577"
width="53.149597"
height="17.716534"
x="356.10236"
y="122.24406" />
<rect
y="124.01572"
x="357.87399"
height="17.716534"
width="53.149597"
id="rect13579"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect13581"
width="53.149597"
height="17.716534"
x="359.64566"
y="125.78737" />
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path13512"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path13673"
d="m 312.31102,453.54327 144.77559,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="442.91333"
y="201.96848"
id="text13585"
x="158.08882"
y="505.87473"
id="text14802"
sodipodi:linespacing="125%"><tspan
id="tspan13591"
sodipodi:role="line"
x="442.91333"
y="201.96848"
style="font-weight:bold;text-align:center;text-anchor:middle">reset</tspan><tspan
sodipodi:role="line"
x="442.91333"
y="214.46848"
style="font-weight:bold;text-align:center;text-anchor:middle"
id="tspan13598">generator</tspan></text>
x="158.08882"
y="505.87473"
id="tspan14806"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end">TTL inputs</tspan></text>
<text
sodipodi:linespacing="125%"
id="text14810"
y="530.13928"
x="158.08882"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
id="tspan14812"
y="530.13928"
x="158.08882"
sodipodi:role="line">Blocking inputs</tspan></text>
<text
sodipodi:linespacing="125%"
id="text14814"
y="509.15912"
x="465.88629"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
id="tspan14816"
y="509.15912"
x="465.88629"
sodipodi:role="line">TTL outputs</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="234.37108"
y="343.70078"
id="text2989"
x="464.84332"
y="528.64728"
id="text14818"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991"
x="234.37108"
y="343.70078"
style="font-size:9px;font-weight:bold">VBCP bridge</tspan></text>
<rect
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect2987"
width="88.58268"
height="35.433071"
x="221.4567"
y="347.24405"
rx="0"
ry="0" />
x="464.84332"
y="528.64728"
id="tspan14820"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">Blocking outputs</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="225"
y="363.05194"
id="text2993"
x="465.32379"
y="450.19281"
id="text14822"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2995"
x="225"
y="363.05194">I<tspan
style="font-size:65.00091553%;baseline-shift:super"
id="tspan2999">2</tspan>C</tspan><tspan
x="465.32379"
y="450.19281"
id="tspan14824"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">Blocking power</tspan><tspan
id="tspan14826"
sodipodi:role="line"
x="225"
y="375.55194"
id="tspan2997">slave</tspan></text>
x="465.32379"
y="465.19281"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">supply reset</tspan></text>
<rect
y="273.83463"
x="177.16539"
height="344.47241"
width="265.74799"
id="rect4649"
style="opacity:0.5;fill:none;stroke:#323333;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 6;stroke-dashoffset:0" />
<text
sodipodi:linespacing="125%"
id="text4651"
y="611.00165"
x="182.96681"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.5;fill:#333333;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:14px;font-weight:bold;fill:#333333;fill-opacity:1"
y="611.00165"
x="182.96681"
id="tspan4653"
sodipodi:role="line">FPGA</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3001"
y="362.28482"
x="307.38425"
id="text3095"
y="590.90271"
x="158.08882"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan3007"
y="362.28482"
x="310.15768"
sodipodi:role="line"
style="text-align:end;text-anchor:end">WB </tspan><tspan
y="374.78482"
x="307.38425"
sodipodi:role="line"
id="tspan3012"
style="text-align:end;text-anchor:end">master</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:none"
d="m 159.44882,356.10232 62.00787,-0.0464 0,0 0,0"
id="path3831"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
inkscape:connector-curvature="0"
id="path3833"
d="m 159.44882,373.81886 62.00787,-10e-6 0,0 0,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:none"
sodipodi:nodetypes="cccc" />
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
id="tspan3097"
y="590.90271"
x="158.08882"
sodipodi:role="line">INV-TTL inputs</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="125.23703"
y="361.4173"
id="text4667"
x="464.84332"
y="591.21814"
id="text3099"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4669"
x="125.23703"
y="361.4173"
style="font-size:12px;font-weight:bold">SCL</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4671"
y="375.59052"
x="122.17844"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="375.59052"
x="122.17844"
id="tspan4673"
sodipodi:role="line"
style="font-size:12px;font-weight:bold">SDA</tspan></text>
x="464.84332"
y="591.21814"
id="tspan3101"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">INV-TTL outputs</tspan></text>
<path
inkscape:connector-curvature="0"
id="path3085"
d="m 411.52363,523.83234 0,-17.71654 44.29134,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker3114)"
d="m 411.52363,506.1158 0,17.71654 44.29134,0"
id="path3087"
inkscape:connector-curvature="0" />
<g
transform="translate(0,-4.814911)"
id="g4039">
<rect
y="263.97635"
x="221.4567"
height="17.716526"
width="88.582664"
id="rect13663"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
transform="matrix(0,-1,1,0,0,0)"
ry="0"
rx="0"
y="191.77208"
x="-467.21649"
height="19.488197"
width="77.952789"
id="rect4029"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
sodipodi:linespacing="125%"
id="text13665"
y="260.43304"
x="265.74802"
y="204.1358"
x="-428.6405"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
xml:space="preserve"
transform="matrix(0,-1,1,0,0,0)"><tspan
id="tspan13669"
style="font-weight:bold;text-align:center;text-anchor:middle"
y="260.43304"
x="265.74802"
sodipodi:role="line">RTM detector</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 487.20472,226.77162 62.00788,0"
id="path13673"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
y="204.1358"
x="-428.6405"
sodipodi:role="line">rtm_detector</tspan></text>
</g>
<g
transform="translate(-78.06694,5.314972)"
id="g4002">
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect13675"
width="88.582634"
height="17.716564"
x="442.91339"
y="325.98419" />
width="67.322845"
height="17.716616"
x="322.44095"
y="379.13382" />
<text
sodipodi:linespacing="125%"
id="text13677"
y="322.44092"
x="446.21912"
y="389.76373"
x="356.10236"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:9px;font-weight:bold"
y="322.44092"
x="446.21912"
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle"
y="389.76373"
x="356.10236"
id="tspan13679"
sodipodi:role="line">Status registers</tspan></text>
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path13683"
d="m 159.4488,272.88102 58.46458,-0.0464 0,0 3.5433,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
<rect
y="217.91331"
x="398.62204"
height="17.716564"
width="88.582634"
id="rect13685"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
sodipodi:role="line">conv_regs</tspan></text>
</g>
<g
id="g4007">
<text
sodipodi:linespacing="125%"
id="text5318"
y="324.21259"
x="377.36221"
y="295.49173"
x="277.98489"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle"
y="324.21259"
x="377.36221"
id="tspan5320"
sodipodi:role="line">Wishbone</tspan><tspan
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle"
y="335.46259"
x="377.36221"
y="295.49173"
x="277.98489"
sodipodi:role="line"
id="tspan14794">crossbar</tspan></text>
id="tspan14794">xwb_crossbar</tspan></text>
<g
id="g3100"
transform="translate(-98.440943,-39.350744)">
<rect
ry="0"
rx="0"
y="337.8858"
x="345.47244"
height="50.1063"
width="62.007874"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4677"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
width="62.007874"
height="50.1063"
x="345.47244"
y="337.8858"
rx="0"
ry="0" />
<g
id="g5332"
transform="translate(-40.666191,98.962264)">
transform="translate(-40.666191,98.962264)"
id="g5332">
<path
inkscape:connector-curvature="0"
id="path5322"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 395.28817,246.26045 12.19215,0 18.90999,35.43244 12.60666,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
id="path5322"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 395.28817,281.69289 12.19215,0 18.90999,-35.43244 12.60666,0"
inkscape:connector-curvature="0"
id="path5324"
inkscape:connector-curvature="0" />
d="m 395.28817,281.69289 12.19215,0 18.90999,-35.43244 12.60666,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
</g>
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInS);marker-end:url(#TriangleOutS)"
d="m 216.14173,325.98422 26.57481,0"
id="path14384"
d="m 310.03937,364.96059 35.43307,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:none" />
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="150.59055"
y="269.83145"
sodipodi:linespacing="125%"
id="text14796"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
y="412.71426"
x="158.94882"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
y="412.71426"
x="158.94882"
id="tspan14798"
x="150.59055"
y="269.83145"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end">RTM detection</tspan><tspan
sodipodi:role="line"
x="150.59055"
y="284.83145"
sodipodi:role="line">RTM</tspan><tspan
id="tspan4044"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
y="427.71426"
x="158.94882"
sodipodi:role="line">detection</tspan><tspan
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
id="tspan14800"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end">lines</tspan></text>
y="442.71426"
x="158.94882"
sodipodi:role="line">lines</tspan></text>
<g
transform="translate(-1.2765981,0)"
id="g9624">
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect14846"
width="88.582634"
height="17.716564"
x="345.47739"
y="384.11185" />
<text
sodipodi:linespacing="125%"
id="text14802"
y="116.92911"
x="150.59055"
id="text14838"
y="395.58975"
x="389.76868"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end"
id="tspan14806"
y="116.92911"
x="150.59055"
sodipodi:role="line">TTL inputs</tspan></text>
style="font-weight:bold;text-align:center;text-anchor:middle"
y="395.58975"
x="389.76868"
sodipodi:role="line"
id="tspan14856">bicolor_led_ctrl</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)"
d="m 432.28347,393.30705 24.80314,0"
id="path14844"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text14848"
y="382.44376"
x="465.32379"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="382.44376"
x="465.32379"
sodipodi:role="line"
id="tspan14852">Bicolor</tspan><tspan
id="tspan9622"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="397.44376"
x="465.32379"
sodipodi:role="line">status</tspan><tspan
id="tspan5797"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="412.44376"
x="465.32379"
sodipodi:role="line">LEDs</tspan></text>
<g
transform="translate(-18.988207,0)"
id="g4064">
<rect
y="299.40936"
x="363.189"
height="17.716564"
width="88.582634"
id="rect3084"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="150.59055"
y="152.36217"
id="text14810"
x="407.48032"
y="311.81097"
id="text3086"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="150.59055"
y="152.36217"
id="tspan14812"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end">Blocking inputs</tspan></text>
id="tspan3088"
x="407.48032"
y="311.81097"
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle">wb_xil_multiboot</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3924"
d="m 432.78344,308.26767 24.30317,10e-6"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="558.07086"
y="116.92911"
id="text14814"
x="465.08356"
y="305.13583"
id="text3926"
sodipodi:linespacing="125%"><tspan
id="tspan3934"
sodipodi:role="line"
x="558.07086"
y="116.92911"
id="tspan14816"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">TTL outputs</tspan></text>
x="465.08356"
y="305.13583"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">M25P32</tspan><tspan
id="tspan3938"
sodipodi:role="line"
x="465.08356"
y="320.13583"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">SPI flash</tspan></text>
<rect
transform="matrix(0,-1,1,0,0,0)"
ry="0"
rx="0"
y="191.77208"
x="-364.9606"
height="19.488197"
width="77.952789"
id="rect2987"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
transform="matrix(0,-1,1,0,0,0)"
sodipodi:linespacing="125%"
id="text14818"
y="152.36217"
x="558.07086"
id="text2989"
y="204.17363"
x="-325.98422"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
id="tspan14820"
y="152.36217"
x="558.07086"
sodipodi:role="line">Blocking outputs</tspan></text>
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle"
y="204.17363"
x="-325.98422"
id="tspan2991"
sodipodi:role="line">wb_i2c_bridge</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3831"
d="m 165.26378,317.14916 22.5315,-0.0232"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker3114)" />
<text
sodipodi:linespacing="125%"
id="text14822"
y="222.53529"
x="558.07086"
id="text4667"
y="321.49411"
x="133.59531"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
id="tspan14824"
y="222.53529"
x="558.07086"
sodipodi:role="line">Blocking power</tspan><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="237.53529"
x="558.07086"
sodipodi:role="line"
id="tspan14826">supply reset</tspan></text>
style="font-size:12px;font-weight:bold"
y="321.49411"
x="133.59531"
id="tspan4669"
sodipodi:role="line">SCL</tspan></text>
<text
sodipodi:linespacing="125%"
id="text14838"
y="248.03146"
x="442.91333"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan14842"
style="font-weight:bold;text-align:center;text-anchor:middle"
y="248.03146"
x="442.91333"
sodipodi:role="line">Bicolor LED</tspan><tspan
style="font-weight:bold;text-align:center;text-anchor:middle"
y="260.53146"
x="442.91333"
x="130.53671"
y="339.21063"
id="text4671"
sodipodi:linespacing="125%"><tspan
style="font-size:12px;font-weight:bold"
sodipodi:role="line"
id="tspan14856">controller</tspan></text>
id="tspan4673"
x="130.53671"
y="339.21063">SDA</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3106);marker-end:url(#marker3114)"
d="m 165.26378,334.86569 22.5315,-0.0232"
id="path3953"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path14844"
d="m 487.20472,272.8346 62.00788,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
id="path4037"
d="m 165.26378,423.43679 22.5315,-0.0116"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker3114)" />
<g
transform="translate(0,28.346538)"
id="g4081">
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect14846"
width="88.582634"
height="17.716564"
x="398.62204"
y="263.97632" />
y="418.11017"
x="244.37401"
height="15.944874"
width="67.437019"
id="rect4055"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="558.07086"
y="268.59827"
id="text14848"
x="278.03543"
y="428.74008"
id="text4057"
sodipodi:linespacing="125%"><tspan
id="tspan14852"
sodipodi:role="line"
x="558.07086"
y="268.59827"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">Bicolor status</tspan><tspan
sodipodi:role="line"
x="558.07086"
y="283.59827"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
id="tspan5797">LEDs</tspan></text>
id="tspan4059"
x="278.03543"
y="428.74008"
style="font-size:9px;font-weight:bold;text-align:center;text-anchor:middle">reset_gen</tspan></text>
</g>
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4073"
d="m 210.82678,423.42516 17.71653,0 0,-24.80315 12.40158,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4075"
d="m 278.14961,443.41335 0,-40.74803"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3106)" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4079"
d="m 210.82678,349.01571 17.71653,0 0,40.74803 12.40158,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path7168"
d="m 277.67126,380.90548 0,-28.34646"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInS);marker-end:url(#TriangleOutS)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path7170"
d="m 313.58268,308.26768 26.5748,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInS);marker-end:url(#TriangleOutS)" />
<g
transform="translate(-80.996053,383.87174)"
id="g9631">
<rect
style="opacity:0.5;fill:none;stroke:#323333;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 6;stroke-dashoffset:0"
id="rect4649"
width="372.04718"
height="336.61417"
x="168.30708"
y="69.094452" />
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect13577"
width="86.811035"
height="17.716537"
x="340.15747"
y="122.24406" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.5;fill:#333333;fill-opacity:1;stroke:none;font-family:Sans"
x="177.16536"
y="86.640091"
id="text4651"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="343.14102"
y="133.72195"
id="text13454"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4653"
x="177.16536"
y="86.640091"
style="font-size:14px;font-weight:bold;fill:#333333;fill-opacity:1">FPGA</tspan></text>
x="343.14102"
y="133.72195"
style="font-weight:bold;text-align:start;text-anchor:start"
id="tspan13485">ctb_pulse_gen</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 159.94882,184.58265 389.1187,0"
id="path3093"
sodipodi:nodetypes="ccc"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3114);marker-mid:url(#marker3114);marker-end:url(#marker3114)"
d="m 164.76378,587.59218 145.40875,0.25023 145.14243,0.24977"
id="path10174"
inkscape:connector-curvature="0" />
<g
id="g10992"
transform="translate(-80.996053,427.16307)">
<rect
y="122.24406"
x="340.15747"
height="17.716537"
width="86.811035"
id="rect10994"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
sodipodi:linespacing="125%"
id="text10996"
y="133.72195"
x="351.05811"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan10998"
style="font-weight:bold;text-align:start;text-anchor:start"
y="133.72195"
x="351.05811"
sodipodi:role="line">p_pulse_led</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 345.97244,558.5154 65.55119,-0.5"
id="path11000"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path11002"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(301.54037,574.9819)" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="150.59055"
y="187.69398"
id="text3095"
x="465.88629"
y="553.34021"
id="text11004"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="150.59055"
y="187.69398"
id="tspan3097"
style="font-size:12px;font-weight:bold;text-align:end;text-anchor:end">INV-TTL inputs</tspan></text>
x="465.88629"
y="553.34021"
id="tspan11006"
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start">TTL LEDs</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3099"
y="187.69398"
x="558.07086"
id="text11008"
y="571.42584"
x="464.84332"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
id="tspan3101"
y="187.69398"
x="558.07086"
sodipodi:role="line">INV-TTL outputs</tspan></text>
id="tspan11010"
y="571.42584"
x="464.84332"
sodipodi:role="line">Blocking LEDs</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 504.92126,131.10235 0,-17.71654 44.29134,0"
id="path3085"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker3114)"
d="m 411.52363,567.12367 0,-17.71654 44.29134,0"
id="path11012"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path3087"
d="m 504.92126,131.10235 0,17.71654 44.29134,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<rect
y="379.13379"
x="442.91339"
height="17.716564"
width="88.582634"
id="rect3084"
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="441.91907"
y="375.59052"
id="text3086"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3088"
x="441.91907"
y="375.59052"
style="font-size:9px;font-weight:bold">MultiBoot module</tspan></text>
id="path11014"
d="m 411.52363,549.40713 0,17.71654 44.29134,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 360.60071,318.126 17.71653,0 0,-15.94489 17.71654,0"
id="path3920"
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path12852"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(267.37897,531.69057)" />
<path
sodipodi:nodetypes="cc"
transform="translate(61.422577,68.094452)"
inkscape:connector-curvature="0"
transform="translate(46.879608,32.661377)" />
id="path14092"
d="m 266.33333,385.44882 0,-30.11811"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)"
d="m 327.75591,454.04327 0,30.11811"
id="path14518"
inkscape:connector-curvature="0"
id="path3922"
d="m 407.48032,372.04722 17.71653,0 0,15.94489 17.71654,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 484.61646,355.33072 17.71653,0"
id="path3924"
transform="translate(217.77267,470.50977)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path14524"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<path
transform="translate(54.377884,272.83463)"
inkscape:connector-curvature="0"
transform="translate(46.879608,32.661377)" />
id="path4170"
d="m 273.37802,166.53541 10.62992,-10.62992"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#marker3114)" />
<path
transform="translate(54.377884,272.83463)"
inkscape:connector-curvature="0"
id="path4376"
d="M 273.34822,166.47241 262.7481,155.8723"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#marker3114)" />
<path
transform="translate(54.377884,272.83463)"
inkscape:connector-curvature="0"
id="path4582"
d="m 273.37802,196.65352 -8.85827,8.85827"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#marker3114)" />
<path
transform="translate(54.377884,272.83463)"
inkscape:connector-curvature="0"
id="path4788"
d="m 273.37802,196.65352 8.85827,8.85827"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#marker3114)" />
<text
sodipodi:linespacing="125%"
id="text3926"
y="386.22043"
x="558.07086"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="text3960"
y="500.01038"
x="196.65355"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffe1;fill-opacity:0.39215686;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="386.22043"
x="558.07086"
sodipodi:role="line"
id="tspan3934">M25P32</tspan><tspan
style="font-size:12px;font-weight:bold;text-align:start;text-anchor:start"
y="401.22043"
x="558.07086"
sodipodi:role="line"
id="tspan3938">SPI flash</tspan></text>
style="font-size:8px;font-weight:bold;fill:#ffffff;fill-opacity:1"
id="tspan3964"
y="500.01038"
x="196.65355"
sodipodi:role="line">channel logic x6</tspan></text>
</g>
</g>
</svg>
......@@ -55,6 +55,7 @@
14-08-2013 & 1.02 & Changed name of \textit{elma\_i2c} to \textit{vbcp\_wb} \\
29-10-2013 & 1.03 & Added MultiBoot support to firmware \\
20-11-2013 & 1.04 & Changed system clock to 20~MHz \\
05-01-2014 & 1.05 & Updated folder structure and renamed \textit{vbcp\_wb} to \textit{i2c\_bridge} \\
\hline
\end{tabular}
}
......@@ -67,7 +68,6 @@
%------------------------------------------------------------------------------
% List of figs, tables, abbrevs
%------------------------------------------------------------------------------
\pagebreak
\listoffigures
\listoftables
......@@ -77,7 +77,7 @@ DAC & Digital-to-Analog Converter \\
FPGA & Field-Programmable Gate Array \\
FSM & Finite-State Machine \\
IC & Integrated Circuit \\
I$^2$C & Inter-Intergrated Circuit (bus) \\
I$^2$C & Inter-Integrated Circuit (bus) \\
PLL & Phase-Locked Loop \\
SPI & Serial Peripheral Interface \\
SysMon & (ELMA) System Montior \\
......@@ -100,8 +100,8 @@ the CONV-TTL-BLO capabilities:
\begin{itemize}
\item pulse detection (on pulse rising edge)
\item fixed-width pulse generation
\item status retrieval via I$^2$C and VBCP
\item remote reprogramming via I$^2$C and VBCP
\item status retrieval via I$^2$C
\item remote reprogramming via I$^2$C
\end{itemize}
Figure~\ref{fig:hdl-bd} shows a simplified block diagram of the HDL firmware. Each of the
......@@ -118,13 +118,182 @@ blocks in the figure is presented in following sections.
%------------------------------------------------------------------------------
\subsection*{Additional documentation}
%\textcolor{red}{\textbf{!!!}}
\begin{itemize}
\item CONV-TTL-BLO User Guide \cite{ctb-ug}
\item CONV-TTL-BLO Hardware Guide \cite{ctb-hwguide}
\end{itemize}
%======================================================================================
% SEC: Folder structure
%======================================================================================
\section{Folder Structure}
\label{sec:fold-struct}
The folder structure for the project is presented below.
\renewcommand{\labelitemi}{$\rightarrow$}
\renewcommand{\labelitemii}{$\rightarrow$}
\renewcommand{\labelitemiii}{$\rightarrow$}
\renewcommand{\labelitemiv}{$\rightarrow$}
\begin{itemize}
\item conv-ttl-blo-gw/
\begin{itemize}
\item doc/
\begin{itemize}
\item hdlguide/
\end{itemize}
\item ip\_cores/
\begin{itemize}
\item general-cores/
\end{itemize}
\item modules/
\begin{itemize}
\item Release/
% \begin{itemize}
% \item conv\_regs.vhd
% \item conv\_regs.wb
% \end{itemize}
\item pulsetest/
% \begin{itemize}
% \item conv\_regs.vhd
% \item conv\_regs.wb
% \item pgen\_ctrl\_regs.vhd
% \item pgen\_ctrl\_regs.wb
% \item pulse\_cnt\_regs.vhd
% \item pulse\_cnt\_regs.wb
% \item pulse\_gen\_gp.vhd
% \end{itemize}
\item ctb\_pulse\_gen.vhd
\item reset\_gen.vhd
\item rtm\_detector.vhd
\end{itemize}
\item sim/
\item syn/
\begin{itemize}
\item Release/
\item pulsetest/
\item regtest/
\end{itemize}
\item top/
\begin{itemize}
\item Release/
\begin{itemize}
\item conv\_ttl\_blo.ucf
\item conv\_ttl\_blo.vhd
\end{itemize}
\item pulsetest/
\begin{itemize}
\item pulsetest.ucf
\item pulsetest.vhd
\end{itemize}
\item regtest/
\begin{itemize}
\item pulsetest.ucf
\item pulsetest.vhd
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
Gateware files are organized on a per type-of-project basis. There are two different types of
projects for CONV-TTL-BLO gateware: the \textit{release project} and \textit{test projects}.
The release project is the latest production firmware version, that goes on the CONV-TTL-BLO
board used in the field. Test projects are meant to be downloaded to a CONV-TTL-BLO for
testing the CONV-TTL-BLO system under long-term test conditions. The projects present in the
repository at the time of writing of this document are presented in Table~\ref{tbl:fold-struct-proj}.
\begin{table}[h]
\caption{Gateware projects in the repository}
\label{tbl:fold-struct-proj}
\centerline
{
\begin{tabular}{l p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Project}} & \multicolumn{1}{c}{\textbf{Description}} \\
\hline
\textit{conv\_ttl\_blo} & Design-wide release project to be used in the field \\
\textit{regtest} & Long-term test for testing the I$^2$C communication by writing
to a RAM on the FPGA \\
\textit{pulsetest} & Long-term test for testing pulse repetition on the CONV-TTL-BLO \\
\hline
\end{tabular}
}
\end{table}
As can be seen from the folder structure above, gateware files are organized in the
\textit{modules/}, \textit{syn/} and \textit{top/} folders following this project convention.
Files in these folders (where relevant) are organized in the \textit{Release/}, \textit{pulsetest/}
and \textit{regtest/} folders, where the \textit{Release/} folder of course represents the
release firmware and the other two are test projects, as their names suggest.
HDL files are organized into modules and top-level files. Modules are blocks used within the
design, while top-level files combine modules together into a design. Modules relevant for the
whole design are stored directly under the \textit{modules/} folder, while modules specific
to a certain project are stored within the project's sub-folder in the \textit{modules/} folder.
Apart from the top folder of the design, the \textit{top/} folder for each project also contains
the .ucf constraints file for synthesis.
One place where the project structure is not necessarily enforced is the \textit{sim/} folder.
This folder is meant to contain files relevant for simulation of various modules within
the design and as such can be composed of folders named after the component to be simulated.
The \textit{syn/} folder holds the actual project files for Xilinx ISE, as well as other
various output files from ISE. Each ISE project, be it for release or test project, together
with its output files, is contained within its own sub-folder in the \textit{syn/} folder.
%======================================================================================
% SEC: Getting Around the Code
%======================================================================================
\section{Getting Around the Code}
\label{sec:get-around}
Code in the top-level files is organized in code sections. A code section is a piece of code
pertaining to a certain part of the design, where component instantiations and input and
output port assignments are made. For example, there is a section pertaining to
pulse repetition, where there is a generate block to generate the logic necessary for pulse
repetition on each channel, including the pulse status LEDs.
\begin{figure}[h]
\centerline{\includegraphics[width=.59\textwidth]{fig/arch}}
\caption{VHDL architecture of the release firmware}
\label{fig:arch}
\end{figure}
Ports and signals usually follow the coding guideline at~\cite{coding-guidelines}. Most of the
top-level ports of the firmware are lower-case versions of their schematics counterparts. The
exceptions from this are due to either net names that could not be syntactically represented in
VHDL, or net names that have been made clearer in VHDL code.
The declarative part of the architecture is organized as shown in Figure~\ref{fig:arch}~(a).
Types are declared right after the architecture declaration, followed by constant
declarations, followed by component declarations, after which the various signals
are declared.
The body of the architecture is organised in code sections as shown in
Figure~\ref{fig:arch}~(b). It starts with the instantiation of the \textit{reset\_gen}
component which generates the board-wide reset.
Then, in the I$^2$C section, the I$^2$C bridge component is instantiated,
the logic for lighting the I2C front panel LED is defined, as well as the CWDTO bit
in the SR (see Appendix~\ref{app:memmap-csr}). Before the end of this section, an
\textit{xwb\_crossbar} is instantiated to communicate to the various peripherals.
The I$^2$C section is followed by the main code section of the design, the pulse
generation section. Here, a generate block is used to generate the logic for each
channel, including the instantiation of a \textit{ctb\_pulse\_gen} block, the
implementation of the no signal detect block (see Section~\ref{sec:pulse-gen-brdlvl}),
the output pulse assignments and the logic for flashing the pulse LED for 262~ms.
After the pulse generation section, the MultiBoot component is instantiated and
connected to the SPI pins to and from the on-board flash chip.
Two more short code sections remain, that in which the \textit{bicolor\_led\_ctrl}
component is connected to the line and column outputs to the bicolor LED matrix,
and the connection of the RTM detection inputs to the \textit{rtm\_detector}
component.
%==============================================================================
% SEC: Clocks
%==============================================================================
......@@ -138,14 +307,14 @@ of 125~MHz is generated on-board via a Texas Instruments PLL IC from a 25~MHz VC
Two DACs are provided on-board for controlling the two VCXOs. The DACs can be
controlled via SPI, but this feature is not yet implemented.
\begin{figure}
Table~\ref{tbl:clocks} lists the clock domains used in the firmware.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{fig/clocks}}
\caption{FPGA clock inputs}
\label{fig:clocks}
\end{figure}
Table~\ref{tbl:clocks} lists the clock domains in the firmware.
\begin{table}[h]
\caption{Clock domains}
\label{tbl:clocks}
......@@ -199,7 +368,10 @@ signal is de-asserted, the counter is disabled and the \textit{reset\_gen}
module remains inactive.
The module reactivates on the power-on reset, or when a reset is triggered externally, via
the \textit{rst\_i} pin.
the \textit{rst\_i} pin. The \textit{rst\_i} pin is tied in the design to the first bit
in the control register (CR, see Appendix~\ref{app:memmap-csr}), which has to be first
unlocked by writing the RST\_UNLOCK bit. Both these registers are implemented in the
top-level file of the design.
Note that the VHDL of this module is Xilinx and XST-specific and porting to a different
FPGA architecture is not guaranteed to provide the same results. The \textit{reset\_gen}
......@@ -240,7 +412,9 @@ module sets the \textit{rtmm\_ok} and \textit{rtmp\_ok} signals low if the
\textit{rtmm\_i} and \textit{rtmp\_i} input signals are respectively all-ones.
The \textit{rtmm\_ok} and \textit{rtmp\_ok} signals are NANDed together to light
the ERR status LED on the CONV-TTL-BLO.
the ERR status LED on the CONV-TTL-BLO. The status of the RTM detection lines
can also be read via their respective fields in the CONV board status register
(see Appendix~\ref{app:memmap-csr}).
\begin{figure}[h]
\centerline{\includegraphics[width=.85\textwidth]{fig/rtm-detect}}
......@@ -248,10 +422,6 @@ the ERR status LED on the CONV-TTL-BLO.
\label{fig:rtm-detect}
\end{figure}
The status of the RTM detection lines can also be read via their respective fields
in the CONV board status register (Appendix~\ref{app:memmap-csr}).
%==============================================================================
% SEC: Bicolor LEDs
%==============================================================================
......@@ -288,12 +458,13 @@ in the CONV board status register (Appendix~\ref{app:memmap-csr}).
The \textit{bicolor\_led\_ctrl} block controls the lighting of a bicolor
LED matrix. Based on the refresh rate given via the \textit{g\_REFRESH\_RATE}
generic, the clock frequency (\textit{g\_CLK\_FREQ} generic) and the number of
lines and columns, the module controls lighting each LED in the LED matrix.
lines and columns, the module lights each LED in the LED matrix sequentially at
the refresh rate given by the user.
Figure~\ref{fig:bicolor-led} shows an example of controlling a three-line,
two-column red-and-green LED matrix. The FPGA ouputs for the columns~(C) are connected
to buffers and serial resistors and then to the LEDs. The FPGA outputs for lines~(L)
are connected to tri-state buffers and the to the LEDs. The FPGA outputs for line
are connected to tri-state buffers and then to the LEDs. The FPGA outputs for line
output enables~(L\_OEN) are connected to the output enable of the tri-state buffers.
\begin{figure}[hbtp]
......@@ -304,9 +475,9 @@ output enables~(L\_OEN) are connected to the output enable of the tri-state buff
The two-bit \textit{led\_state\_i} vector can be used to control the color of each
LED. Table~\ref{tbl:bicolor-led-state} lists the values that should be input on
\textit{led\_state\_i} to get the needed color. Definitions are provided in
the \textit{bicolor\_led\_ctrl\_pkg.vhd} file for setting the color of the LED
via \textit{led\_state\_i}; these constants are also listed in Table~\ref{tbl:bicolor-led-state}.
\textit{led\_state\_i} to get the needed color, as well as constant definitions
provided in the \textit{bicolor\_led\_ctrl\_pkg.vhd} file for setting the color of the LED
via \textit{led\_state\_i}.
\begin{table}[h]
\caption{LED state input}
......@@ -345,9 +516,9 @@ for the bicolor status LEDs in the CONV-TTL-BLO firmware.
\label{tbl:bicolor-led-state-conn}
\centerline
{
\begin{tabular}{l c l c c}
\begin{tabular}{l c l c}
\hline
\textbf{Line} & \textbf{Column} & \multicolumn{1}{c}{\textbf{LED}} & \textbf{LED state bits} & \textbf{Setting}\\
\textbf{Line} & \textbf{Column} & \multicolumn{1}{c}{\textbf{LED}} & \textbf{LED state bits} \\
\hline
1 & 1 & WHITE\_RABBIT\_ADDR & \textit{1..0} \\
1 & 2 & WHITE\_RABBIT\_GMT & \textit{3..2} \\
......@@ -366,9 +537,9 @@ for the bicolor status LEDs in the CONV-TTL-BLO firmware.
}
\end{table}
The states of the used LEDs can be found in Table 1 of \cite{ctb-ug}. They are
controlled by combinatorial multiplexers. The selection signals to these
multiplexers are set throughout the logic.
The states of the used LEDs can be found in Table 1 of the CONV-TTL-BLO User
Guide~\cite{ctb-ug}. They are controlled by combinatorial multiplexers. The
selection signals to these multiplexers are set throughout the logic.
%==============================================================================
% SEC: Pulse gen
......@@ -386,7 +557,7 @@ multiplexers are set throughout the logic.
\hline
\textbf{Entity} & \textit{ctb\_pulse\_gen} & \\
\textbf{Generics} & \textit{g\_pwidth} & Width of the output pulse in \textit{clk\_i} cycles \\
& \textit{g\_gf\_len} & Length of glitch filter \\
& \textit{g\_gf\_len} & Length of glitch filter in \textit{clk\_i} cycles \\
\textbf{Ports} & \textit{clk\_i} & Clock signal \\
& \textit{rst\_n\_i} & Active-low reset signal \\
& \textit{en\_i} & Pulse generator enable \\
......@@ -440,8 +611,9 @@ leading-edge pulse jitter, the glitch filter can be left disabled.
Regardless of whether the glitch filter is enabled or not, the FSM reacts to the
rising edge of one of its two start inputs. A rising edge on an input starts
the internal counter, which counts up to a maximum value of \textit{g\_pwidth}.
The behavior of the outputs are different, depending on the state of the glitch filter.
the internal counter, which counts up to a maximum value in order to assure a
pulse with the length \textit{g\_pwidth}.
The behavior of the outputs is different depending on the state of the glitch filter.
With the glitch filter disabled, the input pulse enables the
input flip-flop, which starts pulse generation. The pulse signal is then synchronized
......@@ -459,6 +631,12 @@ where the pulse reset is kept high. If any pulses arrive on the input while the
is in this rejection state, they are not replicated at the output. The pulse rejection
phase lasts for 4*\textit{g\_pwidth}, yielding a maximum duty cycle of 1/5 for input pulses.
Note that due to the fact that the counter starts counting up from zero and delays
in the glitch filter when it is enabled, the maximum value of the internal counter is not
\textit{g\_pwidth}. Instead, the counter counts up to a pair of VHDL constants defined
in the code. These constants assure the pulse at the output is kept high for a number of
\textit{g\_pwidth} cycles of the \textit{clk\_i} signal.
%------------------------------------------------------------------------------
% SUBSEC: Board-level
%------------------------------------------------------------------------------
......@@ -506,25 +684,25 @@ channel.
This section details the various peripherals mapped on the internal
Wishbone bus. Access to these peripherals is made through the two serial lines
on the VME P1 connector (\textit{SERCLK}, \textit{SERDAT}). The VBCP protocol
is used to access these peripherals. A bridge module translates VBCP transfers into
Wishbone transfers.
on the VME P1 connector (SERCLK, SERDAT). A protocol based on I$^2$C is used to
access these peripherals. The protocol, as well as the bridge component
translating I$^2$C accesses into Wishbone accesses, are defined in the bridge
component's documentation.
The complete memory map of the firmware can be found in Appendix~\ref{app:memmap}.
%------------------------------------------------------------------------------
% SUBSEC: Statregs
%------------------------------------------------------------------------------
\subsection{VBCP to Wishbone bridge}
\label{sec:elma-i2c}
\subsection{I$^2$C to Wishbone bridge}
\label{sec:i2c-bridge}
The \textit{vbcp\_wb} module implements a bridge between the serial lines on the
VME P1 connector using VBCP and the Wishbone interconnect. The module provides
The \textit{i2c\_bridge} module implements a bridge to translate I$^2$C accesses
on the VME P1 connector into Wishbone accesses on the FPGA. The module provides
one I$^2$C slave interface for connecting to an ELMA SysMon and one Wishbone
master interface.
Details about the module's implementation can be found in its documentation, in
the \textit{conv\_ttl\_blo\_gw/doc/vbcp\_wb/} folder (see Section~\ref{sec:fold-struct}).
Details about the module's implementation can be found in its documentation.
%------------------------------------------------------------------------------
% SUBSEC: CSR
......@@ -549,157 +727,10 @@ The MultiBoot module offers the remote reprogramming capabilities for the
CONV-TTL-BLO board. It offers a set of registers for controlling writing a bitstream
to the M25P32 flash chip and for issuing the remote reprogramming command.
For information on the module, refer to its documentation under the
\textit{conv\_ttl\_blo\_gw/doc/multiboot/} folder (see Section~\ref{sec:fold-struct}).
The memory map of the module is also present in this manual, for quick reference
For information on the module, refer to the module's documentation. The memory
map of the module is also present in this manual, for quick reference
(see Appendix~\ref{app:memmap-multiboot}).
%======================================================================================
% SEC: Folder structure
%======================================================================================
\section{Folder Structure}
\label{sec:fold-struct}
The folder structure for the project is presented below.
\renewcommand{\labelitemi}{$\rightarrow$}
\renewcommand{\labelitemii}{$\rightarrow$}
\renewcommand{\labelitemiii}{$\rightarrow$}
\renewcommand{\labelitemiv}{$\rightarrow$}
\begin{itemize}
\item ../ip\_cores/
\item conv-ttl-blo-gw/doc/
\begin{itemize}
\item hdlguide/
\item i2c\_slave/
\item multiboot/
\item vbcp\_wb/
\end{itemize}
\item conv-ttl-blo-gw/hdl/
\begin{itemize}
\item bicolor\_led\_ctrl/
\begin{itemize}
\item \textit{bicolor\_led\_ctrl.vhd}
\item \textit{bicolor\_led\_ctrl\_pkg.vhd}
\end{itemize}
\item ctb\_pulse\_gen/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{ctb\_pulse\_gen.vhd}
\end{itemize}
\end{itemize}
\item glitch\_filt/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{glitch\_filt.vhd}
\end{itemize}
\end{itemize}
\item multiboot/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{multiboot\_fsm.vhd}
\item \textit{multiboot\_regs.vhd}
\item \textit{spi\_master.vhd}
\item \textit{xil\_multiboot.vhd}
\end{itemize}
\end{itemize}
\textbf
{
\item release/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{conv\_regs.vhd}
\end{itemize}
\item top/
\begin{itemize}
\item \textit{conv\_ttl\_blo.vhd}
\item \textit{conv\_ttl\_blo.ucf}
\end{itemize}
\end{itemize}
}
\item reset\_gen/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{reset\_gen.vhd}
\end{itemize}
\end{itemize}
\item rtm\_detector/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{rtm\_detector.vhd}
\end{itemize}
\end{itemize}
\item vbcp\_wb/
\begin{itemize}
\item rtl/
\begin{itemize}
\item \textit{i2c\_slave.vhd}
\item \textit{vbcp\_wb.vhd}
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
The \textit{ip\_cores/} folder contains repository files that the firmware uses, such
as the Wishbone crossbar (\textit{xwb\_crossbar}).
Documentation such as this HDL guide and some HDL modules developed as part of the
CONV-TTL-BLO project can be found in the \textit{conv-ttl-blo/doc/} folder.
Modules that have been developed as part of the CONV-TTL-BLO project are present in
their own folders as sub-nodes of the \textit{conv-ttl-blo/hdl/} folder. In general,
the module files are present under an \textit{rtl/} sub-folder. The I$^2$C bridge
module folder also contains the instantiated \textit{i2c\_slave} module.
The \textit{release/} folder is the main folder in the firmware package, as can be seen from the
fact that it is bolded in the folder structure above. It contains top-level files in the
\textit{top/} folder (HDL and UCF file for pin definitions) and other specific modules in
the \textit{rtl/} folder.
%======================================================================================
% SEC: Getting Around the Code
%======================================================================================
\section{Getting Around the Code}
\label{sec:get-around}
As described above, the main part of the release firmware can be found in the
\textit{conv-ttl-blo/hdl/release/} folder. The top-level file is \textit{conv\_ttl\_blo.vhd}.
Ports and signals usually follow the coding guideline at~\cite{coding-guidelines}. Most of the
top-level ports of the firmware are lower-case versions of their schematics counterparts. The
exceptions from this are due to either net names that could not be syntactically represented in
VHDL, or net names that have been made clearer in VHDL code. Input ports are assigned to architecture
signals and signals are assigned to output ports in each code section.
\begin{figure}[h]
\centerline{\includegraphics[width=.7\textwidth]{fig/arch}}
\caption{VHDL architecture}
\label{fig:arch}
\end{figure}
The declarative part of the architecture is organized as shown in Figure~\ref{fig:arch}~(a).
Types are declared right after the architecture declaration, followed by con-
stant declarations, followed by component declarations, after which the var-
ious signals are declared.
The body of the architecture is organised as shown in in Figure~\ref{fig:arch}~(b). It begins
by instantiating a differential buffer for the 125~MHz system clock and instantiating the
\textit{reset\_gen} component. Then, the \textit{vbcp\_wb} bridge module is instantiated
along with the Wishbone crossbar that offers access to the rest of the Wishbone modules in
the design. Next, the CONV board CSR module is instantiated, followed by the instantiation
of twelve pulse generator modules, six for pulse repetition and six for the pulse LEDs.
This is followed by the logic for the status LEDs and the file ends with the RTM detection
modules.
%==============================================================================
% Appendices
%==============================================================================
......@@ -746,7 +777,6 @@ following sections list the memory map of each peripheral.
0x0 & BID & Board ID register \\
0x4 & SR & Status register \\
0x8 & CR & Control register \\
0xc & \textit{Reserved} & Write as '0'; read undefined \\
\end{tabular}
\end{table}
......@@ -771,12 +801,12 @@ following sections list the memory map of each peripheral.
%------------------------------------------------------------------------------
\subsubsection{Status register}
\begin{tabular}{l l c c l}
\begin{tabular}{l l c c p{.35\textwidth}}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
7..0 & FWVERS & R/O & X & Firmware version \\
15..8 & SWITCHES & R/O & X & Switch status \\
21..16 & RTM & R/O & X & RTM detection lines \\
22 & CWDTO & R/W & 0 & Communication Watchdog Timeout \\
22 & CWDTO & R/W & 0 & Communication watchdog timeout \\
31..23 & \textit{Reserved} & -- & X & \\
\end{tabular}
......@@ -816,25 +846,25 @@ following sections list the memory map of each peripheral.
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
0 & RST\_UNL & R/W & 0 & Reset bit unlock \\
0 & RST\_UNLOCK & R/W & 0 & Reset bit unlock \\
1 & RST & R/W & 0 & Reset bit \\
31..2 & \textit{Reserved} & -- & X & \\
\end{tabular}
\noindent
{
\begin{tabular}{l p{.8\textwidth}}
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
RST\_UNL & Reset bit unlock \newline
RST\_UNLOCK & Reset bit unlock \newline
\textbf{0} -- RST bit locked, cannot be written \newline
\textbf{1} -- RST bit unlocked, can be written \\
RST & Reset bit \newline
\textbf{0} -- Idle \newline
\textbf{1} -- Initiate a system reset \newline
This bit needs to be unlocked by writing a '1' to the RST\_UNL bit in a
previous cycle. A write to this bit while RST\_UNL = '0' has no effect. \newline
Writing this bit to 1 with RST\_UNL = '1' will issue a system reset and
This bit needs to be unlocked by writing a '1' to the RST\_UNLOCK bit in a
previous cycle. A write to this bit while RST\_UNLOCK = '0' has no effect. \newline
Writing this bit to 1 with RST\_UNLOCK = '1' will issue a system reset and
the communication to the board will be lost for approx. 100~ms \\
\textit{Reserved} & Write as '0'; read undefined \\
\end{tabular}
......@@ -855,13 +885,10 @@ following sections list the memory map of each peripheral.
\begin{tabular}{l l p{.6\textwidth}}
\textbf{Offset} & \textbf{Name} & \textbf{Description} \\
0x00 & CR & Control Register \\
0x04 & SR & Status register \\
0x04 & SR & Status Register \\
0x08 & GBBAR & Golden Bitstream Base Address Register \\
0x0c & MBBAR & Multiboot Bitstream Base Address Register \\
0x10 & FAR & Flash access register \\
0x14 & \textit{Reserved} & Write as '0'; read undefined \\
0x18 & \textit{Reserved} & Write as '0'; read undefined \\
0x1c & \textit{Reserved} & Write as '0'; read undefined \\
0x10 & FAR & Flash Access Register \\
\end{tabular}
}
......@@ -873,7 +900,7 @@ following sections list the memory map of each peripheral.
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..18 & \textit{Reserved} & -- & X & \\
17 & IPROG & R/W & 0 & IPROG bit \\
16 & IPROG\_UNL & R/W & 0 & IPROG unlock bit \\
16 & IPROG\_UNLOCK & R/W & 0 & IPROG unlock bit \\
15..7 & \textit{Reserved} & -- & X & \\
6 & RDCFGREG & R/W & 0 & Read config register \\
5..0 & CFGREGADR & R/W & 0 & Config register address \\
......@@ -889,11 +916,11 @@ following sections list the memory map of each peripheral.
IPROG & Start IPROG sequence \newline
\textbf{0} -- Idle \newline
\textbf{1} -- Start the IPROG sequence \newline
This bit needs to be unlocked by setting the IPROG\_UNL bit in a previous cycle. Any
write to this bit with IPROG\_UNL = '0' has no effect. \newline
Writing this bit to '1' with IPROG\_UNL = '1' will issue the IPROG sequence and
This bit needs to be unlocked by setting the IPROG\_UNLOCK bit in a previous cycle. Any
write to this bit with IPROG\_UNLOCK = '0' has no effect. \newline
Writing this bit to '1' with IPROG\_UNLOCK = '1' will issue the IPROG sequence and
communication to the board will be lost until reprogramming is completed \\
IPROG\_UNL & Unlock bit for the IPROG command \newline
IPROG\_UNLOCK & Unlock bit for the IPROG command \newline
\textbf{0} -- IPROG bit locked, cannot be written \newline
\textbf{1} -- IPROG bit unlocked, can be written \\
RDCFGREG & Read FPGA configuration register \newline
......@@ -906,13 +933,13 @@ following sections list the memory map of each peripheral.
}
%------------------------------------------------------------------------------
\subsubsection{SR -- Image Register}
\subsubsection{SR -- Status Register}
\label{app:memmap-multiboot-sr}
\begin{tabular}{l l c c l}
\begin{tabular}{l l c c p{.3\textwidth}}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..18 & \textit{Reserved} & -- & X & \\
17 & WDTO & R/W & 0 & Watchdog timeout \\
17 & MWDTO & R/W & 0 & Multiboot watchdog timeout \\
16 & IMGVALID & R/O & 0 & Image register is valid \\
15..0 & CFGREGIMG & R/O & 0 & Config. register image \\
\end{tabular}
......@@ -925,7 +952,7 @@ following sections list the memory map of each peripheral.
\textbf{Field} & \textbf{Description} \\
\textit{Reserved} & Write as '0'; read undefined. \\
WDTO & The watchdog of the MultiBoot FSM has timed out \newline
MWDTO & The watchdog of the MultiBoot FSM has timed out \newline
This bit is cleared by writing a '1' to it \\
IMGVALID & A read has been performed from the FPGA configuration
register at address CR.CFGREGADR, and its value is
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment