Skip to content

Instantly share code, notes, and snippets.

@matejaputic
Created August 2, 2016 13:42
Show Gist options
  • Save matejaputic/92fb98fc4766608d297930c31a307ee9 to your computer and use it in GitHub Desktop.
Save matejaputic/92fb98fc4766608d297930c31a307ee9 to your computer and use it in GitHub Desktop.
sp_segment dot2anml test
<anml version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<automata-network id="netlist">
<counter id="n0" target="53" at-target="latch">
<report-on-target/>
</counter>
<state-transition-element id="n8t0" symbol-set="*" start="start-of-data">
<activate-on-match element="n8t0"/>
<activate-on-match element="n7t1"/>
</state-transition-element>
<state-transition-element id="n2t0" symbol-set="[\xff]" start="start-of-data">
<activate-on-match element="n2t1"/>
</state-transition-element>
<state-transition-element id="n2t1" symbol-set="[^\xff]">
<activate-on-match element="n2t0"/>
<activate-on-match element="n3t1"/>
<activate-on-match element="n1t1"/>
<activate-on-match element="n6t1"/>
<activate-on-match element="n4t0"/>
<activate-on-match element="n5t1"/>
</state-transition-element>
<state-transition-element id="n3t1" symbol-set="[\x00]">
<activate-on-match element="n3t0"/>
</state-transition-element>
<state-transition-element id="n3t0" symbol-set="[\x00\x02\x03\x0a\x0e\x16\x1a\x1d\x20\x22*4;A-EOS\x5d`ehjlny~\x83\x85\x86\x8b\x8c\x91\x93\x9d\x9e\xa0\xa1\xa3\xa5\xb0\xb6\xb8\xba\xc1\xc3\xc8\xca\xcd\xce\xd0\xd2\xd3\xd9\xda\xdc\xdd\xe2\xe3\xe5\xe9\xea\xf0\xf2\xf4\xf8\xfe\xff]">
<activate-on-match element="n0:cnt"/>
</state-transition-element>
<state-transition-element id="n1t1" symbol-set="[^\xff]">
<activate-on-match element="n1t0"/>
</state-transition-element>
<state-transition-element id="n1t0" symbol-set="*" start="start-of-data">
<activate-on-match element="n2t0"/>
<activate-on-match element="n3t1"/>
<activate-on-match element="n1t1"/>
<activate-on-match element="n6t1"/>
<activate-on-match element="n4t0"/>
<activate-on-match element="n5t1"/>
</state-transition-element>
<state-transition-element id="n6t0" symbol-set="[\x05\x07\x0b\x0c\x11\x14\x16\x1a\x1c$+,-./02-46-;=\x3eHQT\x5b\x5e_epx\x81\x82\x88-\x8a\x8c-\x8f\x91-\x9b\x9d-\xa2\xa4-\xad\xaf\xb1]">
<activate-on-match element="n0:cnt"/>
</state-transition-element>
<state-transition-element id="n6t1" symbol-set="[\x03]">
<activate-on-match element="n6t0"/>
</state-transition-element>
<state-transition-element id="n7t1" symbol-set="[\xff]" start="start-of-data">
<activate-on-match element="n7t0"/>
</state-transition-element>
<state-transition-element id="n7t0" symbol-set="[\xff]">
<activate-on-match element="n0:rst"/>
</state-transition-element>
<state-transition-element id="n4t0" symbol-set="[\x01]">
<activate-on-match element="n4t1"/>
</state-transition-element>
<state-transition-element id="n4t1" symbol-set="[-\x00\x07\x0f\x10\x12\x19$)+./:;=C-EM-ORTVipsuy-{~\x8a\x8e\x97\xab\xb2\xbb\xbd\xc0\xc3\xc4\xcf\xd4\xdb\xdd\xde\xe0\xe7\xe9-\xeb\xf1\xf5\xfb\xfc]">
<activate-on-match element="n0:cnt"/>
</state-transition-element>
<state-transition-element id="n5t1" symbol-set="[\x02]">
<activate-on-match element="n5t0"/>
</state-transition-element>
<state-transition-element id="n5t0" symbol-set="[\x04\x05\x09\x0a\x0f\x1a\x1f\x22#,79:CDKNRScefhjmpvxz|\x82-\x8f\x91-\x94\x96\x9d\x9e\xa0\xa9\xaa\xaf\xb3\xb4\xc1\xc5\xc9\xcc-\xce\xd3\xd6-\xdd\xdf-\xe6\xe8\xe9\xf3\xf7\xf8\xff]">
<activate-on-match element="n0:cnt"/>
</state-transition-element>
</automata-network>
</anml>
digraph netlist {
subgraph cluster_nl_1 {
label="Netlist #1";
fillcolor="#e0e0e0";
style=filled;
color="#000000";
n0 [shape=record,peripheries=2,style="filled",color="#FF00FF",fillcolor="#FFCC99",label="{{<in> CNT_i|<rst> RST_i}|{N0 count=53}|{stop hold\nB(0,0):R0}|<out> CTR_o}"];
subgraph cluster1 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n1t0 [shape=circle,style="filled",fillcolor="#008000",color="#000000",label="[\\x00-\\xFF]"];
n1t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[^\\xff]"];
n1t1 -> n1t0;
n1t0 -> n1t1;
label="N1\nB(0,0):R0";
}
subgraph cluster2 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n2t0 [shape=circle,style="filled",fillcolor="#008000",color="#000000",label="\\xff"];
n2t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[^\\xff]"];
n2t1 -> n2t0;
n2t0 -> n2t1;
label="N2\nB(0,0):R0";
}
subgraph cluster3 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n3t0 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[\\x00\\x02\\x03\\x0a\\x0e\\x16\\x1a\\x1d\\x20\\x22\\*4;A-EOS\\x5d`ehjlny\\~\\x83\\x85\\x86\\x8b\\x8c\\x91\\x93\\x9d\\x9e\\xa0\\xa1\\xa3\\xa5\\xb0\\xb6\\xb8\\xba\\xc1\\xc3\\xc8\\xca\\xcd\\xce\\xd0\\xd2\\xd3\\xd9\\xda\\xdc\\xdd\\xe2\\xe3\\xe5\\xe9\\xea\\xf0\\xf2\\xf4\\xf8\\xfe\\xff]"];
n3t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="\\x00"];
n3t1 -> n3t0;
label="N3\nB(0,0):R0";
}
subgraph cluster4 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n4t0 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="\\x01"];
n4t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[-\\x00\\x07\\x0f\\x10\\x12\\x19\\$\\)\\+\\.\\/:;=C-EM-ORTVipsuy-\\{\\~\\x8a\\x8e\\x97\\xab\\xb2\\xbb\\xbd\\xc0\\xc3\\xc4\\xcf\\xd4\\xdb\\xdd\\xde\\xe0\\xe7\\xe9-\\xeb\\xf1\\xf5\\xfb\\xfc]"];
n4t0 -> n4t1;
label="N4\nB(0,0):R0";
}
subgraph cluster5 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n5t0 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[\\x04\\x05\\x09\\x0a\\x0f\\x1a\\x1f\\x22#,79:CDKNRScefhjmpvxz\\|\\x82-\\x8f\\x91-\\x94\\x96\\x9d\\x9e\\xa0\\xa9\\xaa\\xaf\\xb3\\xb4\\xc1\\xc5\\xc9\\xcc-\\xce\\xd3\\xd6-\\xdd\\xdf-\\xe6\\xe8\\xe9\\xf3\\xf7\\xf8\\xff]"];
n5t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="\\x02"];
n5t1 -> n5t0;
label="N5\nB(0,0):R0";
}
subgraph cluster6 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n6t0 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="[\\x05\\x07\\x0b\\x0c\\x11\\x14\\x16\\x1a\\x1c\\$\\+,-\\.\\/02-46-;=\\>HQT\\x5b\\^_epx\\x81\\x82\\x88-\\x8a\\x8c-\\x8f\\x91-\\x9b\\x9d-\\xa2\\xa4-\\xad\\xaf\\xb1]"];
n6t1 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="\\x03"];
n6t1 -> n6t0;
label="N6\nB(0,0):R0";
}
subgraph cluster7 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n7t0 [shape=circle,style="filled",fillcolor="#99CCFF",color="#000000",label="\\xff"];
n7t1 [shape=circle,style="filled",fillcolor="#008000",color="#000000",label="\\xff"];
n7t1 -> n7t0;
label="N7\nB(0,0):R0";
}
subgraph cluster8 {
style=filled;
color="#000000";
fillcolor="#c9ffb3";
n8t0 [shape=circle,style="filled",fillcolor="#008000",color="#000000",label="[\\x00-\\xFF]"];
n8t0 -> n8t0;
label="N8\nB(0,0):R0";
}
n7t0 -> n0:rst;
n3t0 -> n0:in;
n4t1 -> n0:in;
n5t0 -> n0:in;
n6t0 -> n0:in;
n2t1 -> n1t1;
n1t0 -> n2t0;
n1t0 -> n3t1;
n2t1 -> n3t1;
n1t0 -> n4t0;
n2t1 -> n4t0;
n1t0 -> n5t1;
n2t1 -> n5t1;
n1t0 -> n6t1;
n2t1 -> n6t1;
n8t0 -> n7t1;
}
}
<anml version="1.0">
<automata-network id="htmregion" name="htmregion">
<description></description>
<!-- START SP_SEGMENT -->
<!-- sp_segment.keeper_spseg_htmcol451 (keeper_xff_xff) -->
<state-transition-element id="hex1_keeper_spseg_htmcol451" symbol-set="[\xff]" start="start-of-data">
<activate-on-match element="not_hex2_keeper_spseg_htmcol451"/>
</state-transition-element>
<state-transition-element id="not_hex1_keeper_spseg_htmcol451" symbol-set="[^\xff]">
<activate-on-match element="any_hex_keeper_spseg_htmcol451"/>
</state-transition-element>
<state-transition-element id="any_hex_keeper_spseg_htmcol451" symbol-set="*" start="start-of-data">
<activate-on-match element="hex1_keeper_spseg_htmcol451"/>
<activate-on-match element="not_hex1_keeper_spseg_htmcol451"/>
<activate-on-match element="msb02_spseg_htmcol451"/>
<activate-on-match element="msb03_spseg_htmcol451"/>
<activate-on-match element="msb00_spseg_htmcol451"/>
<activate-on-match element="msb01_spseg_htmcol451"/>
</state-transition-element>
<state-transition-element id="not_hex2_keeper_spseg_htmcol451" symbol-set="[^\xff]">
<activate-on-match element="hex1_keeper_spseg_htmcol451"/>
<activate-on-match element="not_hex1_keeper_spseg_htmcol451"/>
<activate-on-match element="msb02_spseg_htmcol451"/>
<activate-on-match element="msb03_spseg_htmcol451"/>
<activate-on-match element="msb00_spseg_htmcol451"/>
<activate-on-match element="msb01_spseg_htmcol451"/>
</state-transition-element>
<!-- sp_segment spseg_htmcol451 -->
<state-transition-element id="msb02_spseg_htmcol451" symbol-set="[\x02]">
<activate-on-match element="lsb02_spseg_htmcol451" />
</state-transition-element>
<state-transition-element id="lsb02_spseg_htmcol451" symbol-set="[\xff\xf8\xf7\xf3\xe9\xe8\xe6\xe5\xe4\xe3\xe2\xe1\xe0\xdf\xdd\xdc\xdb\xda\xd9\xd8\xd7\xd6\xd3\xce\xcd\xcc\xc9\xc5\xc1\xb4\xb3\xaf\xaa\xa9\xa0\x9e\x9d\x96\x94\x93\x92\x91\x8f\x8e\x8d\x8c\x8b\x8a\x89\x88\x87\x86\x85\x84\x83\x82\x7c\x7a\x78\x76\x70\x6d\x6a\x68\x66\x65\x63\x53\x52\x4e\x4b\x44\x43\x3a\x39\x37\x2c\x23\x22\x1f\x1a\x0f\x0a\x09\x05\x04]">
<activate-on-match element="activation_counter_spseg_htmcol451:cnt"/>
</state-transition-element>
<state-transition-element id="msb03_spseg_htmcol451" symbol-set="[\x03]">
<activate-on-match element="lsb03_spseg_htmcol451" />
</state-transition-element>
<state-transition-element id="lsb03_spseg_htmcol451" symbol-set="[\xb1\xaf\xad\xac\xab\xaa\xa9\xa8\xa7\xa6\xa5\xa4\xa2\xa1\xa0\x9f\x9e\x9d\x9b\x9a\x99\x98\x97\x96\x95\x94\x93\x92\x91\x8f\x8e\x8d\x8c\x8a\x89\x88\x82\x81\x78\x70\x65\x5f\x5e\x5b\x54\x51\x48\x3e\x3d\x3b\x3a\x39\x38\x37\x36\x34\x33\x32\x30\x2f\x2e\x2d\x2c\x2b\x24\x1c\x1a\x16\x14\x11\x0c\x0b\x07\x05]">
<activate-on-match element="activation_counter_spseg_htmcol451:cnt"/>
</state-transition-element>
<state-transition-element id="msb00_spseg_htmcol451" symbol-set="[\x00]">
<activate-on-match element="lsb00_spseg_htmcol451" />
</state-transition-element>
<state-transition-element id="lsb00_spseg_htmcol451" symbol-set="[\xff\xfe\xf8\xf4\xf2\xf0\xea\xe9\xe5\xe3\xe2\xdd\xdc\xda\xd9\xd3\xd2\xd0\xce\xcd\xca\xc8\xc3\xc1\xba\xb8\xb6\xb0\xa5\xa3\xa1\xa0\x9e\x9d\x93\x91\x8c\x8b\x86\x85\x83\x7e\x79\x6e\x6c\x6a\x68\x65\x60\x5d\x53\x4f\x45\x44\x43\x42\x41\x3b\x34\x2a\x22\x20\x1d\x1a\x16\x0e\x0a\x03\x02\x00]">
<activate-on-match element="activation_counter_spseg_htmcol451:cnt"/>
</state-transition-element>
<state-transition-element id="msb01_spseg_htmcol451" symbol-set="[\x01]">
<activate-on-match element="lsb01_spseg_htmcol451" />
</state-transition-element>
<state-transition-element id="lsb01_spseg_htmcol451" symbol-set="[\xfc\xfb\xf5\xf1\xeb\xea\xe9\xe7\xe0\xde\xdd\xdb\xd4\xcf\xc4\xc3\xc0\xbd\xbb\xb2\xab\x97\x8e\x8a\x7e\x7b\x7a\x79\x75\x73\x70\x69\x56\x54\x52\x4f\x4e\x4d\x45\x44\x43\x3d\x3b\x3a\x2f\x2e\x2d\x2b\x29\x24\x19\x12\x10\x0f\x07\x00]">
<activate-on-match element="activation_counter_spseg_htmcol451:cnt"/>
</state-transition-element>
<!-- counter_reset -->
<state-transition-element id="reset0_spseg_htmcol451" symbol-set="[\xff]" start="all-input">
<activate-on-match element="reset1_spseg_htmcol451"/>
</state-transition-element>
<state-transition-element id="reset1_spseg_htmcol451" symbol-set="[\xff]">
<activate-on-match element="activation_counter_spseg_htmcol451:rst"/>
</state-transition-element>
<!-- activation_counter (counter) -->
<counter id="activation_counter_spseg_htmcol451" target="53" at-target="latch">
<!-- connections to sp_to_tm_keeper and sp_to_tm_matcher -->
<!-- <activate-on-target element="hex1_sp_to_tm_keeper_htmcol451"/>
<activate-on-target element="not_hex1_sp_to_tm_keeper_htmcol451"/>
<activate-on-target element="hex1_sp_to_tm_matcher_htmcol451"/> -->
<report-on-target/>
</counter>
<!-- END SP_SEGMENT -->
</automata-network>
</anml>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment