[wiki:Component SocLib Components General Index] = FIR128 = == 1) Functional Description == The FIR (Finite Impulse Response) is a basic building block in any Digital Processing (DSP) system. The frenquency response of the filter depends on the value of its coefficients, or taps. In our case, the tap number of the filter is equal to 128. The architecture of the FIR is presented in the figure 1. It is composed of a FIR128 core and a MWMR wrapper. The wrapper is used to interface the core and the MWMR controller avalaible here [wiki:Component/VciMwmrController VciMwmrController]. [[Image(fir128.png,align=top,nolink)]] == 2) Component definition & usage == === Component definition === * source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/metadata/fir128.sd === Usage === FIR128 has a ''fifo_depth'' parameter, which defines the fifo depth for the input and the output. For example with a FIFO depth equal to 16 : Uses('Fir128', fifo_depth = 16); == 3) CABA Implementation == === CABA sources === * interface : source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/source/include/fir128.h * implementation : source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/source/src/fir128.cpp === CABA Constructor parameters === {{{ Fir128( sc_module_name name, // Instance name int ncycles) // Number of computation cycles }}} === CABA Ports === * sc_in '''p_resetn''' : hardware reset * sc_in '''p_clk''' : clock * soclib::caba::FifoOutput '''p_to_ctrl''' : interface from the fir128 to the MWMR controller * soclib::caba::FifoInput '''p_from_ctrl''' : interface from the MWMR controller to the fir128 == 4) TLM-T Implementation == The TLM-T implementation is not yet available.