diff --git a/doc/images/Makefile b/doc/images/Makefile new file mode 100644 index 00000000000..20a41d1fc0b --- /dev/null +++ b/doc/images/Makefile @@ -0,0 +1,12 @@ +.PHONY: all + +sources = \ + type_hierarchy.dot + +all: $(sources:%.dot=%.svg) $(sources:%.dot=%.png) + +%.svg: %.dot + dot -Tsvg $< -o $@ + +%.png: %.dot + dot -Tpng $< -o $@ diff --git a/doc/images/type_hierarchy.dot b/doc/images/type_hierarchy.dot new file mode 100644 index 00000000000..d3bf6eb45fb --- /dev/null +++ b/doc/images/type_hierarchy.dot @@ -0,0 +1,52 @@ +digraph TypeHierarchy { + graph [rankdir=BT bgcolor="transparent"] + { node [style=filled,shape=box] + { node [fillcolor="#f7fbff"] + Data + Element + Bits Num + Aggregate + VecLike + "Chisel Internal" + } + { node [fillcolor="#e5f5e0"] + Bool UInt SInt FixedPoint + Reset + AsyncReset + Record + Bundle + Vec + "Chisel Types" + } + { node [fillcolor="#fcbba1"] + "User Types" + Ellipsis [label="..."] + } + + subgraph cluster_data_hierarchy { + color=transparent + Element + Bits Num + Reset + Bool UInt SInt FixedPoint + color=transparent + Aggregate + VecLike + Record + Bundle + Vec + + {Aggregate Element} -> Data + {Bits Reset} -> Element + {FixedPoint SInt UInt} -> {Bits Num} + Bool -> {UInt Reset} + Ellipsis -> Bundle -> Record -> Aggregate + Vec -> {Aggregate VecLike} + AsyncReset -> {Element Reset} + } + subgraph cluster_legend { + label=Legend + "User Types" -> "Chisel Types" -> "Chisel Internal" + } + } +} diff --git a/doc/images/type_hierarchy.png b/doc/images/type_hierarchy.png index 4856ab6c4c7..f3947975187 100644 Binary files a/doc/images/type_hierarchy.png and b/doc/images/type_hierarchy.png differ diff --git a/doc/images/type_hierarchy.svg b/doc/images/type_hierarchy.svg index c74a0eeb4f1..c120daba319 100644 --- a/doc/images/type_hierarchy.svg +++ b/doc/images/type_hierarchy.svg @@ -1,778 +1,261 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - Aggregate - - Element - - Vec - - UInt - - SInt - - Bits - - Bool - Data - - - Bundle - - - - - - Record - + + + + + +TypeHierarchy + +cluster_data_hierarchy + + + +cluster_legend + +Legend + + + +Data + +Data + + + +Element + +Element + + + +Element->Data + + + + + +Bits + +Bits + + + +Bits->Element + + + + + +Num + +Num + + + +Aggregate + +Aggregate + + + +Aggregate->Data + + + + + +VecLike + +VecLike + + + +Chisel Internal + +Chisel Internal + + + +Bool + +Bool + + + +UInt + +UInt + + + +Bool->UInt + + + + + +Reset + +Reset + + + +Bool->Reset + + + + + +UInt->Bits + + + + + +UInt->Num + + + + + +SInt + +SInt + + + +SInt->Bits + + + + + +SInt->Num + + + + + +FixedPoint + +FixedPoint + + + +FixedPoint->Bits + + + + + +FixedPoint->Num + + + + + +Reset->Element + + + + + +AsyncReset + +AsyncReset + + + +AsyncReset->Element + + + + + +AsyncReset->Reset + + + + + +Record + +Record + + + +Record->Aggregate + + + + + +Bundle + +Bundle + + + +Bundle->Record + + + + + +Vec + +Vec + + + +Vec->Aggregate + + + + + +Vec->VecLike + + + + + +Chisel Types + +Chisel Types + + + +Chisel Types->Chisel Internal + + + + + +User Types + +User Types + + + +User Types->Chisel Types + + + + + +Ellipsis + +... + + + +Ellipsis->Bundle + + + +