求助ISE 调用DDS IP核问题
就这个破程序调了两天了,一点没发现错误在哪,调用了3次DDS IP Core,4次乘法器IP Core,还有一个自己写的乘法器,编译能够通过,modelsim库文件也已经加载,但用modelsim仿真时,dds产生的信号一直全是高阻...请各位大侠帮忙看看问题出在哪,谢谢!module result_derive(clk,data_tone,data_wc,data_sita,da1_sampling,da2_sampling,result,we,a
);
input clk,we,a;
input da1_sampling;
input da2_sampling;
input data_tone;
input data_wc;
input data_sita;
output result;
wire result_buf;
wire Va_tone;
wire cos_wc;
wire cos_sita;
wire sin_sita;
wire i_sita_sample;
wire i_sita_sample_buf;
wire q_sita_sample;
wire q_sita_sample_buf;
wire i_q_sum;
wire i_q_sum_buf;
wire tone_wc_mul;
wire tone_wc_mul_buf;
assign i_sita_sample = i_sita_sample_buf;
assign q_sita_sample = q_sita_sample_buf;
assign i_q_sum = i_q_sum_buf;
assign tone_wc_mul = tone_wc_mul_buf;
assign result = result_buf;
mydds dds_tone (
.DATA(data_tone),
.WE(we),
.A(a),
.CLK(clk),
.SINE(),
.COSINE(Va_tone)
);
mydds dds_wc(
.DATA(data_wc),
.WE(we),
.A(a),
.CLK(clk),
.SINE(),
.COSINE(cos_wc)
);
mydds dds_sita(
.DATA(data_sita),
.WE(we),
.A(a),
.CLK(clk),
.SINE(sin_sita),
.COSINE(cos_sita)
);
mul mul1(
.clk(clk),
.a(sin_sita),
.b(da1_sampling),
.p(i_sita_sample_buf)
);
mul mul2(
.clk(clk),
.a(cos_sita),
.b(da2_sampling),
.p(q_sita_sample_buf)
);
mul mul3(
.clk(clk),
.a(Va_tone),
.b(cos_wc),
.p(tone_wc_mul_buf)
);
add add(
.clk(clk),
.add_a(i_sita_sample),
.add_b(q_sita_sample),
.sum(i_q_sum_buf)
);
mul mul4(
.clk(clk),
.a(tone_wc_mul),
.b(i_q_sum),
.p(result_buf)
);
endmodule
以上为具体代码。加法器乘法器还有DDS就不用往上贴了,应该也都对,我检查了好多遍了。
我以前做过一次实验,如下所示,也都能通过,modelsim仿能得到结果:
module ddstest(data,
data_tone,
data_tone1,
data_tone2,
we,a,
clk,
cosine,
cosine_tone,
cosine_tone1,
cosine_tone2
);
input data;
input data_tone;
input data_tone1;
input data_tone2;
input we;
input a;
input clk;
output cosine;
output cosine_tone;
output cosine_tone1;
output cosine_tone2;
mydds ddsmy(
.DATA(data),
.WE(we),
.A(a),
.CLK(clk),
.COSINE(cosine)
);
mydds ddsmy_tone(
.DATA(data_tone),
.WE(we),
.A(a),
.CLK(clk),
.COSINE(cosine_tone)
);
mydds ddsmy_tone1(
.DATA(data_tone1),
.WE(we),
.A(a),
.CLK(clk),
.COSINE(cosine_tone1)
);
mydds ddsmy_tone2(
.DATA(data_tone2),
.WE(we),
.A(a),
.CLK(clk),
.COSINE(cosine_tone2)
);
//assign final_result = final_cosine + final_cosine;
endmodule
请各位比较一下,看问题是出错在哪 谢谢谢谢!!!! 大侠快来帮忙看看吧....
页:
[1]