⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft_statemachine.vhd

📁 FFT程序
💻 VHD
📖 第 1 页 / 共 4 页
字号:
											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 + -