From 97636a6cd08babbb7e74784b0377261dadf77850 Mon Sep 17 00:00:00 2001 From: Gabriel LATERRADE <g24later@fl-tp-br-523.imta.fr> Date: Mon, 5 May 2025 10:36:03 +0200 Subject: [PATCH] Ceci est le code Vivado --- proj/tb_module_C_behav.wcfg | 62 +++++++++++++++++++++++++++++++++++++ proj/tb_module_D_behav.wcfg | 61 ++++++++++++++++++++++++++++++++++++ src/hdl/wave_generator.vhd | 60 +++++++++++++++++------------------ 3 files changed, 153 insertions(+), 30 deletions(-) create mode 100644 proj/tb_module_C_behav.wcfg create mode 100644 proj/tb_module_D_behav.wcfg diff --git a/proj/tb_module_C_behav.wcfg b/proj/tb_module_C_behav.wcfg new file mode 100644 index 0000000..4426953 --- /dev/null +++ b/proj/tb_module_C_behav.wcfg @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wave_config> + <wave_state> + </wave_state> + <db_ref_list> + <db_ref path="tb_module_C_behav.wdb" id="1"> + <top_modules> + <top_module name="tb_module_C" /> + <top_module name="wave_package" /> + </top_modules> + </db_ref> + </db_ref_list> + <zoom_setting> + <ZoomStartTime time="0.000 ns"></ZoomStartTime> + <ZoomEndTime time="132.801 ns"></ZoomEndTime> + <Cursor1Time time="175.000 ns"></Cursor1Time> + </zoom_setting> + <column_width_setting> + <NameColumnWidth column_width="220"></NameColumnWidth> + <ValueColumnWidth column_width="60"></ValueColumnWidth> + </column_width_setting> + <WVObjectSize size="9" /> + <wvobject type="logic" fp_name="/tb_module_C/SR_clk"> + <obj_property name="ElementShortName">SR_clk</obj_property> + <obj_property name="ObjectShortName">SR_clk</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/tb_module_C/SR_rst"> + <obj_property name="ElementShortName">SR_rst</obj_property> + <obj_property name="ObjectShortName">SR_rst</obj_property> + </wvobject> + <wvobject type="array" fp_name="/tb_module_C/SR_addr"> + <obj_property name="ElementShortName">SR_addr[4:0]</obj_property> + <obj_property name="ObjectShortName">SR_addr[4:0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/tb_module_C/SC_sine_out"> + <obj_property name="ElementShortName">SC_sine_out[15:0]</obj_property> + <obj_property name="ObjectShortName">SC_sine_out[15:0]</obj_property> + <obj_property name="WaveformStyle">STYLE_ANALOG</obj_property> + <obj_property name="CellHeight">100</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_C/SR_addrNatural"> + <obj_property name="ElementShortName">SR_addrNatural</obj_property> + <obj_property name="ObjectShortName">SR_addrNatural</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_C/C_N"> + <obj_property name="ElementShortName">C_N</obj_property> + <obj_property name="ObjectShortName">C_N</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_C/C_f0"> + <obj_property name="ElementShortName">C_f0</obj_property> + <obj_property name="ObjectShortName">C_f0</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_C/C_fs"> + <obj_property name="ElementShortName">C_fs</obj_property> + <obj_property name="ObjectShortName">C_fs</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_C/C_clk_period"> + <obj_property name="ElementShortName">C_clk_period</obj_property> + <obj_property name="ObjectShortName">C_clk_period</obj_property> + </wvobject> +</wave_config> diff --git a/proj/tb_module_D_behav.wcfg b/proj/tb_module_D_behav.wcfg new file mode 100644 index 0000000..4e47785 --- /dev/null +++ b/proj/tb_module_D_behav.wcfg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wave_config> + <wave_state> + </wave_state> + <db_ref_list> + <db_ref path="tb_module_D_behav.wdb" id="1"> + <top_modules> + <top_module name="tb_module_D" /> + <top_module name="wave_package" /> + </top_modules> + </db_ref> + </db_ref_list> + <zoom_setting> + <ZoomStartTime time="0.000 ns"></ZoomStartTime> + <ZoomEndTime time="664.001 ns"></ZoomEndTime> + <Cursor1Time time="35.000 ns"></Cursor1Time> + </zoom_setting> + <column_width_setting> + <NameColumnWidth column_width="220"></NameColumnWidth> + <ValueColumnWidth column_width="60"></ValueColumnWidth> + </column_width_setting> + <WVObjectSize size="9" /> + <wvobject type="logic" fp_name="/tb_module_D/SR_clk"> + <obj_property name="ElementShortName">SR_clk</obj_property> + <obj_property name="ObjectShortName">SR_clk</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/tb_module_D/SR_rst"> + <obj_property name="ElementShortName">SR_rst</obj_property> + <obj_property name="ObjectShortName">SR_rst</obj_property> + </wvobject> + <wvobject type="array" fp_name="/tb_module_D/SR_addr"> + <obj_property name="ElementShortName">SR_addr[4:0]</obj_property> + <obj_property name="ObjectShortName">SR_addr[4:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/tb_module_D/SC_triangle_out"> + <obj_property name="ElementShortName">SC_triangle_out[15:0]</obj_property> + <obj_property name="ObjectShortName">SC_triangle_out[15:0]</obj_property> + <obj_property name="WaveformStyle">STYLE_ANALOG</obj_property> + <obj_property name="CellHeight">100</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_D/SR_addrNatural"> + <obj_property name="ElementShortName">SR_addrNatural</obj_property> + <obj_property name="ObjectShortName">SR_addrNatural</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_D/C_clk_period"> + <obj_property name="ElementShortName">C_clk_period</obj_property> + <obj_property name="ObjectShortName">C_clk_period</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_D/C_N"> + <obj_property name="ElementShortName">C_N</obj_property> + <obj_property name="ObjectShortName">C_N</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_D/C_f0"> + <obj_property name="ElementShortName">C_f0</obj_property> + <obj_property name="ObjectShortName">C_f0</obj_property> + </wvobject> + <wvobject type="other" fp_name="/tb_module_D/C_fs"> + <obj_property name="ElementShortName">C_fs</obj_property> + <obj_property name="ObjectShortName">C_fs</obj_property> + </wvobject> +</wave_config> diff --git a/src/hdl/wave_generator.vhd b/src/hdl/wave_generator.vhd index 310c78f..69a9e4d 100644 --- a/src/hdl/wave_generator.vhd +++ b/src/hdl/wave_generator.vhd @@ -64,12 +64,12 @@ begin G_MAX_VAL => natural(floor(G_fs/(2.0*G_f0))) ) port map ( - I_clk => , - I_rst => , - I_u_d => , - O_val => , - O_last => , - O_middle => + I_clk => I_clk, + I_rst => I_rst, + I_u_d => S_u_d, + O_val => S_addr, + O_last => S_last, + O_middle => S_middle ); -- Module C @@ -94,10 +94,10 @@ begin G_fs => G_fs ) port map ( - I_clk => , - I_rst => , - I_addr => , - O_triangle => + I_clk => I_clk, + I_rst => I_rst, + I_addr => S_addr(C_addr_half_w-1 downto 0), + O_triangle => S_triangle_out_lut ); -- Module E @@ -108,10 +108,10 @@ begin G_fs => G_fs ) port map ( - I_clk => , - I_rst => , - I_addr => , - O_saw_tooth => + I_clk => I_clk, + I_rst => I_rst, + I_addr => S_addr, + O_saw_tooth => S_saw_tooth_out_lut ); S_square <= ((G_N-1) => '0', others => '1'); @@ -119,12 +119,12 @@ begin -- Module F F_inst : entity work.module_F port map ( - I_sel => , - I_din0 => , - I_din1 => , - I_din2 => , - I_din3 => , - O_dout => + I_sel => I_wave_sel, + I_din0 => S_sine_out_lut, + I_din1 => S_square, + I_din2 => S_saw_tooth_out_lut, + I_din3 => S_triangle_out_lut, + O_dout => S_wave_sample ); -- Module G @@ -133,17 +133,17 @@ begin G_N => G_N ) port map ( - I_din => , - O_dout => + I_din => S_wave_sample, + O_dout => S_opposite_wave_sample ); -- Module H H_inst : entity work.module_H port map ( - I_sel => , - I_din0 => , - I_din1 => , - O_dout => + I_sel => S_sign_sel, + I_din0 => S_wave_sample, + I_din1 => S_opposite_wave_sample, + O_dout => S_wave_value ); -- Module I @@ -152,10 +152,10 @@ begin G_N => G_N ) port map ( - I_clk => , - I_rst => , - I_din => , - O_dout => + I_clk => I_clk, + I_rst => I_rst, + I_din => S_wave_value, + O_dout => O_wav ); end arch; -- GitLab