prestar 发表于 2010-7-18 11:19:31

求助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

请各位比较一下,看问题是出错在哪 谢谢谢谢!!!!

prestar 发表于 2010-7-18 11:25:30

大侠快来帮忙看看吧....
页: [1]
查看完整版本: 求助ISE 调用DDS IP核问题