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