| <style> |
| @import "../src/diagram.css"; |
| /* @import "../src/diagram-classic.css"; */ |
| @import "../src/diagram-modern.css"; |
| /* @import "../src/diagram-tiny.css"; */ |
| @import "../src/tooltips.css"; |
| /* @import "../src/tooltips-classic.css"; */ |
| @import "../src/tooltips-modern.css"; |
| </style> |
| <script type="module" id="custom-elements"> |
| import "../src/earlgrey.js"; |
| </script> |
| |
| <lowrisc-block id="opentitan-block-diagram" class="diagram modern" pos="0 0 63 43"> |
| <lowrisc-block id="chip" class="domain" pos="0 0 63 43"> |
| <lowrisc-block class="title" pos="1 1">chip_earlgrey_asic</lowrisc-block> |
| |
| <lowrisc-block id="opentitan-logo" pos="60 0.5 2 2"> |
| <svg width="100%" height="100%" viewBox="-61.201072 21.594324 52.519791 52.519791" xmlns="http://www.w3.org/2000/svg"> |
| <path stoke="none" d="m -9.6337811,51.624532 h -6.5616669 v -1.852083 h -6.561666 c -0.529167,0 -0.926042,0.396875 -0.926042,0.926041 v 8.41375 h -8.466666 c -0.502709,0 -0.926042,0.423334 -0.926042,0.9525 v 6.561667 h 1.878542 v 6.561667 c 0,0.529166 0.423333,0.926041 0.952499,0.926041 h 5.609167 c 0.529167,0 0.9525,-0.396875 0.9525,-0.926041 v -6.561667 h 7.487708 V 59.11224 h 6.5616669 c 0.5291667,0 0.9525,-0.396875 0.9525,-0.926041 v -5.635625 c 0,-0.529167 -0.4233333,-0.926042 -0.9525,-0.926042 z M -37.758989,59.11224 h -8.440208 v -8.41375 c 0,-0.529166 -0.423334,-0.952499 -0.926042,-0.952499 h -6.561667 v 1.878541 h -6.561666 c -0.529167,0 -0.9525,0.423333 -0.9525,0.926042 v 5.635625 c 0,0.529166 0.423333,0.926041 0.9525,0.926041 h 6.561666 v 7.514167 h 7.46125 v 6.561667 c 0,0.529166 0.423334,0.926041 0.9525,0.926041 h 5.609167 c 0.529167,0 0.9525,-0.396875 0.9525,-0.926041 v -6.561667 h 1.852083 V 60.06474 c 0,-0.529166 -0.396875,-0.9525 -0.926041,-0.9525 z M -60.248572,44.136824 h 6.561666 v 1.852083 h 6.561667 c 0.529167,0 0.926042,-0.396875 0.926042,-0.926041 v -8.440209 h 8.466666 c 0.502709,0 0.926042,-0.423333 0.926042,-0.926041 v -6.561667 h -1.878542 v -6.588125 c 0,-0.529166 -0.423333,-0.9525 -0.9525,-0.9525 h -5.609166 c -0.529167,0 -0.9525,0.423334 -0.9525,0.9525 v 6.561667 h -7.487709 v 7.487708 h -6.561666 c -0.529167,0 -0.9525,0.423333 -0.9525,0.926042 v 5.662083 c 0,0.529167 0.423333,0.9525 0.9525,0.9525 z m 28.125208,-7.514167 h 8.440208 v 8.440209 c 0,0.529166 0.423333,0.926041 0.926042,0.926041 h 6.561666 v -1.852083 h 6.5616669 c 0.5291667,0 0.9525,-0.423333 0.9525,-0.9525 v -5.635625 c 0,-0.529167 -0.4233333,-0.926042 -0.9525,-0.926042 h -6.5616669 v -7.487708 h -7.487708 v -6.588125 c 0,-0.529166 -0.423333,-0.9525 -0.9525,-0.9525 h -5.609167 c -0.529166,0 -0.952499,0.423334 -0.952499,0.9525 v 6.561667 h -1.852084 v 6.561666 c 0,0.529167 0.396875,0.926042 0.926042,0.926042 z m -10.31875,18.758958 h 15.001875 V 40.379741 h -15.001875 v 14.975416 z" /> |
| </svg> |
| |
| </lowrisc-block> |
| |
| <lowrisc-block id="top" class="domain" pos="1 3 61 30"> |
| <lowrisc-block class="title" pos="1 0.5">top_earlgrey</lowrisc-block> |
| |
| <lowrisc-block id="high-speed" class="domain" pos="1 2 29 27"> |
| <lowrisc-block class="title" pos="1 0.5">High Speed Domain</lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="1 2"> |
| <lowrisc-arrow pos="6.5 7 0.5 1" center="x"></lowrisc-arrow> |
| <lowrisc-block id="ibex" class="block b100mhz" pos="0 0 12 5.5"> |
| <span><b>Ibex Core</b><br>(RV32IMCB)<br></span> |
| </lowrisc-block> |
| <lowrisc-block id="ibex-shadow" class="block" pos="1 1.5 12 5.5"> |
| <lowrisc-block id="ibex-shadow-label" pos="0 4 12 1.5"> |
| <span>Dual Lockstep</span> |
| </lowrisc-block> |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="15 2"> |
| <lowrisc-arrow pos="3 3 0.5 5" center="x"></lowrisc-arrow> |
| <lowrisc-block id="interrupt-controller" class="block b100mhz" pos="0 0"> |
| Interrupt<br>Controller |
| </lowrisc-block> |
| <lowrisc-block id="debug-module" class="block b100mhz" pos="0 4"> |
| Debug<br>Module |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="22 2"> |
| <lowrisc-arrow pos="3 3 0.5 5" center="x"></lowrisc-arrow> |
| <lowrisc-block id="rom" class="block b100mhz" pos="0 0"> |
| ROM |
| </lowrisc-block> |
| <lowrisc-block id="main-sram" class="block b100mhz" pos="0 4"> |
| Main<br>SRAM |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-crossbar id="high-speed-crossbar" class="block b100mhz" pos="1 10 27 4"> |
| TL-UL<br>Crossbar |
| </lowrisc-crossbar> |
| |
| <lowrisc-block class="lane" pos="1 15"> |
| <lowrisc-arrow pos="3 -1 0.5 9" center="x"></lowrisc-arrow> |
| <lowrisc-block id="key-manager" class="block b100mhz" pos="0 0"> |
| Key<br>Manager |
| </lowrisc-block> |
| <lowrisc-block id="otbn" class="block b100mhz" pos="0 4"> |
| OTBN |
| </lowrisc-block> |
| <lowrisc-block id="aes" class="block b100mhz" pos="0 8"> |
| AES |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="8 15"> |
| <lowrisc-arrow pos="3 -1 0.5 9" center="x"></lowrisc-arrow> |
| <lowrisc-block id="kmac" class="block b100mhz" pos="0 0"> |
| KMAC |
| </lowrisc-block> |
| <lowrisc-block id="hmac" class="block b100mhz" pos="0 4"> |
| HMAC |
| </lowrisc-block> |
| <lowrisc-block id="flash" class="block b100mhz" pos="0 8"> |
| FLASH |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="15 15"> |
| <lowrisc-arrow pos="3 -1 0.5 9" center="x"></lowrisc-arrow> |
| <lowrisc-block id="edn" class="block b100mhz" pos="0 0"> |
| EDN |
| </lowrisc-block> |
| <lowrisc-block id="csrng" class="block b100mhz" pos="0 4"> |
| CSRNG |
| </lowrisc-block> |
| <lowrisc-block id="entropy-source" class="block b100mhz" pos="0 8"> |
| Entropy<br>Source |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="22 15"> |
| <lowrisc-arrow pos="3 -1 0.5 9" center="x"></lowrisc-arrow> |
| <lowrisc-block id="spi-host-0" class="block b96mhz" pos="0 0"> |
| SPI<br>Host 0 |
| </lowrisc-block> |
| <lowrisc-block id="spi-host-1" class="block b48mhz" pos="0 4"> |
| SPI<br>Host 1 |
| </lowrisc-block> |
| <lowrisc-block id="usb" class="block b48mhz" pos="0 8"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| USB |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| </lowrisc-block> |
| |
| <lowrisc-block id="peripheral" class="domain" pos="31 2 29 27"> |
| <lowrisc-block class="title" pos="1 0.5" >Peripheral Domain</lowrisc-block> |
| |
| <lowrisc-crossbar id="peripheral-crossbar" class="block b24mhz" pos="1 2 5 24"> |
| TL-UL<br>Crossbar |
| </lowrisc-crossbar> |
| |
| <lowrisc-block class="lane" pos="7.5 2"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="otp-fuse-controller" class="block b24mhz" pos="0 0 6 3"> |
| OTP (Fuse)<br>Controller |
| </lowrisc-block> |
| <lowrisc-block id="life-cycle" class="block b24mhz" pos="7 0 6 3"> |
| Life<br>Cycle |
| </lowrisc-block> |
| <lowrisc-block id="alert-handler" class="block b24mhz" pos="14 0 6 3"> |
| Alert<br>Handler |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="7.5 6"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="uart" class="block b24mhz" pos="0 0 6 3"> |
| 4 × UART |
| </lowrisc-block> |
| <lowrisc-block id="timers" class="block b24mhz" pos="7 0 6 3"> |
| Timers |
| </lowrisc-block> |
| <lowrisc-block id="gpio" class="block b24mhz" pos="14 0 6 3"> |
| GPIO |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="7.5 10"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="i2c" class="block b24mhz" pos="0 0 6 3"> |
| 3 × I²C |
| </lowrisc-block> |
| <lowrisc-block id="spi-device" class="block b24mhz" pos="7 0 6 3"> |
| <lowrisc-block class="subdomain-badge b100mhz" pos="0.5 0.5"></lowrisc-block> |
| SPI<br>Device |
| </lowrisc-block> |
| <lowrisc-block id="pattern-generators" class="block b24mhz" pos="14 0 6 3"> |
| Pattern<br>Generators |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block id="always-on" pos="-31 13"> |
| <lowrisc-block class="title" pos="38.5 0.5 20"> |
| Always-on Domain |
| </lowrisc-block> |
| |
| <lowrisc-block class="outline top left bottom" pos="0 16 37.75 5"> |
| </lowrisc-block> |
| |
| <lowrisc-block class="outline bottom" pos="37.75 16 21.5 5"> |
| </lowrisc-block> |
| |
| <lowrisc-block class="outline top right bottom" pos="59.25 16 1.75 5"> |
| </lowrisc-block> |
| |
| <lowrisc-block class="outline top left right" pos="37.75 0.3 21.5 15.8"> |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="7.5 15"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="pwm" class="block b24mhz" pos="0 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| PWM |
| </lowrisc-block> |
| <lowrisc-block id="retention-sram" class="block b24mhz" pos="7 0 6 3"> |
| Retention<br>SRAM |
| </lowrisc-block> |
| <lowrisc-block id="power-manager" class="block b24mhz" pos="14 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| Power<br>Manager |
| </lowrisc-block> |
| <lowrisc-arrow class="thin" pos="18 3 0 12" head="4 4" center="x"></lowrisc-arrow> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="7.5 19"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="sysrst-controller" class="block b24mhz" pos="0 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| Sysrst<br>Controller |
| </lowrisc-block> |
| <lowrisc-block id="aon-timers" class="block b24mhz" pos="7 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| AON<br>Timers |
| </lowrisc-block> |
| <lowrisc-block id="clkrst-managers" class="block b24mhz" pos="14 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| Clk/Rst<br>Managers |
| </lowrisc-block> |
| <lowrisc-arrow class="thin" pos="17 3 0 8" head="4 4" center="x"></lowrisc-arrow> |
| </lowrisc-block> |
| |
| <lowrisc-block class="lane" pos="7.5 23"> |
| <lowrisc-arrow pos="-1.5 1.5 15.5 0.5" horizontal center="y"></lowrisc-arrow> |
| <lowrisc-block id="pinmux-padctrl" class="block b24mhz" pos="0 0 6 3"> |
| Pinmux /<br>Padctrl |
| </lowrisc-block> |
| <lowrisc-block id="adc-controller" class="block b24mhz" pos="7 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| ADC<br>Controller |
| </lowrisc-block> |
| <lowrisc-block id="sensor-control" class="block b24mhz" pos="14 0 6 3"> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 0.5"></lowrisc-block> |
| Sensor<br>Control |
| </lowrisc-block> |
| <lowrisc-arrow class="thin" pos="16 3 0 4" head="4 4" center="x"></lowrisc-arrow> |
| <lowrisc-arrow class="thin" pos="10 3 0 4" head="4 4" center="x"></lowrisc-arrow> |
| <lowrisc-arrow class="thin" pos="3 3 0 4" head="4 4" center="x"></lowrisc-arrow> |
| </lowrisc-block> |
| |
| </lowrisc-block> |
| |
| <lowrisc-arrow pos="29 14 3 0.5" horizontal center="y"></lowrisc-arrow> |
| </lowrisc-block> |
| |
| <lowrisc-block id="padding" class="block blogic" pos="2 35 43"> |
| Padding (only wire and pad instances) |
| </lowrisc-block> |
| |
| <lowrisc-arrow class="thin" pos="45 36.5 2" head="4 4" horizontal center="y"></lowrisc-arrow> |
| |
| <lowrisc-block id="analog-sensor-top" class="block b24mhz" pos="47 35 14"> |
| <lowrisc-block class="subdomain-badge b48mhz" pos="0.5 0.5"></lowrisc-block> |
| <lowrisc-block class="subdomain-badge b200khz" pos="0.5 1.75"></lowrisc-block> |
| Analog Sensor Top |
| </lowrisc-block> |
| |
| <lowrisc-block id="clock-speeds" pos="1 40"> |
| <lowrisc-block class="subdomain-badge b100mhz" pos="0 0 6 2"> |
| ~100 MHz |
| </lowrisc-block> |
| |
| <lowrisc-block class="subdomain-badge b96mhz" pos="7 0 6 2"> |
| 96 MHz |
| </lowrisc-block> |
| |
| <lowrisc-block class="subdomain-badge b48mhz" pos="14 0 6 2"> |
| 48 MHz |
| </lowrisc-block> |
| |
| <lowrisc-block class="subdomain-badge b24mhz" pos="21 0 6 2"> |
| 24 MHz |
| </lowrisc-block> |
| |
| <lowrisc-block class="subdomain-badge b200khz" pos="28 0 6 2"> |
| 200 kHz |
| </lowrisc-block> |
| |
| <lowrisc-block class="subdomain-badge blogic" pos="35 0 6 2"> |
| Logic Only |
| </lowrisc-block> |
| </lowrisc-block> |
| </lowrisc-block> |
| </lowrisc-block> |
| |
| <script type="module" id="hydrate"> |
| import "../src/hydrate.js"; |
| </script> |