// VERSION     : $Revision: 1.5 $
//                   MENTOR Proprietary and Confidential
//                       Copyright (c) 2003, MENTOR
`timescale 1ns/1ns
module
CoreTSE_M2S090_CORETSE_AHB_0_PETMC_TOP
(
CORETSEli0I
,
CORETSEoi0I
,
CORETSEO00I
,
CORETSEOO1I
,
CORETSEIO1I
,
CORETSElO1I
,
CORETSEIo0l
,
CORETSElo0l
,
CORETSEoo0l
,
CORETSEio0l
,
CORETSEOi0l
,
CORETSEIi0l
,
CORETSEiI
,
CORETSEoIo
,
CORETSEli0l
,
CORETSEoi0l
,
CORETSEii0l
,
CORETSEllo
,
CORETSEOO1l
,
CORETSEIO1l
,
CORETSElO1l
,
CORETSEoO1l
,
CORETSEiO1l
,
CORETSEoo1I
,
CORETSEio1I
,
CORETSEOi1I
,
CORETSEIi1I
,
CORETSEOI1l
,
CORETSEII1l
,
CORETSEoO1I
,
CORETSEiO1I
,
CORETSEIlo
)
;
input
CORETSEli0I
,
CORETSEoi0I
;
input
[
7
:
0
]
CORETSEO00I
;
input
CORETSEOO1I
,
CORETSEIO1I
,
CORETSElO1I
,
CORETSEIo0l
;
input
CORETSElo0l
,
CORETSEoo0l
,
CORETSEio0l
,
CORETSEOi0l
;
input
CORETSEIi0l
;
input
[
1
:
0
]
CORETSEiI
;
input
[
47
:
0
]
CORETSEoIo
;
input
CORETSEli0l
;
input
[
15
:
0
]
CORETSEoi0l
,
CORETSEii0l
;
input
CORETSEllo
;
input
CORETSEOO1l
;
output
[
7
:
0
]
CORETSEIO1l
;
output
CORETSElO1l
,
CORETSEoO1l
,
CORETSEiO1l
;
output
CORETSEoo1I
,
CORETSEio1I
,
CORETSEOi1I
,
CORETSEIi1I
;
output
CORETSEOI1l
;
output
CORETSEoO1I
,
CORETSEiO1I
,
CORETSEIlo
;
output
[
7
:
0
]
CORETSEII1l
;
reg
[
7
:
0
]
CORETSEIO1l
;
reg
CORETSElO1l
,
CORETSEoO1l
,
CORETSEiO1l
;
reg
CORETSEoo1I
,
CORETSEio1I
,
CORETSEOi1I
,
CORETSEIi1I
;
reg
CORETSEOI1l
;
reg
CORETSEoO1I
,
CORETSEiO1I
;
parameter
CORETSEOII
=
1
;
parameter
FAMILY
=
19
;
reg
CORETSElI1l
,
CORETSEoI1l
,
CORETSEiI1l
;
reg
CORETSEOl1l
,
CORETSEIl1l
;
wire
CORETSEll1l
;
reg
CORETSEol1l
;
wire
CORETSEil1l
,
CORETSEO01l
,
CORETSEi00l
,
CORETSEI01l
;
reg
CORETSEIlo
,
CORETSEl01l
,
CORETSEI10l
,
CORETSEo01l
;
wire
[
5
:
0
]
CORETSEi01l
;
wire
CORETSEO11l
,
CORETSEI11l
;
wire
[
5
:
0
]
CORETSEl11l
;
reg
[
5
:
0
]
CORETSEo11l
;
wire
[
7
:
0
]
CORETSEi11l
;
wire
[
7
:
0
]
CORETSEOo1l
;
wire
CORETSEIo1l
,
CORETSElo1l
,
CORETSEoo1l
;
wire
CORETSEio1l
,
CORETSEOi1l
,
CORETSEIi1l
;
reg
CORETSEli1l
,
CORETSEoi1l
,
CORETSEii1l
;
wire
CORETSEOiIl
,
CORETSEIiIl
,
CORETSEliIl
,
CORETSEoiIl
;
wire
CORETSEOOol
;
wire
CORETSEIOol
,
CORETSElOol
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSEII1l
=
CORETSEOo1l
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSEOO1l
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSEOO1l
:
1
'b
0
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSElI1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSElI1l
<=
#
CORETSEOII
CORETSEIi0l
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEoI1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEoI1l
<=
#
CORETSEOII
CORETSElI1l
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEiI1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEiI1l
<=
#
CORETSEOII
CORETSEoI1l
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEOl1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEOl1l
<=
#
CORETSEOII
CORETSEllo
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEIl1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEIl1l
<=
#
CORETSEOII
CORETSEOl1l
;
end
assign
CORETSEll1l
=
~
CORETSEol1l
&
CORETSEli0l
&
CORETSEIi0l
&
CORETSEOI1l
|
CORETSEol1l
&
~
(
CORETSEo01l
&
CORETSEoo0l
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEol1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEol1l
<=
#
CORETSEOII
CORETSEll1l
;
end
assign
CORETSEil1l
=
CORETSEl01l
&
CORETSEi00l
&
~
CORETSEI10l
|
CORETSEIlo
&
~
(
CORETSEOO1I
&
(
~
CORETSEIl1l
|
CORETSEIo0l
)
|
CORETSEol1l
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEIlo
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEoi0I
)
CORETSEIlo
<=
#
CORETSEOII
CORETSEil1l
;
end
assign
CORETSEO01l
=
CORETSEIlo
&
(
CORETSEOO1I
&
(
~
CORETSEIl1l
|
CORETSEIo0l
)
|
CORETSEol1l
)
|
CORETSEl01l
&
~
(
CORETSEi00l
&
~
CORETSEI10l
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEl01l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEl01l
<=
#
CORETSEOII
CORETSEO01l
;
end
assign
CORETSEi00l
=
~
CORETSEo01l
&
(
CORETSEio1I
|
CORETSEIi1I
)
|
CORETSEo01l
&
CORETSEoo0l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEI10l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEI10l
<=
#
CORETSEOII
CORETSEi00l
;
end
assign
CORETSEI01l
=
CORETSEIlo
&
CORETSEol1l
|
CORETSEl01l
&
CORETSEo01l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEo01l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEo01l
<=
#
CORETSEOII
CORETSEI01l
;
end
assign
CORETSEO11l
=
~
CORETSEo01l
|
CORETSEo01l
&
CORETSEo11l
[
5
:
0
]
==
6
'h
13
&
(
CORETSEiI
[
1
]
&
CORETSEoi1l
|
~
CORETSEiI
[
1
]
&
CORETSEii1l
)
;
assign
CORETSEi01l
[
5
:
0
]
=
6
'h
00
;
assign
CORETSEI11l
=
CORETSEo01l
&
CORETSEo11l
[
5
:
0
]
!=
6
'h
14
&
(
CORETSEiI
[
1
]
&
CORETSEoi1l
|
~
CORETSEiI
[
1
]
&
CORETSEii1l
)
;
assign
CORETSEl11l
[
5
:
0
]
=
{
6
{
CORETSEO11l
}
}
&
CORETSEi01l
[
5
:
0
]
|
{
6
{
~
CORETSEO11l
&
CORETSEI11l
}
}
&
CORETSEo11l
[
5
:
0
]
+
1
'b
1
|
{
6
{
~
CORETSEO11l
&
~
CORETSEI11l
}
}
&
CORETSEo11l
[
5
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEo11l
[
5
:
0
]
<=
#
CORETSEOII
6
'h
0
;
else
if
(
CORETSEoi0I
)
CORETSEo11l
[
5
:
0
]
<=
#
CORETSEOII
CORETSEl11l
[
5
:
0
]
;
end
assign
CORETSEi11l
[
7
:
0
]
=
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
00
}
}
&
8
'h
01
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
01
}
}
&
8
'h
80
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
02
}
}
&
8
'h
c2
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
03
}
}
&
8
'h
00
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
04
}
}
&
8
'h
00
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
05
}
}
&
8
'h
01
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
06
}
}
&
CORETSEoIo
[
47
:
40
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
07
}
}
&
CORETSEoIo
[
39
:
32
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
08
}
}
&
CORETSEoIo
[
31
:
24
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
09
}
}
&
CORETSEoIo
[
23
:
16
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0a
}
}
&
CORETSEoIo
[
15
:
8
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0b
}
}
&
CORETSEoIo
[
7
:
0
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0c
}
}
&
8
'h
88
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0d
}
}
&
8
'h
08
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0e
}
}
&
8
'h
00
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
0f
}
}
&
8
'h
01
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
10
}
}
&
CORETSEoi0l
[
15
:
8
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
11
}
}
&
CORETSEoi0l
[
7
:
0
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
12
}
}
&
CORETSEii0l
[
15
:
8
]
|
{
8
{
CORETSEo11l
[
4
:
0
]
==
5
'h
13
}
}
&
CORETSEii0l
[
7
:
0
]
;
assign
CORETSEOo1l
[
7
:
0
]
=
{
8
{
~
CORETSEo01l
}
}
&
CORETSEO00I
[
7
:
0
]
|
{
8
{
CORETSEo01l
}
}
&
CORETSEi11l
[
7
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEIO1l
[
7
:
0
]
<=
#
CORETSEOII
8
'h
0
;
else
if
(
CORETSEoi0I
)
CORETSEIO1l
[
7
:
0
]
<=
#
CORETSEOII
CORETSEOo1l
[
7
:
0
]
;
end
assign
CORETSEIo1l
=
~
CORETSEo01l
&
CORETSEl01l
&
CORETSEOO1I
|
CORETSEo01l
&
CORETSEl01l
&
CORETSEol1l
|
CORETSEo01l
&
CORETSElO1l
&
~
CORETSEoi1l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSElO1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSElO1l
<=
#
CORETSEOII
CORETSEIo1l
;
end
assign
CORETSEio1l
=
CORETSEo01l
&
CORETSElo0l
&
~
CORETSElO1I
&
~
CORETSEiO1l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEli1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEli1l
<=
#
CORETSEOII
CORETSEio1l
;
end
assign
CORETSEOi1l
=
CORETSEli1l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEoi1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEoi1l
<=
#
CORETSEOII
CORETSEOi1l
;
end
assign
CORETSEIi1l
=
CORETSEoi1l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEii1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEii1l
<=
#
CORETSEOII
CORETSEIi1l
;
end
assign
CORETSElo1l
=
~
CORETSEo01l
&
CORETSEIO1I
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEoO1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEoO1l
<=
#
CORETSEOII
CORETSElo1l
;
end
assign
CORETSEoo1l
=
~
CORETSEo01l
&
CORETSElO1I
|
CORETSEo01l
&
CORETSEo11l
[
4
:
0
]
==
5
'h
13
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEiO1l
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEiO1l
<=
#
CORETSEOII
CORETSEoo1l
;
end
assign
CORETSEOiIl
=
~
CORETSEo01l
&
CORETSElo0l
&
~
CORETSElO1I
&
~
CORETSEiO1l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEoo1I
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEoo1I
<=
#
CORETSEOII
CORETSEOiIl
;
end
assign
CORETSEIiIl
=
CORETSEoo0l
|
CORETSEo01l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEio1I
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEoi0I
)
CORETSEio1I
<=
#
CORETSEOII
CORETSEIiIl
;
end
assign
CORETSEliIl
=
CORETSEio0l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEOi1I
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEOi1I
<=
#
CORETSEOII
CORETSEliIl
;
end
assign
CORETSEoiIl
=
CORETSEOi0l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEIi1I
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEIi1I
<=
#
CORETSEOII
CORETSEoiIl
;
end
assign
CORETSEOOol
=
~
CORETSEOI1l
&
(
~
CORETSEIOol
&
CORETSEiO1I
|
CORETSEoI1l
&
~
CORETSEiI1l
)
|
CORETSEOI1l
&
CORETSEoI1l
&
~
CORETSEli0l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEOI1l
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEoi0I
)
CORETSEOI1l
<=
#
CORETSEOII
CORETSEOOol
;
end
assign
CORETSEIOol
=
CORETSEo01l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEoO1I
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEoO1I
<=
#
CORETSEOII
CORETSEIOol
;
end
assign
CORETSElOol
=
CORETSEo01l
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSElo1
||
CORETSEoo1
)
CORETSEiO1I
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEoi0I
)
CORETSEiO1I
<=
#
CORETSEOII
CORETSElOol
;
end
endmodule
