// REVISION    : $Revision: 1.1 $
//                   MENTOR Proprietary and Confidential
//                       Copyright (c) 2002, MENTOR
`timescale 1ps/1ps
module
CoreTSE_M2S090_CORETSE_AHB_0_MMCXWOL
(
CORETSEoli0
,
CORETSEili0
,
CORETSEilii
,
CORETSEI1
,
CORETSEl1
,
CORETSEo1
,
CORETSEi1
,
CORETSEoo
,
CORETSElo
,
CORETSEIOI
,
CORETSElOI
,
CORETSEolo
,
CORETSEoIo
,
CORETSEO0i0
,
CORETSEI0i0
,
CORETSEl0i0
,
CORETSEo0i0
)
;
input
CORETSEoli0
;
input
CORETSEili0
;
input
CORETSEilii
;
input
[
7
:
0
]
CORETSEI1
;
input
CORETSEl1
;
input
CORETSEo1
;
input
CORETSEi1
;
input
[
22
:
20
]
CORETSEoo
;
input
CORETSElo
;
input
CORETSEIOI
;
input
CORETSElOI
;
input
CORETSEolo
;
input
[
47
:
0
]
CORETSEoIo
;
input
CORETSEO0i0
;
input
CORETSEI0i0
;
input
CORETSEl0i0
;
output
CORETSEo0i0
;
parameter
CORETSEOII
=
1
;
parameter
FAMILY
=
19
;
reg
[
7
:
0
]
CORETSEl0lII
;
reg
[
7
:
0
]
CORETSEo0lII
;
reg
CORETSEOilOI
;
reg
CORETSEIilOI
;
reg
CORETSEi0lII
;
reg
CORETSEO1lII
;
reg
CORETSEI1lII
;
reg
CORETSElilOI
;
reg
[
22
:
20
]
CORETSEl1lII
;
reg
CORETSEo1lII
;
reg
CORETSEi1lII
;
reg
CORETSEOolII
;
reg
CORETSEIolII
;
reg
CORETSElolII
;
reg
[
3
:
0
]
CORETSEoolII
;
reg
[
4
:
0
]
CORETSEiolII
;
reg
[
2
:
0
]
CORETSEOilII
;
reg
[
4
:
0
]
CORETSEIilII
;
wire
CORETSElilII
;
reg
CORETSEoilII
;
reg
CORETSEiilII
;
wire
CORETSEOO0II
;
reg
CORETSEIO0II
;
reg
CORETSElO0II
;
reg
CORETSEo0i0
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSEilii
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSEilii
:
1
'b
0
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl0lII
<=
#
CORETSEOII
8
'h
0
;
else
if
(
CORETSEili0
)
CORETSEl0lII
<=
#
CORETSEOII
CORETSEI1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEOilOI
<=
#
CORETSEOII
CORETSEl1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEi0lII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEi0lII
<=
#
CORETSEOII
CORETSEo1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO1lII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEO1lII
<=
#
CORETSEOII
CORETSEi1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1lII
<=
#
CORETSEOII
3
'b
000
;
else
if
(
CORETSEili0
)
CORETSEl1lII
<=
#
CORETSEOII
CORETSEoo
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSElilOI
<=
#
CORETSEOII
CORETSElo
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo1lII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEo1lII
<=
#
CORETSEOII
CORETSEIOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEi1lII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEi1lII
<=
#
CORETSEOII
CORETSElOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOolII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEOolII
<=
#
CORETSEOII
CORETSEolo
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEIilOI
<=
#
CORETSEOII
CORETSEOilOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0lII
<=
#
CORETSEOII
8
'h
0
;
else
if
(
CORETSEili0
)
CORETSEo0lII
<=
#
CORETSEOII
CORETSEl0lII
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI1lII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEI1lII
<=
#
CORETSEOII
CORETSEO1lII
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIolII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEIolII
<=
#
CORETSEOII
CORETSEl0i0
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElolII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSElolII
<=
#
CORETSEOII
CORETSEIolII
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoolII
<=
#
CORETSEOII
4
'd
0
;
else
if
(
CORETSEili0
&
CORETSEIilOI
&
CORETSEI1lII
)
CORETSEoolII
<=
#
CORETSEOII
4
'd
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
CORETSEoolII
!=
4
'd
12
)
)
CORETSEoolII
<=
#
CORETSEOII
CORETSEoolII
+
4
'd
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiolII
<=
#
CORETSEOII
5
'd
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
(
CORETSEl0lII
!=
8
'h
FF
)
|
(
CORETSEoolII
!=
4
'd
12
)
|
CORETSEi0lII
)
)
CORETSEiolII
<=
#
CORETSEOII
5
'd
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
CORETSEl0lII
==
8
'h
FF
)
&
(
CORETSEoolII
==
4
'd
12
)
)
CORETSEiolII
<=
#
CORETSEOII
CORETSEiolII
+
5
'd
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOilII
<=
#
CORETSEOII
3
'h
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
CORETSEi0lII
)
CORETSEOilII
<=
#
CORETSEOII
3
'h
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
(
(
CORETSEiolII
==
5
'd
6
)
&
(
CORETSEIilII
==
5
'h
0
)
)
|
(
CORETSEOilII
==
3
'h
6
)
)
)
CORETSEOilII
<=
#
CORETSEOII
3
'h
1
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
CORETSEOilII
!=
3
'h
0
)
)
CORETSEOilII
<=
#
CORETSEOII
CORETSEOilII
+
3
'h
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIilII
<=
#
CORETSEOII
5
'h
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
CORETSEi0lII
)
CORETSEIilII
<=
#
CORETSEOII
5
'h
0
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
(
(
CORETSEiolII
==
5
'd
6
)
&
(
CORETSEIilII
==
5
'h
0
)
)
|
(
(
CORETSEOilII
==
3
'h
6
)
&
(
CORETSEIilII
==
5
'd
16
)
)
)
)
CORETSEIilII
<=
#
CORETSEOII
5
'h
1
;
else
if
(
CORETSEili0
&
CORETSEOilOI
&
(
CORETSEOilII
==
3
'h
6
)
)
CORETSEIilII
<=
#
CORETSEOII
CORETSEIilII
+
5
'h
1
;
end
assign
CORETSElilII
=
(
(
CORETSEOilII
==
3
'h
1
)
&
(
CORETSEoIo
[
47
:
40
]
==
CORETSEo0lII
)
)
|
(
(
CORETSEOilII
==
3
'h
2
)
&
(
CORETSEoIo
[
39
:
32
]
==
CORETSEo0lII
)
)
|
(
(
CORETSEOilII
==
3
'h
3
)
&
(
CORETSEoIo
[
31
:
24
]
==
CORETSEo0lII
)
)
|
(
(
CORETSEOilII
==
3
'h
4
)
&
(
CORETSEoIo
[
23
:
16
]
==
CORETSEo0lII
)
)
|
(
(
CORETSEOilII
==
3
'h
5
)
&
(
CORETSEoIo
[
15
:
8
]
==
CORETSEo0lII
)
)
|
(
(
CORETSEOilII
==
3
'h
6
)
&
(
CORETSEoIo
[
7
:
0
]
==
CORETSEo0lII
)
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoilII
<=
#
CORETSEOII
1
'h
0
;
else
if
(
CORETSEili0
&
CORETSEIilOI
&
(
~
CORETSElilII
|
(
CORETSEOilII
==
3
'h
0
)
)
)
CORETSEoilII
<=
#
CORETSEOII
1
'h
0
;
else
if
(
CORETSEili0
&
CORETSEIilOI
&
CORETSElilII
&
CORETSEoilII
)
CORETSEoilII
<=
#
CORETSEOII
1
'h
1
;
else
if
(
CORETSEili0
&
CORETSEIilOI
&
CORETSElilII
&
(
CORETSEOilII
==
3
'h
1
)
&
(
CORETSEIilII
==
5
'd
1
)
)
CORETSEoilII
<=
#
CORETSEOII
1
'h
1
;
end
assign
CORETSEOO0II
=
(
CORETSEili0
&
CORETSElilII
&
CORETSEoilII
&
(
CORETSEOilII
==
3
'h
6
)
&
(
CORETSEIilII
==
5
'd
16
)
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiilII
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
(
CORETSEoolII
==
4
'd
6
)
)
CORETSEiilII
<=
#
CORETSEOII
(
CORETSEOolII
|
CORETSEi1lII
|
CORETSEo1lII
)
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIO0II
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSElilOI
)
CORETSEIO0II
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEOO0II
&
CORETSEiilII
)
CORETSEIO0II
<=
#
CORETSEOII
1
'b
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElO0II
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
(
CORETSEoolII
==
4
'd
6
)
)
CORETSElO0II
<=
#
CORETSEOII
CORETSEOolII
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0i0
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSElolII
)
CORETSEo0i0
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSElilOI
&
(
CORETSEl1lII
==
3
'b
000
)
&
(
(
CORETSEIO0II
&
CORETSEI0i0
)
|
(
CORETSElO0II
&
CORETSEO0i0
)
)
)
CORETSEo0i0
<=
#
CORETSEOII
1
'b
1
;
end
endmodule
