Commit 7680408f authored by Carlos Gil Soriano's avatar Carlos Gil Soriano

Released V1.0 of Transfer Knowledge document

parent fb32cb62
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
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="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="New document 1">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Send"
style="overflow:visible;">
<path
id="path3928"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path3922"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lend"
style="overflow:visible;">
<path
id="path3898"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path3895"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
transform="scale(0.8) translate(12.5,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-6"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-8"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-7"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-92"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-8"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.4313595"
inkscape:cx="188.07568"
inkscape:cy="855.2176"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-global="true"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1112"
inkscape:window-x="1920"
inkscape:window-y="30"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2987" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5"
width="160"
height="100"
x="125"
y="127.36218" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88"
width="155"
height="85.000008"
x="120"
y="122.36218" />
<g
id="g3789">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
sodipodi:linespacing="125%"
id="text3772"
y="176.00232"
x="144.93408"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-weight:bold;-inkscape-font-specification:Sans Bold"
y="176.00232"
x="144.93408"
id="tspan3774"
sodipodi:role="line">CORE</tspan></text>
</g>
<g
transform="translate(75,0)"
id="g3789-4">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767-8"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
sodipodi:linespacing="125%"
id="text3772-1"
y="176.00232"
x="144.93408"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-weight:bold;-inkscape-font-specification:Sans Bold"
y="176.00232"
x="144.93408"
id="tspan3774-0"
sodipodi:role="line">REGS</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="135"
y="137.36218"
id="text3772-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3774-6"
x="135"
y="137.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TOP</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="255"
y="221.36218"
id="text3772-9-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3774-6-7"
x="255"
y="221.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 136,172.36218 c -56.031827,0 -56.031827,0 -56.031827,0"
id="path3890"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 321.03183,172.36218 c -56.03183,0 -56.03183,0 -56.03183,0"
id="path3890-8"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 210,167.36218 c -22,0 -22,0 -22,0"
id="path3890-8-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 185,177.36218 c 22,0 22,0 22,0"
id="path3890-8-7-0"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 290,177.36218 c 10,-10 10,-10 10,-10"
id="path4981"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="296.06265"
y="159.52103"
id="text4983"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4985"
x="296.06265"
y="159.52103">Wishbone</tspan></text>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
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="744.09448819"
height="1052.3622047"
id="svg5051"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="testStruct.svg"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<defs
id="defs5053">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5018"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5020"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5022"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5024"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5026"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5028"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-6"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-9"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-6-7"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-9-3"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="378.26494"
inkscape:cy="510.08878"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
showguides="false"
inkscape:snap-global="true"
inkscape:window-width="1920"
inkscape:window-height="1112"
inkscape:window-x="1920"
inkscape:window-y="30"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5122" />
</sodipodi:namedview>
<metadata
id="metadata5056">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.10490656;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5-1-6"
width="54.999992"
height="60"
x="465"
y="537.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.10490668;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5-1"
width="55"
height="60"
x="275"
y="537.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"
ry="0" />
<g
id="g5173"
transform="translate(324.99998,384.99865)"
style="stroke-width:2.50000000000000000;stroke-miterlimit:4;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0;fill:#ffffff;fill-opacity:0.50196081"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767-8"
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.34295022;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5"
width="95"
height="135"
x="355"
y="477.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196078;stroke:#000000;stroke-width:2.31015396;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88"
width="90"
height="125.00001"
x="350"
y="467.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0.75000000000000000;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767"
width="50"
height="50"
x="285"
y="532.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="309.93677"
y="555.58484"
id="text3772"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774"
x="309.93677"
y="555.58484"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">INTERFACE</tspan><tspan
id="tspan5186"
sodipodi:role="line"
x="309.93677"
y="564.33484"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">DRIVER</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="485.15378"
y="555.5835"
id="text3772-4"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-9"
x="485.15378"
y="555.5835"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">WISHBONE</tspan><tspan
id="tspan5186-0"
sodipodi:role="line"
x="485.15378"
y="564.3335"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">DRIVER</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="420"
y="606.36218"
id="text3772-9-5"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7"
x="420"
y="606.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-3"
width="50"
height="50"
x="370"
y="532.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="383.85986"
y="561.00232"
id="text3772-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6"
x="383.85986"
y="561.00232"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TOP</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 460,557.36218 c -37.03184,0 -37.03184,0 -37.03184,0"
id="path3890-8"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:0.57167214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 437.25996,560.22054 c 5.71673,-5.71672 5.71673,-5.71672 5.71673,-5.71672"
id="path4981"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:5.71672153px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="425.82651"
y="551.64545"
id="text4983"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan4985"
x="425.82651"
y="551.64545">Wishbone</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 335,557.36218 c 32.03184,0 32.03184,0 32.03184,0"
id="path3890-8-7"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:0.57167214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 347.02331,560.22054 c 5.71673,-5.71672 5.71673,-5.71672 5.71673,-5.71672"
id="path4981-6"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:5.71672153px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="339.07626"
y="551.64545"
id="text4983-8"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan4985-8"
x="339.07626"
y="551.64545">Interface</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="360"
y="487.36218"
id="text3772-9-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-2"
x="360"
y="487.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TESTBENCH</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send-6)"
d="m 370,502.36218 c -20,0 -60,0 -60,0 l 0,25"
id="path5977"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send-6)"
d="m 420,502.36218 c 20,0 65,0 65,0 l 0,25"
id="path5977-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="280"
y="592.36218"
id="text3772-9-5-6"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7-4"
x="280"
y="592.36218"
style="font-size:8px;font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="497"
y="592.36218"
id="text3772-9-5-6-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7-4-1"
x="497"
y="592.36218"
style="font-size:8px;font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
</g>
</svg>
@misc{StdBlocking,
author = "C. Gil Soriano",
title = {{Standard Blocking Output Signal Definition for CTDAH board}},
month = sep,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/109}}"
}
@misc{FunSpecs,
author = "C. Gil Soriano",
title = {{Standard Blocking Repeater in VME64x Format, Functional Specifications}},
month = aug,
year = 2012,
note = "{\url{http://www.ohwr.org/documents/104}}"
}
@misc{TechFlyback,
author = "C. Gil Soriano",
title = {{Flyback circuit outputting Standard Blocking for CTDAH}},
month = sep,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/110}}"
}
@misc{BlockingMono,
author = "C. Gil Soriano",
title = {{A Triggered Monostable Blocking Oscillator Used in legacy Channel
Repeaters}},
month = aug,
year = 2012,
note = "{\url{http://www.ohwr.org/documents/94}}"
}
@misc{issuesReportV1,
author = "C. Gil Soriano",
title = {{Report of issues in CONV-TTL-BLO v1.0 EDA-02446-V1-0}},
month = oct,
year = 2012,
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/pcb/doc/issues/conv-ttl-blo?rev=basic_trigger_addingGenerics}}"
}
@TECHREPORT{I2Cdoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{I2C Slave to Wishbone Master module}",
month = nov,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/i2c_slave_wb_master/doc/i2cSpecs.pdf}}"
}
@TECHREPORT{SPIdoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{SPI master multifield HDL core}",
month = oct,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/spi_master_multifield/doc/spiSpecs.pdf}}"
}
@TECHREPORT{M25P32doc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{m25p32 manager HDL core}",
month = oct,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/m25p32/doc/m25p32.pdf}}"
}
@TECHREPORT{multibootDoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{Multiboot HDL module}",
month = jan,
year = 2013,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/multiboot/doc/multiboot.pdf}}"
}
@TECHREPORT{ELMAspecI2C,
author = "S. Iglesias Gonsalvez",
institution = "CERN, BE-CO-HT",
title = "{ELMA Crates Specification, Access to board data using
SNMP and I2C}",
month = feb,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/227}}"
}
@TECHREPORT{ELMAsysMonDoc,
institution = "ELMA",
title = "{NEW Sysmon Manual}",
number = "v1.11",
note = "{\url{http://www.ohwr.org/documents/226}}"
}
@TECHREPORT{UG380,
institution = "Xilinx Inc.",
title = {{Spartan-6 FPGA Configuration User Guide}},
month = jul,
year = 2011,
number = "UG380 v2.3",
note = "{\url{http://www.xilinx.com/support/documentation/user_guides/ug380.pdf}}"
}
@TECHREPORT{UG381,
institution = "Xilinx Inc.",
title = "{Spartan-6 FPGA SelectIO Resources}",
month = dec,
year = 2010,
number = "v1.4",
note =
"{\url{http://www.xilinx.com/support/documentation/user_guides/ug381.pdf}}"
}
@TECHREPORT{,
institution = "Xilinx Inc.",
title = "{}",
month = jan,
year = 2012,
number = "v0.9",
note =
"{\url{}}"
}
@TECHREPORT{,
institution = "Xilinx Inc.",
title = "{}",
month = jan,
year = 2012,
number = "v0.9",
note =
"{\url{}}"
}
......@@ -14,7 +14,7 @@
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{
\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{January 18, 2012}
\date{January 22, 2012}
\hypersetup{
colorlinks = true,
urlcolor = blue
......@@ -25,6 +25,7 @@
pdfkeywords = {Blocking, Pulse repetition, legacy systems, basic
functionality, extended functionality, ELMA SPI, VHDL}
}
\pagenumbering{roman}
\maketitle
\thispagestyle{empty}
\begin{figure}[htb]
......@@ -62,16 +63,24 @@
\hline
0.1 & Preliminary version & January 10, 2012\\
\hline
1.0 & Final version & January 18, 2012\\
1.0 & Final version & January 22, 2012\\
\hline
\end{tabularx}
\end{center}
\pagebreak
\pagestyle{plain}
\setcounter{page}{1}
\tableofcontents
\pagebreak
\listoftables
\pagebreak
\listoffigures
\pagebreak
\pagenumbering{arabic}
\pagestyle{plain}
\setcounter{page}{1}
\section{Level Conversion Circuit project structure}
The project aims to substitute old boards by newer ones which will be able to
......@@ -82,7 +91,7 @@
\begin{itemize}
\item \textbf{Blocking pulse}\\
The Blocking pulse is defined in the document \cite.
The Blocking pulse is defined in the document \cite{StdBlocking}.
\item \textbf{RS485 pulse}\\
The RS485 pulse has to be defined.
\end{itemize}
......@@ -178,6 +187,156 @@
offer an easy-to-plug interface to operators.
\end{itemize}
\pagebreak
\section{Repositories structure}
Both \textit{CONV-TTL-BLO} and \textit{CONV-TTL-RS485} share the same
global structure:
\begin{itemize}
\item \textbf{doc}
\item \textbf{hdl}
\item \textbf{pcb}
\end{itemize}
\subsection{CONV-TTL-BLO}
\begin{itemize}
\item \textbf{doc}\\
It holds all the generic design documentation of the board and files
used in OHWR repo:
\begin{itemize}
\item \textbf{OHWR}\\
This subfolder contains pictures used both in the wiki pages of the
issues section.
\end{itemize}
Some extra subfolders are used: Blocking, HDL and HDLguide. The first
contains the source files and output of the documentation for
\cite{FunSpecs}, \cite{StdBlocking} and \cite{BlockingMono}.\\
\item \textbf{hdl}\\
As \textit{CONV-TTL-BLO} and \textit{CONV-TTL-RS485} will share a lot
of IP cores for either basic or extended functionality, all of the IP
cores are located in \textit{CONV-TTL-BLO}. This repository is depicted
below:\\
\begin{itemize}
\item \textbf{IMAGES}
It contains the top files for basic repetition in
\textit{CONV-TTL-BLO}:
\begin{itemize}
\item \textbf{image0}\\
This is the first bitstream with a very coarse basic repetition.
\item \textbf{image1}\\
It corresponds to the image loaded into the \textit{CONV-TTL-BLO
V1} installed in PS facilities. The logic runs at 200 MHz and the
outputs are glitch-free.
\end{itemize}
\item \textbf{basic\_trigger}\\
It contains the IP core with clocked repetition. It is the core
used in image1 bitstream.\\
\item \textbf{basic\_trigger\_async}\\
It contains the IP core with lowest achievable jitter. No profiling
in the place and route (it can lower the jitter value inyected by
the FPGA).\\
\item \textbf{ctdah\_lib}\\
This is the library that contains generic modules used along the
rest of IP cores within this project.\\
\item \textbf{i2c\_slave\_wb\_master}\\
The I2C slave IP core is located here.\\
\item \textbf{m25p32}\\
The M25P32 IP core is located here. It manages access to the Flash
Memory thanks to the SPI core developed for this project.\\
\item \textbf{multiboot}\\
The multiboot IP core is able to access Xilinx's ICAP primitive to
allow SPI Flash Memory reprogramming from a given set of
locations.\\
\item \textbf{rtm\_detector}\\
Just some files to check for proper RTM detection.\\
\item \textbf{spi\_master\_multifield}\\
The SPI master IP core can be found in this folder. It allows
SPI communication to perform writes and read-backs. It is developed
to be used together with M25P32 module.\\
\item \textbf{trigger}\\
This is the folder to work on the extended trigger functionality.\\
\item \textbf{wr\_core\_demo}\\
Some White Rabbit files to perform a test.\\
\end{itemize}
\item \textbf{pcb}\\
\begin{itemize}
\item \textbf{conv-ttl-blo}\\
Files of \textit{CONV-TTL-BLO V1}.\\
\item \textbf{conv-ttl-blo-v2}\\
Files of \textit{CONV-TTL-BLO V2}.\\
\item \textbf{conv-ttl-rtm}\\
Files of \textit{CONV-TTL-RTM V1}.\\
\item \textbf{conv-ttl-rtm-blo}\\
Files of \textit{CONV-TTL-RTM-BLO V1}.\\
\item \textbf{doc}\\
It contains all the reports of the V2 board reviews and a report
with all the issues found in V1 \cite{issuesReportV1}.\\
\end{itemize}
\end{itemize}
\subsubsection{IP core structure}
Every IP core developed (\textit{i2c\_slave\_wb\_master},
\textit{m25p32}, \textit{multiboot},\textit{spi\_master\_multifield}
and \textit{trigger}) follow the same structure:
\begin{itemize}
\item \textbf{doc}\\
It holds the source files for generating beautiful, LaTeXed
documentation, like this document.\\
\item \textbf{project}\\
It holds all the .xise, .gise files and all the temporary ones.
Inside this folder it can be found a \textit{wave.do} file
(typically inside the \textit{waveform} subfolder).\\
\item \textbf{rtl}\\
It holds all the RTL files. All the IP cores follows the following
design schema:\\
\begin{figure}[!htb]
\begin{center}
\includegraphics[scale=1,keepaspectratio]
{./Figures/IPcoreStruct.png}
\end{center}
\caption{IP core structure}
\end{figure}
The \textit{top} files interconnects the \textit{core} (which has
all the logic, controls the FSMs and the outputs) with the
\textit{regs}, responsible for controlling access to internal
registers via \textit{core} or a \textit{wishbone} interface.\\
Additionally the \textit{package} provides the definition of
constants, register structures (defined as records) and translation
functions for them to/from \textit{std\_logic\_vector}.\\
All the cores follow the ESA and CERN@BE-CO-HT good VHDL practices,
Alessandro Rubini's advices on how to write mantainable code and
the comments are \href{http://www.stack.nl/~dimitri/doxygen/}
{doxygenized}.\\
\item \textbf{test}\\
It holds all the test files but the \textit{wishbone\_driver},
which is located in ctdah\_lib folder. The test is written in VHDL
as is as structured as follows:\\
\begin{figure}[!htb]
\begin{center}
\includegraphics[scale=1,keepaspectratio]
{./Figures/testStruct.png}
\end{center}
\caption{IP core testbench structure}
\end{figure}
The dashed lines of both drivers means that the cores are not
intended to be synthesizable.\\
Some of the testbench generates a log file to quickly check the
result of the test. Some others testbenches make use of
\textit{ModelSim SignalSpy} library to be able to read and check
internal signals of given subcomponents, without the need of
modifying files (either definition of VHDL ports or adding
precompiler lines to the code).\\
\end{itemize}
\subsection{CONV-TTL-RS485}
It follows the same structure as \textit{CONV-TTL-BLO}. The IP cores to be
used in this board correspond to the ones developed for
\textit{CONV-TTL-BLO}.
\pagebreak
\section{Blocking boards replacement: CONV-TTL-BLO}
......@@ -197,7 +356,7 @@
\subsection{CONV-TTL-BLO design}
The functional specifications of CONV-TTL-BLO can be found in
\cite.
\cite{FunSpecs}.
We can divide between basic and extended functionalities.
\subsubsection{Basic functionalities}
Aimed to be fully compliant with legacy systems:
......@@ -207,10 +366,11 @@
\item Provide galvanic isolation in the links.
\item To be glitch-free.
\end{itemize}
The design of the Blocking driver follows a Flyback topology \cite, which
inherently provides galvanic isolation. So as to properly drain up the
remaining built-up magnetic current in the inductor, a snubber circuit
was added \cite.
The design of the Blocking driver follows a Flyback topology
\cite{TechFlyback}, which inherently provides galvanic isolation. So as to
properly drain up the remaining built-up magnetic current in the inductor,
a snubber circuit was added. The snubber circuit can be found in
\cite{BlockingMono}.\\
Because of the Flyback topology, the three-widing coupled inductor was
replaced by a 1:1 coupled inductor. The selection of this coupled inductor
follows the premise of minizing the chances of being out of stock in the
......@@ -440,6 +600,7 @@
The basic functionality is covered in the design used for the
\textit{CONV-TTL-BLO V1} card installed in the test loop in PS
facilities.\\
The IP core has to:
\begin{enumerate}
\item Detect and replicated received pulses once they are not considered
......@@ -450,7 +611,8 @@
The IP core sampling frequency for the inputs is 200MHz. The internal
200MHz system clock is generated from the 125MHz clock. Then the induced
sampled jitter will be 5 ns.\\
sampled jitter will have a maximum value of 5 ns.\\
The following table shows the configuration of the \textit{CONV-TTL-BLO V1}
board installed in the test sage loop in PS facilities:\\
......@@ -459,20 +621,20 @@
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|}
\hline
\textbf{Parameter} & \textbf{Value}\\
\textbf{Parameter} & \textbf{Value}\\
\hline
\hline
Pulse height & 24 volts\\
Pulse height & 24 volts\\
\hline
Pulse length & 1 $\mu$s\\
Pulse length & 1 $\mu$s\\
\hline
Pulse rise time & 75 ns\\
Pulse rise time & 80 ns\\
\hline
Pulse fall time & 95 ns\\
Pulse fall time & 100 ns\\
\hline
Minimum repetition jitter & 5 ns\\
Minimum worst-case repetition jitter & 5 ns\\
\hline
Channel LEDs blinking length & 250 ms\\
Channel LEDs blinking length & 250 ms\\
\hline
\end{tabularx}
\caption{Configuration for \textit{CONV-TTL-BLO V1} in PS safe loop test}
......@@ -481,6 +643,108 @@
\subsubsection{Extended functionality}
As said before, extended functionality consist of three main blocks:
\begin{enumerate}
\item Pulse time-tagging
\item I2C communication: access and monitoring
\item FPGA reprogramming functionality
\end{enumerate}
As points 2 and 3 represented bottlenecks for starting with the PTS,
design priority was given to them.\\
\begin{itemize}
\item \textbf{I2C communication}\\
I2C module is of paramount importance for the development of the rest of
functionalities. Being the link between FPGA and outside world, makes I2C
the first module to develop before PTS can be carried out.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|R|R|}
\hline
\textbf{IP core} & \textbf{Core} & \textbf{Test} &
\textbf{Guide}\\
\hline
\hline
\textit{I2C\_slave\_wb\_master} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/hdl/i2c_slave_wb_master/rtl?rev=master}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/hdl/i2c_slave_wb_master/test?rev=master}{Link} &
\cite{I2Cdoc}\\
\hline
\end{tabularx}
\caption{\textit{I2C\_slave\_wb\_master} IP core files and documents}
\end{center}
\end{table}
The \textit{I2C\_slave\_wb\_master} is an I2C slave core which provides
wishbone master and slave interfaces. The former one serves a bridge from
I2C to internal wishbone modules. The second one lets the
\textit{I2C\_slave\_wb\_master} core registers to be easilly accessed from
the I2C interface by by-passing the I2C wishbone master interface to the
slave. Providing these two interface lets the IP core be consistent and
homogeneous with the rest of cores designed for \textit{CONV-TTL-BLO} and
\textit{CONV-TTL-RS485}.\\
More information about the IP core can be found in its guide \cite{I2Cdoc}.\\
\item \textbf{SPI Flash Memory reprogramming}\\
In order to reprogram the SPI Flash memory different IP cores are
needed.\\
To start off, a SPI master core is needed to place SPI
transactions into the memory. It should be noted that the core developed
for that has taken into account parametric settings to meet timing.\\
Secondly a M25P32 memory handler was designed to write and read from
memory in an easy and optimal way. Memories from the same family can be
used upon some modifications in the package file. Flash pages will be
written from an internal buffer. Thus, the way to program the Flash
memory consist of writing the internal page buffer of the memory handler
and acknowledge a write into a certain page. By doing this,
in all the pages required by the raw bitstream, the new bitstream will
be loaded correctly.\\
The last of the modules corresponds with the ICAP controller, called
multiboot core. This core instanciates the Xilinx's ICAP primitive
according the Xilinx's recommendation and let the user start a load
bitstream process from the I2C via wishbone bridging.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|R|R|}
\hline
\textbf{IP core} & \textbf{Core} & \textbf{Test} &
\textbf{Guide}\\
\hline
\hline
\textit{spi\_master\_multifield} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/spi_master_multifield/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/spi_master_multifield/test}{Link} &
\cite{SPIdoc}\\
\hline
\textit{m25p32} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/m25p32/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/m25p32/test}{Link} &
\cite{M25P32doc}\\
\hline
\textit{multiboot} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/multiboot/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/multiboot/test}{Link} &
\cite{multibootDoc}\\
\hline
\end{tabularx}
\caption{SPI Flash Memory reprogramming IP cores}
\end{center}
\end{table}
\end{itemize}
\pagebreak
\section{RS485 boards replacement: CONV-TTL-RS485}
\subsection{Legacy boards}
......@@ -541,7 +805,7 @@
\end{itemize}
\pagebreak
\section{Rear Transition Module Motherboard}
\section{CONV-TTL-RTM: RTM Motherboard}
The motherboard is shared between both the CONV-TTL-BLO and the
CONV-TTL-RS485. It provides connection to piggybacks from the VME64X P2
connector.
......@@ -558,7 +822,7 @@
\href{https://edms.cern.ch/file/1160628/1/NewSysmon_Usermanual_Rev_1.11_16.02.2012.pdf}{[EDMS].}
\subsection{How to communicate}
The way ELMA crate System Monitor communicate follows the instruction
specified to Mihai Savu in \cite.
specified to Mihai Savu in \cite{ELMAspecI2C}.
Hence, to communicate effectively with both the CONV-TTL-BLO and
CONV-TTL-RS485 will consist of:
\begin{enumerate}
......@@ -566,8 +830,17 @@
\item Two bytes for Wishbone Addressing.
\item Four bytes of data.
\end{enumerate}
A complete explanation of the comunication is found in the documentation
of I2C VHDL core specifically done for this project \cite.
To send the I2C commands from ELMA crate, firstly it should be accessed via
telnet. It should be noted that the crate must be connected to the CERN
socket in which the SysMon is registered to, otherwise the device will
not have access to the network. Once accessed via telnet, two commands
can be issued \textit{writereg} and \textit{readreg}, both specified in
\cite{ELMAsysMonDoc}.\\
A comprehensive explanation of the comunication is found in the
documentation of I2C VHDL core specifically done for this project
\cite{I2Cdoc}.
\subsection{Problems}
\begin{itemize}
......@@ -589,14 +862,14 @@
Issue \textbf{537}
\end{itemize}
\pagebreak
\section{People involved in Level Conversion Circuits}
Success in a project is due to the joint work of a team. A list of all the
people involved in the project can be found in the table below.\\
I would like to take advantage of this line to thank them all again for
their help and work.\\
people involved in the project can be found in the table below. I would like
to take advantage of this line to thank them all again for their help and
work.\\
\begin{table}[!htb]
\begin{center}
......@@ -609,7 +882,7 @@
\hline
\textbf{Matthieu Cattin } & Technical supervision - Installation\\
\hline
\textbf{Tomasz Wlostoski} & Technical help\\
\textbf{Tomasz Wlostowski} & Technical help\\
\hline
\hline
\multicolumn{2}{|c|}{\cellcolor{black}\textcolor{white}{\textbf{Installation
......@@ -659,4 +932,51 @@
\end{center}
\end{table}
\appendix
\section{Development roadmap}
\subsection{CONV-TTL-BLO}
\begin{enumerate}
\item \textbf{Remote reprogramming}\\
Remote reprogramming is the key to wind up the development of the IP core
chain needed to perform the PTS in the boards.\\
To achieve this, the \textit{i2c\_slave\_wb\_master}, \textit{m25p32} and
\textit{multiboot} cores should be put together and thoroughly tested. It
should be noted that good understanding of Xilinx's ICAP is needed
\cite{UG380}.\\
\item \textbf{PTS}\\
After having a stable bitstream with the basic repetition plus the IP
core chain indicated above, PTS will be "easilly" carried out. That will
involve quite a lot of work.\\
Unlike other projects, such as \textit{SPEC}, in which the PTS could
send commads directly from the host computer, now the commands should be
by-passed over telnet to the SysMon.\\
\item \textbf{Pulse time-tagging}\\
To precisely time-tagging a White Rabbit core must be included in the
FPGA, then all the pulses will be logged and they will be accessible via
I2C. \textit{trigger} core should be worked on to finally meet the
requirements.\\
\item \textbf{Reduce jitter}\\
Reducing jitter means using either the asynchronous solutions in
\textit{basic\_trigger\_async} or writing an IP core using the SerDes
functionality in Xilinx's Spartan 6. A good look on \cite{} is
recommended.
\end{enumerate}
\subsection{CONV-TTL-RS485}
\begin{enumerate}
\item \textbf{Strongly discuss about datagrams parsing}\\
\textit{CONV-TTL-RS485} will offer more functionalities than
\textit{CONV-TTL-BLO}. Correct dimensioning of the
application memory should be taken into account. The memory
requirements will depend upon Jean-Claude's need for parsing
datagrams and place orders into the accelerators. External
memories could be used to improve performance.\\
\item \textbf{Producing a V2}\\
It should be kept in mind that, in order to improve jitter perfomance,
same changes in FPGA I/Os as in \textit{CONV-TTL-BLO V2} apply.\\
\end{enumerate}
\pagebreak
\bibliography{report}{}
\bibliographystyle{unsrt}
\end{document}
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