|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
最近在做毕业设计,基于FPGA的数字滤波器,在网上看到可以用matlab与modelsim联合仿真,拿来别人的代码试一下,在Quartus上面编译通过了,调用modelsim的时候原先用matlab保存好的波形数据没有加载进来,不知道具体要如何设置,求各位路过的牛人好汉拔刀相助,小弟不胜感激~~~源代码如下:
module cos_wave(
input i_clk_n,
input i_rst_n ,
output reg [7:0]cos_dat
);
integer i=0;
reg [7:0]read_dat[0:999];
initial $readmemh("C:/Users/Desktop/FIR/simulation/modelsim/cos.txt",read_dat);
always@(posedge i_clk_n or negedge i_rst_n)
if(!i_rst_n)
i<=0;
else if(i<999)
i<=i+1;
else i<=0;
always@(posedge i_clk_n or negedge i_rst_n)
if(!i_rst_n)
cos_dat<=0;
else cos_dat<=read_dat[i];
endmodule
`timescale 10ns/10ns
module fir_tb;
reg i_50m_clk ;
reg i_rst_n ;
wire [7:0]i_adc_data;
wire [7:0]o_dac_data;
always #1 i_50m_clk=~i_50m_clk;
initial
begin
#1 i_50m_clk<=0;
#1 i_rst_n <=0;
#5 i_rst_n <=1'b1;
end
//FIR滤波模块例化
fir u_0(
.i_50m_clk(i_50m_clk),
.i_rst_n (i_rst_n),
.i_dat (i_adc_data),
.o_dat (o_dac_data)
);
reg i_10m_clk;
initial
begin
i_10m_clk<=0;
end
always #10 i_10m_clk<=~i_10m_clk;//函数模块时钟信号产生
//函数信号产生模块例化
cos_wave u_1(
.i_clk_n (i_10m_clk ),
.i_rst_n (i_rst_n ),
.cos_dat (i_adc_data)
);
endmodule |
|