📄 butterfly1.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 + -