Files
super6502/hw/efinix_fpga/debug_profile.wizard.json
Byron Lathi 8181a3a583 Change divider to pipelined version
The pipelining allows the cpu to run at a faster clock speed but results
in latency. At the current 2 MHz, there is 1 cycle of latency which is
negligible because the 6502 cannot do sequential data memory accesses.

In the future, there will have to be some sort of status flag or
interrupt showing that the divider is ready.
2023-01-05 19:21:00 -05:00

1079 lines
35 KiB
JSON

{
"debug_cores": [
{
"name": "la0",
"type": "la",
"uuid": "4089d047ca614f1d8b1fe200bb713f1e",
"trigin_en": false,
"trigout_en": false,
"auto_inserted": true,
"capture_control": false,
"data_depth": 2048,
"input_pipeline": 1,
"probes": [
{
"name": "u_divider/rfd",
"width": 1,
"probe_type": 1
},
{
"name": "u_divider/reset",
"width": 1,
"probe_type": 1
},
{
"name": "u_divider/o_data",
"width": 8,
"probe_type": 1
},
{
"name": "u_divider/numer",
"width": 16,
"probe_type": 1
},
{
"name": "u_divider/quotient",
"width": 16,
"probe_type": 1
},
{
"name": "u_divider/remain",
"width": 16,
"probe_type": 1
},
{
"name": "u_divider/denom",
"width": 16,
"probe_type": 1
},
{
"name": "u_divider/cs",
"width": 1,
"probe_type": 1
},
{
"name": "u_divider/r_remain",
"width": 16,
"probe_type": 1
},
{
"name": "u_divider/r_quotient",
"width": 16,
"probe_type": 1
}
]
}
],
"connections": [
{
"command": "add_ports",
"id": 1,
"args": {
"netlist": "super6502",
"ports": [
{
"name": "jtag_inst1_CAPTURE",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_DRCK",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_RESET",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_RUNTEST",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_SEL",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_SHIFT",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TCK",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TDI",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TMS",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_UPDATE",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TDO",
"dir": "out",
"width": 1
}
]
}
},
{
"command": "instantiate",
"netlist": "edb_top",
"id": 2,
"instance": "edb_top_inst"
},
{
"command": "connect",
"id": 3,
"args": {
"instance": "edb_top_inst",
"ports": [
{
"name": "bscan_CAPTURE",
"net": "jtag_inst1_CAPTURE"
},
{
"name": "bscan_DRCK",
"net": "jtag_inst1_DRCK"
},
{
"name": "bscan_RESET",
"net": "jtag_inst1_RESET"
},
{
"name": "bscan_RUNTEST",
"net": "jtag_inst1_RUNTEST"
},
{
"name": "bscan_SEL",
"net": "jtag_inst1_SEL"
},
{
"name": "bscan_SHIFT",
"net": "jtag_inst1_SHIFT"
},
{
"name": "bscan_TCK",
"net": "jtag_inst1_TCK"
},
{
"name": "bscan_TDI",
"net": "jtag_inst1_TDI"
},
{
"name": "bscan_TMS",
"net": "jtag_inst1_TMS"
},
{
"name": "bscan_UPDATE",
"net": "jtag_inst1_UPDATE"
},
{
"name": "bscan_TDO",
"net": "jtag_inst1_TDO"
},
{
"name": "la0_clk",
"net": "clk_2",
"path": []
},
{
"name": "la0_probe0",
"net": "rfd",
"path": [
"u_divider"
]
},
{
"name": "la0_probe1",
"net": "reset",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[0]",
"net": "o_data[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[1]",
"net": "o_data[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[2]",
"net": "o_data[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[3]",
"net": "o_data[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[4]",
"net": "o_data[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[5]",
"net": "o_data[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[6]",
"net": "o_data[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe2[7]",
"net": "o_data[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[0]",
"net": "numer[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[1]",
"net": "numer[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[2]",
"net": "numer[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[3]",
"net": "numer[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[4]",
"net": "numer[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[5]",
"net": "numer[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[6]",
"net": "numer[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[7]",
"net": "numer[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[8]",
"net": "numer[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[9]",
"net": "numer[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[10]",
"net": "numer[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[11]",
"net": "numer[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[12]",
"net": "numer[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[13]",
"net": "numer[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[14]",
"net": "numer[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe3[15]",
"net": "numer[15]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[0]",
"net": "quotient[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[1]",
"net": "quotient[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[2]",
"net": "quotient[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[3]",
"net": "quotient[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[4]",
"net": "quotient[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[5]",
"net": "quotient[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[6]",
"net": "quotient[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[7]",
"net": "quotient[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[8]",
"net": "quotient[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[9]",
"net": "quotient[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[10]",
"net": "quotient[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[11]",
"net": "quotient[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[12]",
"net": "quotient[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[13]",
"net": "quotient[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[14]",
"net": "quotient[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe4[15]",
"net": "quotient[15]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[0]",
"net": "remain[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[1]",
"net": "remain[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[2]",
"net": "remain[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[3]",
"net": "remain[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[4]",
"net": "remain[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[5]",
"net": "remain[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[6]",
"net": "remain[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[7]",
"net": "remain[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[8]",
"net": "remain[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[9]",
"net": "remain[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[10]",
"net": "remain[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[11]",
"net": "remain[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[12]",
"net": "remain[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[13]",
"net": "remain[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[14]",
"net": "remain[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe5[15]",
"net": "remain[15]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[0]",
"net": "denom[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[1]",
"net": "denom[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[2]",
"net": "denom[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[3]",
"net": "denom[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[4]",
"net": "denom[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[5]",
"net": "denom[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[6]",
"net": "denom[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[7]",
"net": "denom[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[8]",
"net": "denom[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[9]",
"net": "denom[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[10]",
"net": "denom[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[11]",
"net": "denom[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[12]",
"net": "denom[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[13]",
"net": "denom[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[14]",
"net": "denom[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe6[15]",
"net": "denom[15]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe7",
"net": "cs",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[0]",
"net": "r_remain[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[1]",
"net": "r_remain[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[2]",
"net": "r_remain[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[3]",
"net": "r_remain[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[4]",
"net": "r_remain[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[5]",
"net": "r_remain[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[6]",
"net": "r_remain[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[7]",
"net": "r_remain[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[8]",
"net": "r_remain[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[9]",
"net": "r_remain[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[10]",
"net": "r_remain[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[11]",
"net": "r_remain[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[12]",
"net": "r_remain[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[13]",
"net": "r_remain[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[14]",
"net": "r_remain[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe8[15]",
"net": "r_remain[15]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[0]",
"net": "r_quotient[0]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[1]",
"net": "r_quotient[1]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[2]",
"net": "r_quotient[2]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[3]",
"net": "r_quotient[3]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[4]",
"net": "r_quotient[4]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[5]",
"net": "r_quotient[5]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[6]",
"net": "r_quotient[6]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[7]",
"net": "r_quotient[7]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[8]",
"net": "r_quotient[8]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[9]",
"net": "r_quotient[9]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[10]",
"net": "r_quotient[10]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[11]",
"net": "r_quotient[11]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[12]",
"net": "r_quotient[12]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[13]",
"net": "r_quotient[13]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[14]",
"net": "r_quotient[14]",
"path": [
"u_divider"
]
},
{
"name": "la0_probe9[15]",
"net": "r_quotient[15]",
"path": [
"u_divider"
]
}
]
}
}
],
"vdbs": [
{
"file": "debug_top.post.vdb",
"instance": "edb_top_inst"
}
],
"session": {
"wizard": {
"data_depth": 2048,
"capture_control": false,
"selected_nets": [
{
"name": "rfd",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
]
},
{
"name": "reset",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
]
},
{
"name": "o_data",
"width": 8,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 7,
"net_idx_right": 0
},
{
"name": "numer",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "quotient",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "remain",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "denom",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "cs",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
]
},
{
"name": "r_remain",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "r_quotient",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [
"u_divider"
],
"net_idx_left": 15,
"net_idx_right": 0
}
],
"top_module": "super6502",
"db_checksum": "ba5fce12098a2c03e7bae2e9a172d1842464edfca8e284870b3519e987537970",
"src": "elaborate",
"jtag_user": "USER1",
"input_pipeline": 1
}
}
}