增加测试代码,支持vqspi 4, bqspi 5
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user