Files
retroSoC/rtl/mini/pin_map/pin_map.json
T
maksyuki 0a6055134e feat: refactor NMI interface and enhance performance logging
- Updated NMI interface references from  to  in multiple files for consistency.
- Added a new script  to convert UART performance records into structured JSON format.
- Enhanced the README documentation to include details about the new performance log parser.
- Implemented tests for the new performance log parser to ensure correct functionality.
- Added new test cases for DMA error handling and SDRAM data integrity to improve coverage.
- Updated existing test cases to accommodate changes in the NMI interface and added performance metrics.
- Refactored bus fault testbench to include fault code checks and improved error handling.
- Adjusted memory map generation and pin mapping tests to reflect recent changes in RTL structure.
2026-08-02 10:21:09 +08:00

320 lines
11 KiB
JSON

{
"schema_version": 1,
"pads": [
{
"kind": "tri_input",
"direction": "inout",
"ports": [
{"name": "extclk_i_pad", "signal": "s_ext_clk"},
{"name": "audclk_i_pad", "signal": "s_aud_clk"}
]
},
{
"kind": "schmitt_input",
"direction": "inout",
"ports": [
{"name": "ext_rst_n_i_pad", "signal": "s_ext_rst_n"}
]
},
{
"kind": "xtal",
"feature": "HAVE_PLL",
"ports": [
{"name": "xi_i_pad", "direction": "input", "signal": "s_xtal_io", "peer": "xo_o_pad"},
{"name": "xo_o_pad", "direction": "output", "bind": false}
]
},
{
"kind": "full",
"direction": "inout",
"prefix": "gpio_",
"suffix": "_io_pad",
"count": 32,
"interface": "u_gpio_if"
},
{
"kind": "tri_output",
"direction": "output",
"ports": [
{"name": "uart0_tx_o_pad", "signal": "u_uart0_if.tx_o"}
]
},
{
"kind": "tri_input",
"direction": "inout",
"ports": [
{"name": "uart0_rx_i_pad", "signal": "u_uart0_if.rx_i"}
]
},
{
"kind": "tri_output",
"direction": "output",
"ports": [
{"name": "xpi_sck_o_pad", "signal": "u_xpi_if.sck_o"}
]
},
{
"kind": "tri_output",
"direction": "output",
"prefix": "xpi_nss",
"suffix": "_o_pad",
"count": 4,
"signal": "u_xpi_if.nss_o[{index}]"
},
{
"kind": "xpi_data",
"direction": "inout",
"prefix": "xpi_dat",
"suffix": "_io_pad",
"count": 4
},
{
"kind": "tri_output",
"direction": "output",
"ports": [
{"name": "sdram_clk_o_pad", "signal": "u_sdram_if.clk_o"},
{"name": "sdram_cke_o_pad", "signal": "u_sdram_if.cke_o"},
{"name": "sdram_cs_n_o_pad", "signal": "u_sdram_if.cs_n_o"},
{"name": "sdram_ras_n_o_pad", "signal": "u_sdram_if.ras_n_o"},
{"name": "sdram_cas_n_o_pad", "signal": "u_sdram_if.cas_n_o"},
{"name": "sdram_we_n_o_pad", "signal": "u_sdram_if.we_n_o"}
]
},
{
"kind": "tri_output",
"direction": "output",
"prefix": "sdram_ba",
"suffix": "_o_pad",
"count": 2,
"signal": "u_sdram_if.ba_o[{index}]"
},
{
"kind": "tri_output",
"direction": "output",
"prefix": "sdram_addr",
"suffix": "_o_pad",
"count": 13,
"signal": "u_sdram_if.addr_o[{index}]"
},
{
"kind": "tri_output",
"direction": "output",
"prefix": "sdram_dqm",
"suffix": "_o_pad",
"count": 2,
"signal": "u_sdram_if.dqm_o[{index}]"
},
{
"kind": "sdram_dq",
"direction": "inout",
"prefix": "sdram_dq",
"suffix": "_io_pad",
"count": 16
}
],
"profiles": {
"fpga_mini": {
"bindings": {
"extclk_i_pad": "s_sys_clk",
"audclk_i_pad": "s_aud_clk",
"ext_rst_n_i_pad": "rst_n_i",
"xi_i_pad": "s_sys_clk",
"gpio_0_io_pad": "ps2_clk_i",
"gpio_1_io_pad": "ps2_dat_i",
"gpio_2_io_pad": "onewire_dat_o",
"gpio_3_io_pad": "i2c_scl_io",
"gpio_4_io_pad": "i2c_sda_io",
"gpio_5_io_pad": "pwm_2_o",
"gpio_6_io_pad": "spisd_sck_o",
"gpio_7_io_pad": "spisd_nss_o",
"gpio_8_io_pad": "spisd_mosi_o",
"gpio_9_io_pad": "spisd_miso_i",
"gpio_10_io_pad": "i2s_mclk_o",
"gpio_11_io_pad": "i2s_sclk_o",
"gpio_12_io_pad": "i2s_lrck_o",
"gpio_13_io_pad": "i2s_dacdat_o",
"gpio_14_io_pad": "i2s_adcdat_i",
"gpio_21_io_pad": "psram_sck_o",
"gpio_22_io_pad": "psram_nss0_o",
"gpio_23_io_pad": "psram_dat0_io",
"gpio_24_io_pad": "psram_dat1_io",
"gpio_25_io_pad": "psram_dat2_io",
"gpio_26_io_pad": "psram_dat3_io",
"gpio_30_io_pad": "gpio_io30",
"uart0_tx_o_pad": "uart0_tx_o",
"uart0_rx_i_pad": "uart0_rx_i",
"xpi_sck_o_pad": "xpi_sck_o",
"xpi_nss0_o_pad": "xpi_nss0_o",
"xpi_dat0_io_pad": "xpi_dat0_io",
"xpi_dat1_io_pad": "xpi_dat1_io",
"xpi_dat2_io_pad": "xpi_dat2_io",
"xpi_dat3_io_pad": "xpi_dat3_io",
"sdram_clk_o_pad": "sdram_clk_o",
"sdram_cke_o_pad": "sdram_cke_o",
"sdram_cs_n_o_pad": "sdram_cs_n_o",
"sdram_ras_n_o_pad": "sdram_ras_n_o",
"sdram_cas_n_o_pad": "sdram_cas_n_o",
"sdram_we_n_o_pad": "sdram_we_n_o",
"sdram_ba0_o_pad": "sdram_ba0_o",
"sdram_ba1_o_pad": "sdram_ba1_o",
"sdram_addr0_o_pad": "sdram_addr0_o",
"sdram_addr1_o_pad": "sdram_addr1_o",
"sdram_addr2_o_pad": "sdram_addr2_o",
"sdram_addr3_o_pad": "sdram_addr3_o",
"sdram_addr4_o_pad": "sdram_addr4_o",
"sdram_addr5_o_pad": "sdram_addr5_o",
"sdram_addr6_o_pad": "sdram_addr6_o",
"sdram_addr7_o_pad": "sdram_addr7_o",
"sdram_addr8_o_pad": "sdram_addr8_o",
"sdram_addr9_o_pad": "sdram_addr9_o",
"sdram_addr10_o_pad": "sdram_addr10_o",
"sdram_addr11_o_pad": "sdram_addr11_o",
"sdram_addr12_o_pad": "sdram_addr12_o",
"sdram_dqm0_o_pad": "sdram_dqm0_o",
"sdram_dqm1_o_pad": "sdram_dqm1_o",
"sdram_dq0_io_pad": "sdram_dq0_io",
"sdram_dq1_io_pad": "sdram_dq1_io",
"sdram_dq2_io_pad": "sdram_dq2_io",
"sdram_dq3_io_pad": "sdram_dq3_io",
"sdram_dq4_io_pad": "sdram_dq4_io",
"sdram_dq5_io_pad": "sdram_dq5_io",
"sdram_dq6_io_pad": "sdram_dq6_io",
"sdram_dq7_io_pad": "sdram_dq7_io",
"sdram_dq8_io_pad": "sdram_dq8_io",
"sdram_dq9_io_pad": "sdram_dq9_io",
"sdram_dq10_io_pad": "sdram_dq10_io",
"sdram_dq11_io_pad": "sdram_dq11_io",
"sdram_dq12_io_pad": "sdram_dq12_io",
"sdram_dq13_io_pad": "sdram_dq13_io",
"sdram_dq14_io_pad": "sdram_dq14_io",
"sdram_dq15_io_pad": "sdram_dq15_io"
}
},
"verilator": {
"bindings": {
"extclk_i_pad": "s_clk",
"ext_rst_n_i_pad": "s_rst_n",
"gpio_21_io_pad": "s_psram_sck",
"gpio_22_io_pad": "s_psram_nss0",
"gpio_23_io_pad": "s_psram_dat0",
"gpio_24_io_pad": "s_psram_dat1",
"gpio_25_io_pad": "s_psram_dat2",
"gpio_26_io_pad": "s_psram_dat3",
"xpi_sck_o_pad": "s_xpi_sck_o",
"xpi_nss0_o_pad": "s_xpi_nss0_o",
"xpi_dat0_io_pad": "s_xpi_dat0_io",
"xpi_dat1_io_pad": "s_xpi_dat1_io",
"xpi_dat2_io_pad": "s_xpi_dat2_io",
"xpi_dat3_io_pad": "s_xpi_dat3_io",
"sdram_clk_o_pad": "s_sdram_clk",
"sdram_cke_o_pad": "s_sdram_cke",
"sdram_cs_n_o_pad": "s_sdram_cs_n",
"sdram_ras_n_o_pad": "s_sdram_ras_n",
"sdram_cas_n_o_pad": "s_sdram_cas_n",
"sdram_we_n_o_pad": "s_sdram_we_n",
"sdram_ba0_o_pad": "s_sdram_ba[0]",
"sdram_ba1_o_pad": "s_sdram_ba[1]",
"sdram_addr0_o_pad": "s_sdram_addr[0]",
"sdram_addr1_o_pad": "s_sdram_addr[1]",
"sdram_addr2_o_pad": "s_sdram_addr[2]",
"sdram_addr3_o_pad": "s_sdram_addr[3]",
"sdram_addr4_o_pad": "s_sdram_addr[4]",
"sdram_addr5_o_pad": "s_sdram_addr[5]",
"sdram_addr6_o_pad": "s_sdram_addr[6]",
"sdram_addr7_o_pad": "s_sdram_addr[7]",
"sdram_addr8_o_pad": "s_sdram_addr[8]",
"sdram_addr9_o_pad": "s_sdram_addr[9]",
"sdram_addr10_o_pad": "s_sdram_addr[10]",
"sdram_addr11_o_pad": "s_sdram_addr[11]",
"sdram_addr12_o_pad": "s_sdram_addr[12]",
"sdram_dqm0_o_pad": "s_sdram_dqm[0]",
"sdram_dqm1_o_pad": "s_sdram_dqm[1]",
"sdram_dq0_io_pad": "s_sdram_dq[0]",
"sdram_dq1_io_pad": "s_sdram_dq[1]",
"sdram_dq2_io_pad": "s_sdram_dq[2]",
"sdram_dq3_io_pad": "s_sdram_dq[3]",
"sdram_dq4_io_pad": "s_sdram_dq[4]",
"sdram_dq5_io_pad": "s_sdram_dq[5]",
"sdram_dq6_io_pad": "s_sdram_dq[6]",
"sdram_dq7_io_pad": "s_sdram_dq[7]",
"sdram_dq8_io_pad": "s_sdram_dq[8]",
"sdram_dq9_io_pad": "s_sdram_dq[9]",
"sdram_dq10_io_pad": "s_sdram_dq[10]",
"sdram_dq11_io_pad": "s_sdram_dq[11]",
"sdram_dq12_io_pad": "s_sdram_dq[12]",
"sdram_dq13_io_pad": "s_sdram_dq[13]",
"sdram_dq14_io_pad": "s_sdram_dq[14]",
"sdram_dq15_io_pad": "s_sdram_dq[15]"
}
},
"tb": {
"bindings": {
"extclk_i_pad": "s_ext_clk",
"audclk_i_pad": "s_aud_clk",
"ext_rst_n_i_pad": "s_rst_n",
"xi_i_pad": "r_xtal_clk",
"gpio_0_io_pad": "s_gpio_0_io",
"gpio_1_io_pad": "s_gpio_1_io",
"gpio_7_io_pad": "s_i2c0_scl_io",
"gpio_8_io_pad": "s_i2c0_sda_io",
"gpio_21_io_pad": "s_psram_sck",
"gpio_22_io_pad": "s_psram_nss0",
"gpio_23_io_pad": "s_psram_dat0",
"gpio_24_io_pad": "s_psram_dat1",
"gpio_25_io_pad": "s_psram_dat2",
"gpio_26_io_pad": "s_psram_dat3",
"gpio_27_io_pad": "s_psram_nss1",
"uart0_tx_o_pad": "s_uart0_tx",
"uart0_rx_i_pad": "s_uart0_rx",
"xpi_sck_o_pad": "s_xpi_sck_o",
"xpi_nss0_o_pad": "s_xpi_nss0_o",
"xpi_nss1_o_pad": "s_xpi_nss1_o",
"xpi_nss2_o_pad": "s_xpi_nss2_o",
"xpi_dat0_io_pad": "s_xpi_dat0_io",
"xpi_dat1_io_pad": "s_xpi_dat1_io",
"xpi_dat2_io_pad": "s_xpi_dat2_io",
"xpi_dat3_io_pad": "s_xpi_dat3_io",
"sdram_clk_o_pad": "s_sdram_clk",
"sdram_cke_o_pad": "s_sdram_cke",
"sdram_cs_n_o_pad": "s_sdram_cs_n",
"sdram_ras_n_o_pad": "s_sdram_ras_n",
"sdram_cas_n_o_pad": "s_sdram_cas_n",
"sdram_we_n_o_pad": "s_sdram_we_n",
"sdram_ba0_o_pad": "s_sdram_ba[0]",
"sdram_ba1_o_pad": "s_sdram_ba[1]",
"sdram_addr0_o_pad": "s_sdram_addr[0]",
"sdram_addr1_o_pad": "s_sdram_addr[1]",
"sdram_addr2_o_pad": "s_sdram_addr[2]",
"sdram_addr3_o_pad": "s_sdram_addr[3]",
"sdram_addr4_o_pad": "s_sdram_addr[4]",
"sdram_addr5_o_pad": "s_sdram_addr[5]",
"sdram_addr6_o_pad": "s_sdram_addr[6]",
"sdram_addr7_o_pad": "s_sdram_addr[7]",
"sdram_addr8_o_pad": "s_sdram_addr[8]",
"sdram_addr9_o_pad": "s_sdram_addr[9]",
"sdram_addr10_o_pad": "s_sdram_addr[10]",
"sdram_addr11_o_pad": "s_sdram_addr[11]",
"sdram_addr12_o_pad": "s_sdram_addr[12]",
"sdram_dqm0_o_pad": "s_sdram_dqm[0]",
"sdram_dqm1_o_pad": "s_sdram_dqm[1]",
"sdram_dq0_io_pad": "s_sdram_dq[0]",
"sdram_dq1_io_pad": "s_sdram_dq[1]",
"sdram_dq2_io_pad": "s_sdram_dq[2]",
"sdram_dq3_io_pad": "s_sdram_dq[3]",
"sdram_dq4_io_pad": "s_sdram_dq[4]",
"sdram_dq5_io_pad": "s_sdram_dq[5]",
"sdram_dq6_io_pad": "s_sdram_dq[6]",
"sdram_dq7_io_pad": "s_sdram_dq[7]",
"sdram_dq8_io_pad": "s_sdram_dq[8]",
"sdram_dq9_io_pad": "s_sdram_dq[9]",
"sdram_dq10_io_pad": "s_sdram_dq[10]",
"sdram_dq11_io_pad": "s_sdram_dq[11]",
"sdram_dq12_io_pad": "s_sdram_dq[12]",
"sdram_dq13_io_pad": "s_sdram_dq[13]",
"sdram_dq14_io_pad": "s_sdram_dq[14]",
"sdram_dq15_io_pad": "s_sdram_dq[15]"
}
}
}
}