Entity: FirFilterSingleChannelTb

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

Instantiations