x393
1.0
FPGAcodeforElphelNC393camera
condition_mux.v
Go to the documentation of this file.
1
9
10
`timescale 1ns/1ps
11
12
module
condition_mux
(
13
input
clk
,
14
input
ce
,
// enable recording all conditions
15
input
[
7
:
0
]
sel
,
16
output
condition
,
17
input
ST_NB_ND
,
18
input
PXCI0_NOT_CMDTOISSUE
,
19
input
PCTI_CTBAR_XCZ
,
20
input
PCTI_XCZ
,
21
input
NST_D2HR
,
22
input
NPD_NCA
,
23
input
CHW_DMAA
,
24
input
SCTL_DET_CHANGED_TO_4
,
25
input
SCTL_DET_CHANGED_TO_1
,
26
input
PXSSTS_DET_NE_3
,
27
input
PXSSTS_DET_EQ_1
,
28
input
NPCMD_FRE
,
29
input
FIS_OK
,
30
input
FIS_ERR
,
31
input
FIS_FERR
,
32
input
FIS_EXTRA
,
33
input
FIS_FIRST_INVALID
,
34
input
FR_D2HR
,
35
input
FIS_DATA
,
36
input
FIS_ANY
,
37
input
NB_ND_D2HR_PIO
,
38
input
D2HR
,
39
input
SDB
,
40
input
DMA_ACT
,
41
input
DMA_SETUP
,
42
input
BIST_ACT_FE
,
43
input
BIST_ACT
,
44
input
PIO_SETUP
,
45
input
NB_ND
,
46
input
TFD_STS_ERR
,
47
input
FIS_I
,
48
input
PIO_I
,
49
input
NPD
,
50
input
PIOX
,
51
input
XFER0
,
52
input
PIOX_XFER0
,
53
input
CTBAA_CTBAP
,
54
input
CTBAP
,
55
input
CTBA_B
,
56
input
CTBA_C
,
57
input
TX_ERR
,
58
input
SYNCESC_ERR
,
59
input
DMA_PRD_IRQ_PEND
,
60
input
X_RDY_COLLISION
);
61
62
wire
[
44
:
0
]
masked
;
63
reg
[
43
:
0
]
registered
;
64
reg
[
5
:
0
]
cond_r
;
65
66
assign
condition
= |
cond_r
;
67
68
assign
masked
[
0
] =
registered
[
0
] &&
sel
[
2
] &&
sel
[
1
] &&
sel
[
0
];
69
assign
masked
[
1
] =
registered
[
1
] &&
sel
[
3
] &&
sel
[
1
] &&
sel
[
0
];
70
assign
masked
[
2
] =
registered
[
2
] &&
sel
[
4
] &&
sel
[
1
] &&
sel
[
0
];
71
assign
masked
[
3
] =
registered
[
3
] &&
sel
[
5
] &&
sel
[
1
] &&
sel
[
0
];
72
assign
masked
[
4
] =
registered
[
4
] &&
sel
[
6
] &&
sel
[
1
] &&
sel
[
0
];
73
assign
masked
[
5
] =
registered
[
5
] &&
sel
[
7
] &&
sel
[
1
] &&
sel
[
0
];
74
assign
masked
[
6
] =
registered
[
6
] &&
sel
[
3
] &&
sel
[
2
] &&
sel
[
0
];
75
assign
masked
[
7
] =
registered
[
7
] &&
sel
[
4
] &&
sel
[
2
] &&
sel
[
0
];
76
assign
masked
[
8
] =
registered
[
8
] &&
sel
[
5
] &&
sel
[
2
] &&
sel
[
0
];
77
assign
masked
[
9
] =
registered
[
9
] &&
sel
[
6
] &&
sel
[
2
] &&
sel
[
0
];
78
assign
masked
[
10
] =
registered
[
10
] &&
sel
[
7
] &&
sel
[
2
] &&
sel
[
0
];
79
assign
masked
[
11
] =
registered
[
11
] &&
sel
[
4
] &&
sel
[
3
] &&
sel
[
0
];
80
assign
masked
[
12
] =
registered
[
12
] &&
sel
[
5
] &&
sel
[
3
] &&
sel
[
0
];
81
assign
masked
[
13
] =
registered
[
13
] &&
sel
[
6
] &&
sel
[
3
] &&
sel
[
0
];
82
assign
masked
[
14
] =
registered
[
14
] &&
sel
[
7
] &&
sel
[
3
] &&
sel
[
0
];
83
assign
masked
[
15
] =
registered
[
15
] &&
sel
[
5
] &&
sel
[
4
] &&
sel
[
0
];
84
assign
masked
[
16
] =
registered
[
16
] &&
sel
[
6
] &&
sel
[
4
] &&
sel
[
0
];
85
assign
masked
[
17
] =
registered
[
17
] &&
sel
[
7
] &&
sel
[
4
] &&
sel
[
0
];
86
assign
masked
[
18
] =
registered
[
18
] &&
sel
[
6
] &&
sel
[
5
] &&
sel
[
0
];
87
assign
masked
[
19
] =
registered
[
19
] &&
sel
[
7
] &&
sel
[
5
] &&
sel
[
0
];
88
assign
masked
[
20
] =
registered
[
20
] &&
sel
[
7
] &&
sel
[
6
] &&
sel
[
0
];
89
assign
masked
[
21
] =
registered
[
21
] &&
sel
[
3
] &&
sel
[
2
] &&
sel
[
1
];
90
assign
masked
[
22
] =
registered
[
22
] &&
sel
[
4
] &&
sel
[
2
] &&
sel
[
1
];
91
assign
masked
[
23
] =
registered
[
23
] &&
sel
[
5
] &&
sel
[
2
] &&
sel
[
1
];
92
assign
masked
[
24
] =
registered
[
24
] &&
sel
[
6
] &&
sel
[
2
] &&
sel
[
1
];
93
assign
masked
[
25
] =
registered
[
25
] &&
sel
[
7
] &&
sel
[
2
] &&
sel
[
1
];
94
assign
masked
[
26
] =
registered
[
26
] &&
sel
[
4
] &&
sel
[
3
] &&
sel
[
1
];
95
assign
masked
[
27
] =
registered
[
27
] &&
sel
[
5
] &&
sel
[
3
] &&
sel
[
1
];
96
assign
masked
[
28
] =
registered
[
28
] &&
sel
[
6
] &&
sel
[
3
] &&
sel
[
1
];
97
assign
masked
[
29
] =
registered
[
29
] &&
sel
[
7
] &&
sel
[
3
] &&
sel
[
1
];
98
assign
masked
[
30
] =
registered
[
30
] &&
sel
[
5
] &&
sel
[
4
] &&
sel
[
1
];
99
assign
masked
[
31
] =
registered
[
31
] &&
sel
[
6
] &&
sel
[
4
] &&
sel
[
1
];
100
assign
masked
[
32
] =
registered
[
32
] &&
sel
[
7
] &&
sel
[
4
] &&
sel
[
1
];
101
assign
masked
[
33
] =
registered
[
33
] &&
sel
[
6
] &&
sel
[
5
] &&
sel
[
1
];
102
assign
masked
[
34
] =
registered
[
34
] &&
sel
[
7
] &&
sel
[
5
] &&
sel
[
1
];
103
assign
masked
[
35
] =
registered
[
35
] &&
sel
[
7
] &&
sel
[
6
] &&
sel
[
1
];
104
assign
masked
[
36
] =
registered
[
36
] &&
sel
[
4
] &&
sel
[
3
] &&
sel
[
2
];
105
assign
masked
[
37
] =
registered
[
37
] &&
sel
[
5
] &&
sel
[
3
] &&
sel
[
2
];
106
assign
masked
[
38
] =
registered
[
38
] &&
sel
[
6
] &&
sel
[
3
] &&
sel
[
2
];
107
assign
masked
[
39
] =
registered
[
39
] &&
sel
[
7
] &&
sel
[
3
] &&
sel
[
2
];
108
assign
masked
[
40
] =
registered
[
40
] &&
sel
[
5
] &&
sel
[
4
] &&
sel
[
2
];
109
assign
masked
[
41
] =
registered
[
41
] &&
sel
[
6
] &&
sel
[
4
] &&
sel
[
2
];
110
assign
masked
[
42
] =
registered
[
42
] &&
sel
[
7
] &&
sel
[
4
] &&
sel
[
2
];
111
assign
masked
[
43
] =
registered
[
43
] &&
sel
[
6
] &&
sel
[
5
] &&
sel
[
2
];
112
assign
masked
[
44
] = !(|
sel
);
// always TRUE condition (sel ==0)
113
114
always
@(
posedge
clk
)
begin
115
if
(
ce
)
begin
116
registered
[
0
] <=
ST_NB_ND
;
117
registered
[
1
] <=
PXCI0_NOT_CMDTOISSUE
;
118
registered
[
2
] <=
PCTI_CTBAR_XCZ
;
119
registered
[
3
] <=
PCTI_XCZ
;
120
registered
[
4
] <=
NST_D2HR
;
121
registered
[
5
] <=
NPD_NCA
;
122
registered
[
6
] <=
CHW_DMAA
;
123
registered
[
7
] <=
SCTL_DET_CHANGED_TO_4
;
124
registered
[
8
] <=
SCTL_DET_CHANGED_TO_1
;
125
registered
[
9
] <=
PXSSTS_DET_NE_3
;
126
registered
[
10
] <=
PXSSTS_DET_EQ_1
;
127
registered
[
11
] <=
NPCMD_FRE
;
128
registered
[
12
] <=
FIS_OK
;
129
registered
[
13
] <=
FIS_ERR
;
130
registered
[
14
] <=
FIS_FERR
;
131
registered
[
15
] <=
FIS_EXTRA
;
132
registered
[
16
] <=
FIS_FIRST_INVALID
;
133
registered
[
17
] <=
FR_D2HR
;
134
registered
[
18
] <=
FIS_DATA
;
135
registered
[
19
] <=
FIS_ANY
;
136
registered
[
20
] <=
NB_ND_D2HR_PIO
;
137
registered
[
21
] <=
D2HR
;
138
registered
[
22
] <=
SDB
;
139
registered
[
23
] <=
DMA_ACT
;
140
registered
[
24
] <=
DMA_SETUP
;
141
registered
[
25
] <=
BIST_ACT_FE
;
142
registered
[
26
] <=
BIST_ACT
;
143
registered
[
27
] <=
PIO_SETUP
;
144
registered
[
28
] <=
NB_ND
;
145
registered
[
29
] <=
TFD_STS_ERR
;
146
registered
[
30
] <=
FIS_I
;
147
registered
[
31
] <=
PIO_I
;
148
registered
[
32
] <=
NPD
;
149
registered
[
33
] <=
PIOX
;
150
registered
[
34
] <=
XFER0
;
151
registered
[
35
] <=
PIOX_XFER0
;
152
registered
[
36
] <=
CTBAA_CTBAP
;
153
registered
[
37
] <=
CTBAP
;
154
registered
[
38
] <=
CTBA_B
;
155
registered
[
39
] <=
CTBA_C
;
156
registered
[
40
] <=
TX_ERR
;
157
registered
[
41
] <=
SYNCESC_ERR
;
158
registered
[
42
] <=
DMA_PRD_IRQ_PEND
;
159
registered
[
43
] <=
X_RDY_COLLISION
;
160
end
161
cond_r
[
0
] <= |
masked
[
7
:
0
];
162
cond_r
[
1
] <= |
masked
[
15
:
8
];
163
cond_r
[
2
] <= |
masked
[
23
:
16
];
164
cond_r
[
3
] <= |
masked
[
31
:
24
];
165
cond_r
[
4
] <= |
masked
[
39
:
32
];
166
cond_r
[
5
] <= |
masked
[
44
:
40
];
167
end
168
endmodule
condition_mux.14571NPD_NCA
14571NPD_NCA
Definition:
condition_mux.v:22
condition_mux.14599PIOX
14599PIOX
Definition:
condition_mux.v:50
condition_mux.14567PXCI0_NOT_CMDTOISSUE
14567PXCI0_NOT_CMDTOISSUE
Definition:
condition_mux.v:18
condition_mux.14574SCTL_DET_CHANGED_TO_1
14574SCTL_DET_CHANGED_TO_1
Definition:
condition_mux.v:25
condition_mux.14564sel
[ 7:0] 14564sel
Definition:
condition_mux.v:15
condition_mux.14585FIS_ANY
14585FIS_ANY
Definition:
condition_mux.v:36
condition_mux.14589DMA_ACT
14589DMA_ACT
Definition:
condition_mux.v:40
condition_mux.14580FIS_FERR
14580FIS_FERR
Definition:
condition_mux.v:31
condition_mux.14612cond_r
14612cond_rreg[5:0]
Definition:
condition_mux.v:64
condition_mux.14593PIO_SETUP
14593PIO_SETUP
Definition:
condition_mux.v:44
condition_mux.14605CTBA_C
14605CTBA_C
Definition:
condition_mux.v:56
condition_mux.14586NB_ND_D2HR_PIO
14586NB_ND_D2HR_PIO
Definition:
condition_mux.v:37
condition_mux.14568PCTI_CTBAR_XCZ
14568PCTI_CTBAR_XCZ
Definition:
condition_mux.v:19
condition_mux.14584FIS_DATA
14584FIS_DATA
Definition:
condition_mux.v:35
condition_mux.14594NB_ND
14594NB_ND
Definition:
condition_mux.v:45
condition_mux.14582FIS_FIRST_INVALID
14582FIS_FIRST_INVALID
Definition:
condition_mux.v:33
condition_mux.14583FR_D2HR
14583FR_D2HR
Definition:
condition_mux.v:34
condition_mux.14578FIS_OK
14578FIS_OK
Definition:
condition_mux.v:29
condition_mux.14570NST_D2HR
14570NST_D2HR
Definition:
condition_mux.v:21
condition_mux.14573SCTL_DET_CHANGED_TO_4
14573SCTL_DET_CHANGED_TO_4
Definition:
condition_mux.v:24
condition_mux.14610masked
14610maskedwire[44:0]
Definition:
condition_mux.v:62
condition_mux.14595TFD_STS_ERR
14595TFD_STS_ERR
Definition:
condition_mux.v:46
condition_mux.14581FIS_EXTRA
14581FIS_EXTRA
Definition:
condition_mux.v:32
condition_mux.14579FIS_ERR
14579FIS_ERR
Definition:
condition_mux.v:30
condition_mux.14604CTBA_B
14604CTBA_B
Definition:
condition_mux.v:55
condition_mux.14607SYNCESC_ERR
14607SYNCESC_ERR
Definition:
condition_mux.v:58
condition_mux.14603CTBAP
14603CTBAP
Definition:
condition_mux.v:54
condition_mux.14587D2HR
14587D2HR
Definition:
condition_mux.v:38
condition_mux.14577NPCMD_FRE
14577NPCMD_FRE
Definition:
condition_mux.v:28
condition_mux.14588SDB
14588SDB
Definition:
condition_mux.v:39
condition_mux.14606TX_ERR
14606TX_ERR
Definition:
condition_mux.v:57
condition_mux.14608DMA_PRD_IRQ_PEND
14608DMA_PRD_IRQ_PEND
Definition:
condition_mux.v:59
condition_mux.14575PXSSTS_DET_NE_3
14575PXSSTS_DET_NE_3
Definition:
condition_mux.v:26
condition_mux.14598NPD
14598NPD
Definition:
condition_mux.v:49
condition_mux.14572CHW_DMAA
14572CHW_DMAA
Definition:
condition_mux.v:23
condition_mux.14596FIS_I
14596FIS_I
Definition:
condition_mux.v:47
condition_mux.14591BIST_ACT_FE
14591BIST_ACT_FE
Definition:
condition_mux.v:42
condition_mux.14597PIO_I
14597PIO_I
Definition:
condition_mux.v:48
condition_mux.14590DMA_SETUP
14590DMA_SETUP
Definition:
condition_mux.v:41
condition_mux.14602CTBAA_CTBAP
14602CTBAA_CTBAP
Definition:
condition_mux.v:53
condition_mux.14576PXSSTS_DET_EQ_1
14576PXSSTS_DET_EQ_1
Definition:
condition_mux.v:27
condition_mux.14609X_RDY_COLLISION
14609X_RDY_COLLISION
Definition:
condition_mux.v:60
condition_mux.14600XFER0
14600XFER0
Definition:
condition_mux.v:51
condition_mux.14565condition
14565condition
Definition:
condition_mux.v:16
condition_mux.14601PIOX_XFER0
14601PIOX_XFER0
Definition:
condition_mux.v:52
condition_mux.14563ce
14563ce
Definition:
condition_mux.v:14
condition_mux
Definition:
condition_mux.v:12
condition_mux.14566ST_NB_ND
14566ST_NB_ND
Definition:
condition_mux.v:17
condition_mux.14569PCTI_XCZ
14569PCTI_XCZ
Definition:
condition_mux.v:20
condition_mux.14611registered
14611registeredreg[43:0]
Definition:
condition_mux.v:63
condition_mux.14592BIST_ACT
14592BIST_ACT
Definition:
condition_mux.v:43
condition_mux.14562clk
14562clk
Definition:
condition_mux.v:13
x393_sata
generated
condition_mux.v
Generated by
1.8.12