blob: 3fcb6d7c86466c377f4118b15c982c2f1db45bb0 [file] [log] [blame]
digraph "Core" {
label="Core";
rankdir="LR";
remincross=true;
n1 [ shape=diamond, label="ctrl_io_en_rs2", color="black", fontcolor="black" ];
n2 [ shape=diamond, label="ctrl_io_en_rs1", color="black", fontcolor="black" ];
n3 [ shape=diamond, label="ctrl_io_illegal", color="black", fontcolor="black" ];
n4 [ shape=diamond, label="ctrl_io_csr_cmd", color="black", fontcolor="black" ];
n5 [ shape=diamond, label="ctrl_io_wb_en", color="black", fontcolor="black" ];
n6 [ shape=diamond, label="ctrl_io_wb_mux_sel", color="black", fontcolor="black" ];
n7 [ shape=diamond, label="ctrl_io_ld_type", color="black", fontcolor="black" ];
n8 [ shape=diamond, label="ctrl_io_st_type", color="black", fontcolor="black" ];
n9 [ shape=diamond, label="ctrl_io_br_type", color="black", fontcolor="black" ];
n10 [ shape=diamond, label="ctrl_io_alu_op", color="black", fontcolor="black" ];
n11 [ shape=diamond, label="ctrl_io_imm_sel", color="black", fontcolor="black" ];
n12 [ shape=diamond, label="ctrl_io_b_sel", color="black", fontcolor="black" ];
n13 [ shape=diamond, label="ctrl_io_a_sel", color="black", fontcolor="black" ];
n14 [ shape=diamond, label="ctrl_io_inst_kill", color="black", fontcolor="black" ];
n15 [ shape=diamond, label="ctrl_io_pc_sel", color="black", fontcolor="black" ];
n16 [ shape=diamond, label="ctrl_io_inst", color="black", fontcolor="black" ];
n17 [ shape=diamond, label="dpath_io_ctrl_en_rs2", color="black", fontcolor="black" ];
n18 [ shape=diamond, label="dpath_io_ctrl_en_rs1", color="black", fontcolor="black" ];
n19 [ shape=diamond, label="dpath_io_ctrl_illegal", color="black", fontcolor="black" ];
n20 [ shape=diamond, label="dpath_io_ctrl_csr_cmd", color="black", fontcolor="black" ];
n21 [ shape=diamond, label="dpath_io_ctrl_wb_en", color="black", fontcolor="black" ];
n22 [ shape=diamond, label="dpath_io_ctrl_wb_mux_sel", color="black", fontcolor="black" ];
n23 [ shape=diamond, label="dpath_io_ctrl_ld_type", color="black", fontcolor="black" ];
n24 [ shape=diamond, label="dpath_io_ctrl_st_type", color="black", fontcolor="black" ];
n25 [ shape=diamond, label="dpath_io_ctrl_br_type", color="black", fontcolor="black" ];
n26 [ shape=diamond, label="dpath_io_ctrl_alu_op", color="black", fontcolor="black" ];
n27 [ shape=diamond, label="dpath_io_ctrl_imm_sel", color="black", fontcolor="black" ];
n28 [ shape=diamond, label="dpath_io_ctrl_b_sel", color="black", fontcolor="black" ];
n29 [ shape=diamond, label="dpath_io_ctrl_a_sel", color="black", fontcolor="black" ];
n30 [ shape=diamond, label="dpath_io_ctrl_inst_kill", color="black", fontcolor="black" ];
n31 [ shape=diamond, label="dpath_io_ctrl_pc_sel", color="black", fontcolor="black" ];
n32 [ shape=diamond, label="dpath_io_ctrl_inst", color="black", fontcolor="black" ];
n33 [ shape=diamond, label="dpath_io_dbus_valid", color="black", fontcolor="black" ];
n34 [ shape=diamond, label="dpath_io_dbus_ld_type", color="black", fontcolor="black" ];
n35 [ shape=diamond, label="dpath_io_dbus_st_type", color="black", fontcolor="black" ];
n36 [ shape=diamond, label="dpath_io_dbus_wr_en", color="black", fontcolor="black" ];
n37 [ shape=diamond, label="dpath_io_dbus_rd_en", color="black", fontcolor="black" ];
n38 [ shape=diamond, label="dpath_io_dbus_rdata", color="black", fontcolor="black" ];
n39 [ shape=diamond, label="dpath_io_dbus_wdata", color="black", fontcolor="black" ];
n40 [ shape=diamond, label="dpath_io_dbus_addr", color="black", fontcolor="black" ];
n41 [ shape=diamond, label="dpath_io_ibus_valid", color="black", fontcolor="black" ];
n42 [ shape=diamond, label="dpath_io_ibus_inst", color="black", fontcolor="black" ];
n43 [ shape=diamond, label="dpath_io_ibus_addr", color="black", fontcolor="black" ];
n44 [ shape=diamond, label="dpath_io_irq_motor_irq", color="black", fontcolor="black" ];
n45 [ shape=diamond, label="dpath_io_irq_spi_irq", color="black", fontcolor="black" ];
n46 [ shape=diamond, label="dpath_io_irq_uart_irq", color="black", fontcolor="black" ];
n47 [ shape=diamond, label="dpath_reset", color="black", fontcolor="black" ];
n48 [ shape=diamond, label="dpath_clock", color="black", fontcolor="black" ];
n49 [ shape=octagon, label="io_dbus_valid", color="black", fontcolor="black" ];
n50 [ shape=octagon, label="io_dbus_ld_type", color="black", fontcolor="black" ];
n51 [ shape=octagon, label="io_dbus_st_type", color="black", fontcolor="black" ];
n52 [ shape=octagon, label="io_dbus_wr_en", color="black", fontcolor="black" ];
n53 [ shape=octagon, label="io_dbus_rd_en", color="black", fontcolor="black" ];
n54 [ shape=octagon, label="io_dbus_rdata", color="black", fontcolor="black" ];
n55 [ shape=octagon, label="io_dbus_wdata", color="black", fontcolor="black" ];
n56 [ shape=octagon, label="io_dbus_addr", color="black", fontcolor="black" ];
n57 [ shape=octagon, label="io_ibus_valid", color="black", fontcolor="black" ];
n58 [ shape=octagon, label="io_ibus_inst", color="black", fontcolor="black" ];
n59 [ shape=octagon, label="io_ibus_addr", color="black", fontcolor="black" ];
n60 [ shape=octagon, label="io_irq_motor_irq", color="black", fontcolor="black" ];
n61 [ shape=octagon, label="io_irq_spi_irq", color="black", fontcolor="black" ];
n62 [ shape=octagon, label="io_irq_uart_irq", color="black", fontcolor="black" ];
n63 [ shape=octagon, label="reset", color="black", fontcolor="black" ];
n64 [ shape=octagon, label="clock", color="black", fontcolor="black" ];
c81 [ shape=record, label="{{<p65> io_inst}|ctrl\nControl|{<p66> io_a_sel|<p67> io_alu_op|<p68> io_b_sel|<p69> io_br_type|<p70> io_csr_cmd|<p71> io_en_rs1|<p72> io_en_rs2|<p73> io_illegal|<p74> io_imm_sel|<p75> io_inst_kill|<p76> io_ld_type|<p77> io_pc_sel|<p78> io_st_type|<p79> io_wb_en|<p80> io_wb_mux_sel}}" ];
c98 [ shape=record, label="{{<p64> clock|<p82> io_ctrl_a_sel|<p83> io_ctrl_alu_op|<p84> io_ctrl_b_sel|<p85> io_ctrl_br_type|<p86> io_ctrl_csr_cmd|<p87> io_ctrl_en_rs1|<p88> io_ctrl_en_rs2|<p89> io_ctrl_illegal|<p90> io_ctrl_imm_sel|<p91> io_ctrl_inst_kill|<p92> io_ctrl_ld_type|<p93> io_ctrl_pc_sel|<p94> io_ctrl_st_type|<p95> io_ctrl_wb_en|<p96> io_ctrl_wb_mux_sel|<p54> io_dbus_rdata|<p49> io_dbus_valid|<p58> io_ibus_inst|<p57> io_ibus_valid|<p60> io_irq_motor_irq|<p61> io_irq_spi_irq|<p62> io_irq_uart_irq|<p63> reset}|dpath\nDatapath|{<p97> io_ctrl_inst|<p56> io_dbus_addr|<p50> io_dbus_ld_type|<p53> io_dbus_rd_en|<p51> io_dbus_st_type|<p55> io_dbus_wdata|<p52> io_dbus_wr_en|<p59> io_ibus_addr}}" ];
x0 [shape=box, style=rounded, label="BUF"];
x1 [shape=box, style=rounded, label="BUF"];
x2 [shape=box, style=rounded, label="BUF"];
x3 [shape=box, style=rounded, label="BUF"];
x4 [shape=box, style=rounded, label="BUF"];
x5 [shape=box, style=rounded, label="BUF"];
x6 [shape=box, style=rounded, label="BUF"];
x7 [shape=box, style=rounded, label="BUF"];
x8 [shape=box, style=rounded, label="BUF"];
x9 [shape=box, style=rounded, label="BUF"];
x10 [shape=box, style=rounded, label="BUF"];
x11 [shape=box, style=rounded, label="BUF"];
x12 [shape=box, style=rounded, label="BUF"];
x13 [shape=box, style=rounded, label="BUF"];
x14 [shape=box, style=rounded, label="BUF"];
x15 [shape=box, style=rounded, label="BUF"];
x16 [shape=box, style=rounded, label="BUF"];
x17 [shape=box, style=rounded, label="BUF"];
x18 [shape=box, style=rounded, label="BUF"];
x19 [shape=box, style=rounded, label="BUF"];
x20 [shape=box, style=rounded, label="BUF"];
x21 [shape=box, style=rounded, label="BUF"];
x22 [shape=box, style=rounded, label="BUF"];
x23 [shape=box, style=rounded, label="BUF"];
x24 [shape=box, style=rounded, label="BUF"];
x25 [shape=box, style=rounded, label="BUF"];
x26 [shape=box, style=rounded, label="BUF"];
x27 [shape=box, style=rounded, label="BUF"];
x28 [shape=box, style=rounded, label="BUF"];
x29 [shape=box, style=rounded, label="BUF"];
x30 [shape=box, style=rounded, label="BUF"];
x31 [shape=box, style=rounded, label="BUF"];
c81:p72:e -> n1:w [color="black", label=""];
n1:e -> x30:w:w [color="black", label=""];
c81:p67:e -> n10:w [color="black", style="setlinewidth(3)", label=""];
n10:e -> x21:w:w [color="black", style="setlinewidth(3)", label=""];
c81:p74:e -> n11:w [color="black", style="setlinewidth(3)", label=""];
n11:e -> x20:w:w [color="black", style="setlinewidth(3)", label=""];
c81:p68:e -> n12:w [color="black", label=""];
n12:e -> x19:w:w [color="black", label=""];
c81:p66:e -> n13:w [color="black", label=""];
n13:e -> x18:w:w [color="black", label=""];
c81:p75:e -> n14:w [color="black", label=""];
n14:e -> x17:w:w [color="black", label=""];
c81:p77:e -> n15:w [color="black", style="setlinewidth(3)", label=""];
n15:e -> x16:w:w [color="black", style="setlinewidth(3)", label=""];
x31:e:e -> n16:w [color="black", style="setlinewidth(3)", label=""];
n16:e -> c81:p65:w [color="black", style="setlinewidth(3)", label=""];
x30:e:e -> n17:w [color="black", label=""];
n17:e -> c98:p88:w [color="black", label=""];
x29:e:e -> n18:w [color="black", label=""];
n18:e -> c98:p87:w [color="black", label=""];
x28:e:e -> n19:w [color="black", label=""];
n19:e -> c98:p89:w [color="black", label=""];
c81:p71:e -> n2:w [color="black", label=""];
n2:e -> x29:w:w [color="black", label=""];
x27:e:e -> n20:w [color="black", style="setlinewidth(3)", label=""];
n20:e -> c98:p86:w [color="black", style="setlinewidth(3)", label=""];
x26:e:e -> n21:w [color="black", label=""];
n21:e -> c98:p95:w [color="black", label=""];
x25:e:e -> n22:w [color="black", style="setlinewidth(3)", label=""];
n22:e -> c98:p96:w [color="black", style="setlinewidth(3)", label=""];
x24:e:e -> n23:w [color="black", style="setlinewidth(3)", label=""];
n23:e -> c98:p92:w [color="black", style="setlinewidth(3)", label=""];
x23:e:e -> n24:w [color="black", style="setlinewidth(3)", label=""];
n24:e -> c98:p94:w [color="black", style="setlinewidth(3)", label=""];
x22:e:e -> n25:w [color="black", style="setlinewidth(3)", label=""];
n25:e -> c98:p85:w [color="black", style="setlinewidth(3)", label=""];
x21:e:e -> n26:w [color="black", style="setlinewidth(3)", label=""];
n26:e -> c98:p83:w [color="black", style="setlinewidth(3)", label=""];
x20:e:e -> n27:w [color="black", style="setlinewidth(3)", label=""];
n27:e -> c98:p90:w [color="black", style="setlinewidth(3)", label=""];
x19:e:e -> n28:w [color="black", label=""];
n28:e -> c98:p84:w [color="black", label=""];
x18:e:e -> n29:w [color="black", label=""];
n29:e -> c98:p82:w [color="black", label=""];
c81:p73:e -> n3:w [color="black", label=""];
n3:e -> x28:w:w [color="black", label=""];
x17:e:e -> n30:w [color="black", label=""];
n30:e -> c98:p91:w [color="black", label=""];
x16:e:e -> n31:w [color="black", style="setlinewidth(3)", label=""];
n31:e -> c98:p93:w [color="black", style="setlinewidth(3)", label=""];
c98:p97:e -> n32:w [color="black", style="setlinewidth(3)", label=""];
n32:e -> x31:w:w [color="black", style="setlinewidth(3)", label=""];
x15:e:e -> n33:w [color="black", label=""];
n33:e -> c98:p49:w [color="black", label=""];
c98:p50:e -> n34:w [color="black", style="setlinewidth(3)", label=""];
n34:e -> x6:w:w [color="black", style="setlinewidth(3)", label=""];
c98:p51:e -> n35:w [color="black", style="setlinewidth(3)", label=""];
n35:e -> x5:w:w [color="black", style="setlinewidth(3)", label=""];
c98:p52:e -> n36:w [color="black", label=""];
n36:e -> x4:w:w [color="black", label=""];
c98:p53:e -> n37:w [color="black", label=""];
n37:e -> x3:w:w [color="black", label=""];
x14:e:e -> n38:w [color="black", style="setlinewidth(3)", label=""];
n38:e -> c98:p54:w [color="black", style="setlinewidth(3)", label=""];
c98:p55:e -> n39:w [color="black", style="setlinewidth(3)", label=""];
n39:e -> x2:w:w [color="black", style="setlinewidth(3)", label=""];
c81:p70:e -> n4:w [color="black", style="setlinewidth(3)", label=""];
n4:e -> x27:w:w [color="black", style="setlinewidth(3)", label=""];
c98:p56:e -> n40:w [color="black", style="setlinewidth(3)", label=""];
n40:e -> x1:w:w [color="black", style="setlinewidth(3)", label=""];
x13:e:e -> n41:w [color="black", label=""];
n41:e -> c98:p57:w [color="black", label=""];
x12:e:e -> n42:w [color="black", style="setlinewidth(3)", label=""];
n42:e -> c98:p58:w [color="black", style="setlinewidth(3)", label=""];
c98:p59:e -> n43:w [color="black", style="setlinewidth(3)", label=""];
n43:e -> x0:w:w [color="black", style="setlinewidth(3)", label=""];
x11:e:e -> n44:w [color="black", label=""];
n44:e -> c98:p60:w [color="black", label=""];
x10:e:e -> n45:w [color="black", label=""];
n45:e -> c98:p61:w [color="black", label=""];
x9:e:e -> n46:w [color="black", label=""];
n46:e -> c98:p62:w [color="black", label=""];
x8:e:e -> n47:w [color="black", label=""];
n47:e -> c98:p63:w [color="black", label=""];
x7:e:e -> n48:w [color="black", label=""];
n48:e -> c98:p64:w [color="black", label=""];
n49:e -> x15:w:w [color="black", label=""];
c81:p79:e -> n5:w [color="black", label=""];
n5:e -> x26:w:w [color="black", label=""];
x6:e:e -> n50:w [color="black", style="setlinewidth(3)", label=""];
x5:e:e -> n51:w [color="black", style="setlinewidth(3)", label=""];
x4:e:e -> n52:w [color="black", label=""];
x3:e:e -> n53:w [color="black", label=""];
n54:e -> x14:w:w [color="black", style="setlinewidth(3)", label=""];
x2:e:e -> n55:w [color="black", style="setlinewidth(3)", label=""];
x1:e:e -> n56:w [color="black", style="setlinewidth(3)", label=""];
n57:e -> x13:w:w [color="black", label=""];
n58:e -> x12:w:w [color="black", style="setlinewidth(3)", label=""];
x0:e:e -> n59:w [color="black", style="setlinewidth(3)", label=""];
c81:p80:e -> n6:w [color="black", style="setlinewidth(3)", label=""];
n6:e -> x25:w:w [color="black", style="setlinewidth(3)", label=""];
n60:e -> x11:w:w [color="black", label=""];
n61:e -> x10:w:w [color="black", label=""];
n62:e -> x9:w:w [color="black", label=""];
n63:e -> x8:w:w [color="black", label=""];
n64:e -> x7:w:w [color="black", label=""];
c81:p76:e -> n7:w [color="black", style="setlinewidth(3)", label=""];
n7:e -> x24:w:w [color="black", style="setlinewidth(3)", label=""];
c81:p78:e -> n8:w [color="black", style="setlinewidth(3)", label=""];
n8:e -> x23:w:w [color="black", style="setlinewidth(3)", label=""];
c81:p69:e -> n9:w [color="black", style="setlinewidth(3)", label=""];
n9:e -> x22:w:w [color="black", style="setlinewidth(3)", label=""];
}