📄 fft_statemachine.vhd
字号:
array_real_temp2(13+j5*32),real_all_zhengfu2(13+j5*32),array_imag_temp2(13+j5*32),imag_all_zhengfu2(13+j5*32),
array_real_temp2(29+j5*32),real_all_zhengfu2(29+j5*32),array_imag_temp2(29+j5*32),imag_all_zhengfu2(29+j5*32));
diexingyunsuan (array_real_temp1(14+j5*32),real_all_zhengfu1(14+j5*32),array_imag_temp1(14+j5*32),imag_all_zhengfu1(14+j5*32),
array_real_temp1(30+j5*32),real_all_zhengfu1(30+j5*32),array_imag_temp1(30+j5*32),imag_all_zhengfu1(30+j5*32),
946,'0',392,'0',
array_real_temp2(14+j5*32),real_all_zhengfu2(14+j5*32),array_imag_temp2(14+j5*32),imag_all_zhengfu2(14+j5*32),
array_real_temp2(30+j5*32),real_all_zhengfu2(30+j5*32),array_imag_temp2(30+j5*32),imag_all_zhengfu2(30+j5*32));
diexingyunsuan (array_real_temp1(15+j5*32),real_all_zhengfu1(15+j5*32),array_imag_temp1(15+j5*32),imag_all_zhengfu1(15+j5*32),
array_real_temp1(31+j5*32),real_all_zhengfu1(31+j5*32),array_imag_temp1(31+j5*32),imag_all_zhengfu1(31+j5*32),
1004,'0',200,'0',
array_real_temp2(15+j5*32),real_all_zhengfu2(15+j5*32),array_imag_temp2(15+j5*32),imag_all_zhengfu2(15+j5*32),
array_real_temp2(31+j5*32),real_all_zhengfu2(31+j5*32),array_imag_temp2(31+j5*32),imag_all_zhengfu2(31+j5*32));
end loop;
state<=butterfly6;
when butterfly6 =>
---------------------------------------------五级蝶形运算结束,六级开始---------------------------------------------------------------------------------
diexingyunsuan(array_real_temp2(0),real_all_zhengfu2(0),array_imag_temp2(0),imag_all_zhengfu2(0),
array_real_temp2(32),real_all_zhengfu2(32),array_imag_temp2(32),imag_all_zhengfu2(32),
1024,'1',0,'1',
array_real_temp1(0),real_all_zhengfu1(0),array_imag_temp1(0),imag_all_zhengfu1(0),
array_real_temp1(32),real_all_zhengfu1(32),array_imag_temp1(32),imag_all_zhengfu1(32));
diexingyunsuan (array_real_temp2(1),real_all_zhengfu2(1),array_imag_temp2(1),imag_all_zhengfu2(1),
array_real_temp2(33),real_all_zhengfu2(33),array_imag_temp2(33),imag_all_zhengfu2(33),
1019,'1',100,'0',
array_real_temp1(1),real_all_zhengfu1(1),array_imag_temp1(1),imag_all_zhengfu1(1),
array_real_temp1(33),real_all_zhengfu1(33),array_imag_temp1(33),imag_all_zhengfu1(33));
diexingyunsuan (array_real_temp2(2),real_all_zhengfu2(2),array_imag_temp2(2),imag_all_zhengfu2(2),
array_real_temp2(34),real_all_zhengfu2(34),array_imag_temp2(34),imag_all_zhengfu2(34),
1004,'1',200,'0',
array_real_temp1(2),real_all_zhengfu1(2),array_imag_temp1(2),imag_all_zhengfu1(2),
array_real_temp1(34),real_all_zhengfu1(34),array_imag_temp1(34),imag_all_zhengfu1(34));
diexingyunsuan (array_real_temp2(3),real_all_zhengfu2(3),array_imag_temp2(3),imag_all_zhengfu2(3),
array_real_temp2(35),real_all_zhengfu2(35),array_imag_temp2(35),imag_all_zhengfu2(35),
980,'1',297,'0',
array_real_temp1(3),real_all_zhengfu1(3),array_imag_temp1(3),imag_all_zhengfu1(3),
array_real_temp1(35),real_all_zhengfu1(35),array_imag_temp1(35),imag_all_zhengfu1(35));
diexingyunsuan(array_real_temp2(4),real_all_zhengfu2(4),array_imag_temp2(4),imag_all_zhengfu2(4),
array_real_temp2(36),real_all_zhengfu2(36),array_imag_temp2(36),imag_all_zhengfu2(36),
946,'1',392,'0',
array_real_temp1(4),real_all_zhengfu1(4),array_imag_temp1(4),imag_all_zhengfu1(4),
array_real_temp1(36),real_all_zhengfu1(36),array_imag_temp1(36),imag_all_zhengfu1(36));
diexingyunsuan (array_real_temp2(5),real_all_zhengfu2(5),array_imag_temp2(5),imag_all_zhengfu2(5),
array_real_temp2(37),real_all_zhengfu2(37),array_imag_temp2(37),imag_all_zhengfu2(37),
903,'1',483,'0',
array_real_temp1(5),real_all_zhengfu1(5),array_imag_temp1(5),imag_all_zhengfu1(5),
array_real_temp1(37),real_all_zhengfu1(37),array_imag_temp1(37),imag_all_zhengfu1(37));
diexingyunsuan (array_real_temp2(6),real_all_zhengfu2(6),array_imag_temp2(6),imag_all_zhengfu2(6),
array_real_temp2(38),real_all_zhengfu2(38),array_imag_temp2(38),imag_all_zhengfu2(38),
851,'1',569,'0',
array_real_temp1(6),real_all_zhengfu1(6),array_imag_temp1(6),imag_all_zhengfu1(6),
array_real_temp1(38),real_all_zhengfu1(38),array_imag_temp1(38),imag_all_zhengfu1(38));
diexingyunsuan (array_real_temp2(7),real_all_zhengfu2(7),array_imag_temp2(7),imag_all_zhengfu2(7),
array_real_temp2(39),real_all_zhengfu2(39),array_imag_temp2(39),imag_all_zhengfu2(39),
792,'1',650,'0',
array_real_temp1(7),real_all_zhengfu1(7),array_imag_temp1(7),imag_all_zhengfu1(7),
array_real_temp1(39),real_all_zhengfu1(39),array_imag_temp1(39),imag_all_zhengfu1(39));
diexingyunsuan(array_real_temp2(8),real_all_zhengfu2(8),array_imag_temp2(8),imag_all_zhengfu2(8),
array_real_temp2(40),real_all_zhengfu2(40),array_imag_temp2(40),imag_all_zhengfu2(40),
724,'1',724,'0',
array_real_temp1(8),real_all_zhengfu1(8),array_imag_temp1(8),imag_all_zhengfu1(8),
array_real_temp1(40),real_all_zhengfu1(40),array_imag_temp1(40),imag_all_zhengfu1(40));
diexingyunsuan (array_real_temp2(9),real_all_zhengfu2(9),array_imag_temp2(9),imag_all_zhengfu2(9),
array_real_temp2(41),real_all_zhengfu2(41),array_imag_temp2(41),imag_all_zhengfu2(41),
650,'1',792,'0',
array_real_temp1(9),real_all_zhengfu1(9),array_imag_temp1(9),imag_all_zhengfu1(9),
array_real_temp1(41),real_all_zhengfu1(41),array_imag_temp1(41),imag_all_zhengfu1(41));
diexingyunsuan (array_real_temp2(10),real_all_zhengfu2(10),array_imag_temp2(10),imag_all_zhengfu2(10),
array_real_temp2(42),real_all_zhengfu2(42),array_imag_temp2(42),imag_all_zhengfu2(42),
569,'1',851,'0',
array_real_temp1(10),real_all_zhengfu1(10),array_imag_temp1(10),imag_all_zhengfu1(10),
array_real_temp1(42),real_all_zhengfu1(42),array_imag_temp1(42),imag_all_zhengfu1(42));
diexingyunsuan (array_real_temp2(11),real_all_zhengfu2(11),array_imag_temp2(11),imag_all_zhengfu2(11),
array_real_temp2(43),real_all_zhengfu2(43),array_imag_temp2(43),imag_all_zhengfu2(43),
483,'1',903,'0',
array_real_temp1(11),real_all_zhengfu1(11),array_imag_temp1(11),imag_all_zhengfu1(11),
array_real_temp1(43),real_all_zhengfu1(43),array_imag_temp1(43),imag_all_zhengfu1(43));
diexingyunsuan(array_real_temp2(12),real_all_zhengfu2(12),array_imag_temp2(12),imag_all_zhengfu2(12),
array_real_temp2(44),real_all_zhengfu2(44),array_imag_temp2(44),imag_all_zhengfu2(44),
392,'1',946,'0',
array_real_temp1(12),real_all_zhengfu1(12),array_imag_temp1(12),imag_all_zhengfu1(12),
array_real_temp1(44),real_all_zhengfu1(44),array_imag_temp1(44),imag_all_zhengfu1(44));
diexingyunsuan (array_real_temp2(13),real_all_zhengfu2(13),array_imag_temp2(13),imag_all_zhengfu2(13),
array_real_temp2(45),real_all_zhengfu2(45),array_imag_temp2(45),imag_all_zhengfu2(45),
297,'1',980,'0',
array_real_temp1(13),real_all_zhengfu1(13),array_imag_temp1(13),imag_all_zhengfu1(13),
array_real_temp1(45),real_all_zhengfu1(45),array_imag_temp1(45),imag_all_zhengfu1(45));
diexingyunsuan (array_real_temp2(14),real_all_zhengfu2(14),array_imag_temp2(14),imag_all_zhengfu2(14),
array_real_temp2(46),real_all_zhengfu2(46),array_imag_temp2(46),imag_all_zhengfu2(46),
200,'1',1004,'0',
array_real_temp1(14),real_all_zhengfu1(14),array_imag_temp1(14),imag_all_zhengfu1(14),
array_real_temp1(46),real_all_zhengfu1(46),array_imag_temp1(46),imag_all_zhengfu1(46));
diexingyunsuan (array_real_temp2(15),real_all_zhengfu2(15),array_imag_temp2(15),imag_all_zhengfu2(15),
array_real_temp2(47),real_all_zhengfu2(47),array_imag_temp2(47),imag_all_zhengfu2(47),
100,'1',1019,'0',
array_real_temp1(15),real_all_zhengfu1(15),array_imag_temp1(15),imag_all_zhengfu1(15),
array_real_temp1(47),real_all_zhengfu1(47),array_imag_temp1(47),imag_all_zhengfu1(47));
--------------------------------------------------
diexingyunsuan(array_real_temp2(0+16),real_all_zhengfu2(0+16),array_imag_temp2(0+16),imag_all_zhengfu2(0+16),
array_real_temp2(32+16),real_all_zhengfu2(32+16),array_imag_temp2(32+16),imag_all_zhengfu2(32+16),
0,'1',1024,'0',
array_real_temp1(0+16),real_all_zhengfu1(0+16),array_imag_temp1(0+16),imag_all_zhengfu1(0+16),
array_real_temp1(32+16),real_all_zhengfu1(32+16),array_imag_temp1(32+16),imag_all_zhengfu1(32+16));
diexingyunsuan (array_real_temp2(1+16),real_all_zhengfu2(1+16),array_imag_temp2(1+16),imag_all_zhengfu2(1+16),
array_real_temp2(33+16),real_all_zhengfu2(33+16),array_imag_temp2(33+16),imag_all_zhengfu2(33+16),
100,'0',1019,'0',
array_real_temp1(1+16),real_all_zhengfu1(1+16),array_imag_temp1(1+16),imag_all_zhengfu1(1+16),
array_real_temp1(33+16),real_all_zhengfu1(33+16),array_imag_temp1(33+16),imag_all_zhengfu1(33+16));
diexingyunsuan (array_real_temp2(2+16),real_all_zhengfu2(2+16),array_imag_temp2(2+16),imag_all_zhengfu2(2+16),
array_real_temp2(34+16),real_all_zhengfu2(34+16),array_imag_temp2(34+16),imag_all_zhengfu2(34+16),
200,'0',1004,'0',
array_real_temp1(2+16),real_all_zhengfu1(2+16),array_imag_temp1(2+16),imag_all_zhengfu1(2+16),
array_real_temp1(34+16),real_all_zhengfu1(34+16),array_imag_temp1(34+16),imag_all_zhengfu1(34+16));
diexingyunsuan (array_real_temp2(3+16),real_all_zhengfu2(3+16),array_imag_temp2(3+16),imag_all_zhengfu2(3+16),
array_real_temp2(35+16),real_all_zhengfu2(35+16),array_imag_temp2(35+16),imag_all_zhengfu2(35+16),
297,'0',980,'0',
array_real_temp1(3+16),real_all_zhengfu1(3+16),array_imag_temp1(3+16),imag_all_zhengfu1(3+16),
array_real_temp1(35+16),real_all_zhengfu1(35+16),array_imag_temp1(35+16),imag_all_zhengfu1(35+16));
diexingyunsuan(array_real_temp2(4+16),real_all_zhengfu2(4+16),array_imag_temp2(4+16),imag_all_zhengfu2(4+16),
array_real_temp2(36+16),real_all_zhengfu2(36+16),array_imag_temp2(36+16),imag_all_zhengfu2(36+16),
392,'0',946,'0',
array_real_temp1(4+16),real_all_zhengfu1(4+16),array_imag_temp1(4+16),imag_all_zhengfu1(4+16),
array_real_temp1(36+16),real_all_zhengfu1(36+16),array_imag_temp1(36+16),imag_all_zhengfu1(36+16));
diexingyunsuan (array_real_temp2(5+16),real_all_zhengfu2(5+16),array_imag_temp2(5+16),imag_all_zhengfu2(5+16),
array_real_temp2(37+16),real_all_zhengfu2(37+16),array_imag_temp2(37+16),imag_all_zhengfu2(37+16),
483,'0',903,'0',
array_real_temp1(5+16),real_all_zhengfu1(5+16),array_imag_temp1(5+16),imag_all_zhengfu1(5+16),
array_real_temp1(37+16),real_all_zhengfu1(37+16),array_imag_temp1(37+16),imag_all_zhengfu1(37+16));
diexingyunsuan (array_real_temp2(6+16),real_all_zhengfu2(6+16),array_imag_temp2(6+16),imag_all_zhengfu2(6+16),
array_real_temp2(38+16),real_all_zhengfu2(38+16),array_imag_temp2(38+16),imag_all_zhengfu2(38+16),
569,'0',851,'0',
array_real_temp1(6+16),real_all_zhengfu1(6+16),array_imag_temp1(6+16),imag_all_zhengfu1(6+16),
array_real_temp1(38+16),real_all_zhengfu1(38+16),array_imag_temp1(38+16),imag_all_zhengfu1(38+16));
diexingyunsuan (array_real_temp2(7+16),real_all_zhengfu2(7+16),array_imag_temp2(7+16),imag_all_zhengfu2(7+16),
array_real_temp2(39+16),real_all_zhengfu2(39+16),array_imag_temp2(39+16),imag_all_zhengfu2(39+16),
650,'0',792,'0',
array_real_temp1(7+16),real_all_zhengfu1(7+16),array_imag_temp1(7+16),imag_all_zhengfu1(7+16),
array_real_temp1(39+16),real_all_zhengfu1(39+16),array_imag_temp1(39+16),imag_all_zhengfu1(39+16));
diexingyunsuan(array_real_temp2(8+16),real_all_zhengfu2(8+16),array_imag_temp2(8+16),imag_all_zhengfu2(8+16),
array_real_temp2(40+16),real_all_zhengfu2(40+16),array_imag_temp2(40+16),imag_all_zhengfu2(40+16),
724,'0',724,'0',
array_real_temp1(8+16),real_all_zhengfu1(8+16),array_imag_temp1(8+16),imag_all_zhengfu1(8+16),
array_real_temp1(40+16),real_all_zhengfu1(40+16),array_imag_temp1(40+16),imag_all_zhengfu1(40+16));
diexingyunsuan (array_real_temp2(9+16),real_all_zhengfu2(9+16),array_imag_temp2(9+16),imag_all_zhengfu2(9+16),
array_real_temp2(41+16),real_all_zhengfu2(41+16),array_imag_temp2(41+16),imag_all_zhengfu2(41+16),
792,'0',650,'0',
array_real_temp1(9+16),real_all_zhengfu1(9+16),array_imag_temp1(9+16),imag_all_zhengfu1(9+16),
array_real_temp1(41+16),real_all_zhengfu1(41+16),array_imag_temp1(41+16),imag_all_zhengfu1(41+16));
diexingyunsuan (array_real_temp2(10+16),real_all_zhengfu2(10+16),array_imag_temp2(10+16),imag_all_zhengfu2(10+16),
array_real_temp2(42+16),real_all_zhengfu2(42+16),array_imag_temp2(42+16),imag_all_zhengfu2(42+16),
851,'0',569,'0',
array_real_temp1(10+16),real_all_zhengfu1(10+16),array_imag_temp1(10+16),imag_all_zhengfu1(10+16),
array_real_temp1(42+16),real_all_zhengfu1(42+16),array_imag_temp1(42+16),imag_all_zhengfu1(42+16));
diexingyunsuan (array_real_temp2(11+16),real_all_zhengfu2(11+16),array_imag_temp2(11+16),imag_all_zhengfu2(11+16),
array_real_temp2(43+16),real_all_zhengfu2(43+16),array_imag_temp2(43+16),imag_all_zhengfu2(43+16),
903,'0',483,'0',
array_real_temp1(11+16),real_all_zhengfu1(11+16),array_imag_temp1(11+16),imag_all_zhengfu1(11+16),
array_real_temp1(43+16),real_all_zhengfu1(43+16),array_imag_temp1(43+16),imag_all_zhengfu1(43+16));
diexingyunsuan(array_real_temp2(12+16),real_all_zhengfu2(12+16),array_imag_temp2(12+16),imag_all_zhengfu2(12+16),
array_real_temp2(44+16),real_all_zhengfu2(44+16),array_imag_temp2(44+16),imag_all_zhengfu2(44+16),
946,'0',392,'0',
array_real_temp1(12+16),real_all_zhengfu1(12+16),array_imag_temp1(12+16),imag_all_zhengfu1(12+16),
array_real_temp1(44+16),real_all_zhengfu1(44+16),array_imag_temp1(44+16),imag_all_zhengfu1(44+16));
diexingyunsuan (array_real_temp2(13+16),real_all_zhengfu2(13+16),array_imag_temp2(13+16),imag_all_zhengfu2(13+16),
array_real_temp2(45+16),real_all_zhengfu2(45+16),array_imag_temp2(45+16),imag_all_zhengfu2(45+16),
980,'0',297,'0',
array_real_temp1(13+16),real_all_zhengfu1(13+16),array_imag_temp1(13+16),imag_all_zhengfu1(13+16),
array_real_temp1(45+16),real_all_zhengfu1(45+16),array_imag_temp1(45+16),imag_all_zhengfu1(45+16));
diexingyunsuan (array_real_temp2(14+16),real_all_zhengfu2(14+16),array_imag_temp2(14+16),imag_all_zhengfu2(14+16),
array_real_temp2(46+16),real_all_zhengfu2(46+16),array_imag_temp2(46+16),imag_all_zhengfu2(46+16),
1004,'0',200,'0',
array_real_temp1(14+16),real_all_zhengfu1(14+16),array_imag_temp1(14+16),imag_all_zhengfu1(14+16),
array_real_temp1(46+16),real_all_zhengfu1(46+16),array_imag_temp1(46+16),imag_all_zhengfu1(46+16));
diexingyunsuan (array_real_temp2(15+16),real_all_zhengfu2(15+16),array_imag_temp2(15+16),imag_all_zhengfu2(15+16),
array_real_temp2(47+16),real_all_zhengfu2(47+16),array_imag_temp2(47+16),imag_all_zhengfu2(47+16),
1019,'0',100,'0',
array_real_temp1(15+16),real_all_zhengfu1(15+16),array_imag_temp1(15+16),imag_all_zhengfu1(15+16),
array_real_temp1(47+16),real_all_zhengfu1(47+16),array_imag_temp1(47+16),imag_all_zhengfu1(47+16));
state<=send;
when send =>
fft_finish<='1';
data_out_real <=array_real_temp1(count_i);
data_out_real_zhengfu <=real_all_zhengfu1(count_i);
data_out_imag <=array_imag_temp1(count_i);
data_out_imag_zhengfu <=imag_all_zhengfu1(count_i);
count_i:=count_i+1;
if count_i=0 then
state<=waiting;
else
null;
end if;
when waiting =>
fft_finish<='0';
data_out_real<=0;
data_out_real_zhengfu<='0';
data_out_imag<=0;
data_out_imag_zhengfu<='0';
when others =>
null;
end case;
END IF;
END PROCESS;
END fft;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -