fpga: rfnoc: Add BLANK_OUTPUT to FIR filter block's parameters
Original-commit: 8444f84add04f025b7e24855e0ba79446e615e01
This commit is contained in:
committed by
Wade Fife
parent
01f7f75ca3
commit
83ad8e36ba
@@ -23,7 +23,7 @@
|
|||||||
// COEFFS_VEC - Vector of NUM_COEFFS values each of width COEFF_WIDTH to
|
// COEFFS_VEC - Vector of NUM_COEFFS values each of width COEFF_WIDTH to
|
||||||
// initialize coeffs. Defaults to an impulse.
|
// initialize coeffs. Defaults to an impulse.
|
||||||
// RELOADABLE_COEFFS - Enable (1) or disable (0) reloading coefficients at runtime (via reload bus)
|
// RELOADABLE_COEFFS - Enable (1) or disable (0) reloading coefficients at runtime (via reload bus)
|
||||||
// BLANK_OUTPUT - Disable (1) or enable (0) output when filling internal pipeline
|
// BLANK_OUTPUT - Disable (1) or enable (0) output when initially filling internal pipeline
|
||||||
// SYMMETRIC_COEFFS - Reduce multiplier usage by approx half if coefficients are symmetric
|
// SYMMETRIC_COEFFS - Reduce multiplier usage by approx half if coefficients are symmetric
|
||||||
// SKIP_ZERO_COEFFS - Reduce multiplier usage by assuming zero valued coefficients in
|
// SKIP_ZERO_COEFFS - Reduce multiplier usage by assuming zero valued coefficients in
|
||||||
// DEFAULT_COEFFS are always zero. Useful for halfband filters.
|
// DEFAULT_COEFFS are always zero. Useful for halfband filters.
|
||||||
|
|||||||
@@ -29,6 +29,9 @@
|
|||||||
// RELOADABLE_COEFFS : Enable (1) or disable (0) reloading
|
// RELOADABLE_COEFFS : Enable (1) or disable (0) reloading
|
||||||
// coefficients at runtime
|
// coefficients at runtime
|
||||||
//
|
//
|
||||||
|
// BLANK_OUTPUT : Disable (1) or enable (0) output when initially
|
||||||
|
// filling internal pipeline
|
||||||
|
//
|
||||||
// SYMMETRIC_COEFFS : Reduce multiplier usage by approximately half
|
// SYMMETRIC_COEFFS : Reduce multiplier usage by approximately half
|
||||||
// if coefficients are symmetric
|
// if coefficients are symmetric
|
||||||
//
|
//
|
||||||
@@ -61,6 +64,7 @@ module rfnoc_block_fir_filter #(
|
|||||||
{(COEFF_WIDTH*(NUM_COEFFS-1)){1'b0}} // Zero for remaining coefficients
|
{(COEFF_WIDTH*(NUM_COEFFS-1)){1'b0}} // Zero for remaining coefficients
|
||||||
},
|
},
|
||||||
parameter RELOADABLE_COEFFS = 1,
|
parameter RELOADABLE_COEFFS = 1,
|
||||||
|
parameter BLANK_OUTPUT = 1,
|
||||||
parameter SYMMETRIC_COEFFS = 0,
|
parameter SYMMETRIC_COEFFS = 0,
|
||||||
parameter SKIP_ZERO_COEFFS = 0,
|
parameter SKIP_ZERO_COEFFS = 0,
|
||||||
parameter USE_EMBEDDED_REGS_COEFFS = 1
|
parameter USE_EMBEDDED_REGS_COEFFS = 1
|
||||||
@@ -280,6 +284,7 @@ module rfnoc_block_fir_filter #(
|
|||||||
.NUM_COEFFS (NUM_COEFFS),
|
.NUM_COEFFS (NUM_COEFFS),
|
||||||
.COEFFS_VEC (COEFFS_VEC),
|
.COEFFS_VEC (COEFFS_VEC),
|
||||||
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
||||||
|
.BLANK_OUTPUT (BLANK_OUTPUT),
|
||||||
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
||||||
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
||||||
.USE_EMBEDDED_REGS_COEFFS (USE_EMBEDDED_REGS_COEFFS)
|
.USE_EMBEDDED_REGS_COEFFS (USE_EMBEDDED_REGS_COEFFS)
|
||||||
|
|||||||
@@ -29,6 +29,9 @@
|
|||||||
// RELOADABLE_COEFFS : Enable (1) or disable (0) reloading
|
// RELOADABLE_COEFFS : Enable (1) or disable (0) reloading
|
||||||
// coefficients at runtime
|
// coefficients at runtime
|
||||||
//
|
//
|
||||||
|
// BLANK_OUTPUT : Disable (1) or enable (0) output when initially
|
||||||
|
// filling internal pipeline
|
||||||
|
//
|
||||||
// SYMMETRIC_COEFFS : Reduce multiplier usage by approximately half
|
// SYMMETRIC_COEFFS : Reduce multiplier usage by approximately half
|
||||||
// if coefficients are symmetric
|
// if coefficients are symmetric
|
||||||
//
|
//
|
||||||
@@ -58,6 +61,7 @@ module rfnoc_fir_filter_core #(
|
|||||||
{(COEFF_WIDTH*(NUM_COEFFS-1)){1'b0}} // Zero for remaining coefficients
|
{(COEFF_WIDTH*(NUM_COEFFS-1)){1'b0}} // Zero for remaining coefficients
|
||||||
},
|
},
|
||||||
parameter RELOADABLE_COEFFS = 1,
|
parameter RELOADABLE_COEFFS = 1,
|
||||||
|
parameter BLANK_OUTPUT = 1,
|
||||||
parameter SYMMETRIC_COEFFS = 0,
|
parameter SYMMETRIC_COEFFS = 0,
|
||||||
parameter SKIP_ZERO_COEFFS = 0,
|
parameter SKIP_ZERO_COEFFS = 0,
|
||||||
parameter USE_EMBEDDED_REGS_COEFFS = 1
|
parameter USE_EMBEDDED_REGS_COEFFS = 1
|
||||||
@@ -171,7 +175,7 @@ module rfnoc_fir_filter_core #(
|
|||||||
.NUM_COEFFS (NUM_COEFFS),
|
.NUM_COEFFS (NUM_COEFFS),
|
||||||
.COEFFS_VEC (COEFFS_VEC),
|
.COEFFS_VEC (COEFFS_VEC),
|
||||||
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
||||||
.BLANK_OUTPUT (1),
|
.BLANK_OUTPUT (BLANK_OUTPUT),
|
||||||
// Optional optimizations
|
// Optional optimizations
|
||||||
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
||||||
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
||||||
@@ -202,7 +206,7 @@ module rfnoc_fir_filter_core #(
|
|||||||
.NUM_COEFFS (NUM_COEFFS),
|
.NUM_COEFFS (NUM_COEFFS),
|
||||||
.COEFFS_VEC (COEFFS_VEC),
|
.COEFFS_VEC (COEFFS_VEC),
|
||||||
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
.RELOADABLE_COEFFS (RELOADABLE_COEFFS),
|
||||||
.BLANK_OUTPUT (1),
|
.BLANK_OUTPUT (BLANK_OUTPUT),
|
||||||
// Optional optimizations
|
// Optional optimizations
|
||||||
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
.SYMMETRIC_COEFFS (SYMMETRIC_COEFFS),
|
||||||
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
.SKIP_ZERO_COEFFS (SKIP_ZERO_COEFFS),
|
||||||
|
|||||||
Reference in New Issue
Block a user