--- name: vivado-prj-create description: 'DIRECT EXECUTION - Auto-create Vivado FPGA projects. Triggers: "create Vivado project", "Vivado工程", "FPGA project", "Xilinx project", "setup Vivado". When triggered, IMMEDIATELY execute Step 0 without listing skills or asking for confirmation.' --- # Vivado Project TCL Generator ## AI ASSISTANT BEHAVIOR RULES (CRITICAL) **When this skill is triggered, you MUST:** 1. **DO NOT** list available skills 2. **DO NOT** ask user "which skill do you want?" 3. **DO NOT** ask for confirmation before proceeding 4. **IMMEDIATELY** start with **Step 0: Check Vivado installation** 5. Follow the complete workflow without interruption **Trigger Keywords:** "创建Vivado工程", "create Vivado project", "FPGA工程", "setup FPGA project", "Xilinx project", "Vivado TCL" This skill helps you generate TCL scripts for automatically creating Xilinx Vivado FPGA projects on Windows. The generated TCL script can be sourced directly in Vivado to create a complete project with proper device configuration. ## How it works 1. **Check Vivado installation (Step 0)** 2. **Collect required information via interactive questions** 3. Generate a complete TCL script 4. Save the script to a file 5. Provide instructions for running it ## IMPORTANT: Vivado Installation Check (Step 0 - REQUIRED) **Before asking any questions, you MUST first check if Vivado is installed at the default location.** Use the Bash tool to check if the default Vivado installation path exists: ```bash test -d "d:/Xilinx/Vivado/2018.1/bin" && echo "EXISTS" || echo "NOT_FOUND" ``` - If the result is `EXISTS`: Proceed to Step 1 (interactive questions) - If the result is `NOT_FOUND`: **Stop and report error to the user:** ``` 错误 / Error: Vivado 没有正确安装! 请确认 Vivado 已安装在默认路径: d:\Xilinx\Vivado\2018.1\bin\ Please ensure Vivado is installed at: d:\Xilinx\Vivado\2018.1\bin\ ``` ## IMPORTANT: Interactive Question Requirements **After Vivado installation is confirmed, use the `AskUserQuestion` tool to collect the following required information.** ### Step 1: Ask for FPGA Device/Part Number (REQUIRED) Use `AskUserQuestion` to let the user select their target FPGA device. Only these four devices are supported: ```javascript AskUserQuestion({ questions: [{ question: "请选择你的FPGA器件型号 / Select your target FPGA device:", header: "FPGA Device", options: [ { label: "xc7z100ffg900-2", description: "Zynq-7000, 用于3.0激励器 / 3.0 Exciter" }, { label: "xc7z035ffg676-2", description: "Zynq-7000, 用于ipots" }, { label: "xc7a200tfbg676-2", description: "Artix-7, EMV7.1 / SMOD 激励器" }, { label: "xc7z020cfg400-2", description: "Zynq-7000, 用于RFSwitch" } ], multiSelect: false }] }) ``` **Note:** If you need other FPGA models, you must modify this skill file to add them. ### Step 2: Ask for Project Name Ask the user for the project name. This can be done with a simple text prompt (no AskUserQuestion needed unless you want to provide preset options): **Example prompts:** - "请输入项目名称 / What would you like to name your project?" - "项目名称 / Enter the project name" ## Zynq PS Configuration **IMPORTANT**: Determine if the selected device is a Zynq series (device starts with `xc7z`). - **Zynq devices** (xc7z100ffg900-2, xc7z035ffg676-2, xc7z020cfg400-2): **MUST** configure the Processing System (PS) - **Artix-7 devices** (xc7a200tfbg676-2): No PS configuration needed ### Zynq Device PS Configurations For Zynq devices, use the corresponding PS configuration from the reference TCL files in this skill directory: | Device | Reference File | DDR Freq | FPGA0 Freq | |--------|---------------|----------|------------| | xc7z100ffg900-2 | emv9_atsc3_bd.tcl | 533.33 MHz | 250 MHz | | xc7z035ffg676-2 | ipots_bd.tcl | 266.67 MHz | 50 MHz | | xc7z020cfg400-2 | RF_switch_bd.tcl | 266.67 MHz | 50 MHz | ### PS Configuration Template for Zynq Devices For Zynq devices, add the following Block Design creation with PS configuration to the TCL script: ```tcl # ============================================================================= # Create Block Design with Zynq PS Configuration # ============================================================================= # Create Block Design set design_name "design_1" create_bd_design $design_name # Create Processing System instance set processing_system7_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 ] # Apply PS configuration based on device type # {{PS_CONFIG_PROPERTIES}} # Create interface ports set DDR [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 DDR ] set FIXED_IO [ create_bd_intf_port -mode Master -vlnv xilinx.com:display_processing_system7:fixedio_rtl:1.0 FIXED_IO ] # Connect interfaces connect_bd_intf_net [get_bd_intf_pins processing_system7_0/DDR] [get_bd_intf_ports DDR] connect_bd_intf_net [get_bd_intf_pins processing_system7_0/FIXED_IO] [get_bd_intf_ports FIXED_IO] # Create and connect reset set rst_ps7_0_50M [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 rst_ps7_0_50M ] connect_bd_net [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins rst_ps7_0_50M/slowest_sync_clk] connect_bd_net [get_bd_pins processing_system7_0/FCLK_RESET0_N] [get_bd_pins rst_ps7_0_50M/ext_reset_in] # Save Block Design save_bd_design # Make Block Design available make_wrapper -files [get_files ${design_name}.bd] -top add_files -norecurse {{PROJECT_NAME}}/{{PROJECT_NAME}}.srcs/sources_1/bd/${design_name}/hdl/${design_name}_wrapper.v update_compile_order -fileset sources_1 ``` ### PS Configuration Properties by Device Replace `{{PS_CONFIG_PROPERTIES}}` with the appropriate device configuration: **For xc7z100ffg900-2 (3.0 Exciter):** ```tcl set_property -dict [list \ CONFIG.PCW_ACT_FPGA0_PERIPHERAL_FREQMHZ {250} \ CONFIG.PCW_FPGA0_PERIPHERAL_FREQMHZ {250} \ CONFIG.PCW_FPGA_FCLK0_ENABLE {1} \ CONFIG.PCW_UIPARAM_DDR_FREQ_MHZ {533.333333} \ CONFIG.PCW_UIPARAM_DDR_PARTNO {MT41K256M16 RE-15E} \ CONFIG.PCW_UIPARAM_DDR_DEVICE_CAPACITY {4096 MBits} \ CONFIG.PCW_UIPARAM_DDR_SPEED_BIN {DDR3_1066F} \ CONFIG.PCW_USE_M_AXI_GP0 {1} \ CONFIG.PCW_EN_RST0_PORT {1} \ CONFIG.PCW_EN_CLK0_PORT {1} \ ] $processing_system7_0 ``` **For xc7z035ffg676-2 (ipots):** ```tcl set_property -dict [list \ CONFIG.PCW_ACT_APU_PERIPHERAL_FREQMHZ {666.666687} \ CONFIG.PCW_ACT_CAN_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_DCI_PERIPHERAL_FREQMHZ {10.158730} \ CONFIG.PCW_ACT_ENET0_PERIPHERAL_FREQMHZ {125.000000} \ CONFIG.PCW_ACT_ENET1_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_FPGA0_PERIPHERAL_FREQMHZ {50.000000} \ CONFIG.PCW_ACT_FPGA1_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_FPGA2_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_FPGA3_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_PCAP_PERIPHERAL_FREQMHZ {200.000000} \ CONFIG.PCW_ACT_QSPI_PERIPHERAL_FREQMHZ {200.000000} \ CONFIG.PCW_ACT_SDIO_PERIPHERAL_FREQMHZ {100.000000} \ CONFIG.PCW_ACT_SMC_PERIPHERAL_FREQMHZ {10.000000} \ CONFIG.PCW_ACT_SPI_PERIPHERAL_FREQMHZ {166.666672} \ CONFIG.PCW_ACT_TPIU_PERIPHERAL_FREQMHZ {200.000000} \ CONFIG.PCW_ACT_TTC0_CLK0_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_TTC0_CLK1_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_TTC0_CLK2_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_TTC1_CLK0_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_TTC1_CLK1_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_TTC1_CLK2_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ACT_UART_PERIPHERAL_FREQMHZ {100.000000} \ CONFIG.PCW_ACT_WDT_PERIPHERAL_FREQMHZ {111.111115} \ CONFIG.PCW_ARMPLL_CTRL_FBDIV {40} \ CONFIG.PCW_CAN_PERIPHERAL_DIVISOR0 {1} \ CONFIG.PCW_CAN_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_CLK0_FREQ {50000000} \ CONFIG.PCW_CLK1_FREQ {10000000} \ CONFIG.PCW_CLK2_FREQ {10000000} \ CONFIG.PCW_CLK3_FREQ {10000000} \ CONFIG.PCW_CPU_CPU_PLL_FREQMHZ {1333.333} \ CONFIG.PCW_CPU_PERIPHERAL_DIVISOR0 {2} \ CONFIG.PCW_DCI_PERIPHERAL_DIVISOR0 {15} \ CONFIG.PCW_DCI_PERIPHERAL_DIVISOR1 {7} \ CONFIG.PCW_DDRPLL_CTRL_FBDIV {32} \ CONFIG.PCW_DDR_DDR_PLL_FREQMHZ {1066.667} \ CONFIG.PCW_DDR_PERIPHERAL_DIVISOR0 {4} \ CONFIG.PCW_DDR_RAM_HIGHADDR {0x1FFFFFFF} \ CONFIG.PCW_ENET0_ENET0_IO {MIO 16 .. 27} \ CONFIG.PCW_ENET0_GRP_MDIO_ENABLE {1} \ CONFIG.PCW_ENET0_GRP_MDIO_IO {MIO 52 .. 53} \ CONFIG.PCW_ENET0_PERIPHERAL_CLKSRC {IO PLL} \ CONFIG.PCW_ENET0_PERIPHERAL_DIVISOR0 {8} \ CONFIG.PCW_ENET0_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_ENET0_PERIPHERAL_ENABLE {1} \ CONFIG.PCW_ENET0_PERIPHERAL_FREQMHZ {1000 Mbps} \ CONFIG.PCW_ENET0_RESET_ENABLE {0} \ CONFIG.PCW_ENET1_PERIPHERAL_DIVISOR0 {1} \ CONFIG.PCW_ENET1_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_ENET1_RESET_ENABLE {0} \ CONFIG.PCW_ENET_RESET_ENABLE {0} \ CONFIG.PCW_EN_CLK0_PORT {1} \ CONFIG.PCW_EN_EMIO_CD_SDIO1 {0} \ CONFIG.PCW_EN_EMIO_GPIO {1} \ CONFIG.PCW_EN_EMIO_SDIO1 {0} \ CONFIG.PCW_EN_EMIO_SPI0 {1} \ CONFIG.PCW_EN_EMIO_SPI1 {1} \ CONFIG.PCW_EN_EMIO_UART0 {0} \ CONFIG.PCW_EN_EMIO_WP_SDIO1 {0} \ CONFIG.PCW_EN_ENET0 {1} \ CONFIG.PCW_EN_QSPI {1} \ CONFIG.PCW_EN_RST0_PORT {1} \ CONFIG.PCW_EN_SDIO0 {0} \ CONFIG.PCW_EN_SDIO1 {1} \ CONFIG.PCW_EN_SPI0 {1} \ CONFIG.PCW_EN_SPI1 {1} \ CONFIG.PCW_EN_UART0 {1} \ CONFIG.PCW_EN_UART1 {1} \ CONFIG.PCW_FCLK0_PERIPHERAL_DIVISOR0 {5} \ CONFIG.PCW_FCLK0_PERIPHERAL_DIVISOR1 {4} \ CONFIG.PCW_FCLK1_PERIPHERAL_DIVISOR0 {1} \ CONFIG.PCW_FCLK1_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_FCLK2_PERIPHERAL_DIVISOR0 {1} \ CONFIG.PCW_FCLK2_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_FCLK3_PERIPHERAL_DIVISOR0 {1} \ CONFIG.PCW_FCLK3_PERIPHERAL_DIVISOR1 {1} \ CONFIG.PCW_FCLK_CLK0_BUF {TRUE} \ CONFIG.PCW_FPGA0_PERIPHERAL_FREQMHZ {50} \ CONFIG.PCW_FPGA_FCLK0_ENABLE {1} \ CONFIG.PCW_FPGA_FCLK1_ENABLE {0} \ CONFIG.PCW_FPGA_FCLK2_ENABLE {0} \ CONFIG.PCW_FPGA_FCLK3_ENABLE {0} \ CONFIG.PCW_GPIO_EMIO_GPIO_ENABLE {1} \ CONFIG.PCW_GPIO_EMIO_GPIO_IO {64} \ CONFIG.PCW_GPIO_EMIO_GPIO_WIDTH {64} \ CONFIG.PCW_I2C_PERIPHERAL_FREQMHZ {25} \ CONFIG.PCW_IOPLL_CTRL_FBDIV {30} \ CONFIG.PCW_IO_IO_PLL_FREQMHZ {1000.000} \ CONFIG.PCW_IRQ_F2P_INTR {0} \ CONFIG.PCW_MIO_14_DIRECTION {in} \ CONFIG.PCW_MIO_14_IOTYPE {} \ CONFIG.PCW_MIO_15_PULLUP {enabled} \ CONFIG.PCW_MIO_15_SLEW {slow} \ CONFIG.PCW_MIO_16_DIRECTION {out} \ CONFIG.PCW_MIO_16_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_16_PULLUP {enabled} \ CONFIG.PCW_MIO_16_SLEW {fast} \ CONFIG.PCW_MIO_17_DIRECTION {out} \ CONFIG.PCW_MIO_17_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_17_PULLUP {enabled} \ CONFIG.PCW_MIO_17_SLEW {fast} \ CONFIG.PCW_MIO_18_DIRECTION {out} \ CONFIG.PCW_MIO_18_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_18_PULLUP {enabled} \ CONFIG.PCW_MIO_18_SLEW {fast} \ CONFIG.PCW_MIO_19_DIRECTION {out} \ CONFIG.PCW_MIO_19_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_19_PULLUP {enabled} \ CONFIG.PCW_MIO_19_SLEW {fast} \ CONFIG.PCW_MIO_1_DIRECTION {out} \ CONFIG.PCW_MIO_1_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_1_PULLUP {enabled} \ CONFIG.PCW_MIO_1_SLEW {slow} \ CONFIG.PCW_MIO_20_DIRECTION {out} \ CONFIG.PCW_MIO_20_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_20_PULLUP {enabled} \ CONFIG.PCW_MIO_20_SLEW {fast} \ CONFIG.PCW_MIO_21_DIRECTION {out} \ CONFIG.PCW_MIO_21_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_21_PULLUP {enabled} \ CONFIG.PCW_MIO_21_SLEW {fast} \ CONFIG.PCW_MIO_22_DIRECTION {in} \ CONFIG.PCW_MIO_22_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_22_PULLUP {enabled} \ CONFIG.PCW_MIO_22_SLEW {fast} \ CONFIG.PCW_MIO_23_DIRECTION {in} \ CONFIG.PCW_MIO_23_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_23_PULLUP {enabled} \ CONFIG.PCW_MIO_23_SLEW {fast} \ CONFIG.PCW_MIO_24_DIRECTION {in} \ CONFIG.PCW_MIO_24_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_24_PULLUP {enabled} \ CONFIG.PCW_MIO_24_SLEW {fast} \ CONFIG.PCW_MIO_25_DIRECTION {in} \ CONFIG.PCW_MIO_25_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_25_PULLUP {enabled} \ CONFIG.PCW_MIO_25_SLEW {fast} \ CONFIG.PCW_MIO_26_DIRECTION {in} \ CONFIG.PCW_MIO_26_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_26_PULLUP {enabled} \ CONFIG.PCW_MIO_26_SLEW {fast} \ CONFIG.PCW_MIO_27_DIRECTION {in} \ CONFIG.PCW_MIO_27_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_27_PULLUP {enabled} \ CONFIG.PCW_MIO_27_SLEW {fast} \ CONFIG.PCW_MIO_2_DIRECTION {inout} \ CONFIG.PCW_MIO_2_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_2_PULLUP {disabled} \ CONFIG.PCW_MIO_2_SLEW {slow} \ CONFIG.PCW_MIO_3_DIRECTION {inout} \ CONFIG.PCW_MIO_3_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_3_PULLUP {disabled} \ CONFIG.PCW_MIO_3_SLEW {slow} \ CONFIG.PCW_MIO_40_DIRECTION {inout} \ CONFIG.PCW_MIO_40_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_40_PULLUP {enabled} \ CONFIG.PCW_MIO_40_SLEW {slow} \ CONFIG.PCW_MIO_41_DIRECTION {inout} \ CONFIG.PCW_MIO_41_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_41_PULLUP {enabled} \ CONFIG.PCW_MIO_41_SLEW {slow} \ CONFIG.PCW_MIO_42_DIRECTION {in} \ CONFIG.PCW_MIO_42_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_42_PULLUP {enabled} \ CONFIG.PCW_MIO_42_SLEW {slow} \ CONFIG.PCW_MIO_43_DIRECTION {out} \ CONFIG.PCW_MIO_43_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_43_PULLUP {enabled} \ CONFIG.PCW_MIO_43_SLEW {slow} \ CONFIG.PCW_MIO_44_DIRECTION {out} \ CONFIG.PCW_MIO_44_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_44_PULLUP {enabled} \ CONFIG.PCW_MIO_44_SLEW {slow} \ CONFIG.PCW_MIO_45_DIRECTION {in} \ CONFIG.PCW_MIO_45_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_45_PULLUP {enabled} \ CONFIG.PCW_MIO_45_SLEW {slow} \ CONFIG.PCW_MIO_46_DIRECTION {inout} \ CONFIG.PCW_MIO_46_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_46_PULLUP {enabled} \ CONFIG.PCW_MIO_46_SLEW {slow} \ CONFIG.PCW_MIO_47_DIRECTION {inout} \ CONFIG.PCW_MIO_47_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_47_PULLUP {enabled} \ CONFIG.PCW_MIO_47_SLEW {slow} \ CONFIG.PCW_MIO_48_DIRECTION {inout} \ CONFIG.PCW_MIO_48_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_48_PULLUP {enabled} \ CONFIG.PCW_MIO_48_SLEW {slow} \ CONFIG.PCW_MIO_49_DIRECTION {inout} \ CONFIG.PCW_MIO_49_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_49_PULLUP {enabled} \ CONFIG.PCW_MIO_49_SLEW {slow} \ CONFIG.PCW_MIO_4_DIRECTION {inout} \ CONFIG.PCW_MIO_4_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_4_PULLUP {disabled} \ CONFIG.PCW_MIO_4_SLEW {slow} \ CONFIG.PCW_MIO_50_DIRECTION {inout} \ CONFIG.PCW_MIO_50_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_50_PULLUP {enabled} \ CONFIG.PCW_MIO_50_SLEW {slow} \ CONFIG.PCW_MIO_51_DIRECTION {inout} \ CONFIG.PCW_MIO_51_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_51_PULLUP {enabled} \ CONFIG.PCW_MIO_51_SLEW {slow} \ CONFIG.PCW_MIO_52_DIRECTION {out} \ CONFIG.PCW_MIO_52_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_52_PULLUP {enabled} \ CONFIG.PCW_MIO_52_SLEW {fast} \ CONFIG.PCW_MIO_53_DIRECTION {inout} \ CONFIG.PCW_MIO_53_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_53_PULLUP {enabled} \ CONFIG.PCW_MIO_53_SLEW {fast} \ CONFIG.PCW_MIO_5_DIRECTION {inout} \ CONFIG.PCW_MIO_5_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_5_PULLUP {disabled} \ CONFIG.PCW_MIO_5_SLEW {slow} \ CONFIG.PCW_MIO_6_DIRECTION {out} \ CONFIG.PCW_MIO_6_IOTYPE {LVCMOS 1.8V} \ CONFIG.PCW_MIO_6_PULLUP {disabled} \ CONFIG.PCW_MIO_6_SLEW {slow} \ CONFIG.PCW_MIO_TREE_PERIPHERALS {unassigned#Quad SPI Flash#Quad SPI Flash#Quad SPI Flash#unassigned#Quad SPI Flash#Quad SPI Flash#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#Enet 0#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#UART 0#UART 0#UART 1#UART 1#SD 1#SD 1#SD 1#SD 1#SD 1#SD 1#Enet 0#Enet 0} \ CONFIG.PCW_MIO_TREE_SIGNALS {unassigned#qspi0_ss_b#qspi0_io[0]#qspi0_io[1]#unassigned#qspi0_io[3]/HOLD_B#qspi0_sclk#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#tx_clk#txd[0]#txd[1]#txd[2]#txd[3]#tx_ctl#rx_clk#rxd[0]#rxd[1]#rxd[2]#rxd[3]#rx_ctl#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#unassigned#rx#tx#tx#rx#data[0]#cmd#clk#data[1]#data[2]#data[3]#mdc#mdio} \ CONFIG.PCW_NAND_GRP_D8_ENABLE {0} \ CONFIG.PCW_NAND_PERIPHERAL_ENABLE {0} \ CONFIG.PCW_NOR_GRP_A25_ENABLE {0} \ CONFIG.PCW_NOR_GRP_CS0_ENABLE {0} \ CONFIG.PCW_NOR_GRP_CS1_ENABLE {0} \ CONFIG.PCW_NOR_GRP_SRAM_CS0_ENABLE {0} \ CONFIG.PCW_NOR_GRP_SRAM_CS1_ENABLE {0} \ CONFIG.PCW_NOR_GRP_SRAM_INT_ENABLE {0} \ CONFIG.PCW_NOR_PERIPHERAL_ENABLE {0} \ CONFIG.PCW_PCAP_PERIPHERAL_DIVISOR0 {5} \ CONFIG.PCW_PJTAG_PERIPHERAL_ENABLE {0} \ CONFIG.PCW_PRESET_BANK0_VOLTAGE {LVCMOS 1.8V} \ CONFIG.PCW_PRESET_BANK1_VOLTAGE {LVCMOS 1.8V} \ CONFIG.PCW_QSPI_GRP_FBCLK_ENABLE {0} \ CONFIG.PCW_QSPI_GRP_IO1_ENABLE {0} \ CONFIG.PCW_QSPI_GRP_SINGLE_SS_ENABLE {1} \ CONFIG.PCW_QSPI_GRP_SINGLE_SS_IO {MIO 1 .. 6} \ CONFIG.PCW_QSPI_GRP_SS1_ENABLE {0} \ CONFIG.PCW_QSPI_PERIPHERAL_DIVISOR0 {5} \ CONFIG.PCW_QSPI_PERIPHERAL_ENABLE {1} \ CONFIG.PCW_QSPI_PERIPHERAL_FREQMHZ {200} \ CONFIG.PCW_QSPI_QSPI_IO {MIO 1 .. 6} \ CONFIG.PCW_SD0_GRP_CD_ENABLE {0} \ CONFIG.PCW_SD0_GRP_POW_ENABLE {0} \ CONFIG.PCW_SD0_GRP_WP_ENABLE {0} \ CONFIG.PCW_SD0_PERIPHERAL_ENABLE {0} \ CONFIG.PCW_SD0_SD0_IO {