增加测试代码,支持vqspi 4, bqspi 5

This commit is contained in:
2026-02-07 10:45:58 +08:00
parent 41bb316926
commit 9d01b626d2
4 changed files with 91 additions and 27 deletions

View File

@@ -258,7 +258,19 @@ def __GenDevice(id, TerminateNode = False):
+"\t.io_aqspi_mosi(qspi_mosi),\n"
+"\t.io_aqspi_miso(`AQSPI_MISO(%d)),\n"%(id + 1, )
+"\t.io_aqspi_isDirIn(),\n"
+"\t.io_aqspi_csn(`AQSPI_CSN(%d)),\n"%(id + 1, )
+"\t.io_aqspi_csn(`AQSPI_CSN(%d)),\n\n"%(id + 1, )
+"\t.io_vqspi_sck(qspi_sck),\n"
+"\t.io_vqspi_mosi(qspi_mosi),\n"
+"\t.io_vqspi_miso(`VQSPI_MISO(%d)),\n"%(id + 1, )
+"\t.io_vqspi_isDirIn(),\n"
+"\t.io_vqspi_csn(`VQSPI_CSN(%d)),\n\n"%(id + 1, )
+"\t.io_bqspi_sck(qspi_sck),\n"
+"\t.io_bqspi_mosi(qspi_mosi),\n"
+"\t.io_bqspi_miso(`BQSPI_MISO(%d)),\n"%(id + 1, )
+"\t.io_bqspi_isDirIn(),\n"
+"\t.io_bqspi_csn(`BQSPI_CSN(%d)),\n\n"%(id + 1, )
+"\t.io_isSoftReset(isSoftReset[%d]),\n"%(id + 1, )
+"\t.io_interrupt(io_int_sig[%d]),\n"%(id + 1, )
@@ -286,33 +298,46 @@ def __gen_slv_dev_predef(num):
spi_type_str = "USING_OQSPI"
elif global_spi_type == 3:
spi_type_str = "USING_AQSPI"
elif global_spi_type == 4:
spi_type_str = "USING_VQSPI"
elif global_spi_type == 5:
spi_type_str = "USING_BQSPI"
else:
spi_type_str = "USING_IQSPI"
code_predef =("`define %s \n"%(spi_type_str, )
+"`define DEV_NUM %d //slave num\n"%(num, )
+"`define QSPI_TYPE_NUM 5 \n"
+"`define DEV_NUM %d //slave num\n"%(num, )
+"`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master\n"
+"`define SPI_CSN_NUM (`ALL_DEV_NUM * 4)\n\n"
+"`define SPI_CSN_NUM (`ALL_DEV_NUM * 6)\n\n"
+"`define HW_SERIAL 48'h31303050584c //(48'h4c5850303031)\n\n"
+"`define IQSPI_PINS(N) (N*4+3):(N*4)\n"
+"`define EQSPI_PINS(N) ((N + `ALL_DEV_NUM)*4+3):((N + `ALL_DEV_NUM)*4)\n"
+"`define AQSPI_PINS(N) ((N + `ALL_DEV_NUM * 2)*4+3):((N + `ALL_DEV_NUM * 2)*4)\n\n"
+"`define IQSPI_PINS(N) ((N ) * 4 + 3):((N ) * 4)\n"
+"`define EQSPI_PINS(N) ((N + `ALL_DEV_NUM ) * 4 + 3):((N + `ALL_DEV_NUM ) * 4)\n"
+"`define AQSPI_PINS(N) ((N + `ALL_DEV_NUM * 2) * 4 + 3):((N + `ALL_DEV_NUM * 2) * 4)\n"
+"`define VQSPI_PINS(N) ((N + `ALL_DEV_NUM * 3) * 4 + 3):((N + `ALL_DEV_NUM * 3) * 4)\n"
+"`define BQSPI_PINS(N) ((N + `ALL_DEV_NUM * 4) * 4 + 3):((N + `ALL_DEV_NUM * 4) * 4)\n\n"
+"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(N)]\n"
+"`define EQSPI_MISO(N) qspi_miso[`EQSPI_PINS(N)]\n"
+"`define AQSPI_MISO(N) qspi_miso[`AQSPI_PINS(N)]\n\n"
+"`define AQSPI_MISO(N) qspi_miso[`AQSPI_PINS(N)]\n"
+"`define VQSPI_MISO(N) qspi_miso[`VQSPI_PINS(N)]\n"
+"`define BQSPI_MISO(N) qspi_miso[`BQSPI_PINS(N)]\n\n"
+"`define IQSPI_CSN_NUM(id) (id)\n"
+"`define IQSPI_CSN_NUM(id) ((id))\n"
+"`define ESPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM))\n"
+"`define EQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*2)\n"
+"`define AQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*3)\n\n"
+"`define AQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*3)\n"
+"`define VQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*4)\n"
+"`define BQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*5)\n\n"
+"`define IQSPI_CSN(id) spi_csn[`IQSPI_CSN_NUM(id)]\n"
+"`define ESPI_CSN(id) spi_csn[`ESPI_CSN_NUM(id)]\n"
+"`define EQSPI_CSN(id) spi_csn[`EQSPI_CSN_NUM(id)]\n"
+"`define AQSPI_CSN(id) spi_csn[`AQSPI_CSN_NUM(id)]\n\n"
+"`define AQSPI_CSN(id) spi_csn[`AQSPI_CSN_NUM(id)]\n"
+"`define VQSPI_CSN(id) spi_csn[`VQSPI_CSN_NUM(id)]\n"
+"`define BQSPI_CSN(id) spi_csn[`BQSPI_CSN_NUM(id)]\n\n"
)
code_qspi_mux_init = "`define QSPI_MUX_MISO_INIT \\\n"
@@ -324,10 +349,18 @@ def __gen_slv_dev_predef(num):
for i in range(num):
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`EQSPI_MISO(%d) & ~{4{`EQSPI_CSN(%d)}}) |\\\n"%(i, i)
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`EQSPI_MISO(%d) & ~{4{`EQSPI_CSN(%d)}}) |\\\n"%(num, num)
for i in range(num):
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`AQSPI_MISO(%d) & ~{4{`AQSPI_CSN(%d)}}) |\\\n"%(i, i)
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`AQSPI_MISO(%d) & ~{4{`AQSPI_CSN(%d)}})\n\n"%(num, num)
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`AQSPI_MISO(%d) & ~{4{`AQSPI_CSN(%d)}}) |\\\n"%(num, num)
for i in range(num):
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`VQSPI_MISO(%d) & ~{4{`VQSPI_CSN(%d)}}) |\\\n"%(i, i)
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`VQSPI_MISO(%d) & ~{4{`VQSPI_CSN(%d)}}) |\\\n"%(num, num)
for i in range(num):
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`BQSPI_MISO(%d) & ~{4{`BQSPI_CSN(%d)}}) |\\\n"%(i, i)
code_qspi_mux_init_item = code_qspi_mux_init_item + "\t\t(`BQSPI_MISO(%d) & ~{4{`BQSPI_CSN(%d)}})\n\n"%(num, num)
code_qspi_mux_init = code_qspi_mux_init + code_qspi_mux_init_item