vivado fft rom
时间: 2023-08-10 17:06:47 浏览: 196
引用[1]:IP核配置完成后,下面开始编写我们的TestBench文件。我们通过matlab对F(t) = 200 100cos(2pi10t) 100cos(2pi30t) 这个信号以Fs = 100HZ进行采样,采样点数N = 128,采样完成后,将数据转换为16位二进制,并存入txt文件中。matlab程序如下: clear Fs=100; %采样率1ns一个点 %t=0:1/Fs:63/Fs; %数据时长:64个采样周期 N = 128; n = 1:N; t = n/Fs; % 生成测试信号 f1 = 10; % f2 = 30; % s1 = cos(2*pi*f1*t); s2 = cos(2*pi*f2*t); signalN = 2 s1 s2 ; data_before_fft = 100*signalN; %系数放大100倍 fp = fopen('D:\Zynq_Core\data_before_fft.txt','w'); for i = 1:N if(data_before_fft(i)>=0) temp= dec2bin(data_before_fft(i),16); else temp= dec2bin(data_before_fft(i) 2^16 1, 16); end for j=1:16 fprintf(fp,'%s',temp(j)); end fprintf(fp,'\r\n'); end fclose(fp); y = fft(data_before_fft,N); y = abs(y); f = n*Fs/N; plot(f,y); 。
引用[2]:运行仿真后,时序图如下所示:如图所示,首先判断fft_s_data_tready信号是否为高电平,即IP核是否准备好了接收数据,当检测到该信号有效后,将fft_s_data_tvalid信号拉高,准备向IP核写入数据,并开启count计数。在fft_s_data_tvalid有效期间内,读出指定txt文件中的数据,并在低16位进行补零处理后,按顺序写入到fft_s_data_tdata信号线中。当count计数到127,即最后一个数据时,将fft_s_data_tlast信号拉高,代表数据写入完成。
引用[3]:同时,从仿真中还可以看出,当FFT计算结果输出完成后,信号fft_m_data_tlast变为高电平,代表数据输出结束,并在延时一小段时间后,fft_s_data_tready重新变为低电平,代表IP核重新进入到空闲状态。可以进行对IP核下一组数据的输入。
问题: vivado fft rom
回答: 在Vivado中,FFT ROM是一种用于存储FFT计算结果的存储器。在FFT计算过程中,输入数据经过变换后会得到一组复数结果,这些结果可以存储在FFT ROM中供后续使用。通过使用FFT ROM,可以减少计算量,提高计算效率。在设计中,需要根据具体的需求和资源限制来选择合适的FFT ROM大小和配置。
阅读全文