哪位大侠有MODELSIM,SYNPLIFY帮忙仿真下
时间:10-02
整理:3721RD
点击:
找了一天都没找到SYNPLIFY软件,求助各位谁有这软件帮忙仿真下,把RTL,和MODELSIM时序图发给我下(回复或邮箱fengyunlong521@sina.com)万分感谢!
NCO的DDS实现:
module dds(data, we, clk, ce, reset, sine, cose);
input [31 : 0] data; //
input we; //
input clk; //
input ce; //
input reset; //
output [15 : 0] sine; //
output [15 : 0] cose; //
reg [31 : 0] ADD_A; //
reg [31 : 0] ADD_B; //
reg [15 : 0] cose_DR; //
reg [15 : 0] sine_DR; //
wire [31 : 0] data;
wire [9 : 0] ROM_A;
wire [15 : 0] cose_D;
wire [15 : 0] sine_D;
assign cose = cose_DR;
assign sine = sine_DR;
assign ROM_A = ADD_B[31 : 22];
always @ (posedge clk or posedge reset)
begin
if(reset)
ADD_A <= 0;
else if(we)
ADD_A <= data;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
ADD_B <= 0;
else if(ce)
ADD_B <= ADD_B + ADD_A;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
cose_DR <= 0;
else if(ce)
cose_DR <= cose_D;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
sine_DR <= 0;
else if(ce)
sine_DR <= sine_D;
end
rom_cose cose1(
.addra(ROM_A),
.clka(clk),
.douta(cose_D));
rom_sine sine1(
.addra(ROM_A),
.clka(clk),
.douta(sine_D));
endmodule
NCO的DDS实现:
module dds(data, we, clk, ce, reset, sine, cose);
input [31 : 0] data; //
input we; //
input clk; //
input ce; //
input reset; //
output [15 : 0] sine; //
output [15 : 0] cose; //
reg [31 : 0] ADD_A; //
reg [31 : 0] ADD_B; //
reg [15 : 0] cose_DR; //
reg [15 : 0] sine_DR; //
wire [31 : 0] data;
wire [9 : 0] ROM_A;
wire [15 : 0] cose_D;
wire [15 : 0] sine_D;
assign cose = cose_DR;
assign sine = sine_DR;
assign ROM_A = ADD_B[31 : 22];
always @ (posedge clk or posedge reset)
begin
if(reset)
ADD_A <= 0;
else if(we)
ADD_A <= data;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
ADD_B <= 0;
else if(ce)
ADD_B <= ADD_B + ADD_A;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
cose_DR <= 0;
else if(ce)
cose_DR <= cose_D;
end
always @ (posedge clk or posedge reset)
begin
if(reset)
sine_DR <= 0;
else if(ce)
sine_DR <= sine_D;
end
rom_cose cose1(
.addra(ROM_A),
.clka(clk),
.douta(cose_D));
rom_sine sine1(
.addra(ROM_A),
.clka(clk),
.douta(sine_D));
endmodule
