[entropy_src/doc] initial version of doc
Signed-off-by: Mark Branstad <mark.branstad@wdc.com>
diff --git a/hw/ip/entropy_src/doc/entsrc_blk_diag.svg b/hw/ip/entropy_src/doc/entsrc_blk_diag.svg
new file mode 100755
index 0000000..90e31b1
--- /dev/null
+++ b/hw/ip/entropy_src/doc/entsrc_blk_diag.svg
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export entsrc_blk_diag.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11in" height="8.5in" viewBox="0 0 792 612"
+ xml:space="preserve" color-interpolation-filters="sRGB" class="st16">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:#000000;stroke-width:0.25}
+ .st2 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st3 {fill:none;stroke:none;stroke-width:0.25}
+ .st4 {font-size:1em}
+ .st5 {marker-end:url(#mrkr13-22);marker-start:url(#mrkr13-20);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25}
+ .st6 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.47169811320755}
+ .st7 {marker-start:url(#mrkr5-31);stroke:#000000;stroke-width:0.75}
+ .st8 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.22935779816514}
+ .st9 {marker-end:url(#mrkr5-37);stroke:#000000;stroke-width:2.25}
+ .st10 {marker-end:url(#mrkr5-37);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25}
+ .st11 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st12 {marker-end:url(#mrkr5-76);stroke:#000000;stroke-width:0.75}
+ .st13 {stroke:#000000;stroke-width:2.25}
+ .st14 {marker-end:url(#mrkr5-130);stroke:#e8ebf4;stroke-width:0.75}
+ .st15 {fill:#e8ebf4;fill-opacity:1;stroke:#e8ebf4;stroke-opacity:1;stroke-width:0.22935779816514}
+ .st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend13">
+ <path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr13-20" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="6.2" refX="6.2" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend13" transform="scale(2.12) "/>
+ </marker>
+ <marker id="mrkr13-22" class="st6" v:arrowType="13" v:arrowSize="2" v:setback="6.36" refX="-6.36" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend13" transform="scale(-2.12,-2.12) "/>
+ </marker>
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-31" class="st8" v:arrowType="5" v:arrowSize="2" v:setback="7.15" refX="7.15" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(4.36) "/>
+ </marker>
+ <marker id="mrkr5-37" class="st6" v:arrowType="5" v:arrowSize="2" v:setback="3.71" refX="-3.71" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.12,-2.12) "/>
+ </marker>
+ <marker id="mrkr5-76" class="st8" v:arrowType="5" v:arrowSize="2" v:setback="7.63" refX="-7.63" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-4.36,-4.36) "/>
+ </marker>
+ <marker id="mrkr5-130" class="st15" v:arrowType="5" v:arrowSize="2" v:setback="7.63" refX="-7.63" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-4.36,-4.36) "/>
+ </marker>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Flowchart" v:index="0"/>
+ <g id="shape480-1" v:mID="480" v:groupContext="shape" transform="translate(121.5,-135)">
+ <title>Sheet.480</title>
+ <desc>Registers</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="71.7998" cy="396" width="143.6" height="432"/>
+ <rect x="0" y="180" width="143.6" height="432" class="st1"/>
+ <text x="53.28" y="193" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Registers</text> </g>
+ <g id="shape484-4" v:mID="484" v:groupContext="shape" transform="translate(165.854,-318.255)">
+ <title>Sheet.484</title>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <rect x="0" y="551.545" width="99.2459" height="60.4551" class="st3"/>
+ </g>
+ <g id="shape490-6" v:mID="490" v:groupContext="shape" transform="translate(165.854,-402.75)">
+ <title>Sheet.490</title>
+ <desc>es_cntrl.q es_conf.q es_seed.q es_rate.q es_threshold.q</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="49.6229" cy="561.375" width="99.25" height="101.25"/>
+ <rect x="0" y="510.75" width="99.2459" height="101.25" class="st3"/>
+ <text x="54.99" y="559.75" class="st2" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/><v:space/><v:newlineChar/><v:newlineChar/><v:newlineChar/>es_cntrl.q<tspan
+ x="53.53" dy="1.2em" class="st4"> </tspan>es_conf.q<tspan x="52.22" dy="1.2em" class="st4"> </tspan>es_seed.q<tspan
+ x="54.74" dy="1.2em" class="st4"> </tspan>es_rate.q<tspan x="32.29" dy="1.2em" class="st4"> </tspan>es_threshold.q<tspan
+ dy="1.2em" class="st4"> </tspan><v:newlineChar/> </text> </g>
+ <g id="shape491-14" v:mID="491" v:groupContext="shape" transform="translate(65.6742,-468)">
+ <title>Sheet.491</title>
+ <path d="M13.95 612 L14.31 612 L41.52 612" class="st5"/>
+ </g>
+ <g id="shape492-23" v:mID="492" v:groupContext="shape" transform="translate(121.5,-419.772)">
+ <title>Sheet.492</title>
+ <desc>TLUL Interface</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="49.6229" cy="581.772" width="99.25" height="60.4551"/>
+ <rect x="0" y="551.545" width="99.2459" height="60.4551" class="st3"/>
+ <text x="6.26" y="564.55" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>TLUL Interface<v:newlineChar/></text> </g>
+ <g id="shape498-26" v:mID="498" v:groupContext="shape" transform="translate(265.5,765.184) scale(1,-1)">
+ <title>Sheet.498</title>
+ <path d="M161.14 612 L160.78 612 L55.83 612 L0 612" class="st7"/>
+ </g>
+ <g id="shape500-32" v:mID="500" v:groupContext="shape" transform="translate(265.5,-434.996)">
+ <title>Sheet.500</title>
+ <path d="M0 612 L55.83 612 L153.65 612" class="st9"/>
+ </g>
+ <g id="shape506-38" v:mID="506" v:groupContext="shape" transform="translate(459,-315)">
+ <title>Sheet.506</title>
+ <path d="M0 612 L47.48 612" class="st10"/>
+ </g>
+ <g id="group507-43" transform="translate(513.87,-279)" v:mID="507" v:groupContext="group">
+ <title>Sheet.507</title>
+ <g id="shape508-44" v:mID="508" v:groupContext="shape" transform="translate(10.4997,0)">
+ <title>Sheet.508</title>
+ <rect x="0" y="551.545" width="10.3868" height="60.4551" class="st1"/>
+ </g>
+ <g id="shape509-46" v:mID="509" v:groupContext="shape" transform="translate(20.8865,0)">
+ <title>Sheet.509</title>
+ <rect x="0" y="551.545" width="10.3868" height="60.4551" class="st1"/>
+ </g>
+ <g id="shape510-48" v:mID="510" v:groupContext="shape" transform="translate(31.2732,0)">
+ <title>Sheet.510</title>
+ <rect x="0" y="551.545" width="10.3868" height="60.4551" class="st1"/>
+ </g>
+ <g id="shape511-50" v:mID="511" v:groupContext="shape" transform="translate(41.66,0)">
+ <title>Sheet.511</title>
+ <rect x="0" y="551.545" width="10.3868" height="60.4551" class="st1"/>
+ </g>
+ <g id="shape512-52" v:mID="512" v:groupContext="shape" transform="translate(51.708,1163.54) rotate(180)">
+ <title>Sheet.512</title>
+ <path d="M0 612 L51.71 612" class="st11"/>
+ </g>
+ <g id="shape513-55" v:mID="513" v:groupContext="shape" transform="translate(51.708,1224) rotate(180)">
+ <title>Sheet.513</title>
+ <path d="M0 612 L51.71 612" class="st11"/>
+ </g>
+ </g>
+ <g id="shape514-58" v:mID="514" v:groupContext="shape" transform="translate(499.785,-341.11)">
+ <title>Sheet.514</title>
+ <desc>Entropy FIFO 32w x 32d</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="36" cy="599.18" width="72" height="25.6401"/>
+ <rect x="0" y="586.36" width="72" height="25.6401" class="st3"/>
+ <text x="9.69" y="596.18" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Entropy FIFO <v:newlineChar/><tspan
+ x="15.24" dy="1.2em" class="st4">32w x 32d</tspan></text> </g>
+ <g id="group518-62" transform="translate(396,-423)" v:mID="518" v:groupContext="group">
+ <title>LSFR block</title>
+ <g id="shape519-63" v:mID="519" v:groupContext="shape" transform="translate(79.3461,-46.1096)">
+ <title>Sheet.519</title>
+ <desc>LFSR</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="36" cy="601.305" width="72" height="21.3904"/>
+ <rect x="0" y="590.61" width="72" height="21.3904" class="st1"/>
+ <text x="26.59" y="604.3" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>LFSR</text> </g>
+ <g id="shape520-66" v:mID="520" v:groupContext="shape" transform="translate(151.346,1167.19) scale(1,-1)">
+ <title>Sheet.520</title>
+ <path d="M0 612 L14.53 612" class="st10"/>
+ </g>
+ <g id="shape521-71" v:mID="521" v:groupContext="shape" transform="translate(70.7266,1177.89) scale(1,-1)">
+ <title>Sheet.521</title>
+ <path d="M0 588.39 L22.88 588.39 L40.5 588.39 L40.5 606.28" class="st12"/>
+ </g>
+ <g id="shape522-77" v:mID="522" v:groupContext="shape">
+ <title>Sheet.522</title>
+ <desc>lfsr.en lfsr.load_seed lsfr.seed</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="589.5" width="72" height="45"/>
+ <rect x="0" y="567" width="72" height="45" class="st3"/>
+ <text x="42.5" y="580" class="st2" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>lfsr.en<v:newlineChar/><tspan
+ x="11.02" dy="1.2em" class="st4">lfsr.load_seed<v:newlineChar/></tspan><tspan x="33.62" dy="1.2em"
+ class="st4">lsfr.seed</tspan><v:newlineChar/> </text> </g>
+ <g id="shape523-82" v:mID="523" v:groupContext="shape" transform="translate(174.227,-46.1096)">
+ <title>Sheet.523</title>
+ <desc>lfsr.value</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="26.0234" cy="601.305" width="52.05" height="21.3904"/>
+ <rect x="0" y="590.61" width="52.0468" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>lfsr.value</text> </g>
+ <g id="shape524-85" v:mID="524" v:groupContext="shape" transform="translate(70.7266,1177.89) scale(1,-1)">
+ <title>Sheet.524</title>
+ <path d="M0 600.2 L27 600.2 L27 606.28" class="st12"/>
+ </g>
+ <g id="shape525-90" v:mID="525" v:groupContext="shape" transform="translate(70.7266,1177.89) scale(1,-1)">
+ <title>Sheet.525</title>
+ <path d="M0 577.7 L31.54 577.7 L55.83 577.7 L55.83 603.65" class="st9"/>
+ </g>
+ </g>
+ <g id="shape531-95" v:mID="531" v:groupContext="shape" transform="translate(459,-315)">
+ <title>Sheet.531</title>
+ <path d="M0 612 L0 540 L180 540 L180 445.5 L163.27 445.5" class="st13"/>
+ </g>
+ <g id="shape543-98" v:mID="543" v:groupContext="shape" transform="translate(265.1,-224.445)">
+ <title>Sheet.543</title>
+ <path d="M303.42 521.45 L364.9 521.45 L364.9 612 L8.35 612" class="st9"/>
+ </g>
+ <g id="shape570-103" v:mID="570" v:groupContext="shape" transform="translate(586.953,-266.61)">
+ <title>LSFR block.523</title>
+ <desc>depth</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="26.0234" cy="601.305" width="52.05" height="21.3904"/>
+ <rect x="0" y="590.61" width="52.0468" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>depth</text> </g>
+ <g id="shape571-106" v:mID="571" v:groupContext="shape" transform="translate(442.953,-279)">
+ <title>LSFR block.571</title>
+ <desc>push</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="26.0234" cy="601.305" width="52.05" height="21.3904"/>
+ <rect x="0" y="590.61" width="52.0468" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>push</text> </g>
+ <g id="shape572-109" v:mID="572" v:groupContext="shape" transform="translate(265.1,-216)">
+ <title>Sheet.572</title>
+ <path d="M0 612 L382.9 612 L382.9 495 L306.54 495" class="st12"/>
+ </g>
+ <g id="shape573-114" v:mID="573" v:groupContext="shape" transform="translate(620.757,-333)">
+ <title>LSFR block.573</title>
+ <desc>pop</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="26.0234" cy="601.305" width="52.05" height="21.3904"/>
+ <rect x="0" y="590.61" width="52.0468" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>pop</text> </g>
+ <g id="shape574-117" v:mID="574" v:groupContext="shape" transform="translate(265.5,778.5) scale(1,-1)">
+ <title>Sheet.574</title>
+ <path d="M134.14 612 L133.78 612 L46.77 612 L0 612" class="st7"/>
+ </g>
+ <g id="shape575-122" v:mID="575" v:groupContext="shape" transform="translate(351,-387.555)">
+ <title>LSFR block.519</title>
+ <desc>Count Down</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="36" cy="601.305" width="72" height="21.3904"/>
+ <rect x="0" y="590.61" width="72" height="21.3904" class="st1"/>
+ <text x="10.72" y="604.3" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Count Down</text> </g>
+ <g id="shape578-125" v:mID="578" v:groupContext="shape" transform="translate(265.1,-238.5)">
+ <title>Sheet.578</title>
+ <path d="M300.82 553.5 L319.9 553.5 L319.9 612 L5.72 612" class="st14"/>
+ </g>
+ <g id="shape579-131" v:mID="579" v:groupContext="shape" transform="translate(266.25,-238.5)">
+ <title>Sheet.579</title>
+ <path d="M300.75 553.5 L318.75 553.5 L318.75 612 L5.72 612" class="st14"/>
+ </g>
+ <g id="shape580-136" v:mID="580" v:groupContext="shape" transform="translate(265.1,-238.5)">
+ <title>Sheet.580</title>
+ <path d="M300.82 553.5 L319.9 553.5 L319.9 612 L5.72 612" class="st12"/>
+ </g>
+ <g id="shape581-141" v:mID="581" v:groupContext="shape" transform="translate(243,-252)">
+ <title>Sheet.581</title>
+ </g>
+ <g id="shape582-142" v:mID="582" v:groupContext="shape" transform="translate(306,-257.055)">
+ <title>LSFR block.582</title>
+ <desc>Thresh >= depth</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="40.5" cy="601.305" width="81" height="21.3904"/>
+ <rect x="0" y="590.61" width="81" height="21.3904" class="st1"/>
+ <text x="7.34" y="604.3" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Thresh >= depth</text> </g>
+ <g id="shape583-145" v:mID="583" v:groupContext="shape" transform="translate(265.1,-408.945)">
+ <title>Sheet.583</title>
+ <path d="M0 597.95 L121.9 597.95 L121.9 603.65" class="st9"/>
+ </g>
+ <g id="shape584-150" v:mID="584" v:groupContext="shape" transform="translate(265.1,-278.445)">
+ <title>Sheet.584</title>
+ <path d="M0 480.95 L58.9 480.95 L58.9 603.65" class="st9"/>
+ </g>
+ <g id="shape585-155" v:mID="585" v:groupContext="shape" transform="translate(387,-297)">
+ <title>Sheet.585</title>
+ <path d="M0 521.45 L0 612 L30.75 612 L120.28 612" class="st12"/>
+ </g>
+ <g id="shape586-160" v:mID="586" v:groupContext="shape" transform="translate(387,-349.305)">
+ <title>LSFR block.586</title>
+ <desc>Cnt = 1</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="20.8867" cy="601.305" width="41.78" height="21.3904"/>
+ <rect x="0" y="590.61" width="41.7734" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Cnt = 1</text> </g>
+ <g id="shape587-163" v:mID="587" v:groupContext="shape" transform="translate(387,-238.5)">
+ <title>Sheet.587</title>
+ <path d="M18 612 L18 580.5 L5.72 580.5" class="st12"/>
+ </g>
+ <g id="shape588-168" v:mID="588" v:groupContext="shape" transform="translate(265.1,-252)">
+ <title>Sheet.588</title>
+ <path d="M40.9 594 L21.4 594 L21.4 612 L5.72 612" class="st12"/>
+ </g>
+ <g id="shape589-173" v:mID="589" v:groupContext="shape" transform="translate(158.877,-212.625)">
+ <title>Sheet.589</title>
+ <desc>es_status.d es_fdepthst.d es_entropy.d es_entropy_rd</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="49.6229" cy="561.375" width="99.25" height="101.25"/>
+ <rect x="0" y="510.75" width="99.2459" height="101.25" class="st3"/>
+ <text x="49.03" y="571.75" class="st2" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/><v:space/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:space/><v:newlineChar/>es_status.d<tspan
+ x="36.94" dy="1.2em" class="st4"> </tspan>es_fdepthst.d<tspan x="39.22" dy="1.2em" class="st4"> </tspan>es_entropy.d<tspan
+ x="33.28" dy="1.2em" class="st4"> </tspan>es_entropy_rd<tspan dy="1.2em" class="st4"> </tspan><v:newlineChar/> </text> </g>
+ <g id="shape590-180" v:mID="590" v:groupContext="shape" transform="translate(444.488,-162)">
+ <title>LSFR block.590</title>
+ <desc>Note: Entropy FIFO depth is parameterized</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="109.012" cy="601.305" width="218.03" height="21.3904"/>
+ <rect x="0" y="590.61" width="218.023" height="21.3904" class="st3"/>
+ <text x="4" y="603.61" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Note: Entropy FIFO depth is parameterized</text> </g>
+ </g>
+</svg>