Entity: FirFilterSingleChannelTb
- File: FirFilterSingleChannelTb.vhd
Diagram
Description
Company : SLAC National Accelerator Laboratory
This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to
the terms contained in the LICENSE.txt file.
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
clk | sl | |
rst | sl | |
dout | slv(WIDTH_C-1 downto 0) |
Constants
Name | Type | Value | Description |
---|---|---|---|
TPD_G | time | 1 ns | |
WIDTH_C | positive | 12 | |
TAP_SIZE_C | positive | 101 | |
COEFFICIENTS_C | IntegerArray(TAP_SIZE_C-1 downto 0) | ( 0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 1, 9 => 1, 10 => 2, 11 => 2, 12 => 3, 13 => 4, 14 => 6, 15 => 7, 16 => 9, 17 => 11, 18 => 12, 19 => 15, 20 => 17, 21 => 20, 22 => 22, 23 => 25, 24 => 28, 25 => 31, 26 => 35, 27 => 38, 28 => 42, 29 => 46, 30 => 49, 31 => 53, 32 => 57, 33 => 61, 34 => 64, 35 => 68, 36 => 72, 37 => 75, 38 => 78, 39 => 82, 40 => 85, 41 => 87, 42 => 90, 43 => 92, 44 => 94, 45 => 96, 46 => 97, 47 => 99, 48 => 99, 49 => 100, 50 => 100, 51 => 100, 52 => 99, 53 => 99, 54 => 97, 55 => 96, 56 => 94, 57 => 92, 58 => 90, 59 => 87, 60 => 85, 61 => 82, 62 => 78, 63 => 75, 64 => 72, 65 => 68, 66 => 64, 67 => 61, 68 => 57, 69 => 53, 70 => 49, 71 => 46, 72 => 42, 73 => 38, 74 => 35, 75 => 31, 76 => 28, 77 => 25, 78 => 22, 79 => 20, 80 => 17, 81 => 15, 82 => 12, 83 => 11, 84 => 9, 85 => 7, 86 => 6, 87 => 4, 88 => 3, 89 => 2, 90 => 2, 91 => 1, 92 => 1, 93 => 0, 94 => 0, 95 => 0, 96 => 0, 97 => 0, 98 => 0, 99 => 0, 100 => 0) |
------------------------------------------------------------- Python Code to generate FIR taps for 1 MHz low pass filter ------------------------------------------------------------- taps = scipy.signal.firwin(101, cutoff = 1.0e6/nyquist_freq, window = "hanning") for i in range(len(taps)): taps[i] = floor(taps[i]*4096); print( f'{i} => {int(taps[i])},' ) ------------------------------------------------------------- |
REG_INIT_C | RegType | ( t => 0.0, din => (others => '0')) |
Types
Name | Type | Description |
---|---|---|
RegType |
Processes
- comb: ( r, rst )
- seq: ( clk )
Instantiations
- U_ClkRst: surf.ClkRst
- U_Fir: surf.FirFilterSingleChannel