Line 25... |
Line 25... |
//// PURPOSE. See the GNU Lesser General Public License for more////
|
//// PURPOSE. See the GNU Lesser General Public License for more////
|
//// details. http://www.gnu.org/licenses/lgpl.html ////
|
//// details. http://www.gnu.org/licenses/lgpl.html ////
|
//// ////
|
//// ////
|
//////////////////////////////////////////////////////////////////##>
|
//////////////////////////////////////////////////////////////////##>
|
|
|
OUTDIR fir_NAME
|
OUTDIR PREFIX_NAME
|
OUTFILE fir_NAME.v
|
OUTFILE PREFIX_NAME.v
|
INCLUDE def_fir.txt
|
INCLUDE def_fir.txt
|
|
|
LIST firlist_NAME.txt
|
LIST firlist_NAME.txt
|
|
|
ITER CX COEFF_NUM
|
ITER CX COEFF_NUM
|
Line 50... |
Line 50... |
// Number of multiplayers = MAC_NUM
|
// Number of multiplayers = MAC_NUM
|
// Architecture = ARCH
|
// Architecture = ARCH
|
// Sum of Products Latency = LATENCY
|
// Sum of Products Latency = LATENCY
|
|
|
|
|
module fir_NAME (PORTS);
|
module PREFIX_NAME (PORTS);
|
|
|
input clk;
|
input clk;
|
input reset;
|
input reset;
|
input [EXPR(COEFF_BITS-1):0] kCX;
|
input [EXPR(COEFF_BITS-1):0] kCX;
|
input [EXPR(DIN_BITS-1):0] data_in;
|
input [EXPR(DIN_BITS-1):0] data_in;
|
Line 63... |
Line 63... |
output valid_out;
|
output valid_out;
|
|
|
|
|
IFDEF MAC_EQ(1)
|
IFDEF MAC_EQ(1)
|
CREATE fir_serial.v def_fir_basic.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS)
|
CREATE fir_serial.v def_fir_basic.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS)
|
fir_serial_TOPO fir(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
PREFIX_serial_TOPO PREFIX(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
|
|
ELSE MAC_EQ(1)
|
ELSE MAC_EQ(1)
|
IFDEF MAC_EQ(COEFF_NUM)
|
IFDEF MAC_EQ(COEFF_NUM)
|
CREATE fir_parallel.v def_fir_basic.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS)
|
CREATE fir_parallel.v def_fir_basic.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS)
|
fir_parallel_TOPO fir(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
PREFIX_parallel_TOPO PREFIX(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
|
|
ELSE MAC_EQ(COEFF_NUM)
|
ELSE MAC_EQ(COEFF_NUM)
|
CREATE fir_Nserial.v def_fir_Nserial.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS) DEFCMD(SWAP CONST(MAC_NUM) MAC_NUM)
|
CREATE fir_Nserial.v def_fir_Nserial.txt DEFCMD(SWAP CONST(ORDER) ORDER) DEFCMD(SWAP CONST(COEFF_BITS) COEFF_BITS) DEFCMD(SWAP CONST(DIN_BITS) DIN_BITS) DEFCMD(SWAP CONST(MAC_NUM) MAC_NUM)
|
fir_MAC_NUMserial_TOPO fir(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
PREFIX_MAC_NUMserial_TOPO PREFIX(clk, reset, valid_in, CONCAT.REV(kCX ,), data_in, data_out, valid_out);
|
|
|
ENDIF MAC_EQ(COEFF_NUM)
|
ENDIF MAC_EQ(COEFF_NUM)
|
ENDIF MAC_EQ(1)
|
ENDIF MAC_EQ(1)
|
|
|
|
|