FPGA实现DFT经验总结1

20180806:0917
两个变数乘法用DSP核实现
整数乘法用模2乘加法实现,余数用减法取表实现
4.角度是280,对应的数据
这里写图片描述

  1. 将数据改成读79个数据,读2clk延时。
    2.角度改变一下,320点
    这里写图片描述
    1.改进RAM中角度和RAM值得关系。

20180804:1531
图3 资源是0证明逻辑没起作用。Modelsim仿真一下逻辑。

这里写图片描述
20180803:1656
input signed[15:0] dataCOS,
input [8:0] wraddressCOS,
input wrenCOS,

input   signed[15:0]  dataSIN,
input   [8:0]  wraddressSIN,
input     wrenSIN,

直接用这个串行完成乘法。

  1. 用320个寄存器实现 因为点表位置是一定的,320寄存器 拿出80个 80乘法

20180803:1045
1. 采用乒乓RAM处理接收的角度问题

module RAM_16X8(
input wire [3:0] index,
output reg [7:0] data
);

always @(index)
case(index)
4’d0 : data = 8’h10;
4’d1 : data = 8’h11;
4’d2 : data = 8’h12;
4’d3 : data = 8’h13;
4’d4 : data = 8’h14;
4’d5 : data = 8’h15;
4’d6 : data = 8’h16;
4’d7 : data = 8’h17;
4’d8 : data = 8’h18;
4’d9 : data = 8’h19;
4’d10 : data = 8’h20;
4’d11 : data = 8’h21;
4’d12 : data = 8’h22;
4’d13 : data = 8’h23;
4’d14 : data = 8’h24;
4’d15 : data = 8’h25;
default : data = 8’h00;
endcase
endmodule

20180803:1045
1. 图2 3200RAM构建了 8M9K
2.
这里写图片描述

20180802:1601
1.建立64bit 输入XN 同时想乘法

20180802:1322
1. 快速的读出四个RAM,1.4.8.16取点。
2. 用EXCEL实现3200 正弦表
图1

这里写图片描述
20180802:1050
1. 320点320*40的DFT 关联的角度theta从0-2PI
模拟角度是40一个步长,一直到3200*4-40这个值,用EXCEL表生成

  1. 3200点的正弦表,用4个RAM来实现,每个RAM 1024用800

Thera 确定之后用4个256RAM完成1-4次的DFT运算(预留160点计算的表)

构建theta 角度对应的表 16K中断来时候,构建320点的RAM留出来

从320点Theta中找出80点正弦波表,4个读写同时进行,弄出4次RAM,用来计算DFT

先搞10个这样的重复逻辑。看看资源和结果。下午先进行程序编译和modelsim仿真

猜你喜欢

转载自blog.csdn.net/maifeilaoshi11/article/details/81501448