📄 fft.v
字号:
module butterfly(out1_re,out1_im,out2_re,out2_im,in1_re,in1_im,in2_re,in2_im,clk);
output[7:0] out1_re,out1_im,out2_re,out2_im;
input[7:0] in1_re,in1_im,in2_re,in2_im;
input clk;
reg[7:0] out1_re,out1_im,out2_re,out2_im;
reg[15:0] temp_re,temp_im;
reg[7:0] temp1,temp2;
function[15:0] mul;
input[7:0] in;
reg[13:0] str1;
reg[11:0] str2;
reg[10:0] str3;
reg[9:0] str4;
reg[15:0] mul1,mul2;
begin
assign str4=in<<1;
assign str3=str4<<2;
assign str2=str3<<1;
assign str1=str2<<2;
assign mul1=str4+str3;
assign mul2=str1+str2;
mul=mul1+mul2;
end
endfunction
always @(posedge clk)
begin
temp_re=mul(in2_re);
temp_im=mul(in2_im);
temp1=temp_re[14:7]-temp_im[14:7];
temp2=temp_re[14:7]+temp_im[14:7];
out1_re=in1_re+temp1;
out1_im=in1_im+temp1;
out2_re=in2_re-temp2;
out2_im=in2_im-temp2;
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -