From fe227d1b61713c4fcc44a922c587642e6eddfe2a Mon Sep 17 00:00:00 2001 From: Waylon Cude Date: Mon, 9 Jun 2025 15:41:13 -0700 Subject: [PATCH] Broken SD card How tf did it break bro --- .gitignore | 2 + Nexys-A7-100T-Master.xdc | 214 +++++----- SDVD.xpr | 57 ++- design/modular_clock_gen.sv | 8 +- design/nexys_a7_top.sv | 40 +- design/sd/read_command.sv | 21 +- design/sd/read_data.sv | 1 + design/sd/sd_controller.sv | 391 ++++++++++++++++++ design/sd/send_command.sv | 12 +- .../segment_display/display_anode_driver.sv | 4 + doc/bugs.md | 8 + doc/sd_controller.gv | 136 ++++++ doc/sd_controller.png | Bin 0 -> 626761 bytes roms/even_flow_16_full.raw | Bin 0 -> 28150416 bytes verification/sd/sd_controller_tb.sv | 45 ++ .../sd_controller_tb_behav.wcfg | 67 +++ 16 files changed, 871 insertions(+), 135 deletions(-) create mode 100644 design/sd/sd_controller.sv create mode 100644 doc/sd_controller.gv create mode 100644 doc/sd_controller.png create mode 100644 roms/even_flow_16_full.raw create mode 100644 verification/sd/sd_controller_tb.sv create mode 100644 verification/waveform_configs/sd_controller_tb_behav.wcfg diff --git a/.gitignore b/.gitignore index 7fc2f9d..2e2d7b5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ *.log xsim.dir SDVD.* +.Xil/ +vivado_pid* !SDVD.xpr diff --git a/Nexys-A7-100T-Master.xdc b/Nexys-A7-100T-Master.xdc index 4594645..04dbf8a 100644 --- a/Nexys-A7-100T-Master.xdc +++ b/Nexys-A7-100T-Master.xdc @@ -153,14 +153,14 @@ set_property -dict {PACKAGE_PIN M17 IOSTANDARD LVCMOS33} [get_ports BTNR] #set_property -dict { PACKAGE_PIN B12 IOSTANDARD LVCMOS33 } [get_ports { VGA_VS }]; #IO_L3N_T0_DQS_AD1N_15 Sch=vga_vs ##Micro SD Connector -#set_property -dict { PACKAGE_PIN E2 IOSTANDARD LVCMOS33 } [get_ports { SD_RESET }]; #IO_L14P_T2_SRCC_35 Sch=sd_reset -#set_property -dict { PACKAGE_PIN A1 IOSTANDARD LVCMOS33 } [get_ports { SD_CD }]; #IO_L9N_T1_DQS_AD7N_35 Sch=sd_cd -#set_property -dict { PACKAGE_PIN B1 IOSTANDARD LVCMOS33 } [get_ports { SD_SCK }]; #IO_L9P_T1_DQS_AD7P_35 Sch=sd_sck -#set_property -dict { PACKAGE_PIN C1 IOSTANDARD LVCMOS33 } [get_ports { SD_CMD }]; #IO_L16N_T2_35 Sch=sd_cmd -#set_property -dict { PACKAGE_PIN C2 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[0] }]; #IO_L16P_T2_35 Sch=sd_dat[0] -#set_property -dict { PACKAGE_PIN E1 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[1] }]; #IO_L18N_T2_35 Sch=sd_dat[1] -#set_property -dict { PACKAGE_PIN F1 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[2] }]; #IO_L18P_T2_35 Sch=sd_dat[2] -#set_property -dict { PACKAGE_PIN D2 IOSTANDARD LVCMOS33 } [get_ports { SD_DAT[3] }]; #IO_L14N_T2_SRCC_35 Sch=sd_dat[3] +set_property -dict {PACKAGE_PIN E2 IOSTANDARD LVCMOS33} [get_ports SD_RESET] +set_property -dict {PACKAGE_PIN A1 IOSTANDARD LVCMOS33} [get_ports SD_CD] +set_property -dict {PACKAGE_PIN B1 IOSTANDARD LVCMOS33} [get_ports SD_SCK] +set_property -dict {PACKAGE_PIN C1 IOSTANDARD LVCMOS33} [get_ports SD_CMD] +set_property -dict {PACKAGE_PIN C2 IOSTANDARD LVCMOS33} [get_ports {SD_DAT[0]}] +set_property -dict {PACKAGE_PIN E1 IOSTANDARD LVCMOS33} [get_ports {SD_DAT[1]}] +set_property -dict {PACKAGE_PIN F1 IOSTANDARD LVCMOS33} [get_ports {SD_DAT[2]}] +set_property -dict {PACKAGE_PIN D2 IOSTANDARD LVCMOS33} [get_ports {SD_DAT[3]}] ##Accelerometer #set_property -dict { PACKAGE_PIN E15 IOSTANDARD LVCMOS33 } [get_ports { ACL_MISO }]; #IO_L11P_T1_SRCC_15 Sch=acl_miso @@ -217,137 +217,127 @@ set_property -dict {PACKAGE_PIN D12 IOSTANDARD LVCMOS33} [get_ports AUD_SD] #set_property -dict { PACKAGE_PIN L13 IOSTANDARD LVCMOS33 } [get_ports { QSPI_CSN }]; #IO_L6P_T0_FCS_B_14 Sch=qspi_csn -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[4]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[0]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[1]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[2]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[3]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[5]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[6]}] -set_property MARK_DEBUG true [get_nets {audioOutput/pulse_counter_reg[7]}] -set_property MARK_DEBUG true [get_nets audioOutput/AUD_PWM_TRI] -set_property MARK_DEBUG true [get_nets {audioOutput/D[3]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[4]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[5]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[0]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[2]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[6]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[7]}] -set_property MARK_DEBUG true [get_nets {audioOutput/D[1]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[5]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[6]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[7]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[0]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[1]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[2]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[3]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/rom_data[4]}] -set_property MARK_DEBUG true [get_nets romSdPlayer/rom_addr] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[5]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[0]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[1]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[2]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[3]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[4]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[6]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[7]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[8]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[9]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/audio_interface\\.addra[10]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[17]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[5]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[1]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[2]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[12]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[14]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[13]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[15]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[3]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[4]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[6]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[7]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[18]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[16]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[8]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[9]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[10]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/in7[11]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[10]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[0]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[1]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[2]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[3]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[5]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[6]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[13]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[7]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[8]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[9]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[14]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[11]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[12]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[15]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[4]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[16]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[17]}] -set_property MARK_DEBUG true [get_nets {romSdPlayer/xpm_memory_sprom_inst/addra[18]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[0]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[4]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[3]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[8]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[1]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[2]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[9]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[5]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[6]}] -set_property MARK_DEBUG true [get_nets {audioBuffer/buffer/addrb[7]}] -set_property MARK_DEBUG true [get_nets audioClock_n_0] +connect_debug_port u_ila_0/probe2 [get_nets [list {realSdPlayer/address[0]} {realSdPlayer/address[1]} {realSdPlayer/address[2]} {realSdPlayer/address[3]} {realSdPlayer/address[4]} {realSdPlayer/address[5]} {realSdPlayer/address[6]} {realSdPlayer/address[7]} {realSdPlayer/address[8]} {realSdPlayer/address[9]} {realSdPlayer/address[10]} {realSdPlayer/address[11]} {realSdPlayer/address[12]} {realSdPlayer/address[13]} {realSdPlayer/address[14]} {realSdPlayer/address[15]} {realSdPlayer/address[16]} {realSdPlayer/address[17]} {realSdPlayer/address[18]} {realSdPlayer/address[19]} {realSdPlayer/address[20]} {realSdPlayer/address[21]} {realSdPlayer/address[22]} {realSdPlayer/address[23]} {realSdPlayer/address[24]} {realSdPlayer/address[25]} {realSdPlayer/address[26]} {realSdPlayer/address[27]} {realSdPlayer/address[28]} {realSdPlayer/address[29]} {realSdPlayer/address[30]} {realSdPlayer/address[31]}]] + + +set_property MARK_DEBUG true [get_nets reset] + + + + + + + +connect_debug_port u_ila_0/probe4 [get_nets [list {realSdPlayer/reader/next_state[0]} {realSdPlayer/reader/next_state[1]} {realSdPlayer/reader/next_state[2]}]] +connect_debug_port u_ila_0/probe7 [get_nets [list {realSdPlayer/reader/state[0]} {realSdPlayer/reader/state[1]} {realSdPlayer/reader/state[2]}]] + +connect_debug_port u_ila_0/probe6 [get_nets [list {realSdPlayer/sender/to_send[0]} {realSdPlayer/sender/to_send[1]} {realSdPlayer/sender/to_send[2]} {realSdPlayer/sender/to_send[3]} {realSdPlayer/sender/to_send[4]} {realSdPlayer/sender/to_send[5]} {realSdPlayer/sender/to_send[6]} {realSdPlayer/sender/to_send[7]} {realSdPlayer/sender/to_send[8]} {realSdPlayer/sender/to_send[9]} {realSdPlayer/sender/to_send[10]} {realSdPlayer/sender/to_send[11]} {realSdPlayer/sender/to_send[12]} {realSdPlayer/sender/to_send[13]} {realSdPlayer/sender/to_send[14]} {realSdPlayer/sender/to_send[15]} {realSdPlayer/sender/to_send[16]} {realSdPlayer/sender/to_send[17]} {realSdPlayer/sender/to_send[18]} {realSdPlayer/sender/to_send[19]} {realSdPlayer/sender/to_send[20]} {realSdPlayer/sender/to_send[21]} {realSdPlayer/sender/to_send[22]} {realSdPlayer/sender/to_send[23]} {realSdPlayer/sender/to_send[24]} {realSdPlayer/sender/to_send[25]} {realSdPlayer/sender/to_send[26]} {realSdPlayer/sender/to_send[27]} {realSdPlayer/sender/to_send[28]} {realSdPlayer/sender/to_send[29]} {realSdPlayer/sender/to_send[30]} {realSdPlayer/sender/to_send[31]} {realSdPlayer/sender/to_send[32]} {realSdPlayer/sender/to_send[33]} {realSdPlayer/sender/to_send[34]} {realSdPlayer/sender/to_send[35]} {realSdPlayer/sender/to_send[36]} {realSdPlayer/sender/to_send[37]} {realSdPlayer/sender/to_send[38]} {realSdPlayer/sender/to_send[39]} {realSdPlayer/sender/to_send[40]} {realSdPlayer/sender/to_send[41]} {realSdPlayer/sender/to_send[42]} {realSdPlayer/sender/to_send[43]} {realSdPlayer/sender/to_send[44]} {realSdPlayer/sender/to_send[45]} {realSdPlayer/sender/to_send[46]} {realSdPlayer/sender/to_send[47]}]] + +set_property MARK_DEBUG true [get_nets realSdPlayer/fast_clk] +connect_debug_port u_ila_0/probe8 [get_nets [list {realSdPlayer/fastSender/to_send[0]} {realSdPlayer/fastSender/to_send[1]} {realSdPlayer/fastSender/to_send[2]} {realSdPlayer/fastSender/to_send[3]} {realSdPlayer/fastSender/to_send[4]} {realSdPlayer/fastSender/to_send[5]} {realSdPlayer/fastSender/to_send[6]} {realSdPlayer/fastSender/to_send[7]} {realSdPlayer/fastSender/to_send[8]} {realSdPlayer/fastSender/to_send[9]} {realSdPlayer/fastSender/to_send[10]} {realSdPlayer/fastSender/to_send[11]} {realSdPlayer/fastSender/to_send[12]} {realSdPlayer/fastSender/to_send[13]} {realSdPlayer/fastSender/to_send[14]} {realSdPlayer/fastSender/to_send[15]} {realSdPlayer/fastSender/to_send[16]} {realSdPlayer/fastSender/to_send[17]} {realSdPlayer/fastSender/to_send[18]} {realSdPlayer/fastSender/to_send[19]} {realSdPlayer/fastSender/to_send[20]} {realSdPlayer/fastSender/to_send[21]} {realSdPlayer/fastSender/to_send[22]} {realSdPlayer/fastSender/to_send[23]} {realSdPlayer/fastSender/to_send[24]} {realSdPlayer/fastSender/to_send[25]} {realSdPlayer/fastSender/to_send[26]} {realSdPlayer/fastSender/to_send[27]} {realSdPlayer/fastSender/to_send[28]} {realSdPlayer/fastSender/to_send[29]} {realSdPlayer/fastSender/to_send[30]} {realSdPlayer/fastSender/to_send[31]} {realSdPlayer/fastSender/to_send[32]} {realSdPlayer/fastSender/to_send[33]} {realSdPlayer/fastSender/to_send[34]} {realSdPlayer/fastSender/to_send[35]} {realSdPlayer/fastSender/to_send[36]} {realSdPlayer/fastSender/to_send[37]} {realSdPlayer/fastSender/to_send[38]} {realSdPlayer/fastSender/to_send[39]} {realSdPlayer/fastSender/to_send[40]} {realSdPlayer/fastSender/to_send[41]} {realSdPlayer/fastSender/to_send[42]} {realSdPlayer/fastSender/to_send[43]} {realSdPlayer/fastSender/to_send[44]} {realSdPlayer/fastSender/to_send[45]} {realSdPlayer/fastSender/to_send[46]} {realSdPlayer/fastSender/to_send[47]}]] +connect_debug_port u_ila_0/probe19 [get_nets [list realSdPlayer/send_command_ready_fast]] +connect_debug_port u_ila_0/probe21 [get_nets [list realSdPlayer/send_command_start_fast]] + + +set_property MARK_DEBUG true [get_nets realSdPlayer/sd_cmd_OBUF] create_debug_core u_ila_0 ila set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0] -set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] +set_property ALL_PROBE_SAME_MU_CNT 2 [get_debug_cores u_ila_0] set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0] set_property C_DATA_DEPTH 16384 [get_debug_cores u_ila_0] -set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0] +set_property C_EN_STRG_QUAL true [get_debug_cores u_ila_0] set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0] set_property C_TRIGIN_EN false [get_debug_cores u_ila_0] set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0] set_property port_width 1 [get_debug_ports u_ila_0/clk] connect_debug_port u_ila_0/clk [get_nets [list CLK100MHZ_IBUF_BUFG]] set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe0] -set_property port_width 8 [get_debug_ports u_ila_0/probe0] -connect_debug_port u_ila_0/probe0 [get_nets [list {audioOutput/D[0]} {audioOutput/D[1]} {audioOutput/D[2]} {audioOutput/D[3]} {audioOutput/D[4]} {audioOutput/D[5]} {audioOutput/D[6]} {audioOutput/D[7]}]] +set_property port_width 6 [get_debug_ports u_ila_0/probe0] +connect_debug_port u_ila_0/probe0 [get_nets [list {realSdPlayer/next_state[0]} {realSdPlayer/next_state[1]} {realSdPlayer/next_state[2]} {realSdPlayer/next_state[3]} {realSdPlayer/next_state[4]} {realSdPlayer/next_state[5]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe1] -set_property port_width 18 [get_debug_ports u_ila_0/probe1] -connect_debug_port u_ila_0/probe1 [get_nets [list {romSdPlayer/in7[1]} {romSdPlayer/in7[2]} {romSdPlayer/in7[3]} {romSdPlayer/in7[4]} {romSdPlayer/in7[5]} {romSdPlayer/in7[6]} {romSdPlayer/in7[7]} {romSdPlayer/in7[8]} {romSdPlayer/in7[9]} {romSdPlayer/in7[10]} {romSdPlayer/in7[11]} {romSdPlayer/in7[12]} {romSdPlayer/in7[13]} {romSdPlayer/in7[14]} {romSdPlayer/in7[15]} {romSdPlayer/in7[16]} {romSdPlayer/in7[17]} {romSdPlayer/in7[18]}]] +set_property port_width 6 [get_debug_ports u_ila_0/probe1] +connect_debug_port u_ila_0/probe1 [get_nets [list {realSdPlayer/state[0]} {realSdPlayer/state[1]} {realSdPlayer/state[2]} {realSdPlayer/state[3]} {realSdPlayer/state[4]} {realSdPlayer/state[5]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe2] -set_property port_width 8 [get_debug_ports u_ila_0/probe2] -connect_debug_port u_ila_0/probe2 [get_nets [list {romSdPlayer/rom_data[0]} {romSdPlayer/rom_data[1]} {romSdPlayer/rom_data[2]} {romSdPlayer/rom_data[3]} {romSdPlayer/rom_data[4]} {romSdPlayer/rom_data[5]} {romSdPlayer/rom_data[6]} {romSdPlayer/rom_data[7]}]] +set_property port_width 11 [get_debug_ports u_ila_0/probe2] +connect_debug_port u_ila_0/probe2 [get_nets [list {realSdPlayer/dataHandler/buffer\\.addra[0]} {realSdPlayer/dataHandler/buffer\\.addra[1]} {realSdPlayer/dataHandler/buffer\\.addra[2]} {realSdPlayer/dataHandler/buffer\\.addra[3]} {realSdPlayer/dataHandler/buffer\\.addra[4]} {realSdPlayer/dataHandler/buffer\\.addra[5]} {realSdPlayer/dataHandler/buffer\\.addra[6]} {realSdPlayer/dataHandler/buffer\\.addra[7]} {realSdPlayer/dataHandler/buffer\\.addra[8]} {realSdPlayer/dataHandler/buffer\\.addra[9]} {realSdPlayer/dataHandler/buffer\\.addra[10]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe3] -set_property port_width 11 [get_debug_ports u_ila_0/probe3] -connect_debug_port u_ila_0/probe3 [get_nets [list {romSdPlayer/audio_interface\\.addra[0]} {romSdPlayer/audio_interface\\.addra[1]} {romSdPlayer/audio_interface\\.addra[2]} {romSdPlayer/audio_interface\\.addra[3]} {romSdPlayer/audio_interface\\.addra[4]} {romSdPlayer/audio_interface\\.addra[5]} {romSdPlayer/audio_interface\\.addra[6]} {romSdPlayer/audio_interface\\.addra[7]} {romSdPlayer/audio_interface\\.addra[8]} {romSdPlayer/audio_interface\\.addra[9]} {romSdPlayer/audio_interface\\.addra[10]}]] +set_property port_width 32 [get_debug_ports u_ila_0/probe3] +connect_debug_port u_ila_0/probe3 [get_nets [list {realSdPlayer/arg[0]} {realSdPlayer/arg[1]} {realSdPlayer/arg[2]} {realSdPlayer/arg[3]} {realSdPlayer/arg[4]} {realSdPlayer/arg[5]} {realSdPlayer/arg[6]} {realSdPlayer/arg[7]} {realSdPlayer/arg[8]} {realSdPlayer/arg[9]} {realSdPlayer/arg[10]} {realSdPlayer/arg[11]} {realSdPlayer/arg[12]} {realSdPlayer/arg[13]} {realSdPlayer/arg[14]} {realSdPlayer/arg[15]} {realSdPlayer/arg[16]} {realSdPlayer/arg[17]} {realSdPlayer/arg[18]} {realSdPlayer/arg[19]} {realSdPlayer/arg[20]} {realSdPlayer/arg[21]} {realSdPlayer/arg[22]} {realSdPlayer/arg[23]} {realSdPlayer/arg[24]} {realSdPlayer/arg[25]} {realSdPlayer/arg[26]} {realSdPlayer/arg[27]} {realSdPlayer/arg[28]} {realSdPlayer/arg[29]} {realSdPlayer/arg[30]} {realSdPlayer/arg[31]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe4] -set_property port_width 8 [get_debug_ports u_ila_0/probe4] -connect_debug_port u_ila_0/probe4 [get_nets [list {audioOutput/pulse_counter_reg[0]} {audioOutput/pulse_counter_reg[1]} {audioOutput/pulse_counter_reg[2]} {audioOutput/pulse_counter_reg[3]} {audioOutput/pulse_counter_reg[4]} {audioOutput/pulse_counter_reg[5]} {audioOutput/pulse_counter_reg[6]} {audioOutput/pulse_counter_reg[7]}]] +set_property port_width 48 [get_debug_ports u_ila_0/probe4] +connect_debug_port u_ila_0/probe4 [get_nets [list {realSdPlayer/received_data[0]} {realSdPlayer/received_data[1]} {realSdPlayer/received_data[2]} {realSdPlayer/received_data[3]} {realSdPlayer/received_data[4]} {realSdPlayer/received_data[5]} {realSdPlayer/received_data[6]} {realSdPlayer/received_data[7]} {realSdPlayer/received_data[8]} {realSdPlayer/received_data[9]} {realSdPlayer/received_data[10]} {realSdPlayer/received_data[11]} {realSdPlayer/received_data[12]} {realSdPlayer/received_data[13]} {realSdPlayer/received_data[14]} {realSdPlayer/received_data[15]} {realSdPlayer/received_data[16]} {realSdPlayer/received_data[17]} {realSdPlayer/received_data[18]} {realSdPlayer/received_data[19]} {realSdPlayer/received_data[20]} {realSdPlayer/received_data[21]} {realSdPlayer/received_data[22]} {realSdPlayer/received_data[23]} {realSdPlayer/received_data[24]} {realSdPlayer/received_data[25]} {realSdPlayer/received_data[26]} {realSdPlayer/received_data[27]} {realSdPlayer/received_data[28]} {realSdPlayer/received_data[29]} {realSdPlayer/received_data[30]} {realSdPlayer/received_data[31]} {realSdPlayer/received_data[32]} {realSdPlayer/received_data[33]} {realSdPlayer/received_data[34]} {realSdPlayer/received_data[35]} {realSdPlayer/received_data[36]} {realSdPlayer/received_data[37]} {realSdPlayer/received_data[38]} {realSdPlayer/received_data[39]} {realSdPlayer/received_data[40]} {realSdPlayer/received_data[41]} {realSdPlayer/received_data[42]} {realSdPlayer/received_data[43]} {realSdPlayer/received_data[44]} {realSdPlayer/received_data[45]} {realSdPlayer/received_data[46]} {realSdPlayer/received_data[47]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe5] -set_property port_width 19 [get_debug_ports u_ila_0/probe5] -connect_debug_port u_ila_0/probe5 [get_nets [list {romSdPlayer/xpm_memory_sprom_inst/addra[0]} {romSdPlayer/xpm_memory_sprom_inst/addra[1]} {romSdPlayer/xpm_memory_sprom_inst/addra[2]} {romSdPlayer/xpm_memory_sprom_inst/addra[3]} {romSdPlayer/xpm_memory_sprom_inst/addra[4]} {romSdPlayer/xpm_memory_sprom_inst/addra[5]} {romSdPlayer/xpm_memory_sprom_inst/addra[6]} {romSdPlayer/xpm_memory_sprom_inst/addra[7]} {romSdPlayer/xpm_memory_sprom_inst/addra[8]} {romSdPlayer/xpm_memory_sprom_inst/addra[9]} {romSdPlayer/xpm_memory_sprom_inst/addra[10]} {romSdPlayer/xpm_memory_sprom_inst/addra[11]} {romSdPlayer/xpm_memory_sprom_inst/addra[12]} {romSdPlayer/xpm_memory_sprom_inst/addra[13]} {romSdPlayer/xpm_memory_sprom_inst/addra[14]} {romSdPlayer/xpm_memory_sprom_inst/addra[15]} {romSdPlayer/xpm_memory_sprom_inst/addra[16]} {romSdPlayer/xpm_memory_sprom_inst/addra[17]} {romSdPlayer/xpm_memory_sprom_inst/addra[18]}]] +set_property port_width 48 [get_debug_ports u_ila_0/probe5] +connect_debug_port u_ila_0/probe5 [get_nets [list {realSdPlayer/slowSender/to_send[0]} {realSdPlayer/slowSender/to_send[1]} {realSdPlayer/slowSender/to_send[2]} {realSdPlayer/slowSender/to_send[3]} {realSdPlayer/slowSender/to_send[4]} {realSdPlayer/slowSender/to_send[5]} {realSdPlayer/slowSender/to_send[6]} {realSdPlayer/slowSender/to_send[7]} {realSdPlayer/slowSender/to_send[8]} {realSdPlayer/slowSender/to_send[9]} {realSdPlayer/slowSender/to_send[10]} {realSdPlayer/slowSender/to_send[11]} {realSdPlayer/slowSender/to_send[12]} {realSdPlayer/slowSender/to_send[13]} {realSdPlayer/slowSender/to_send[14]} {realSdPlayer/slowSender/to_send[15]} {realSdPlayer/slowSender/to_send[16]} {realSdPlayer/slowSender/to_send[17]} {realSdPlayer/slowSender/to_send[18]} {realSdPlayer/slowSender/to_send[19]} {realSdPlayer/slowSender/to_send[20]} {realSdPlayer/slowSender/to_send[21]} {realSdPlayer/slowSender/to_send[22]} {realSdPlayer/slowSender/to_send[23]} {realSdPlayer/slowSender/to_send[24]} {realSdPlayer/slowSender/to_send[25]} {realSdPlayer/slowSender/to_send[26]} {realSdPlayer/slowSender/to_send[27]} {realSdPlayer/slowSender/to_send[28]} {realSdPlayer/slowSender/to_send[29]} {realSdPlayer/slowSender/to_send[30]} {realSdPlayer/slowSender/to_send[31]} {realSdPlayer/slowSender/to_send[32]} {realSdPlayer/slowSender/to_send[33]} {realSdPlayer/slowSender/to_send[34]} {realSdPlayer/slowSender/to_send[35]} {realSdPlayer/slowSender/to_send[36]} {realSdPlayer/slowSender/to_send[37]} {realSdPlayer/slowSender/to_send[38]} {realSdPlayer/slowSender/to_send[39]} {realSdPlayer/slowSender/to_send[40]} {realSdPlayer/slowSender/to_send[41]} {realSdPlayer/slowSender/to_send[42]} {realSdPlayer/slowSender/to_send[43]} {realSdPlayer/slowSender/to_send[44]} {realSdPlayer/slowSender/to_send[45]} {realSdPlayer/slowSender/to_send[46]} {realSdPlayer/slowSender/to_send[47]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe6] -set_property port_width 10 [get_debug_ports u_ila_0/probe6] -connect_debug_port u_ila_0/probe6 [get_nets [list {audioBuffer/buffer/addrb[0]} {audioBuffer/buffer/addrb[1]} {audioBuffer/buffer/addrb[2]} {audioBuffer/buffer/addrb[3]} {audioBuffer/buffer/addrb[4]} {audioBuffer/buffer/addrb[5]} {audioBuffer/buffer/addrb[6]} {audioBuffer/buffer/addrb[7]} {audioBuffer/buffer/addrb[8]} {audioBuffer/buffer/addrb[9]}]] +set_property port_width 8 [get_debug_ports u_ila_0/probe6] +connect_debug_port u_ila_0/probe6 [get_nets [list {realSdPlayer/dataHandler/buffer\\.dina[0]} {realSdPlayer/dataHandler/buffer\\.dina[1]} {realSdPlayer/dataHandler/buffer\\.dina[2]} {realSdPlayer/dataHandler/buffer\\.dina[3]} {realSdPlayer/dataHandler/buffer\\.dina[4]} {realSdPlayer/dataHandler/buffer\\.dina[5]} {realSdPlayer/dataHandler/buffer\\.dina[6]} {realSdPlayer/dataHandler/buffer\\.dina[7]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe7] -set_property port_width 1 [get_debug_ports u_ila_0/probe7] -connect_debug_port u_ila_0/probe7 [get_nets [list audioOutput/AUD_PWM_TRI]] +set_property port_width 6 [get_debug_ports u_ila_0/probe7] +connect_debug_port u_ila_0/probe7 [get_nets [list {realSdPlayer/cmd[0]} {realSdPlayer/cmd[1]} {realSdPlayer/cmd[2]} {realSdPlayer/cmd[3]} {realSdPlayer/cmd[4]} {realSdPlayer/cmd[5]}]] create_debug_port u_ila_0 probe set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe8] set_property port_width 1 [get_debug_ports u_ila_0/probe8] -connect_debug_port u_ila_0/probe8 [get_nets [list romSdPlayer/rom_addr]] +connect_debug_port u_ila_0/probe8 [get_nets [list {realSdPlayer/dataHandler/buffer\\.address_half}]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe9] +set_property port_width 1 [get_debug_ports u_ila_0/probe9] +connect_debug_port u_ila_0/probe9 [get_nets [list {realSdPlayer/dataHandler/buffer\\.clka}]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe10] +set_property port_width 1 [get_debug_ports u_ila_0/probe10] +connect_debug_port u_ila_0/probe10 [get_nets [list {realSdPlayer/dataHandler/buffer\\.ena}]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe11] +set_property port_width 1 [get_debug_ports u_ila_0/probe11] +connect_debug_port u_ila_0/probe11 [get_nets [list realSdPlayer/fast_clk]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe12] +set_property port_width 1 [get_debug_ports u_ila_0/probe12] +connect_debug_port u_ila_0/probe12 [get_nets [list realSdPlayer/fast_clk_enable]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe13] +set_property port_width 1 [get_debug_ports u_ila_0/probe13] +connect_debug_port u_ila_0/probe13 [get_nets [list realSdPlayer/read_command_listen]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe14] +set_property port_width 1 [get_debug_ports u_ila_0/probe14] +connect_debug_port u_ila_0/probe14 [get_nets [list realSdPlayer/read_command_received]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe15] +set_property port_width 1 [get_debug_ports u_ila_0/probe15] +connect_debug_port u_ila_0/probe15 [get_nets [list reset]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe16] +set_property port_width 1 [get_debug_ports u_ila_0/probe16] +connect_debug_port u_ila_0/probe16 [get_nets [list realSdPlayer/sd_data]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe17] +set_property port_width 1 [get_debug_ports u_ila_0/probe17] +connect_debug_port u_ila_0/probe17 [get_nets [list realSdPlayer/send_command_ready]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe18] +set_property port_width 1 [get_debug_ports u_ila_0/probe18] +connect_debug_port u_ila_0/probe18 [get_nets [list realSdPlayer/send_command_start]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe19] +set_property port_width 1 [get_debug_ports u_ila_0/probe19] +connect_debug_port u_ila_0/probe19 [get_nets [list realSdPlayer/slowSender/send_sd_cmd]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe20] +set_property port_width 1 [get_debug_ports u_ila_0/probe20] +connect_debug_port u_ila_0/probe20 [get_nets [list realSdPlayer/slow_clk]] +create_debug_port u_ila_0 probe +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe21] +set_property port_width 1 [get_debug_ports u_ila_0/probe21] +connect_debug_port u_ila_0/probe21 [get_nets [list realSdPlayer/stored_sd_cmd]] set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub] set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub] set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub] diff --git a/SDVD.xpr b/SDVD.xpr index 77e9825..1a994a6 100644 --- a/SDVD.xpr +++ b/SDVD.xpr @@ -45,7 +45,7 @@