| | 1 | [wiki:Component SocLib Components General Index] |
| | 2 | |
| | 3 | = FIR128 = |
| | 4 | |
| | 5 | == 1) Functional Description == |
| | 6 | |
| | 7 | 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. |
| | 8 | In our case, the tap number of the filter is equal to 128. |
| | 9 | 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]. |
| | 10 | |
| | 11 | [[Image(fir128.png,align=top,nolink)]] |
| | 12 | |
| | 13 | |
| | 14 | == 2) Component definition & usage == |
| | 15 | |
| | 16 | === Component definition === |
| | 17 | |
| | 18 | * source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/metadata/fir128.sd |
| | 19 | |
| | 20 | === Usage === |
| | 21 | |
| | 22 | FIR128 has a ''fifo_depth'' parameter, which defines the fifo depth for the input and the output. |
| | 23 | For example with a FIFO depth equal to 16 : |
| | 24 | Uses('Fir128', fifo_depth = 16); |
| | 25 | |
| | 26 | == 3) CABA Implementation == |
| | 27 | |
| | 28 | === CABA sources === |
| | 29 | |
| | 30 | * interface : source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/source/include/fir128.h |
| | 31 | * implementation : source:trunk/soclib/soclib/module/ofdm_chain_components/fir128/caba/source/src/fir128.cpp |
| | 32 | |
| | 33 | |
| | 34 | === CABA Constructor parameters === |
| | 35 | |
| | 36 | {{{ |
| | 37 | Fir128( |
| | 38 | sc_module_name name, // Instance name |
| | 39 | int ncycles) // Number of computation cycles |
| | 40 | }}} |
| | 41 | |
| | 42 | === CABA Ports === |
| | 43 | |
| | 44 | * sc_in<bool> '''p_resetn''' : hardware reset |
| | 45 | * sc_in<bool> '''p_clk''' : clock |
| | 46 | * soclib::caba::FifoOutput<uint32_t> '''p_to_ctrl''' : interface from the fir128 to the MWMR controller |
| | 47 | * soclib::caba::FifoInput<uint32_t> '''p_from_ctrl''' : interface from the MWMR controller to the fir128 |
| | 48 | |
| | 49 | == 4) TLM-T Implementation == |
| | 50 | |
| | 51 | The TLM-T implementation is not yet available. |