fft_test.v

来自「用vhdl编写的FFT的代码,很全,很强大.」· Verilog 代码 · 共 120 行

V
120
字号
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    14:06:02 08/12/2006 
// Design Name: 
// Module Name:    fft_test 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module fft_test(
				clk, 
				reset, 
				xn_re, 
				xn_im, 
				xn_index,
				ram_addr,				
				rfd, 
				xk_re, 
				xk_im, 
				blk, 
				start, 
				done,
				xk_index
);
    input 			clk;
    input 			reset;
    output[15:0] 	xn_re;
    input[15:0] 	xn_im;
    output[6:0] 	xn_index,ram_addr;
    output 			rfd;
    output[15:0] 	xk_re;
    output[15:0] 	xk_im;
    output[4:0] 	blk;
    input 			start;
    output 			done;
	 output[6:0]	xk_index;

/////////////////////////////////////////////////////////////////

wire 			clk;wire 			reset;wire[15:0] 	xn_re,xn_im;wire[6:0] 	xn_index;wire 			rfd;wire[15:0] 	xk_re,xk_im;wire[4:0] 	blk;wire 			start;wire 			done;
wire[6:0]	xk_index;
wire 			dv;
wire[15:0]	din;

reg[6:0]		ram_addr;
reg			rfd1;

fft u1(
  .fwd_inv_we(1'b1),  .rfd(rfd),  .start(start),  .fwd_inv(1'b1),  .dv(dv),  .unload(done),  .done(done),  .clk(clk),  .busy(busy),  .edone(edone),  .xn_re(xn_re),  .blk_exp(blk),  .xk_im(xk_im),  .xn_index(xn_index),  .xk_re(xk_re),  .xn_im(xn_im),  .xk_index(xk_index));

ram u2(
	.addr(ram_addr),
	.clk(clk),
	.din(din),
	.dout(xn_re),
	.we(1'b0)
);	

//genreate 4 clock delay after xn_index
always @(posedge clk or posedge reset)
begin
	if (reset) begin
		rfd1 <= 0;
	end else begin
		rfd1 <= rfd;
	end
end


//grnerate rd_ram_addr
always @(posedge clk or posedge reset)
begin
	if (reset) begin
		ram_addr <= 127;
	end else begin
		if (rfd1) begin //xn_re input delay from rfd1~rfd3
			ram_addr <= ram_addr + 1;
		end
	end
end


endmodule

⌨️ 快捷键说明

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