diff --git a/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/decimation_bd.bda b/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/decimation_bd.bda index e015e98..d787d5b 100644 --- a/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/decimation_bd.bda +++ b/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/decimation_bd.bda @@ -23,20 +23,20 @@ + decimation_bd + BC + + 2 decimation_bd VR - + active 2 PM - - decimation_bd - BC - - - + + diff --git a/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/ip/decimation_bd_axis_broadcaster_0_0/decimation_bd_axis_broadcaster_0_0.xci b/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/ip/decimation_bd_axis_broadcaster_0_0/decimation_bd_axis_broadcaster_0_0.xci index 7da64ed..1b7dab2 100644 --- a/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/ip/decimation_bd_axis_broadcaster_0_0/decimation_bd_axis_broadcaster_0_0.xci +++ b/radar_alinx_kintex.srcs/sources_1/bd/decimation_bd/ip/decimation_bd_axis_broadcaster_0_0/decimation_bd_axis_broadcaster_0_0.xci @@ -187,7 +187,7 @@ imum {}} value data_valid} enabled {attribs {resolve_type generated dependency d "parameters": { "POLARITY": [ { "value": "ACTIVE_LOW", "value_src": "constant", "value_permission": "bd", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ], "INSERT_VIP": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "simulation.rtl", "is_ips_inferred": true, "is_static_object": false } ], - "TYPE": [ { "value": "INTERCONNECT", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ] + "TYPE": [ { "value": "INTERCONNECT", "value_permission": "bd", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ] }, "port_maps": { "RST": [ { "physical_name": "aresetn" } ] @@ -206,7 +206,7 @@ imum {}} value data_valid} enabled {attribs {resolve_type generated dependency d "ASSOCIATED_PORT": [ { "value": "", "value_permission": "bd", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ], "ASSOCIATED_RESET": [ { "value": "aresetn", "value_permission": "bd", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ], "INSERT_VIP": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "simulation.rtl", "is_ips_inferred": true, "is_static_object": false } ], - "ASSOCIATED_CLKEN": [ { "value": "aclken", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ] + "ASSOCIATED_CLKEN": [ { "value": "aclken", "value_permission": "bd", "resolve_type": "generated", "is_ips_inferred": true, "is_static_object": false } ] }, "port_maps": { "CLK": [ { "physical_name": "aclk" } ] diff --git a/radar_alinx_kintex.srcs/sources_1/hdl/top.v b/radar_alinx_kintex.srcs/sources_1/hdl/top.v index bb1ab72..ac56390 100755 --- a/radar_alinx_kintex.srcs/sources_1/hdl/top.v +++ b/radar_alinx_kintex.srcs/sources_1/hdl/top.v @@ -945,47 +945,62 @@ module top # assign jesd_axis_tx_cmd_tdata = 0; assign jesd_axis_tx_cmd_tvalid = 1'b1; - waveform_gen waveform_gen_i ( - .clk(jesd_core_clk), - + wire [127:0] iq_out; + wire iq_out_valid; + + gen_ofdm dut ( + .clk(jesd_core_clk), + .reset(1'b0), + .ctrl_if(wf_gen_if), + .start_pulse(start_of_pulse), + .iq_out(iq_out), + .iq_out_valid(iq_out_valid) + ); - .start_of_pulse(start_of_pulse), - - .dac0_wf_bram_addr(dac0_wf_bram_addr), - .dac0_wf_bram_clk(dac0_wf_bram_clk), - .dac0_wf_bram_din(dac0_wf_bram_din), - .dac0_wf_bram_dout(dac0_wf_bram_dout), - .dac0_wf_bram_en(dac0_wf_bram_en), - .dac0_wf_bram_rst(dac0_wf_bram_rst), - .dac0_wf_bram_we(dac0_wf_bram_we), - - .dac1_wf_bram_addr(dac1_wf_bram_addr), - .dac1_wf_bram_clk(dac1_wf_bram_clk), - .dac1_wf_bram_din(dac1_wf_bram_din), - .dac1_wf_bram_dout(dac1_wf_bram_dout), - .dac1_wf_bram_en(dac1_wf_bram_en), - .dac1_wf_bram_rst(dac1_wf_bram_rst), - .dac1_wf_bram_we(dac1_wf_bram_we), - - .dac2_wf_bram_addr(dac2_wf_bram_addr), - .dac2_wf_bram_clk(dac2_wf_bram_clk), - .dac2_wf_bram_din(dac2_wf_bram_din), - .dac2_wf_bram_dout(dac2_wf_bram_dout), - .dac2_wf_bram_en(dac2_wf_bram_en), - .dac2_wf_bram_rst(dac2_wf_bram_rst), - .dac2_wf_bram_we(dac2_wf_bram_we), - - .dac3_wf_bram_addr(dac3_wf_bram_addr), - .dac3_wf_bram_clk(dac3_wf_bram_clk), - .dac3_wf_bram_din(dac3_wf_bram_din), - .dac3_wf_bram_dout(dac3_wf_bram_dout), - .dac3_wf_bram_en(dac3_wf_bram_en), - .dac3_wf_bram_rst(dac3_wf_bram_rst), - .dac3_wf_bram_we(dac3_wf_bram_we), + assign jesd_axis_tx_tdata = {iq_out, iq_out, iq_out, iq_out}; - .jesd_tx(jesd_axis_tx_tdata) - ); + // waveform_gen waveform_gen_i ( + // .clk(jesd_core_clk), + + // .ctrl_if(wf_gen_if), + + // .start_of_pulse(start_of_pulse), + + // .dac0_wf_bram_addr(dac0_wf_bram_addr), + // .dac0_wf_bram_clk(dac0_wf_bram_clk), + // .dac0_wf_bram_din(dac0_wf_bram_din), + // .dac0_wf_bram_dout(dac0_wf_bram_dout), + // .dac0_wf_bram_en(dac0_wf_bram_en), + // .dac0_wf_bram_rst(dac0_wf_bram_rst), + // .dac0_wf_bram_we(dac0_wf_bram_we), + + // .dac1_wf_bram_addr(dac1_wf_bram_addr), + // .dac1_wf_bram_clk(dac1_wf_bram_clk), + // .dac1_wf_bram_din(dac1_wf_bram_din), + // .dac1_wf_bram_dout(dac1_wf_bram_dout), + // .dac1_wf_bram_en(dac1_wf_bram_en), + // .dac1_wf_bram_rst(dac1_wf_bram_rst), + // .dac1_wf_bram_we(dac1_wf_bram_we), + + // .dac2_wf_bram_addr(dac2_wf_bram_addr), + // .dac2_wf_bram_clk(dac2_wf_bram_clk), + // .dac2_wf_bram_din(dac2_wf_bram_din), + // .dac2_wf_bram_dout(dac2_wf_bram_dout), + // .dac2_wf_bram_en(dac2_wf_bram_en), + // .dac2_wf_bram_rst(dac2_wf_bram_rst), + // .dac2_wf_bram_we(dac2_wf_bram_we), + + // .dac3_wf_bram_addr(dac3_wf_bram_addr), + // .dac3_wf_bram_clk(dac3_wf_bram_clk), + // .dac3_wf_bram_din(dac3_wf_bram_din), + // .dac3_wf_bram_dout(dac3_wf_bram_dout), + // .dac3_wf_bram_en(dac3_wf_bram_en), + // .dac3_wf_bram_rst(dac3_wf_bram_rst), + // .dac3_wf_bram_we(dac3_wf_bram_we), + + // .jesd_tx(jesd_axis_tx_tdata) + // ); endmodule diff --git a/radar_alinx_kintex.srcs/sources_1/hdl/wfg_ofdm/gen_sine.sv b/radar_alinx_kintex.srcs/sources_1/hdl/wfg_ofdm/gen_sine.sv index 4d8e3aa..aa42a77 100644 --- a/radar_alinx_kintex.srcs/sources_1/hdl/wfg_ofdm/gen_sine.sv +++ b/radar_alinx_kintex.srcs/sources_1/hdl/wfg_ofdm/gen_sine.sv @@ -24,6 +24,7 @@ reg valid_q2; reg [31:0] phase_q; reg [31:0] frequency_q; reg [127:0] iq_out_i; +wire [3:0] iq_out_valid_i; always @ (posedge clk) begin set_phase_q <= set_phase; @@ -58,7 +59,7 @@ generate .aclk(clk), .s_axis_phase_tvalid(valid_q2), .s_axis_phase_tdata(cordic_phase_in), - .m_axis_dout_tvalid(iq_out_valid), + .m_axis_dout_tvalid(iq_out_valid_i[i]), .m_axis_dout_tdata(iq_out_i[i*32+31:i*32]) ); @@ -66,6 +67,7 @@ generate endgenerate assign iq_out = iq_out_i; +assign iq_out_valid = &iq_out_valid_i; endmodule `resetall diff --git a/radar_alinx_kintex.xpr b/radar_alinx_kintex.xpr index b1a12e2..a678364 100755 --- a/radar_alinx_kintex.xpr +++ b/radar_alinx_kintex.xpr @@ -451,6 +451,13 @@ + + + + + + + @@ -465,6 +472,20 @@ + + + + + + + + + + + + + + @@ -479,15 +500,16 @@ - + - + + @@ -517,30 +539,6 @@ - - - - - - - - - - - - - - - - - - - - - - - -