blob: 33f6b730d0f108205478d9a2af84d189407f8553 [file] [log] [blame] [view]
Hugo McNallyeb1350f2023-02-09 11:47:21 +00001# Summary
2
3[OpenTitan](./doc/introduction.md)
4
5# Hardware
6
7- [Introduction](./hw/README.md)
8
9- [Top Earlgrey](./hw/top_earlgrey/README.md)
10 - [Datasheet](./hw/top_earlgrey/doc/specification.md)
11 - [Design](./hw/top_earlgrey/doc/design/README.md)
12 - [Design Verification](./hw/top_earlgrey/dv/README.md)
13 - [Analog Sensor Top](./hw/top_earlgrey/ip/ast/README.md)
14 - [Alert Handler](./hw/top_earlgrey/ip_autogen/alert_handler/README.md)
15 - [Design Verification](./hw/top_earlgrey/ip_autogen/alert_handler/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000016 - [Testplan](./hw/top_earlgrey/ip_autogen/alert_handler/data/alert_handler_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000017 - [Interface and Registers](./hw/top_earlgrey/ip_autogen/alert_handler/data/alert_handler.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000018 - [Device Interface Functions](./sw/device/lib/dif/dif_alert_handler.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000019 - [Checklist](./hw/top_earlgrey/ip_autogen/alert_handler/doc/checklist.md)
20 - [Interrupt Controller](./hw/top_earlgrey/ip_autogen/rv_plic/README.md)
21 - [Design Verification](./hw/top_earlgrey/ip_autogen/rv_plic/doc/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000022 - [Testplan](./hw/top_earlgrey/ip_autogen/rv_plic/data/rv_plic_fpv_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000023 - [Interface and Registers](./hw/top_earlgrey/ip_autogen/rv_plic/data/rv_plic.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000024 - [Device Interface Functions](./sw/device/lib/dif/dif_rv_plic.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000025 - [Checklist](./hw/top_earlgrey/ip_autogen/rv_plic/doc/checklist.md)
26 - [Sensor Control](./hw/top_earlgrey/ip/sensor_ctrl/README.md)
Hugo McNallyba16bae2023-02-12 21:08:04 +000027 - [Interface and Registers](./hw/top_earlgrey/ip/sensor_ctrl/data/sensor_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000028 - [Device Interface Functions](./sw/device/lib/dif/dif_sensor_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000029 - [Checklist](./hw/top_earlgrey/ip/sensor_ctrl/doc/checklist.md)
30 - [TL-UL Checklist](./hw/top_earlgrey/ip/xbar/doc/checklist.md)
31 - [Pinmux Targets](./hw/top_earlgrey/ip/pinmux/doc/autogen/targets.md)
32 - [ASIC Target Pinout and Pinmux Connectivity](./hw/top_earlgrey/ip/pinmux/doc/autogen/pinout_asic.md)
33 - [CW310 Target Pinout and Pinmux Connectivity](./hw/top_earlgrey/ip/pinmux/doc/autogen/pinout_cw310.md)
34 - [NEXYSVIDEO Target Pinout and Pinmux Connectivity](./hw/top_earlgrey/ip/pinmux/doc/autogen/pinout_nexysvideo.md)
35
36- [Cores](./hw/doc/cores.md)
37 - [Ibex RISC-V Core Wrapper](./hw/ip/rv_core_ibex/README.md)
38 - [Design Verification](./hw/ip/rv_core_ibex/dv/README.md)
Hugo McNallyba16bae2023-02-12 21:08:04 +000039 - [Interface and Registers](./hw/ip/rv_core_ibex/data/rv_core_ibex.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000040 - [Checklist](./hw/ip/rv_core_ibex/doc/checklist.md)
41 - [OTBN](./hw/ip/otbn/README.md)
42 - [Developer Guide](./hw/ip/otbn/doc/developer-guide.md)
43 - [ISA Guide](./hw/ip/otbn/doc/isa.md)
44 - [Design Verification](./hw/ip/otbn/dv/README.md)
45 - [Random Instruction Generator](./hw/ip/otbn/dv/rig/README.md)
46 - [Internals](./hw/ip/otbn/dv/rig/rig/README.md)
47 - [Configuration](./hw/ip/otbn/dv/rig/rig/configs/README.md)
48 - [memutil wrapper](./hw/ip/otbn/dv/memutil/README.md)
49 - [OTBN Simulation Software](./hw/ip/otbn/dv/otbnsim/README.md)
50 - [Tracer](./hw/ip/otbn/dv/tracer/README.md)
51 - [Formal Masking Verification Using Alma](./hw/ip/otbn/pre_sca/alma/README.md)
52 - [Functional Coverage](./hw/ip/otbn/dv/doc/fcov.md)
Hugo McNallyba16bae2023-02-12 21:08:04 +000053 - [Interface and Registers](./hw/ip/otbn/data/otbn.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000054 - [Checklist](./hw/ip/otbn/doc/checklist.md)
55
56- [Hardware IP Blocks](./hw/ip/README.md)
57 - [Analog to Digital Converter Control](./hw/ip/adc_ctrl/README.md)
58 - [Design Verification](./hw/ip/adc_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000059 - [Testplan](./hw/ip/adc_ctrl/data/adc_ctrl_testplan.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000060 - [Checklist](./hw/ip/adc_ctrl/doc/checklist.md)
Hugo McNallyba16bae2023-02-12 21:08:04 +000061 - [Interface and Registers](./hw/ip/adc_ctrl/data/adc_ctrl.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000062 - [AES](./hw/ip/aes/README.md)
63 - [Design Verification](./hw/ip/aes/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000064 - [Testplan](./hw/ip/aes/data/aes_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000065 - [Interface and Registers](./hw/ip/aes/data/aes.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000066 - [Device Interface Functions](./sw/device/lib/dif/dif_aes.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000067 - [Checklist](./hw/ip/aes/doc/checklist.md)
68 - [AON Timer](./hw/ip/aon_timer/README.md)
69 - [Design Verification](./hw/ip/aon_timer/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000070 - [Testplan](./hw/ip/aon_timer/data/aon_timer_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000071 - [Interface and Registers](./hw/ip/aon_timer/data/aon_timer.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000072 - [Device Interface Functions](./sw/device/lib/dif/dif_aon_timer.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000073 - [Checklist](./hw/ip/aon_timer/doc/checklist.md)
74 - [Clock Manager](./hw/ip/clkmgr/README.md)
75 - [Design Verification](./hw/ip/clkmgr/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000076 - [Testplan](./hw/ip/clkmgr/data/clkmgr_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000077 - [Interface and Registers](./hw/top_earlgrey/ip/clkmgr/data/autogen/clkmgr.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000078 - [Device Interface Functions](./sw/device/lib/dif/dif_clkmgr.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000079 - [Checklist](./hw/ip/clkmgr/doc/checklist.md)
80 - [CSRNG](./hw/ip/csrng/README.md)
81 - [Design Verification](./hw/ip/csrng/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000082 - [Testplan](./hw/ip/csrng/data/csrng_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000083 - [Interface and Registers](./hw/ip/csrng/data/csrng.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000084 - [Device Interface Functions](./sw/device/lib/dif/dif_csrng.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000085 - [Checklist](./hw/ip/csrng/doc/checklist.md)
86 - [EDN](./hw/ip/edn/README.md)
87 - [Design Verification](./hw/ip/edn/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000088 - [Testplan](./hw/ip/edn/data/edn_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000089 - [Interface and Registers](./hw/ip/edn/data/edn.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000090 - [Device Interface Functions](./sw/device/lib/dif/dif_edn.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000091 - [Checklist](./hw/ip/edn/doc/checklist.md)
92 - [Entropy Source](./hw/ip/entropy_src/README.md)
93 - [Design Verification](./hw/ip/entropy_src/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +000094 - [Testplan](./hw/ip/entropy_src/data/entropy_src_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +000095 - [Interface and Registers](./hw/ip/entropy_src/data/entropy_src.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +000096 - [Device Interface Functions](./sw/device/lib/dif/dif_entropy_src.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +000097 - [Checklist](./hw/ip/entropy_src/doc/checklist.md)
98 - [Flash Controller](./hw/ip/flash_ctrl/README.md)
99 - [Design Verification](./hw/ip/flash_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000100 - [Testplan](./hw/ip/flash_ctrl/data/flash_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000101 - [Interface and Registers](./hw/ip/flash_ctrl/data/flash_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000102 - [Device Interface Functions](./sw/device/lib/dif/dif_flash_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000103 - [Checklist](./hw/ip/flash_ctrl/doc/checklist.md)
104 - [GPIO](./hw/ip/gpio/README.md)
105 - [Design Verification](./hw/ip/gpio/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000106 - [Testplan](./hw/ip/gpio/data/gpio_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000107 - [Interface and Registers](./hw/ip/gpio/data/gpio.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000108 - [Device Interface Functions](./sw/device/lib/dif/dif_gpio.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000109 - [Checklist](./hw/ip/gpio/doc/checklist.md)
110 - [HMAC](./hw/ip/hmac/README.md)
111 - [Design Verification](./hw/ip/hmac/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000112 - [Testplan](./hw/ip/hmac/data/hmac_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000113 - [Interface and Registers](./hw/ip/hmac/data/hmac.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000114 - [Device Interface Functions](./sw/device/lib/dif/dif_hmac.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000115 - [Checklist](./hw/ip/hmac/doc/checklist.md)
116 - [I2C](./hw/ip/i2c/README.md)
117 - [Design Verification](./hw/ip/i2c/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000118 - [Testplan](./hw/ip/i2c/data/i2c_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000119 - [Interface and Registers](./hw/ip/i2c/data/i2c.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000120 - [Device Interface Functions](./sw/device/lib/dif/dif_i2c.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000121 - [Checklist](./hw/ip/i2c/doc/checklist.md)
122 - [Key Manager](./hw/ip/keymgr/README.md)
123 - [Design Verification](./hw/ip/keymgr/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000124 - [Testplan](./hw/ip/keymgr/data/keymgr_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000125 - [Interface and Registers](./hw/ip/keymgr/data/keymgr.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000126 - [Device Interface Functions](./sw/device/lib/dif/dif_keymgr.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000127 - [Checklist](./hw/ip/keymgr/doc/checklist.md)
128 - [KMAC](./hw/ip/kmac/README.md)
129 - [Design Verification](./hw/ip/kmac/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000130 - [Testplan](./hw/ip/kmac/data/kmac_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000131 - [Interface and Registers](./hw/ip/kmac/data/kmac.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000132 - [Device Interface Functions](./sw/device/lib/dif/dif_kmac.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000133 - [Checklist](./hw/ip/kmac/doc/checklist.md)
134 - [Life Cycle Controller](./hw/ip/lc_ctrl/README.md)
135 - [Design Verification](./hw/ip/lc_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000136 - [Testplan](./hw/ip/lc_ctrl/data/lc_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000137 - [Interface and Registers](./hw/ip/lc_ctrl/data/lc_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000138 - [Device Interface Functions](./sw/device/lib/dif/dif_lc_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000139 - [Checklist](./hw/ip/lc_ctrl/doc/checklist.md)
140 - [OTP Controller](./hw/ip/otp_ctrl/README.md)
141 - [Design Verification](./hw/ip/otp_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000142 - [Testplan](./hw/ip/otp_ctrl/data/otp_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000143 - [Interface and Registers](./hw/ip/otp_ctrl/data/otp_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000144 - [Device Interface Functions](./sw/device/lib/dif/dif_otp_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000145 - [Checklist](./hw/ip/otp_ctrl/doc/checklist.md)
146 - [Pattern Generator](./hw/ip/pattgen/README.md)
147 - [Design Verification](./hw/ip/pattgen/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000148 - [Testplan](./hw/ip/pattgen/data/pattgen_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000149 - [Interface and Registers](./hw/ip/pattgen/data/pattgen.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000150 - [Device Interface Functions](./sw/device/lib/dif/dif_pattgen.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000151 - [Checklist](./hw/ip/pattgen/doc/checklist.md)
152 - [Pinmux](./hw/ip/pinmux/README.md)
153 - [Design Verification](./hw/ip/pinmux/doc/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000154 - [Testplan](./hw/ip/pinmux/data/pinmux_fpv_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000155 - [Interface and Registers](./hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000156 - [Device Interface Functions](./sw/device/lib/dif/dif_pinmux.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000157 - [Checklist](./hw/ip/pinmux/doc/checklist.md)
158 - [Pulse Width Modulator](./hw/ip/pwm/README.md)
159 - [Design Verification](./hw/ip/pwm/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000160 - [Testplan](./hw/ip/pwm/data/pwm_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000161 - [Interface and Registers](./hw/ip/pwm/data/pwm.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000162 - [Device Interface Functions](./sw/device/lib/dif/dif_pwm.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000163 - [Checklist](./hw/ip/pwm/doc/checklist.md)
164 - [Power Management](./hw/ip/pwrmgr/README.md)
165 - [Design Verification](./hw/ip/pwrmgr/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000166 - [Testplan](./hw/ip/pwrmgr/data/pwrmgr_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000167 - [Interface and Registers](./hw/top_earlgrey/ip/pwrmgr/data/autogen/pwrmgr.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000168 - [Device Interface Functions](./sw/device/lib/dif/dif_pwrmgr.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000169 - [Checklist](./hw/ip/pwrmgr/doc/checklist.md)
170 - [ROM Control](./hw/ip/rom_ctrl/README.md)
171 - [Design Verification](./hw/ip/rom_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000172 - [Testplan](./hw/ip/rom_ctrl/data/rom_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000173 - [Interface and Registers](./hw/ip/rom_ctrl/data/rom_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000174 - [Device Interface Functions](./sw/device/lib/dif/dif_rom_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000175 - [Checklist](./hw/ip/rom_ctrl/doc/checklist.md)
176 - [Reset Manager](./hw/ip/rstmgr/README.md)
177 - [Design Verification](./hw/ip/rstmgr/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000178 - [Testplan](./hw/ip/rstmgr/data/rstmgr_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000179 - [Interface and Registers](./hw/top_earlgrey/ip/rstmgr/data/autogen/rstmgr.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000180 - [Device Interface Functions](./sw/device/lib/dif/dif_rstmgr.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000181 - [Checklist](./hw/ip/rstmgr/doc/checklist.md)
182 - [RISC-V Debug Manager](./hw/ip/rv_dm/README.md)
183 - [Design Verification](./hw/ip/rv_dm/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000184 - [Testplan](./hw/ip/rv_dm/data/rv_dm_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000185 - [Interface and Registers](./hw/ip/rv_dm/data/rv_dm.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000186 - [Checklist](./hw/ip/rv_dm/doc/checklist.md)
187 - [SPI Device](./hw/ip/spi_device/README.md)
188 - [Design Verification](./hw/ip/spi_device/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000189 - [Testplan](./hw/ip/spi_device/data/spi_device_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000190 - [Interface and Registers](./hw/ip/spi_device/data/spi_device.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000191 - [Device Interface Functions](./sw/device/lib/dif/dif_spi_device.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000192 - [Checklist](./hw/ip/spi_device/doc/checklist.md)
193 - [SPI Host](./hw/ip/spi_host/README.md)
194 - [Design Verification](./hw/ip/spi_host/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000195 - [Testplan](./hw/ip/spi_host/data/spi_host_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000196 - [Interface and Registers](./hw/ip/spi_host/data/spi_host.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000197 - [Device Interface Functions](./sw/device/lib/dif/dif_spi_host.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000198 - [Checklist](./hw/ip/spi_host/doc/checklist.md)
199 - [SRAM Controller](./hw/ip/sram_ctrl/README.md)
200 - [Design Verification](./hw/ip/sram_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000201 - [Testplan](./hw/ip/sram_ctrl/data/sram_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000202 - [Interface and Registers](./hw/ip/sram_ctrl/data/sram_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000203 - [Device Interface Functions](./sw/device/lib/dif/dif_sram_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000204 - [Checklist](./hw/ip/sram_ctrl/doc/checklist.md)
205 - [System Reset Controller](./hw/ip/sysrst_ctrl/README.md)
206 - [Design Verification](./hw/ip/sysrst_ctrl/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000207 - [Testplan](./hw/ip/sysrst_ctrl/data/sysrst_ctrl_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000208 - [Interface and Registers](./hw/ip/sysrst_ctrl/data/sysrst_ctrl.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000209 - [Device Interface Functions](./sw/device/lib/dif/dif_sysrst_ctrl.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000210 - [Checklist](./hw/ip/sysrst_ctrl/doc/checklist.md)
211 - [Timer](./hw/ip/rv_timer/README.md)
212 - [Design Verification](./hw/ip/rv_timer/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000213 - [Testplan](./hw/ip/rv_timer/data/rv_timer_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000214 - [Interface and Registers](./hw/ip/rv_timer/data/rv_timer.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000215 - [Device Interface Functions](./sw/device/lib/dif/dif_rv_timer.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000216 - [Checklist](./hw/ip/rv_timer/doc/checklist.md)
217 - [TL-UL Bus](./hw/ip/tlul/README.md)
218 - [Design Verification](./hw/ip/tlul/doc/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000219 - [Testplan](./hw/ip/tlul/data/tlul_testplan.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000220 - [Protocol Checker](./hw/ip/tlul/doc/TlulProtocolChecker.md)
221 - [UART](./hw/ip/uart/README.md)
222 - [Design Verification](./hw/ip/uart/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000223 - [Testplan](./hw/ip/uart/data/uart_testplan.hjson)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000224 - [Interface and Registers](./hw/ip/uart/data/uart.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000225 - [Device Interface Functions](./sw/device/lib/dif/dif_uart.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000226 - [Checklist](./hw/ip/uart/doc/checklist.md)
227 - [USB 2.0](./hw/ip/usbdev/README.md)
228 - [Design Verification](./hw/ip/usbdev/dv/README.md)
Amaury Poulyb30b1fd2023-02-13 17:20:27 +0000229 - [Testplan](./hw/ip/usbdev/data/usbdev_testplan.hjson)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000230 - [Suspending and Resuming](./hw/ip/usbdev/doc/wake_resume.md)
Hugo McNallyba16bae2023-02-12 21:08:04 +0000231 - [Interface and Registers](./hw/ip/usbdev/data/usbdev.hjson)
Hugo McNallyac9f9b52023-02-14 12:15:34 +0000232 - [Device Interface Functions](./sw/device/lib/dif/dif_usbdev.h)
Hugo McNallyeb1350f2023-02-09 11:47:21 +0000233 - [Checklist](./hw/ip/usbdev/doc/checklist.md)
234 - [lowRISC Hardware Primitives](./hw/ip/prim/README.md)
235 - [Two Input Clock](./hw/ip/prim/doc/prim_clock_gp_mux2.md)
236 - [Flash Wrapper](./hw/ip/prim/doc/prim_flash.md)
237 - [Keccak Permutation](./hw/ip/prim/doc/prim_keccak.md)
238 - [Linear Feedback Shift Register](./hw/ip/prim/doc/prim_lfsr.md)
239 - [Packer](./hw/ip/prim/doc/prim_packer.md)
240 - [Packer FIFO](./hw/ip/prim/doc/prim_packer_fifo.md)
241 - [Present Scrambler](./hw/ip/prim/doc/prim_present.md)
242 - [Prince Scrambler](./hw/ip/prim/doc/prim_prince.md)
243 - [SRAM Scrambler](./hw/ip/prim/doc/prim_ram_1p_scr.md)
244 - [Pseudo Random Number Generator](./hw/ip/prim/doc/prim_xoshiro256pp.md)
245
246- [Common SystemVerilog and UVM Components](./hw/dv/sv/README.md)
247 - [ALERT_ESC Agent](./hw/dv/sv/alert_esc_agent/README.md)
248 - [Bus Params Package](./hw/dv/sv/bus_params_pkg/README.md)
249 - [Comportable IP Testbench Architecture](./hw/dv/sv/cip_lib/README.md)
250 - [Common Interfaces](./hw/dv/sv/common_ifs/README.md)
251 - [CSR Utils](./hw/dv/sv/csr_utils/README.md)
252 - [CSRNG Agent](./hw/dv/sv/csrng_agent/README.md)
253 - [DV Library Classes](./hw/dv/sv/dv_lib/README.md)
254 - [DV Utils](./hw/dv/sv/dv_utils/README.md)
255 - [FLASH_PHY_PRIM Agent](./hw/dv/sv/flash_phy_prim_agent/README.md)
256 - [I2C Agent](./hw/dv/sv/i2c_agent/README.md)
257 - [JTAG Agent](./hw/dv/sv/jtag_agent/README.md)
258 - [JTAG DMI Agent](./hw/dv/sv/jtag_dmi_agent/README.md)
259 - [JTAG RISCV Agent](./hw/dv/sv/jtag_riscv_agent/README.md)
260 - [KEY_SIDELOAD Agent](./hw/dv/sv/key_sideload_agent/README.md)
261 - [KMAC_APP Agent](./hw/dv/sv/kmac_app_agent/README.md)
262 - [Memory Backdoor Scoreboard](./hw/dv/sv/mem_bkdr_scb/README.md)
263 - [Memory Backdoor Utility](./hw/dv/sv/mem_bkdr_util/README.md)
264 - [Memory Model](./hw/dv/sv/mem_model/README.md)
265 - [PATTGEN Agent](./hw/dv/sv/pattgen_agent/README.md)
266 - [PUSH_PULL Agent](./hw/dv/sv/push_pull_agent/README.md)
267 - [PWM Monitor](./hw/dv/sv/pwm_monitor/README.md)
268 - [RNG Agent](./hw/dv/sv/rng_agent/README.md)
269 - [Scoreboard](./hw/dv/sv/scoreboard/README.md)
270 - [Simulation SRAM](./hw/dv/sv/sim_sram/README.md)
271 - [SPI Agent](./hw/dv/sv/spi_agent/README.md)
272 - [String Utils](./hw/dv/sv/str_utils/README.md)
273 - [Test Vectors](./hw/dv/sv/test_vectors/README.md)
274 - [Tile Link Agent](./hw/dv/sv/tl_agent/README.md)
275 - [UART Agent](./hw/dv/sv/uart_agent/README.md)
276 - [USB20 Agent](./hw/dv/sv/usb20_agent/README.md)
277
278# Software
279- [Introduction](./sw/README.md)
280- [Build Software](./sw/doc/build_software.md)
281
282- [Device Software](./sw/device/README.md)
283 - [Device Libraries](./sw/device/lib/README.md)
284 - [DIF Library](./sw/device/lib/dif/README.md)
285 - [ADC Checklist](sw/device/lib/dif/dif_adc_ctrl.md)
286 - [AES Checklist](sw/device/lib/dif/dif_aes.md)
287 - [Alert Handler Checklist](sw/device/lib/dif/dif_alert_handler.md)
288 - [Always-On Timer Checklist](sw/device/lib/dif/dif_aon_timer.md)
289 - [Clock Manager Checklist](sw/device/lib/dif/dif_clkmgr.md)
290 - [CSRNG Checklist](sw/device/lib/dif/dif_csrng.md)
291 - [EDN Checklist](sw/device/lib/dif/dif_edn.md)
292 - [Entropy Source Checklist](sw/device/lib/dif/dif_entropy_src.md)
293 - [Flash Controller Checklist](sw/device/lib/dif/dif_flash_ctrl.md)
294 - [GPIO Checklist](sw/device/lib/dif/dif_gpio.md)
295 - [HMAC Checklist](sw/device/lib/dif/dif_hmac.md)
296 - [I2C Checklist](sw/device/lib/dif/dif_i2c.md)
297 - [Key Manager Checklist](sw/device/lib/dif/dif_keymgr.md)
298 - [KMAC Checklist](sw/device/lib/dif/dif_kmac.md)
299 - [Lifecycle Checklist](sw/device/lib/dif/dif_lc_ctrl.md)
300 - [OTBN Checklist](sw/device/lib/dif/dif_otbn.md)
301 - [OTP Controller Checklist](sw/device/lib/dif/dif_otp_ctrl.md)
302 - [Pattern Generator Checklist](sw/device/lib/dif/dif_pattgen.md)
303 - [Pin Multiplexer Checklist](sw/device/lib/dif/dif_pinmux.md)
304 - [PWM Checklist](sw/device/lib/dif/dif_pwm.md)
305 - [Power Manager Checklist](sw/device/lib/dif/dif_pwrmgr.md)
306 - [ROM Checklist](sw/device/lib/dif/dif_rom_ctrl.md)
307 - [Reset Manager Checklist](sw/device/lib/dif/dif_rstmgr.md)
308 - [RV Core Ibex Checklist](sw/device/lib/dif/dif_rv_core_ibex.md)
309 - [PLIC Checklist](sw/device/lib/dif/dif_rv_plic.md)
310 - [RV Timer Checklist](sw/device/lib/dif/dif_rv_timer.md)
311 - [Sensor Controller Checklist](sw/device/lib/dif/dif_sensor_ctrl.md)
312 - [SPI Device Checklist](sw/device/lib/dif/dif_spi_device.md)
313 - [SPI Host Checklist](sw/device/lib/dif/dif_spi_host.md)
314 - [SRAM Controller Checklist](sw/device/lib/dif/dif_sram_ctrl.md)
315 - [System Reset Controller Checklist](sw/device/lib/dif/dif_sysrst_ctrl.md)
316 - [UART Checklist](sw/device/lib/dif/dif_uart.md)
317 - [USB Checklist](sw/device/lib/dif/dif_usbdev.md)
318 - [Top-Level Test Libraries](./sw/device/lib/testing/README.md)
319 - [On-Device Test Framework](./sw/device/lib/testing/test_framework/README.md)
320 - [OpenTitan Standard Library](./sw/device/lib/base/README.md)
321 - [Freestanding C Headers](./sw/device/lib/base/freestanding/README.md)
322 - [Silicon Creator Software](./sw/device/silicon_creator/README.md)
323 - [Manufacturing Firmware](./sw/device/silicon_creator/manuf/README.md)
324 - [ROM](./sw/device/silicon_creator/rom/README.md)
325 - [Memory Protection](./sw/device/silicon_creator/rom/doc/memory_protection.md)
326 - [Signing Keys](./sw/device/silicon_creator/rom/keys/README.md)
327 - [Manifest Format](./sw/device/silicon_creator/rom_ext/doc/manifest.md)
328 - [Top-Level Tests](./sw/device/tests/README.md)
329 - [Manufacturer Test Hooks](./sw/device/tests/closed_source/README.md)
330 - [Crypto Library Tests](./sw/device/tests/crypto/README.md)
331
332- [Host Software](./sw/host/README.md)
333
334
335# Tooling
336
337- [Tools Overview](./util/README.md)
338- [Design-Related Tooling](./util/design/README.md)
339
340- [dvsim: Testplanner](./util/dvsim/README.md)
341- [fpvgen: Initial FPV Testbench Generation](./util/fpvgen/README.md)
342- [reggen & regtool: Register Generator](./util/reggen/README.md)
343 - [Setup and use of regtool](./util/reggen/doc/setup_and_use.md)
344
345- [ralgen: FuseSoC UVM RAL Generator](./hw/dv/tools/ralgen/README.md)
346- [uvmdvgen: Initial Testbench Auto-generation](./util/uvmdvgen/README.md)
347- [tlgen: Crossbar Generation](./util/tlgen/README.md)
348- [ipgen: Generate IP Blocks from IP Templates](./util/ipgen/README.md)
349- [topgen: Top Generator](./util/topgen/README.md)
350- [vendor: Vendoring In Tool](./util/doc/vendor.md)
351- [i2csvg: Generate SVGs of I2C Commands](./util/i2csvg/README.md)
352
353
354# Contributing
355
356- [Contributing](./doc/contributing/README.md)
357 - [Detailed Contribution Guide](./doc/contributing/detailed_contribution_guide/README.md)
358 - [Directory Structure](./doc/contributing/directory_structure.md)
359 - [Continueous Intergration](./doc/contributing/ci/README.md)
360 - [Top-Level Design and Targets](./doc/contributing/system_list.md)
361 - [GitHub Notes](./doc/contributing/github_notes.md)
362 - [Bazel Notes](./doc/contributing/bazel_notes.md)
363 - [Using the Container](./util/container/README.md)
364
365- [Contributing to Hardware]()
366 - [Comportability](./doc/contributing/hw/comportability/README.md)
367 - [Hardware Design](./doc/contributing/hw/design.md)
368 - [Design Methodology](./doc/contributing/hw/methodology.md)
369 - [Vendoring in Hardware](./doc/contributing/hw/vendor.md)
370 - [Linting](./hw/lint/README.md)
371 - [Synthesis Flow](./hw/syn/README.md)
372
373- [Contributing to Verification]()
374 - [Verification Methodology](./doc/contributing/dv/methodology/README.md)
375 - [Security Countermeasure Verification Framework](./doc/contributing/dv/sec_cm_dv_framework/README.md)
376 - [Assertions](./hw/formal/README.md)
377
378- [Contributing to Software]()
379 - [Device Interface Functions](./doc/contributing/sw/device_interface_functions.md)
380 - [Writing and Building Software for OTBN](./doc/contributing/sw/otbn_sw.md)
381
382- [Style Guides](./doc/contributing/style_guides/README.md)
383 - [HJSON](./doc/contributing/style_guides/hjson_usage_style.md)
384 - [Python](./doc/contributing/style_guides/python_coding_style.md)
385 - [C & C++](./doc/contributing/style_guides/c_cpp_coding_style.md)
386 - [Markdown](./doc/contributing/style_guides/markdown_usage_style.md)
387 - [RISC-V Assembly](./doc/contributing/style_guides/asm_coding_style.md)
388 - [OTBN Assembly](./doc/contributing/style_guides/otbn_style_guide.md)
389 - [Guidance for Volatile](./doc/contributing/style_guides/guidance_for_volatile.md)
390
391- [Developing on an FPGA]()
392 - [Get a Board](./doc/contributing/fpga/get_a_board.md)
393 - [FPGA Reference Manual](./doc/contributing/fpga/ref_manual_fpga.md)
394
395# Project Governance
396
397- [Introduction](./doc/project_governance/README.md)
398- [Committers](./doc/project_governance/committers.md)
399- [RFC Process](./doc/project_governance/rfc_process.md)
400- [Generalized Priority Definitions](./doc/project_governance/priority_definitions.md)
401- [OpenTitan Technical Committee](./doc/project_governance/technical_committee.md)
402- [Hardware Development Stages](./doc/project_governance/development_stages.md)
403- [Signoff Checklist](./doc/project_governance/checklist/README.md)
404
405# Security
406
407- [Security](./doc/security/README.md)
408- [Implementation Guidelines](./doc/security/implementation_guidelines/README.md)
409 - [Secure Hardware Design Guidelines](./doc/security/implementation_guidelines/hardware/README.md)
410
411- [Logical Security Model](./doc/security/logical_security_model/README.md)
412- [Security Model Specification](./doc/security/specs/README.md)
413 - [Device Attestation](./doc/security/specs/attestation/README.md)
414 - [Device Life Cycle](./doc/security/specs/device_life_cycle/README.md)
415 - [Device Provisioning](./doc/security/specs/device_provisioning/README.md)
416 - [Firmware Update](./doc/security/specs/firmware_update/README.md)
417 - [Identities and Root Keys](./doc/security/specs/identities_and_root_keys/README.md)
418 - [Ownership Transfer](./doc/security/specs/ownership_transfer/README.md)
419 - [Secure Boot](./doc/security/specs/secure_boot/README.md)
420
421- [Lightweight Threat Model](./doc/security/threat_model/README.md)
422
423# Use Cases
424
425- [Use Cases](./doc/use_cases/README.md)
426- [Platform Integrity Module](./doc/use_cases/platform_integrity_module/README.md)
427- [Trusted Platform Module](./doc/use_cases/tpm/README.md)
428- [Universal 2nd-Factor Security Key](./doc/use_cases/u2f/README.md)
429
430
431# Rust for C Developers
432
433- [Rust for Embedded C Programmers](./doc/rust_for_c_devs.md)