ISE调用DDS IP核生成正弦波有问题
时间:10-02
整理:3721RD
点击:
新手求帮助!
我用ISE14.7调用DDS compiler 4.0的IP核打算生成本地载波(正弦波)。IP核的参数设置是相位累加器位宽26,输出位宽8位,系统时钟16.311MHz,测试文件的代码如下module ddstest;
// Inputs
reg ce;
reg clk;
reg sclr;
reg we;
reg [25:0] data;
// Outputs
wire rdy;
wire [7:0] cosine;
wire [7:0] sine;
// Instantiate the Unit Under Test (UUT)
dds uut (
.ce(ce),
.clk(clk),
.sclr(sclr),
.we(we),
.data(data),
.rdy(rdy),
.cosine(cosine),
.sine(sine)
);
initial begin
// Initialize Inputs
clk = 0;
ce = 0;
sclr = 1;
we = 0;
data = 0;
#100
ce = 1;
sclr = 0;
we = 1;
end
always #10 clk = ~clk;
initial begin
#20 data = 26'd14153301;
end
endmodule
但是用modelsim仿真出现的波形是:
,而且有很多warning,
###### D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308):
task_ram_col (col_wr_ram_a_web_tmp[1], col_wr_ram_a_wea_tmp[1], col_wr_ram_a_dia_tmp[15:8], col_wr_ram_a_dipa_tmp[1], mem[col_wr_ram_a_addra_tmp[14:4]][8 +: 8], memp[col_wr_ram_a_addra_tmp[14:4]][1]);
# ** Warning: D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308): (vopt-2697) Start index of part-select into 'mem' is out of bounds.
#
# ** Warning: D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308): (vopt-2697) End index of part-select into 'mem' is out of bounds.
不知道是什么方面的原因,求各位大神帮忙解决这个问题
我用ISE14.7调用DDS compiler 4.0的IP核打算生成本地载波(正弦波)。IP核的参数设置是相位累加器位宽26,输出位宽8位,系统时钟16.311MHz,测试文件的代码如下module ddstest;
// Inputs
reg ce;
reg clk;
reg sclr;
reg we;
reg [25:0] data;
// Outputs
wire rdy;
wire [7:0] cosine;
wire [7:0] sine;
// Instantiate the Unit Under Test (UUT)
dds uut (
.ce(ce),
.clk(clk),
.sclr(sclr),
.we(we),
.data(data),
.rdy(rdy),
.cosine(cosine),
.sine(sine)
);
initial begin
// Initialize Inputs
clk = 0;
ce = 0;
sclr = 1;
we = 0;
data = 0;
#100
ce = 1;
sclr = 0;
we = 1;
end
always #10 clk = ~clk;
initial begin
#20 data = 26'd14153301;
end
endmodule
但是用modelsim仿真出现的波形是:
,而且有很多warning,###### D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308):
task_ram_col (col_wr_ram_a_web_tmp[1], col_wr_ram_a_wea_tmp[1], col_wr_ram_a_dia_tmp[15:8], col_wr_ram_a_dipa_tmp[1], mem[col_wr_ram_a_addra_tmp[14:4]][8 +: 8], memp[col_wr_ram_a_addra_tmp[14:4]][1]);
# ** Warning: D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308): (vopt-2697) Start index of part-select into 'mem' is out of bounds.
#
# ** Warning: D:\BaiduYunDownload\14.7\ISE_DS\ISE\verilog\src\unisims\RAMB18E1.v(1308): (vopt-2697) End index of part-select into 'mem' is out of bounds.
不知道是什么方面的原因,求各位大神帮忙解决这个问题
已解决,是ISE14.7和modelsim10.2不兼容的问题,跟ISE兼容的最高版本是modelsim 10.1c
小编您好 我是FPGA初学者 现在在弄DDS模块 有些问题想给你请教 你能否留下QQ
小编,关于DDS的相关设计和资料能互相学习一下吗?
