CMS 3D CMS Logo

extend_sector.h
Go to the documentation of this file.
1 // This C++ header file was automatically generated
2 // by VPPC from a Verilog HDL project.
3 // VPPC web-page: http://www.phys.ufl.edu/~madorsky/vppc/
4 
5 // Author : madorsky
6 // Timestamp : Thu Mar 12 14:54:00 2015
7 
8 #ifndef __extend_sector_h_file__
9 #define __extend_sector_h_file__
10 #include "vppc_sim_lib.h"
11 #include "extender.h"
12 
14 {
15  public:
16  extend_sector(){built = false; glbl_gsr = true; defparam();}
17  void defparam();
18  void build();
19  bool built;
20  bool glbl_gsr;
21  unsigned station;
22  unsigned cscid;
23  // segments per chamber
24  unsigned seg_ch;
25  // bit widths of ph and th outputs, reduced precision
26 // have to be derived from pattern width on top level
27  unsigned bw_ph;
28  unsigned bw_th;
29  // bit widths of ph and th, full precision
30  unsigned bw_fph;
31  unsigned bw_fth;
32  // wiregroup input bit width (0..111)
33  unsigned bw_wg;
34  // bit width of dblstrip input (max 80 for ME234/1 with double-width strips)
35  unsigned bw_ds;
36  // width of halfstrip input
37  unsigned bw_hs;
38  // pattern half-width for stations 3,4
39  unsigned pat_w_st3; //4;
40  // pattern half-width for station 1
41  unsigned pat_w_st1;
42  // number of input bits for stations 3,4
43  unsigned full_pat_w_st3;
44  // number of input bits for st 1
45  unsigned full_pat_w_st1;
46  // width of zero padding for station copies
47  unsigned padding_w_st1;
48  unsigned padding_w_st3;
49  // full pattern widths (aka reduced pattern)
50  unsigned red_pat_w_st3;
51  unsigned red_pat_w_st1;
52  // number of folds for pattern detectors, do not set to 1
53  unsigned fold;
54  // number of th outputs for ME1/1
55  unsigned th_ch11;
56  unsigned bw_q;
57  unsigned bw_addr;
58  // strips per section, calculated so ph pattern would cover +/- 8 deg in st 1
59  unsigned ph_raw_w; // kludge to fix synth error, need to understand
60  unsigned th_raw_w;
61  // max possible drifttime
62  unsigned max_drift;
63  // bit widths of precise phi and eta outputs
64  unsigned bw_phi;
65  unsigned bw_eta;
66  // width of ph raw hits, max coverage +8 to cover possible chamber displacement
67  unsigned ph_hit_w; //80 + 8;
68  // for 20 deg chambers
69  unsigned ph_hit_w20;
70  // for 10 deg chambers
71  unsigned ph_hit_w10; //40 + 8;
72  // width of th raw hits, max coverage +8 to cover possible chamber displacement
73  unsigned th_hit_w;
74  unsigned endcap;
75  unsigned n_strips;
76  unsigned n_wg;
77  // theta range (take +1 because th_coverage contains max th value starting from 0)
78  unsigned th_coverage;
79  // phi range
80  unsigned ph_coverage; //80 : 40;
81  // number of th outputs takes ME1/1 th duplication into account
82  unsigned th_ch;
83  // is this chamber mounted in reverse direction?
84  unsigned ph_reverse;
85  unsigned th_mem_sz;
86  unsigned th_corr_mem_sz;
87  // multiplier bit width (phi + factor)
88  unsigned mult_bw;
89  // ph zone boundaries for chambers that cover more than one zone
90 // hardcoded boundaries must match boundaries in ph_th_match module
91  unsigned ph_zone_bnd1;
92  unsigned ph_zone_bnd2;
93  unsigned zone_overlap;
94  // sorter parameters
95  unsigned bwr; // rank width
96  unsigned bpow; // (1 << bpow) is count of input ranks
97  unsigned cnr; // internal rank count
98  unsigned cnrex; // actual input rank count, must be even
99 
104 
105 
106  unsigned i;
107  unsigned j;
108 
109  void init ();
110  void operator()
111  (
112  signal_& ph_zone__io,
113  signal_& ph_ext__io,
114  signal_& drifttime__io,
115  signal_& clk__io
116  );
118  {
119  public:
121  {
122  public:
124  {
125  public:
127 
128  void init();
129  };
130  std::map <ull, station__class> station;
131 
132  void init();
133  };
134  std::map <ull, ph_zone_blk__class> ph_zone_blk;
135 
136  void init();
137  };
139 };
140 #endif
unsigned bw_th
Definition: extend_sector.h:28
unsigned n_wg
Definition: extend_sector.h:76
unsigned cscid
Definition: extend_sector.h:22
unsigned bwr
Definition: extend_sector.h:95
unsigned cnr
Definition: extend_sector.h:97
unsigned bw_hs
Definition: extend_sector.h:37
unsigned ph_coverage
Definition: extend_sector.h:80
unsigned red_pat_w_st1
Definition: extend_sector.h:51
unsigned station
Definition: extend_sector.h:21
unsigned red_pat_w_st3
Definition: extend_sector.h:50
unsigned ph_hit_w20
Definition: extend_sector.h:69
unsigned mult_bw
Definition: extend_sector.h:88
unsigned max_drift
Definition: extend_sector.h:62
unsigned th_mem_sz
Definition: extend_sector.h:85
unsigned bw_q
Definition: extend_sector.h:56
std::map< unsigned int, station__class > station
unsigned bw_ds
Definition: extend_sector.h:35
unsigned th_hit_w
Definition: extend_sector.h:73
unsigned pat_w_st3
Definition: extend_sector.h:39
unsigned ph_raw_w
Definition: extend_sector.h:59
unsigned ph_hit_w
Definition: extend_sector.h:67
unsigned endcap
Definition: extend_sector.h:74
unsigned cnrex
Definition: extend_sector.h:98
unsigned zone_overlap
Definition: extend_sector.h:93
unsigned th_corr_mem_sz
Definition: extend_sector.h:86
std::map< unsigned int, ph_zone_blk__class > ph_zone_blk
unsigned ph_zone_bnd1
Definition: extend_sector.h:91
unsigned pat_w_st1
Definition: extend_sector.h:41
unsigned bw_eta
Definition: extend_sector.h:65
genblk__class genblk
signal_ drifttime
unsigned bw_wg
Definition: extend_sector.h:33
unsigned bw_fth
Definition: extend_sector.h:31
unsigned full_pat_w_st1
Definition: extend_sector.h:45
unsigned bpow
Definition: extend_sector.h:96
unsigned th_coverage
Definition: extend_sector.h:78
unsigned ph_hit_w10
Definition: extend_sector.h:71
unsigned ph_reverse
Definition: extend_sector.h:84
unsigned ph_zone_bnd2
Definition: extend_sector.h:92
unsigned padding_w_st3
Definition: extend_sector.h:48
unsigned bw_fph
Definition: extend_sector.h:30
unsigned fold
Definition: extend_sector.h:53
unsigned padding_w_st1
Definition: extend_sector.h:47
unsigned seg_ch
Definition: extend_sector.h:24
unsigned th_ch
Definition: extend_sector.h:82
unsigned th_ch11
Definition: extend_sector.h:55
unsigned bw_phi
Definition: extend_sector.h:64
unsigned bw_addr
Definition: extend_sector.h:57
unsigned n_strips
Definition: extend_sector.h:75
unsigned bw_ph
Definition: extend_sector.h:27
unsigned th_raw_w
Definition: extend_sector.h:60
unsigned full_pat_w_st3
Definition: extend_sector.h:43