fix multidriver net issue in real build that worked fine in simulation
This commit is contained in:
@@ -23,20 +23,20 @@
|
||||
<key id="VT" for="node" attr.name="vert_type" attr.type="string"/>
|
||||
<graph id="G" edgedefault="undirected" parse.nodeids="canonical" parse.edgeids="canonical" parse.order="nodesfirst">
|
||||
<node id="n0">
|
||||
<data key="VM">decimation_bd</data>
|
||||
<data key="VT">BC</data>
|
||||
</node>
|
||||
<node id="n1">
|
||||
<data key="VH">2</data>
|
||||
<data key="VM">decimation_bd</data>
|
||||
<data key="VT">VR</data>
|
||||
</node>
|
||||
<node id="n1">
|
||||
<node id="n2">
|
||||
<data key="TU">active</data>
|
||||
<data key="VH">2</data>
|
||||
<data key="VT">PM</data>
|
||||
</node>
|
||||
<node id="n2">
|
||||
<data key="VM">decimation_bd</data>
|
||||
<data key="VT">BC</data>
|
||||
</node>
|
||||
<edge id="e0" source="n2" target="n0"/>
|
||||
<edge id="e1" source="n0" target="n1"/>
|
||||
<edge id="e0" source="n0" target="n1"/>
|
||||
<edge id="e1" source="n1" target="n2"/>
|
||||
</graph>
|
||||
</graphml>
|
||||
|
||||
@@ -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" } ]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user