Update to work at 180MHz

This commit is contained in:
2025-05-26 14:08:08 +02:00
parent 0b9c06d11e
commit d4f2772027
12 changed files with 1028 additions and 408 deletions

View File

@@ -1,8 +1,8 @@
--Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
----------------------------------------------------------------------------------
--Tool Version: Vivado v.2020.2 (win64) Build 3064766 Wed Nov 18 09:12:45 MST 2020
--Date : Fri May 23 16:56:48 2025
--Host : Davide-Samsung running 64-bit major release (build 9200)
--Date : Mon May 26 12:51:36 2025
--Host : DavideASUS running 64-bit major release (build 9200)
--Command : generate_target lab_3_wrapper.bd
--Design : lab_3_wrapper
--Purpose : IP block netlist
@@ -48,6 +48,7 @@ architecture STRUCTURE of lab_3_wrapper is
tx_mclk_0 : out STD_LOGIC;
lfo_enable : in STD_LOGIC;
effect : in STD_LOGIC;
LED : out STD_LOGIC_VECTOR ( 15 downto 0 );
SPI_M_0_sck_t : out STD_LOGIC;
SPI_M_0_io1_o : out STD_LOGIC;
SPI_M_0_ss_t : out STD_LOGIC;
@@ -59,8 +60,7 @@ architecture STRUCTURE of lab_3_wrapper is
SPI_M_0_sck_o : out STD_LOGIC;
SPI_M_0_ss_i : in STD_LOGIC;
SPI_M_0_io1_i : in STD_LOGIC;
SPI_M_0_io0_i : in STD_LOGIC;
LED : out STD_LOGIC_VECTOR ( 15 downto 0 )
SPI_M_0_io0_i : in STD_LOGIC
);
end component lab_3;
component IOBUF is

View File

@@ -6,8 +6,7 @@
"name": "lab_3",
"rev_ctrl_bd_flag": "RevCtrlBdOff",
"synth_flow_mode": "None",
"tool_version": "2020.2",
"validated": "true"
"tool_version": "2020.2"
},
"design_tree": {
"clk_wiz_0": "",
@@ -25,8 +24,8 @@
"effect_selector_0": "",
"led_level_controller_0": "",
"led_controller_0": "",
"moving_average_filte_0": "",
"mute_controller_0": "",
"moving_average_filte_0": "",
"LFO_0": ""
},
"interface_ports": {
@@ -40,21 +39,9 @@
"type": "clk",
"direction": "I",
"parameters": {
"CLK_DOMAIN": {
"value": "lab_3_sys_clock",
"value_src": "default"
},
"FREQ_HZ": {
"value": "100000000"
},
"FREQ_TOLERANCE_HZ": {
"value": "0",
"value_src": "default"
},
"INSERT_VIP": {
"value": "0",
"value_src": "default"
},
"PHASE": {
"value": "0.000"
}
@@ -64,10 +51,6 @@
"type": "rst",
"direction": "I",
"parameters": {
"INSERT_VIP": {
"value": "0",
"value_src": "default"
},
"POLARITY": {
"value": "ACTIVE_HIGH"
}
@@ -117,19 +100,19 @@
"inst_hier_path": "clk_wiz_0",
"parameters": {
"CLKOUT1_JITTER": {
"value": "149.337"
"value": "224.262"
},
"CLKOUT1_PHASE_ERROR": {
"value": "122.577"
"value": "296.868"
},
"CLKOUT1_REQUESTED_OUT_FREQ": {
"value": "100"
"value": "180"
},
"CLKOUT2_JITTER": {
"value": "201.826"
"value": "316.348"
},
"CLKOUT2_PHASE_ERROR": {
"value": "122.577"
"value": "296.868"
},
"CLKOUT2_REQUESTED_OUT_FREQ": {
"value": "22.579"
@@ -141,16 +124,16 @@
"value": "sys_clock"
},
"MMCM_CLKFBOUT_MULT_F": {
"value": "7.000"
"value": "49.500"
},
"MMCM_CLKOUT0_DIVIDE_F": {
"value": "7.000"
"value": "5.500"
},
"MMCM_CLKOUT1_DIVIDE": {
"value": "31"
"value": "44"
},
"MMCM_DIVCLK_DIVIDE": {
"value": "1"
"value": "5"
},
"NUM_OUT_CLKS": {
"value": "2"
@@ -201,7 +184,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -252,7 +235,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -305,7 +288,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -415,7 +398,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -481,7 +464,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -521,7 +504,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -630,7 +613,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -700,7 +683,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -748,7 +731,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -826,7 +809,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -896,7 +879,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -944,7 +927,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -994,7 +977,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1100,7 +1083,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1148,7 +1131,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1212,200 +1195,6 @@
}
}
},
"moving_average_filte_0": {
"vlnv": "xilinx.com:module_ref:moving_average_filter_en:1.0",
"xci_name": "lab_3_moving_average_filte_0_0",
"xci_path": "ip\\lab_3_moving_average_filte_0_0\\lab_3_moving_average_filte_0_0.xci",
"inst_hier_path": "moving_average_filte_0",
"reference_info": {
"ref_type": "hdl",
"ref_name": "moving_average_filter_en",
"boundary_crc": "0x0"
},
"interface_ports": {
"m_axis": {
"mode": "Master",
"vlnv": "xilinx.com:interface:axis_rtl:1.0",
"parameters": {
"TDATA_NUM_BYTES": {
"value": "3",
"value_src": "auto"
},
"TDEST_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TID_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TUSER_WIDTH": {
"value": "0",
"value_src": "constant"
},
"HAS_TREADY": {
"value": "1",
"value_src": "constant"
},
"HAS_TSTRB": {
"value": "0",
"value_src": "constant"
},
"HAS_TKEEP": {
"value": "0",
"value_src": "constant"
},
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
},
"port_maps": {
"TDATA": {
"physical_name": "m_axis_tdata",
"direction": "O",
"left": "23",
"right": "0"
},
"TLAST": {
"physical_name": "m_axis_tlast",
"direction": "O"
},
"TVALID": {
"physical_name": "m_axis_tvalid",
"direction": "O"
},
"TREADY": {
"physical_name": "m_axis_tready",
"direction": "I"
}
}
},
"s_axis": {
"mode": "Slave",
"vlnv": "xilinx.com:interface:axis_rtl:1.0",
"parameters": {
"TDATA_NUM_BYTES": {
"value": "3",
"value_src": "auto"
},
"TDEST_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TID_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TUSER_WIDTH": {
"value": "0",
"value_src": "constant"
},
"HAS_TREADY": {
"value": "1",
"value_src": "constant"
},
"HAS_TSTRB": {
"value": "0",
"value_src": "constant"
},
"HAS_TKEEP": {
"value": "0",
"value_src": "constant"
},
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
},
"port_maps": {
"TDATA": {
"physical_name": "s_axis_tdata",
"direction": "I",
"left": "23",
"right": "0"
},
"TLAST": {
"physical_name": "s_axis_tlast",
"direction": "I"
},
"TVALID": {
"physical_name": "s_axis_tvalid",
"direction": "I"
},
"TREADY": {
"physical_name": "s_axis_tready",
"direction": "O"
}
}
}
},
"ports": {
"aclk": {
"type": "clk",
"direction": "I",
"parameters": {
"ASSOCIATED_BUSIF": {
"value": "m_axis:s_axis",
"value_src": "constant"
},
"ASSOCIATED_RESET": {
"value": "aresetn",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
}
},
"aresetn": {
"type": "rst",
"direction": "I",
"parameters": {
"POLARITY": {
"value": "ACTIVE_LOW",
"value_src": "constant"
}
}
},
"enable_filter": {
"direction": "I"
}
}
},
"mute_controller_0": {
"vlnv": "xilinx.com:module_ref:mute_controller:1.0",
"xci_name": "lab_3_mute_controller_0_0",
@@ -1454,7 +1243,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1524,7 +1313,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1572,7 +1361,7 @@
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value": "180000000",
"value_src": "ip_prop"
},
"PHASE": {
@@ -1600,6 +1389,164 @@
}
}
},
"moving_average_filte_0": {
"vlnv": "xilinx.com:module_ref:moving_average_filter_en:1.0",
"xci_name": "lab_3_moving_average_filte_0_0",
"xci_path": "ip\\lab_3_moving_average_filte_0_0\\lab_3_moving_average_filte_0_0.xci",
"inst_hier_path": "moving_average_filte_0",
"reference_info": {
"ref_type": "hdl",
"ref_name": "moving_average_filter_en",
"boundary_crc": "0x0"
},
"interface_ports": {
"m_axis": {
"mode": "Master",
"vlnv": "xilinx.com:interface:axis_rtl:1.0",
"parameters": {
"TDATA_NUM_BYTES": {
"value": "3",
"value_src": "auto"
},
"TDEST_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TID_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TUSER_WIDTH": {
"value": "0",
"value_src": "constant"
},
"HAS_TREADY": {
"value": "1",
"value_src": "constant"
},
"HAS_TSTRB": {
"value": "0",
"value_src": "constant"
},
"HAS_TKEEP": {
"value": "0",
"value_src": "constant"
},
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
}
},
"port_maps": {
"TDATA": {
"physical_name": "m_axis_tdata",
"direction": "O",
"left": "23",
"right": "0"
},
"TLAST": {
"physical_name": "m_axis_tlast",
"direction": "O"
},
"TVALID": {
"physical_name": "m_axis_tvalid",
"direction": "O"
},
"TREADY": {
"physical_name": "m_axis_tready",
"direction": "I"
}
}
},
"s_axis": {
"mode": "Slave",
"vlnv": "xilinx.com:interface:axis_rtl:1.0",
"parameters": {
"TDATA_NUM_BYTES": {
"value": "3",
"value_src": "auto"
},
"TDEST_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TID_WIDTH": {
"value": "0",
"value_src": "constant"
},
"TUSER_WIDTH": {
"value": "0",
"value_src": "constant"
},
"HAS_TREADY": {
"value": "1",
"value_src": "constant"
},
"HAS_TSTRB": {
"value": "0",
"value_src": "constant"
},
"HAS_TKEEP": {
"value": "0",
"value_src": "constant"
},
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
}
},
"port_maps": {
"TDATA": {
"physical_name": "s_axis_tdata",
"direction": "I",
"left": "23",
"right": "0"
},
"TLAST": {
"physical_name": "s_axis_tlast",
"direction": "I"
},
"TVALID": {
"physical_name": "s_axis_tvalid",
"direction": "I"
},
"TREADY": {
"physical_name": "s_axis_tready",
"direction": "O"
}
}
}
},
"ports": {
"aclk": {
"type": "clk",
"direction": "I",
"parameters": {
"ASSOCIATED_BUSIF": {
"value": "m_axis:s_axis",
"value_src": "constant"
},
"ASSOCIATED_RESET": {
"value": "aresetn",
"value_src": "constant"
}
}
},
"aresetn": {
"type": "rst",
"direction": "I",
"parameters": {
"POLARITY": {
"value": "ACTIVE_LOW",
"value_src": "constant"
}
}
},
"enable_filter": {
"direction": "I"
}
}
},
"LFO_0": {
"vlnv": "xilinx.com:module_ref:LFO:1.0",
"xci_name": "lab_3_LFO_0_0",
@@ -1651,18 +1598,6 @@
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
},
"port_maps": {
@@ -1721,18 +1656,6 @@
"HAS_TLAST": {
"value": "1",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
},
"port_maps": {
@@ -1769,18 +1692,6 @@
"ASSOCIATED_RESET": {
"value": "aresetn",
"value_src": "constant"
},
"FREQ_HZ": {
"value": "100000000",
"value_src": "ip_prop"
},
"PHASE": {
"value": "0.0",
"value_src": "ip_prop"
},
"CLK_DOMAIN": {
"value": "/clk_wiz_0_clk_out1",
"value_src": "ip_prop"
}
}
},
@@ -1812,36 +1723,12 @@
"axi4stream_spi_master_0/SPI_M"
]
},
"axis_broadcaster_0_M00_AXIS": {
"interface_ports": [
"axis_broadcaster_0/M00_AXIS",
"axis_dual_i2s_0/s_axis"
]
},
"mute_controller_0_m_axis": {
"interface_ports": [
"mute_controller_0/m_axis",
"axis_broadcaster_0/S_AXIS"
]
},
"moving_average_filte_0_m_axis": {
"interface_ports": [
"balance_controller_0/s_axis",
"moving_average_filte_0/m_axis"
]
},
"balance_controller_0_m_axis": {
"interface_ports": [
"balance_controller_0/m_axis",
"volume_controller_0/s_axis"
]
},
"volume_controller_0_m_axis": {
"interface_ports": [
"volume_controller_0/m_axis",
"LFO_0/s_axis"
]
},
"axis_broadcaster_0_M01_AXIS": {
"interface_ports": [
"axis_broadcaster_0/M01_AXIS",
@@ -1854,18 +1741,42 @@
"moving_average_filte_0/s_axis"
]
},
"digilent_jstk2_0_m_axis": {
"interface_ports": [
"digilent_jstk2_0/m_axis",
"axi4stream_spi_master_0/S_AXIS"
]
},
"axi4stream_spi_master_0_M_AXIS": {
"interface_ports": [
"axi4stream_spi_master_0/M_AXIS",
"digilent_jstk2_0/s_axis"
]
},
"mute_controller_0_m_axis": {
"interface_ports": [
"mute_controller_0/m_axis",
"axis_broadcaster_0/S_AXIS"
]
},
"moving_average_filte_0_m_axis": {
"interface_ports": [
"balance_controller_0/s_axis",
"moving_average_filte_0/m_axis"
]
},
"volume_controller_0_m_axis": {
"interface_ports": [
"volume_controller_0/m_axis",
"LFO_0/s_axis"
]
},
"axis_broadcaster_0_M00_AXIS": {
"interface_ports": [
"axis_broadcaster_0/M00_AXIS",
"axis_dual_i2s_0/s_axis"
]
},
"digilent_jstk2_0_m_axis": {
"interface_ports": [
"digilent_jstk2_0/m_axis",
"axi4stream_spi_master_0/S_AXIS"
]
},
"LFO_0_m_axis": {
"interface_ports": [
"LFO_0/m_axis",
@@ -1895,8 +1806,8 @@
"balance_controller_0/aclk",
"effect_selector_0/aclk",
"led_level_controller_0/aclk",
"moving_average_filte_0/aclk",
"mute_controller_0/aclk",
"moving_average_filte_0/aclk",
"LFO_0/aclk"
]
},
@@ -1934,8 +1845,8 @@
"balance_controller_0/aresetn",
"effect_selector_0/aresetn",
"led_level_controller_0/aresetn",
"moving_average_filte_0/aresetn",
"mute_controller_0/aresetn",
"moving_average_filte_0/aresetn",
"LFO_0/aresetn"
]
},

View File

@@ -21,22 +21,22 @@
<key attr.name="vert_type" attr.type="string" for="node" id="VT"/>
<graph edgedefault="undirected" id="G" parse.edgeids="canonical" parse.nodeids="canonical" parse.order="nodesfirst">
<node id="n0">
<data key="VM">lab_3</data>
<data key="VT">BC</data>
</node>
<node id="n1">
<data key="TU">active</data>
<data key="VH">2</data>
<data key="VT">PM</data>
</node>
<node id="n1">
<data key="VM">lab_3</data>
<data key="VT">BC</data>
</node>
<node id="n2">
<data key="VH">2</data>
<data key="VM">lab_3</data>
<data key="VT">VR</data>
</node>
<edge id="e0" source="n0" target="n2">
<edge id="e0" source="n1" target="n2">
</edge>
<edge id="e1" source="n2" target="n1">
<edge id="e1" source="n2" target="n0">
</edge>
</graph>
</graphml>