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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -699,6 +697,7 @@
+
@@ -785,7 +784,6 @@
-
@@ -815,7 +813,6 @@
-
@@ -830,7 +827,6 @@
-
@@ -865,74 +861,84 @@
-
+
-
+
+ Vivado Synthesis Defaults
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
@@ -946,11 +952,12 @@
-
+
+
@@ -964,11 +971,12 @@
-
+
+
@@ -982,20 +990,22 @@
-
+
+
-
+
+
@@ -1009,27 +1019,31 @@
-
+
+
-
+
+
-
+
-
+
+ Default settings for Implementation.
+
@@ -1040,6 +1054,7 @@
+