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

📄 butterfly1.vhd

📁 这是一个蝶行运算单元,是做FFT的最基本的单元
💻 VHD
字号:
--这是一个蝶行运算单元模块,输入分别为A和B的实部和虚部,输出为A+B*C和A-B*C
library ieee;              --调用IEEE库
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
 
entity butterfly1 is       --定义一个实体(输入和输出) 

port (in1_r,in1_i,in2_r,in2_i : in integer range -500 to 500 ;
out1_r,out1_i,out2_r,out2_i : out integer range -500 to 500 );

end butterfly1;

architecture bhv of butterfly1 is    --定义一个结构体(中间变量)
signal a,b,c,d : integer range -500 to 500 ;
signal cx,dx : integer range -500000 to 500000 ;--乘积部分会大
constant w : integer:=724;

begin
  a<=in1_r;
  b<=in1_i;
  c<=in2_r;
  d<=in2_i;
  cx<=w*c;
  dx<=w*d;
  out1_r<=a+dx/1024+cx/1024;     --乘一个固定系数W14=0.707+j0.707
  out1_i<=b+dx/1024-cx/1024;
  out2_r<=a-dx/1024-cx/1024;
  out2_i<=b-dx/1024+cx/1024;
end bhv;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -