blob: af2fac6f9b53b008ddb7ca825100ef5de5bed549 [file] [log] [blame]
digraph "core" {
label="core";
rankdir="LR";
remincross=true;
n2 [ shape=diamond, label="ew_addr_high", color="black", fontcolor="black" ];
n3 [ shape=diamond, label="ew_long_mode", color="black", fontcolor="black" ];
n4 [ shape=diamond, label="ew_next_ready", color="black", fontcolor="black" ];
n5 [ shape=diamond, label="ew_submit", color="black", fontcolor="black" ];
n6 [ shape=diamond, label="we_reg_data", color="black", fontcolor="black" ];
n7 [ shape=diamond, label="we_reg_ie", color="black", fontcolor="black" ];
n8 [ shape=diamond, label="ew_mem_width", color="black", fontcolor="black" ];
n9 [ shape=diamond, label="ew_mem_we", color="black", fontcolor="black" ];
n10 [ shape=diamond, label="ew_mem_access", color="black", fontcolor="black" ];
n11 [ shape=diamond, label="ew_reg_ie", color="black", fontcolor="black" ];
n12 [ shape=diamond, label="ew_addr", color="black", fontcolor="black" ];
n13 [ shape=diamond, label="ew_data", color="black", fontcolor="black" ];
n14 [ shape=diamond, label="dec_mem_long", color="black", fontcolor="black" ];
n15 [ shape=diamond, label="dec_sys", color="black", fontcolor="black" ];
n16 [ shape=diamond, label="dec_sreg_irt", color="black", fontcolor="black" ];
n17 [ shape=diamond, label="dec_sreg_jal_over", color="black", fontcolor="black" ];
n18 [ shape=diamond, label="dec_sreg_store", color="black", fontcolor="black" ];
n19 [ shape=diamond, label="dec_sreg_load", color="black", fontcolor="black" ];
n20 [ shape=diamond, label="dec_used_operands", color="black", fontcolor="black" ];
n21 [ shape=diamond, label="dec_mem_width", color="black", fontcolor="black" ];
n22 [ shape=diamond, label="dec_mem_we", color="black", fontcolor="black" ];
n23 [ shape=diamond, label="dec_mem_access", color="black", fontcolor="black" ];
n24 [ shape=diamond, label="dec_jump_cond_code", color="black", fontcolor="black" ];
n25 [ shape=diamond, label="dec_rf_ie", color="black", fontcolor="black" ];
n26 [ shape=diamond, label="dec_r_reg_sel", color="black", fontcolor="black" ];
n27 [ shape=diamond, label="dec_l_reg_sel", color="black", fontcolor="black" ];
n28 [ shape=diamond, label="dec_alu_flags_ie", color="black", fontcolor="black" ];
n29 [ shape=diamond, label="dec_alu_carry_en", color="black", fontcolor="black" ];
n30 [ shape=diamond, label="dec_alu_mode", color="black", fontcolor="black" ];
n31 [ shape=diamond, label="dec_r_bus_imm", color="black", fontcolor="black" ];
n32 [ shape=diamond, label="dec_pc_ie", color="black", fontcolor="black" ];
n33 [ shape=diamond, label="dec_pc_inc", color="black", fontcolor="black" ];
n34 [ shape=diamond, label="de_jmp_pred", color="black", fontcolor="black" ];
n35 [ shape=diamond, label="de_imm_pass", color="black", fontcolor="black" ];
n36 [ shape=diamond, label="decode_execute_submit", color="black", fontcolor="black" ];
n37 [ shape=diamond, label="decode_execute_next_ready", color="black", fontcolor="black" ];
n38 [ shape=diamond, label="fde_pipeline_flush", color="black", fontcolor="black" ];
n39 [ shape=diamond, label="execute_fetch_pc", color="black", fontcolor="black" ];
n40 [ shape=diamond, label="execute_fetch_pc_update", color="black", fontcolor="black" ];
n41 [ shape=diamond, label="fetch_decode_jmp_pred", color="black", fontcolor="black" ];
n42 [ shape=diamond, label="fetch_decode_d_instr", color="black", fontcolor="black" ];
n43 [ shape=diamond, label="fetch_decode_submit", color="black", fontcolor="black" ];
n44 [ shape=diamond, label="fetch_decode_next_ready", color="black", fontcolor="black" ];
n45 [ shape=octagon, label="dbg_in", color="black", fontcolor="black" ];
n46 [ shape=octagon, label="dbg_out", color="black", fontcolor="black" ];
n47 [ shape=octagon, label="o_instr_long_addr", color="black", fontcolor="black" ];
n48 [ shape=octagon, label="o_c_instr_long", color="black", fontcolor="black" ];
n49 [ shape=octagon, label="i_core_int_sreg", color="black", fontcolor="black" ];
n50 [ shape=octagon, label="i_mc_core_int", color="black", fontcolor="black" ];
n51 [ shape=octagon, label="i_mem_exception", color="black", fontcolor="black" ];
n52 [ shape=octagon, label="o_icache_flush", color="black", fontcolor="black" ];
n53 [ shape=octagon, label="sr_bus_we", color="black", fontcolor="black" ];
n54 [ shape=octagon, label="sr_bus_data_o", color="black", fontcolor="black" ];
n55 [ shape=octagon, label="sr_bus_addr", color="black", fontcolor="black" ];
n56 [ shape=octagon, label="o_c_data_page", color="black", fontcolor="black" ];
n57 [ shape=octagon, label="o_c_instr_page", color="black", fontcolor="black" ];
n58 [ shape=octagon, label="i_irq", color="black", fontcolor="black" ];
n59 [ shape=octagon, label="o_mem_addr_high", color="black", fontcolor="black" ];
n60 [ shape=octagon, label="o_mem_long", color="black", fontcolor="black" ];
n61 [ shape=octagon, label="o_mem_sel", color="black", fontcolor="black" ];
n62 [ shape=octagon, label="i_mem_ack", color="black", fontcolor="black" ];
n63 [ shape=octagon, label="o_mem_we", color="black", fontcolor="black" ];
n64 [ shape=octagon, label="o_mem_req", color="black", fontcolor="black" ];
n65 [ shape=octagon, label="i_mem_data", color="black", fontcolor="black" ];
n66 [ shape=octagon, label="o_mem_data", color="black", fontcolor="black" ];
n67 [ shape=octagon, label="o_mem_addr", color="black", fontcolor="black" ];
n68 [ shape=octagon, label="dbg_pc", color="black", fontcolor="black" ];
n69 [ shape=octagon, label="dbg_r0", color="black", fontcolor="black" ];
n70 [ shape=octagon, label="i_req_data_valid", color="black", fontcolor="black" ];
n71 [ shape=octagon, label="i_req_data", color="black", fontcolor="black" ];
n72 [ shape=octagon, label="o_req_ppl_submit", color="black", fontcolor="black" ];
n73 [ shape=octagon, label="o_req_active", color="black", fontcolor="black" ];
n74 [ shape=octagon, label="o_req_addr", color="black", fontcolor="black" ];
n75 [ shape=octagon, label="i_disable", color="black", fontcolor="black" ];
n76 [ shape=octagon, label="i_rst", color="black", fontcolor="black" ];
n77 [ shape=octagon, label="i_clk", color="black", fontcolor="black" ];
c91 [ shape=record, label="{{<p78> i_addr|<p79> i_addr_high|<p77> i_clk|<p80> i_data|<p81> i_mem_access|<p62> i_mem_ack|<p65> i_mem_data|<p82> i_mem_long|<p83> i_mem_we|<p84> i_mem_width|<p85> i_reg_ie|<p76> i_rst|<p86> i_submit|<p87> o_mem_exception}|memwb\nmemwb|{<p46> dbg_out|<p67> o_mem_addr|<p59> o_mem_addr_high|<p66> o_mem_data|<p60> o_mem_long|<p64> o_mem_req|<p61> o_mem_sel|<p63> o_mem_we|<p88> o_ready|<p89> o_reg_data|<p90> o_reg_ie}}" ];
x0 [ shape=record, style=rounded, label="<s0> 0:0 - 35:35 " ];
c91:p46:e -> x0:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""];
c131 [ shape=record, label="{{<p92> c_alu_carry_en|<p93> c_alu_flags_ie|<p94> c_alu_mode|<p95> c_jump_cond_code|<p96> c_l_reg_sel|<p97> c_mem_access|<p98> c_mem_long|<p99> c_mem_we|<p100> c_mem_width|<p101> c_pc_ie|<p102> c_pc_inc|<p103> c_r_bus_imm|<p104> c_r_reg_sel|<p105> c_rf_ie|<p106> c_sreg_irt|<p107> c_sreg_jal_over|<p108> c_sreg_load|<p109> c_sreg_store|<p110> c_sys|<p111> c_used_operands|<p112> dbg_hold|<p113> dbg_reg_sel|<p77> i_clk|<p114> i_core_int|<p49> i_core_int_sreg|<p115> i_flush|<p116> i_imm|<p58> i_irq|<p117> i_jmp_predict|<p51> i_mem_exception|<p118> i_next_ready|<p119> i_reg_data|<p85> i_reg_ie|<p76> i_rst|<p86> i_submit}|execute\nexecute|{<p46> dbg_out|<p68> dbg_pc|<p69> dbg_r0|<p120> o_addr|<p56> o_c_data_page|<p121> o_c_instr_long_mode|<p57> o_c_instr_page|<p122> o_data|<p123> o_exec_pc|<p124> o_flush|<p52> o_icache_flush|<p125> o_instr_addr_high|<p126> o_mem_access|<p59> o_mem_addr_high|<p127> o_mem_long_mode|<p63> o_mem_we|<p128> o_mem_width|<p129> o_pc_update|<p88> o_ready|<p90> o_reg_ie|<p130> o_submit|<p55> sr_bus_addr|<p54> sr_bus_data_o|<p53> sr_bus_we}}" ];
x1 [ shape=record, style=rounded, label="<s0> 3:3 - 0:0 " ];
x1:e -> c131:p112:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""];
x2 [ shape=record, style=rounded, label="<s0> 2:0 - 2:0 " ];
x2:e -> c131:p113:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""];
x3 [ shape=record, style=rounded, label="<s0> 32:0 - 32:0 " ];
c131:p46:e -> x3:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""];
c157 [ shape=record, label="{{<p77> i_clk|<p115> i_flush|<p132> i_imm_pass|<p133> i_instr_l|<p134> i_jmp_pred_pass|<p118> i_next_ready|<p76> i_rst|<p86> i_submit}|decode\ndecode|{<p46> dbg_out|<p135> o_imm_pass|<p136> o_jmp_pred_pass|<p88> o_ready|<p130> o_submit|<p137> oc_alu_carry_en|<p138> oc_alu_flags_ie|<p139> oc_alu_mode|<p140> oc_jump_cond_code|<p141> oc_l_reg_sel|<p142> oc_mem_access|<p143> oc_mem_long|<p144> oc_mem_we|<p145> oc_mem_width|<p146> oc_pc_ie|<p147> oc_pc_inc|<p148> oc_r_bus_imm|<p149> oc_r_reg_sel|<p150> oc_rf_ie|<p151> oc_sreg_irt|<p152> oc_sreg_jal_over|<p153> oc_sreg_load|<p154> oc_sreg_store|<p155> oc_sys|<p156> oc_used_operands}}" ];
x4 [ shape=record, style=rounded, label="<s0> 0:0 - 34:34 " ];
c157:p46:e -> x4:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""];
x5 [ shape=record, style=rounded, label="<s0> 31:16 - 15:0 " ];
x5:e -> c157:p132:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""];
x6 [ shape=record, style=rounded, label="<s0> 15:0 - 15:0 " ];
x6:e -> c157:p133:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", style="setlinewidth(3)", label=""];
c160 [ shape=record, label="{{<p158> A}|$1\n$not|{<p159> Y}}" ];
c168 [ shape=record, label="{{<p77> i_clk|<p161> i_exec_pc|<p115> i_flush|<p118> i_next_ready|<p76> i_rst|<p162> mem_ack|<p163> mem_data}|fetch\nfetch|{<p46> dbg_out|<p164> mem_addr|<p165> mem_submit|<p166> o_instr|<p167> o_jmp_predict|<p130> o_submit}}" ];
x7 [ shape=record, style=rounded, label="<s0> 0:0 - 33:33 " ];
c168:p46:e -> x7:w [arrowhead=odiamond, arrowtail=odiamond, dir=both, color="black", label=""];
x8 [shape=box, style=rounded, label="BUF"];
c160:p159:e -> x8:w:w [color="black", label=""];
c131:p126:e -> n10:w [color="black", label=""];
n10:e -> c91:p81:w [color="black", label=""];
c131:p90:e -> n11:w [color="black", style="setlinewidth(3)", label=""];
n11:e -> c91:p85:w [color="black", style="setlinewidth(3)", label=""];
c131:p120:e -> n12:w [color="black", style="setlinewidth(3)", label=""];
n12:e -> c91:p78:w [color="black", style="setlinewidth(3)", label=""];
c131:p122:e -> n13:w [color="black", style="setlinewidth(3)", label=""];
n13:e -> c91:p80:w [color="black", style="setlinewidth(3)", label=""];
c157:p143:e -> n14:w [color="black", label=""];
n14:e -> c131:p98:w [color="black", label=""];
c157:p155:e -> n15:w [color="black", label=""];
n15:e -> c131:p110:w [color="black", label=""];
c157:p151:e -> n16:w [color="black", label=""];
n16:e -> c131:p106:w [color="black", label=""];
c157:p152:e -> n17:w [color="black", label=""];
n17:e -> c131:p107:w [color="black", label=""];
c157:p154:e -> n18:w [color="black", label=""];
n18:e -> c131:p109:w [color="black", label=""];
c157:p153:e -> n19:w [color="black", label=""];
n19:e -> c131:p108:w [color="black", label=""];
c131:p59:e -> n2:w [color="black", style="setlinewidth(3)", label=""];
n2:e -> c91:p79:w [color="black", style="setlinewidth(3)", label=""];
c157:p156:e -> n20:w [color="black", style="setlinewidth(3)", label=""];
n20:e -> c131:p111:w [color="black", style="setlinewidth(3)", label=""];
c157:p145:e -> n21:w [color="black", label=""];
n21:e -> c131:p100:w [color="black", label=""];
c157:p144:e -> n22:w [color="black", label=""];
n22:e -> c131:p99:w [color="black", label=""];
c157:p142:e -> n23:w [color="black", label=""];
n23:e -> c131:p97:w [color="black", label=""];
c157:p140:e -> n24:w [color="black", style="setlinewidth(3)", label=""];
n24:e -> c131:p95:w [color="black", style="setlinewidth(3)", label=""];
c157:p150:e -> n25:w [color="black", style="setlinewidth(3)", label=""];
n25:e -> c131:p105:w [color="black", style="setlinewidth(3)", label=""];
c157:p149:e -> n26:w [color="black", style="setlinewidth(3)", label=""];
n26:e -> c131:p104:w [color="black", style="setlinewidth(3)", label=""];
c157:p141:e -> n27:w [color="black", style="setlinewidth(3)", label=""];
n27:e -> c131:p96:w [color="black", style="setlinewidth(3)", label=""];
c157:p138:e -> n28:w [color="black", label=""];
n28:e -> c131:p93:w [color="black", label=""];
c157:p137:e -> n29:w [color="black", label=""];
n29:e -> c131:p92:w [color="black", label=""];
c131:p127:e -> n3:w [color="black", label=""];
n3:e -> c91:p82:w [color="black", label=""];
c157:p139:e -> n30:w [color="black", style="setlinewidth(3)", label=""];
n30:e -> c131:p94:w [color="black", style="setlinewidth(3)", label=""];
c157:p148:e -> n31:w [color="black", label=""];
n31:e -> c131:p103:w [color="black", label=""];
c157:p146:e -> n32:w [color="black", label=""];
n32:e -> c131:p101:w [color="black", label=""];
c157:p147:e -> n33:w [color="black", label=""];
n33:e -> c131:p102:w [color="black", label=""];
c157:p136:e -> n34:w [color="black", label=""];
n34:e -> c131:p117:w [color="black", label=""];
c157:p135:e -> n35:w [color="black", style="setlinewidth(3)", label=""];
n35:e -> c131:p116:w [color="black", style="setlinewidth(3)", label=""];
c157:p130:e -> n36:w [color="black", label=""];
n36:e -> c131:p86:w [color="black", label=""];
c131:p88:e -> n37:w [color="black", label=""];
n37:e -> c157:p118:w [color="black", label=""];
c131:p124:e -> n38:w [color="black", label=""];
n38:e -> c131:p115:w [color="black", label=""];
n38:e -> c157:p115:w [color="black", label=""];
n38:e -> c168:p115:w [color="black", label=""];
c131:p123:e -> n39:w [color="black", style="setlinewidth(3)", label=""];
n39:e -> c168:p161:w [color="black", style="setlinewidth(3)", label=""];
c91:p88:e -> n4:w [color="black", label=""];
n4:e -> c131:p118:w [color="black", label=""];
c131:p129:e -> n40:w [color="black", label=""];
c168:p167:e -> n41:w [color="black", label=""];
n41:e -> c157:p134:w [color="black", label=""];
c168:p166:e -> n42:w [color="black", style="setlinewidth(3)", label=""];
n42:e -> x5:s0:w [color="black", style="setlinewidth(3)", label=""];
n42:e -> x6:s0:w [color="black", style="setlinewidth(3)", label=""];
c168:p130:e -> n43:w [color="black", label=""];
n43:e -> c157:p86:w [color="black", label=""];
c157:p88:e -> n44:w [color="black", label=""];
n44:e -> c168:p118:w [color="black", label=""];
n45:e -> x1:s0:w [color="black", label=""];
n45:e -> x2:s0:w [color="black", style="setlinewidth(3)", label=""];
x0:s0:e -> n46:w [color="black", label=""];
x3:s0:e -> n46:w [color="black", style="setlinewidth(3)", label=""];
x4:s0:e -> n46:w [color="black", label=""];
x7:s0:e -> n46:w [color="black", label=""];
c131:p125:e -> n47:w [color="black", style="setlinewidth(3)", label=""];
c131:p121:e -> n48:w [color="black", label=""];
n49:e -> c131:p49:w [color="black", style="setlinewidth(3)", label=""];
c131:p130:e -> n5:w [color="black", label=""];
n5:e -> c91:p86:w [color="black", label=""];
n50:e -> c131:p114:w [color="black", label=""];
n51:e -> c131:p51:w [color="black", label=""];
n51:e -> c91:p87:w [color="black", label=""];
c131:p52:e -> n52:w [color="black", label=""];
c131:p53:e -> n53:w [color="black", label=""];
c131:p54:e -> n54:w [color="black", style="setlinewidth(3)", label=""];
c131:p55:e -> n55:w [color="black", style="setlinewidth(3)", label=""];
c131:p56:e -> n56:w [color="black", label=""];
c131:p57:e -> n57:w [color="black", label=""];
n58:e -> c131:p58:w [color="black", label=""];
c91:p59:e -> n59:w [color="black", style="setlinewidth(3)", label=""];
c91:p89:e -> n6:w [color="black", style="setlinewidth(3)", label=""];
n6:e -> c131:p119:w [color="black", style="setlinewidth(3)", label=""];
c91:p60:e -> n60:w [color="black", label=""];
c91:p61:e -> n61:w [color="black", style="setlinewidth(3)", label=""];
n62:e -> c91:p62:w [color="black", label=""];
c91:p63:e -> n63:w [color="black", label=""];
c91:p64:e -> n64:w [color="black", label=""];
n65:e -> c91:p65:w [color="black", style="setlinewidth(3)", label=""];
c91:p66:e -> n66:w [color="black", style="setlinewidth(3)", label=""];
c91:p67:e -> n67:w [color="black", style="setlinewidth(3)", label=""];
c131:p68:e -> n68:w [color="black", style="setlinewidth(3)", label=""];
c131:p69:e -> n69:w [color="black", style="setlinewidth(3)", label=""];
c91:p90:e -> n7:w [color="black", style="setlinewidth(3)", label=""];
n7:e -> c131:p85:w [color="black", style="setlinewidth(3)", label=""];
n70:e -> c168:p162:w [color="black", label=""];
n71:e -> c168:p163:w [color="black", style="setlinewidth(3)", label=""];
c168:p165:e -> n72:w [color="black", label=""];
x8:e:e -> n73:w [color="black", label=""];
c168:p164:e -> n74:w [color="black", style="setlinewidth(3)", label=""];
n75:e -> c160:p158:w [color="black", label=""];
n76:e -> c131:p76:w [color="black", label=""];
n76:e -> c157:p76:w [color="black", label=""];
n76:e -> c168:p76:w [color="black", label=""];
n76:e -> c91:p76:w [color="black", label=""];
n77:e -> c131:p77:w [color="black", label=""];
n77:e -> c157:p77:w [color="black", label=""];
n77:e -> c168:p77:w [color="black", label=""];
n77:e -> c91:p77:w [color="black", label=""];
c131:p128:e -> n8:w [color="black", label=""];
n8:e -> c91:p84:w [color="black", label=""];
c131:p63:e -> n9:w [color="black", label=""];
n9:e -> c91:p83:w [color="black", label=""];
}