---
layout: docs
title:  "Explanations"
section: "chisel3"
---

# Explanations

Explanation documentation gives background and context.
They can also explain why things are so - design decisions,
historical reasons, technical constraints.

If you are just getting started with Chisel, we suggest you
read these documents in the following order:

* [Motivation](motivation)
* [Supported Hardware](supported-hardware)
* [Data Types](data-types)
* [Bundles and Vecs](bundles-and-vecs)
* [Combinational Circuits](combinational-circuits)
* [Operators](operators)
* [Width Inference](width-inference)
* [Functional Abstraction](functional-abstraction)
* [Ports](ports)
* [Modules](modules)
* [Sequential Circuits](sequential-circuits)
* [Memories](memories)
* [Interfaces and Connections](interfaces-and-connections)
* [Black Boxes](blackboxes)
* [Enumerations](chisel-enum)
* [DataView](dataview)
* [Functional Module Creation](functional-module-creation)
* [Muxes and Input Selection](muxes-and-input-selection)
* [Multiple Clock Domains](multi-clock)
* [Reset](reset)
* [Polymorphism and Parameterization](polymorphism-and-parameterization)
* [Printing in Chisel](printing)
* [Naming](naming)
* [Unconnected Wires](unconnected-wires)
* [Chisel Type vs Scala Type](chisel-type-vs-scala-type)
* [Connectable Operators](connectable)
* [Decoders](decoder)
* [Intrinsic Modules](intrinsics)
* [Annotations](annotations)
* [Source Locators](source-locators)
* [Warnings](warnings)
* [Deep Dive into Legacy Connection Operators](connection-operators)
* [Properties](properties)
* [Optional Groups](optional-groups)
