You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.3 KiB
53 lines
2.3 KiB
9 years ago
|
digraph {
|
||
|
graph [label="Decoder state machine", labelloc="t"]
|
||
|
Start [style="invis", shape="point"]
|
||
|
empty
|
||
|
input_available
|
||
|
yield_literal
|
||
|
backref_index_msb
|
||
|
backref_index_lsb
|
||
|
backref_count_msb
|
||
|
backref_count_lsb
|
||
|
yield_backref
|
||
|
check_for_more_input
|
||
|
done [peripheries=2]
|
||
|
|
||
|
empty->input_available [label="sink()", color="blue", weight=10]
|
||
|
Start->empty
|
||
|
|
||
|
input_available->yield_literal [label="pop 1-bit"]
|
||
|
input_available->backref_index_msb [label="pop 0-bit", weight=10]
|
||
|
input_available->backref_index_lsb [label="pop 0-bit, index <8 bits", weight=10]
|
||
|
|
||
|
yield_literal->yield_literal [label="sink()", color="blue"]
|
||
|
yield_literal->yield_literal [label="poll()", color="red"]
|
||
|
yield_literal->check_for_more_input [label="poll(), done", color="red"]
|
||
|
|
||
|
backref_index_msb->backref_index_msb [label="sink()", color="blue"]
|
||
|
backref_index_msb->backref_index_lsb [label="pop index, upper bits", weight=10]
|
||
|
backref_index_msb->done [label="finish()", color="blue"]
|
||
|
|
||
|
backref_index_lsb->backref_index_lsb [label="sink()", color="blue"]
|
||
|
backref_index_lsb->backref_count_msb [label="pop index, lower bits", weight=10]
|
||
|
backref_index_lsb->backref_count_lsb [label="pop index, count <=8 bits", weight=10]
|
||
|
backref_index_lsb->done [label="finish()", color="blue"]
|
||
|
|
||
|
backref_count_msb->backref_count_msb [label="sink()", color="blue"]
|
||
|
backref_count_msb->backref_count_lsb [label="pop count, upper bits", weight=10]
|
||
|
backref_count_msb->done [label="finish()", color="blue"]
|
||
|
|
||
|
backref_count_lsb->backref_count_lsb [label="sink()", color="blue"]
|
||
|
backref_count_lsb->yield_backref [label="pop count, lower bits", weight=10]
|
||
|
backref_count_lsb->done [label="finish()", color="blue"]
|
||
|
|
||
|
yield_backref->yield_backref [label="sink()", color="blue"]
|
||
|
yield_backref->yield_backref [label="poll()", color="red"]
|
||
|
yield_backref->check_for_more_input [label="poll(), done",
|
||
|
color="red", weight=10]
|
||
|
|
||
|
check_for_more_input->empty [label="no"]
|
||
|
check_for_more_input->input_available [label="yes"]
|
||
|
|
||
|
empty->done [label="finish()", color="blue"]
|
||
|
}
|