利用FPGA找寻极大值点
还有就是这么写代码最后得到的FPGA资源的占用太多,是因为处理的数据量太大的缘故么?有没有什么比较好的思路或者方法?
以为没发成功,多发了一遍。囧
很简单的冒泡排序法啊,看你接收数据的形式,如果是一个一个接,把前一个寄存一拍,与新来的数据比大小,大的给寄存一拍,再与新来的比,这感觉不占啥资源啊,如果先存数据,那就存到RAM然后往出读,同样的方法比大小就可以
没注意,极值啊,极致那应该就你这样就可以吧,你这个要注意复用,你不能每次都这么去比较,其实只需要两个比较器就可以了,如果你不复用,那肯定占资源,多少个数据就得多少个比较器
关于复用还是不太明白。可不可以帮忙看一下我的代码,仿真出来fnum一直为0,而且占用的资源很多。
module detection(clk,data_in,fnum);
input clk;
input [15:0]data_in;
output fnum;
reg [15:0]fnum;
reg [15:0] signal [0:511];
reg [9:0]i;
reg state,next_state=1; //初始化状态为1,准备往二维数组中写数据
initial
begin
//$readmemh("memory.txt", signal);
i signal&&signal[i+1]>signal[i+2])
begin
fnum data_in)
rlt_data<=rlt_data;
else
rlt_data<=data_in;
end如果要找最大值的序列号,那么只要在序列号编入data_in,然后对data_in的数值部分比较,然后把最
终结果的序列号部分分出来即可。
over!
我是想要找极大值,不是最大值,不过你能回答还是表示非常感谢!
已经做出来了,还是感谢你的回复~
不客气。
小编求极大值的程序还在吗?想学习一下!
