[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 &#62;= 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 &#62;= 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>