EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
Univ
ers
ity o
f Texas a
t A
ustin
TTrraannssaa
ccttiioonn--LL
eevveell MM
ooddeelliinn
gg aanndd
EElleeccttrr
oonniicc SS
yysstteemm
--LLeevveell
LLaanngg
uuaaggee
ss
SStteevveenn
PP.. SSmm
iitthhSo
C Desi
gnEE
382V
Fall 2
010
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
Univ
ers
ity o
f Texas a
t A
ustin
OOvveerrvv
iieewwMo
tivation
: Why
have
ESL la
ngua
ges?
Transa
ction-L
evel M
odelin
gLe
vels o
f abst
raction
in mo
deling
Basic
requ
ireme
nts of
ESL la
ngua
ges
ESL la
ngua
ges a
nd en
vironm
ents:
trade
-offs
An ov
erview
of a
samplin
g of E
SL lan
guag
esWh
at’s m
issing
from
curren
t ESL
langu
ages?
Concl
usion
s
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
Univ
ers
ity o
f Texas a
t A
ustin
MMoottiivvaa
ttiioonnWh
y use
transa
ction-l
evel m
odelin
g an
d ESL
langu
ages?
Mana
ge gr
owing
syste
m com
plexity
Move
to hig
her le
vels o
f abst
raction
Enab
le HW/
SW co
-desig
nSp
eed-u
p simu
lation
Supp
ort sy
stem-
level d
esign
and v
erifica
tion
IInnccrreeaa
ssee ddee
ssiiggnnee
rr pprroodd
uuccttiivviitt
yy
RReedduu
ccee ddee
vveelloopp
mmeenntt
ccoossttss aa
nndd rriiss
kk
AAcccceell
eerraattee
ttiimmee--tt
oo--mmaarrkk
eett && tt
iimmee--ttoo
--mmoonn
eeyy
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-4
Univ
ers
ity o
f Texas a
t A
ustin
TTrraannssaa
ccttiioonn--LL
eevveell MM
ooddeelliinn
ggCo
mmun
ication
amon
g mod
ules o
ccurs
at the
functio
nal le
vel.
Each
transa
ction is
a coh
erent
unit o
f inter
action
Da
ta str
ucture
s and
objec
t refer
ences
are p
assed
ins
tead o
f bit v
ectors
Goals
of TL
MHig
her le
vel of
abstr
action
More
compre
hensi
ble hig
h-leve
l syste
m mo
dels
Grea
ter sim
ulation
spee
dsAd
vantag
es of
TLM
Natur
al way
to thin
k abo
ut hig
h-leve
l comm
unica
tions
Objec
t Inde
pend
ence
Abstr
action
Inde
pend
ence
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-5
Univ
ers
ity o
f Texas a
t A
ustin
TTrraannssaa
ccttiioonn--LL
eevveell MM
ooddeelliinn
ggMMee
mmoorryy
MMaannaa
ggeemmee
nnttUUnn
iittSSyy
sstteemm
MMeemmoo
rryy
reque
st burs
t read
, size
= cach
e line
bytes
return
cache
line
MMeemmoo
rryyMMaa
nnaaggee
mmeenntt
UUnniitt
SSyyssttee
mmMMee
mmoorryy
&&BBuu
ss CCo o
nnttrroollllee
rrdri
ve ad
dress,
read
requ
est co
ntrol s
ignals
drive
ackno
wledg
e of b
urst re
ad re
quest
drive
first d
ata wo
rd on
to bu
s
assert
bus m
aster
reque
stgra
nt bu
s
drive
last d
ata wo
rd on
to bu
s…
relea
se bu
s
TTrraannssaa
ccttiioonn--
LLeevveell
EExxaamm
pplleeSSee
qquueenn
ccee
RRTTLL
EExxaamm
pplleeSSee
qquueenn
ccee
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-6
Univ
ers
ity o
f Texas a
t A
ustin
EElleemmee
nnttss ooff
TTrraann
ssaaccttiioonn
--LLeevveell
MMoodd
eelliinngg
Transa
ction-L
evel M
odelin
g=
< {ob
jects}
, {com
positi
ons}
>Ob
ject=
{comp
utation
objec
t} | {c
ommu
nicatio
ns ob
ject}
Comp
osition
Comp
utation
objec
ts sen
d and
recei
ve ab
stract
data
via
commu
nicatio
ns ob
jects.
Advan
tages
of TL
MOb
ject In
depe
nden
ceAb
stract
ion In
depe
nden
ce
**Defin
ition f
rom Ga
jski an
d Cai,
UC Irv
ine
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-7
Univ
ers
ity o
f Texas a
t A
ustin
A. "S
pecif
icati
on
mo
del"
"
Untim
ed functioal m
odels
"
B. "C
om
po
nen
t-assem
bly
mo
del"
"
Arc
hitectu
re m
odel"
"
Tim
ed functo
nal m
odel"
C.
"B
us-a
rbit
rati
on
mo
del"
"
Tra
nsaction m
odel"
D.
"B
us-f
un
cti
on
al m
od
el"
"
Com
munic
atin m
odel"
"
Behavio
r le
vel m
odel"
E. "C
ycle
-accu
rate
co
mp
uta
tio
n
mo
del"
F.
"Im
ple
men
tati
on
mo
del"
"
Regis
ter
transfe
r m
odel"
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
LLeevveell
ss ooff AA
bbssttrraacc
ttiioonnCo
nside
r mod
els as
a fun
ction o
f their
time-g
ranula
rity
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
AA..SSpp
eecciiffiiccaa
ttiioonn MM
ooddeell
“‘Un
timed’ F
unctio
nal M
odels”
BB..CCoo
mmppoonn
eenntt--AA
sssseemmbb
llyy MMoodd
eell“Ar
chitec
ture M
odel”
“’Tim
ed’ F
unctio
nal M
odel”
CC..BBuu
ss--AArrbbii
ttrraattiioonn
MMoodd
eell“Tr
ansac
tion M
odel”
DD..BBuu
ss--FFuunn
ccttiioonnaa
ll MMoodd
eell“Co
mmun
ication
Mod
el”“ Be
havio
r-Leve
l Mod
el”
EE..CCyy
ccllee--AAcc
ccuurraattee
CCoommpp
uuttaattiioonn
MMoodd
eell
FF..IImm
pplleemmee
nnttaattiioonn
MMoodd
eell“Re
gister
-Tran
sfer L
evel (R
TL) M
odel”
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-8
Univ
ers
ity o
f Texas a
t A
ustin
SSppeeccii
ffiiccaattiioonn
MMoodd
eell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Be
havio
rsCo
mmun
ication
:Va
riable
sCCo o
mmppoossii
ttiioonn::
Hierar
chyEx
ecution
Orde
rSe
quen
tialPa
rallel
Pipelin
edSta
tesSSyy
nncchhrroonn
iizzaattiioonn
::No
tify/W
ait
v2 =
v1 +
b*b
;v3=
v1-
b*b
;
v1
v1 =
a*a
;
v2
v4 =
v2 +
v3;
c =
sequ(v
4);
B1
B2
v3
B3
B4
B2B
3
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-9
Univ
ers
ity o
f Texas a
t A
ustin
CCoommpp
oonneenn
tt--AAssssee
mmbbllyy MM
ooddeell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Pro
cessor
sMe
morie
sIP
Comm
unica
tions:
Varia
ble Ch
anne
lsCCo o
mmppoossii
ttiioonn::
Hierar
chyEx
ecution
Orde
rSe
quen
tialPa
rallel
Pipelin
edSta
tesSSy y
nncchhrroonn
iizzaattiioonn
::No
tify/W
ait
v3
v3
= v
1-
b*b
;
B3 v4
= v
2 +
v3
;
c =
se
qu
(v4
);
B4
PE
3
v2
= v
1 +
b*b
;
B2
PE
2v1
= a
*a;
B1
PE
1
cv
2
cv12
cv
11
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
0U
niv
ers
ity o
f Texas a
t A
ustin
BBuuss--AA
rrbbiittrraa
ttiioonn MM
ooddeell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Pro
cessor
sMe
morie
sIP,
arbite
rsCo
mmun
ication
s:Ab
stract
Bus C
hann
elsCCo o
mmppoossii
ttiioonn::
Hierar
chyEx
ecution
Orde
rSe
quen
tialPa
rallel
Pipelin
edSta
tesSSy y
nncchhrroonn
iizzaattiioonn
::No
tify/W
ait
v2
= v
1 +
b*b
;
B2
PE
2v1
= a
*a;
B1
PE
1
v3
v3
= v
1-
b*b
;
B3 v4
= v
2 +
v3
;
c =
se
qu
(v4
);
B4
PE
3
cv
12
cv
11
cv
2
PE
4
(Arb
ite
r)
3
12
1.
Maste
r in
terf
ace
2.
Sla
ve in
terf
ace
3.
Arb
iter
inte
rface
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un
-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
1U
niv
ers
ity o
f Texas a
t A
ustin
BBuuss--FF
uunnccttiioo
nnaall MM
ooddeell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Pro
cessor
sMe
morie
sIP,
arbite
rsCo
mmun
ication
s:Pro
tocol B
us Ch
anne
lsCCo o
mmppoossii
ttiioonn::
Hierar
chyEx
ecution
Orde
rSe
quen
tialPa
rallel
Pipelin
edSta
tesSSy y
nncchhrroonn
iizzaattiioonn
::No
tify/W
ait
v2
= v
1 +
b*b
;
B2
PE
2v1
= a
*a;
B1
PE
1
v3
v3
= v
1-
b*b
;
B3 v4
= v
2 +
v3
;
c =
se
qu
(v4
);
B4
PE
3
PE
4
(Arb
ite
r)
ready
ack
addre
ss[1
5:0
]
data
[31:0
]
IProtocolSlav
e
ready
ack
addre
ss[1
5:0
]
data
[31:0
]
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
2U
niv
ers
ity o
f Texas a
t A
ustin
CCyyccllee
--AAccccuurr
aattee CCoo
mmppuuttaa
ttiioonn MM
ooddeell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Pro
cessor
sMe
morie
sIP,
arbite
rsWr
appe
rsCo
mmun
ication
s:Ab
stract
Bus C
hann
elsCCo o
mmppoossii
ttiioonn::
Hierar
chyEx
ecution
Orde
rSe
quen
tialPa
rallel
Pipelin
edSta
tesSSyy
nncchhrroonn
iizzaattiioonn
::No
tify/W
ait
PE
3
cv
12
cv
11
cv
2
3
12
1.
Maste
r in
terf
ace
2.
Sla
ve in
terf
ace
3.
Arb
iter
inte
rface
4.
Wra
pp
er
S0
S1
S2
S3
S4
PE
4 S0
S1
S2
S3
4
4
PE
2
PE
1
MO
Vr1
, 1
0M
UL
r1,
r1,
r1
.... ...
MLA
r1,
r2,
r2,
r1....
4 4
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
3U
niv
ers
ity o
f Texas a
t A
ustin
IImmppllee
mmeennttaa
ttiioonn MM
ooddeell
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
OObbjjeecc
ttss:: Comp
utation
:Pro
cessor
sMe
morie
sIP,
arbite
rsWr
appe
rsCo
mmun
ication
s:Bu
ses/W
ires
CCo ommpp
oossiittiioonn
::Hie
rarchy
Execu
tion Or
der
Sequ
ential
Paral
lelPip
elined
States
SSyynncchh
rroonniizzaa
ttiioonn::
Notify
/Wait
PE
2P
E1
PE
3P
E4
S0
S1
S2
S3
S4
MO
Vr1
, 1
0
MU
Lr1
, r1
, r1
....
...
ML
Ar1
, r2
, r2
, r1
....
S0
S1
S2
S3
MC
NT
RM
AD
DR
MD
AT
A
inte
rru
pt
inte
rru
pt
inte
rru
pt
req
req
Co
mp
uta
tio
n
Co
mm
un
icati
on
ABCD
F
Un-
tim
ed
App
roxim
ate
-
tim
ed
Cycle
-
tim
ed
Un-
tim
ed
App
roxim
ate
-
tim
ed
E
Cycle
-
tim
ed
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
4U
niv
ers
ity o
f Texas a
t A
ustin
CChhaarraa
cctteerriisstt
iiccss ooff
tthhee DD
iiffffeerreenn
tt MMoodd
eellss
**Figu
re an
d taxo
nomy
by Ga
jski an
d Cai,
UC Irv
ine
Mod
els
Com
mu
nic
ati
on
tim
e
Com
pu
tati
on
tim
e
Com
mu
nic
ati
on
sch
eme
PE
in
terf
ace
Sp
ecif
icati
on
mod
el
no
no
var
iable
(no P
E)
Com
pon
ent-
ass
emb
ly m
od
el
no
appro
xim
ate
var
iable
chan
nel
abst
ract
Bu
s-arb
itra
tion
mod
el
appro
xim
ate
appro
xim
ate
abst
ract
bus
chan
nel
abst
ract
Bu
s-fu
nct
ion
al
mod
el
tim
e/cy
cle
accu
rate
appro
xim
ate
pro
toco
l bus
chan
nel
abst
ract
Cycl
e-acc
ura
te
com
pu
tati
on
mod
el
appro
xim
ate
cycl
e-ac
cura
teab
stra
ct b
us
chan
nel
pin
- acc
ura
te
Imp
lem
enta
tion
mod
el
cycl
e-ac
cura
tecy
cle-
accu
rate
bus
(wir
e)pin
-acc
ura
te
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
5U
niv
ers
ity o
f Texas a
t A
ustin
TTrraannssaa
ccttiioonn--LL
eevveell FF
oorrmmaalliiss
mmssRRiigg
oorroouuss
ddeeffiinnii
ttiioonn ooff
eelleemmee
nnttss aann
dd ooppee
rraattoorrss
iinn aa
ttrraannssaa
ccttiioonn--ll
eevveell mm
ooddeell
PPrreecciiss
iioonn iinn
mmooddee
lllliinngg aa
iiddss ccoo
mmpprreehh
eennssiioo
nn ooff dd
eessiiggnn
ssBu
t only
if the
notat
ion is
easily
unde
rstoo
d by
desig
ners
KKeeyy gg
ooaall iiss
ttoo eenn
aabbllee ss
yynntthhee
ssiiss ffrroo
mm EESS
LL lleevveell
There
is a f
unda
menta
l tensi
on be
tween
rep
resen
tation
s that
are ea
sily un
derst
ood
by de
signe
rs an
d tho
se tha
t are
easily
“un
derst
ood”
by too
ls.Mo
re wo
rk in e
arly s
tages
of de
sign
**From
Gajsk
i and C
ai, UC
Irvine
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
6U
niv
ers
ity o
f Texas a
t A
ustin
MMooddee
ll AAllggee
bbrraaAAllgg
eebbrraa
= < {o
bjects
}, {ope
ration
s} >[ex
: a * (
b + c)
]MMoo
ddeell=
< {ob
jects},
{comp
osition
s} >TTrraa
nnssffoorrmm
aattiioonnt
(mod
el) is
a cha
nge in
objec
ts or
compo
sition
s.RRee
ffiinneemmee
nnttof
a mod
el is a
n orde
red se
t of
transf
ormatio
ns, <
tm, …
, t2,
t1 >,
such t
hat:
mode
l B =
tm( …
( t2(
t1( m
odel A
) ) ) …
)MMoo
ddeell aall
ggeebbrraa
= < {m
odels},
{refine
ments
} >MMee
tthhooddoo
llooggyyis
a seq
uence
of m
odels
and
corres
pond
ing re
fineme
nts
Syste
m
**From
Gajsk
i and C
ai, UC
Irvine
EE
382
–S
yste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
7U
niv
ers
ity o
f Texas a
t A
ustin
MMooddee
ll DDeeffiinn
iittiioonn
MMooddee
ll= <
{objec
ts}, {c
ompo
sition
rules
}>OObb
jjeeccttss
BBeehhaa
vviioorrss
(repre
senting
tasks
| com
putat
ion | f
unctio
ns)CChh
aannnnee
llss(rep
resen
ting co
mmun
ication
betwe
en be
havio
rs)CCoo
mmppoossii
ttiioonnrruull
eessSe
quen
tial, p
arallel
, pipe
lined,
FSM
Beha
vior c
ompo
sition
crea
tes hie
rarchy
.Be
havio
r com
positi
on cr
eates
execu
tion or
der.
Rules
define
the r
elation
ships
betwe
en be
havio
rs in t
he co
ntext
of the
form
alism.
Relati
onshi
ps be
tween
beha
viors
and c
hann
elsDa
ta tra
nsfer
in cha
nnels
Interf
ace be
tween
beha
viors
and c
hann
els**F
rom Ga
jski an
d Cai,
UC Irv
ine
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
8U
niv
ers
ity o
f Texas a
t A
ustin
MMooddee
ll TTrraann
ssffoorrmm
aattiioonnss
((RReeaarrrr
aannggee
aanndd RR
eeppllaacc
ee))Re
arran
ge ob
ject co
mposi
tionDis
tribute
comp
utation
over
compo
nents
.Re
place
objec
tsIm
port l
ibrary
comp
onen
tsDe
velop
more
detail
ed be
havio
rsAd
d or re
move
synchr
oniza
tionPa
rallel
-> seq
uentia
lSe
quen
tial ->
paral
lelDe
compo
se ab
stract
data
struct
ures
Map d
ata tra
nsactio
ns to
a spe
cific
bus s
tructu
re…
**From
Gajsk
i and C
ai, UC
Irvine
a*(b
+c)
= a
*b
+ a
*c
Dis
trib
uti
vit
y o
f m
ult
ipli
cati
on
ov
er a
dd
itio
n
B2
B3
B1
B1
B2
B3
=
Dis
trib
uti
on
of
beh
avio
rs (
task
s)
ov
er c
om
po
nen
ts
anal
ogous
to…
…
PE
1P
E2
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-1
9U
niv
ers
ity o
f Texas a
t A
ustin
MMooddee
ll RReeffiinn
eemmeenn
ttDe
finition
Arefin
emen
tof a
mod
el is a
n orde
red se
t of
transf
ormatio
ns, <
tm, …
, t2,
t1 >,
such t
hat:
mode
l B =
tm( …
( t2(
t1( m
odel A
) ) ) …
)De
rives a
more
detail
ed m
odel f
rom on
e more
abstr
actSp
ecific
seque
nce of
steps
for ea
ch mo
del re
fineme
ntNo
t all s
eque
nces a
re rel
evant
Equiv
alence
verific
ation
Each
transf
ormatio
n main
tains fu
nction
al equ
ivalen
ceTh
e refin
emen
t is th
us “co
rrect b
y con
struct
ion.”
Not a
lways
(typic
ally?)
possi
bleRe
fineme
nt-ba
sed sy
stem-
level m
ethod
ology
Metho
dolog
yis a
sequ
ence
of mo
dels a
nd re
fineme
nts**F
rom Ga
jski an
d Cai,
UC Irv
ine
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
0U
niv
ers
ity o
f Texas a
t A
ustin
VVeerriiffiicc
aattiioonn bb
yy EEqquu
iivvaalleenn
tt TTrraann
ssffoorrmm
aattiioonnss
Transf
ormatio
ns can
be m
ade t
o pres
erve e
quiva
lence
Same
partia
l orde
r of ta
sksSa
me inp
uts an
d outp
uts fo
r each
tas
k (un
known
value
hand
ling as
ide)
Same
partia
l orde
r of d
ata tra
nsactio
nsSa
me (o
r cove
red) fu
nction
ality in
the
replac
emen
tsRe
fined m
odels
“equ
ivalen
t” to
the inp
ut mo
del
Still n
eed t
o veri
fy first
mod
el usin
g trad
itiona
l (i.e
., simu
lation
) techn
iques
Still n
eed t
o veri
fy equ
ivalen
ce of
replac
emen
tsIn
practic
e, this
is no
t alwa
ys po
ssible
.
**From
Gajsk
i and C
ai, UC
Irvine
Ref
inem
ent
To
ol
t1 t2 … tm
Mo
del
A
Mo
del
B
Des
ign
er
Dec
isio
ns
Lib
rary
of
ob
ject
s
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
1U
niv
ers
ity o
f Texas a
t A
ustin
SSyynntthh
eessiiss
Set o
f mod
elsSe
t of d
esign
tasks
Profile
Desig
n-spa
ce exp
loratio
nSe
lect co
mpon
ents /
conn
ection
sMa
p beh
aviors
/ cha
nnels
Sche
dule b
ehavi
ors/ch
anne
ls…
Each
desig
n deci
sion r
esults
in a m
odelt
ransfo
rmatio
n.De
tailing
is a se
quen
ce of
desig
n deci
sions.
Refine
ment
is a se
quen
ce of
transf
ormatio
nsSy
nthesi
sis de
tailing
and r
efinem
ent.
The c
hallen
ge, o
f cours
e, is t
o defin
e the
“righ
t” seq
uence
of de
sign d
ecisio
ns an
d tran
sform
ations.
**From
Gajsk
i and C
ai, UC
Irvine
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
2U
niv
ers
ity o
f Texas a
t A
ustin
**From
Gajsk
i and C
ai, UC
Irvine
DDeessiigg
nn DDoomm
aaiinnss
2
Model A
Sim
ula
tion
Model B
Refinem
ent
Estim
ation
Synth
esis
Verification
Desig
n
decis
ions
Syn
thesis
do
main
Exp
lora
tio
n
do
main
Refi
nem
en
t
do
main
Mo
deli
ng
do
main
Vali
dati
on
do
main
22
Test
DF
T
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
3U
niv
ers
ity o
f Texas a
t A
ustin
**From
Gajsk
i and C
ai, UC
Irvine
TTrraannssaa
ccttiioonn--LL
eevveell MM
ooddeelliinn
gg CCoonn
cclluussiioo
nnssIn
TLM,
comp
utation
and c
ommu
nicatio
n obje
cts ar
e con
necte
d thro
ugh a
bstrac
t data
types.
TLM
enab
les m
odelin
g each
comp
onen
t inde
pend
ently
at diff
ering
levels
of ab
stract
ion.
A majo
r cha
llenge
is to
define
, obta
in, or
devel
op th
e ne
cessar
y and
suffic
ient se
t of m
odels
for th
e desi
gn flo
w.An
other
major
challe
nge is
to de
fine th
e mod
el alge
bra
and it
s corr
espon
ding m
ethod
ology
to ma
ke the
desig
n flow
as ef
ficien
t as p
ossible
(e.g.
, synth
esis).
In pra
ctice,
assem
bling t
he sy
stem
mode
l is no
small
feat
either,
espe
cially
when
mod
els co
me fro
m diff
erent
source
s (e.g
., thir
d-part
y IP, e
mbed
ded p
rocess
or ven
dor,
etc.).
TThhee pp
ootteennttiiaa
ll ppaayyooff
ff iiss ttrruu
llyy eennoo
rrmmoouu
ss..
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
4U
niv
ers
ity o
f Texas a
t A
ustin
BBaassiicc
RReeqquu
iirreemmee
nnttss ooff
EESSLL LL
aanngguu
aaggeess
Supp
ort fo
r Tran
saction
-Level
Mod
eling
Objec
ts can
be m
odele
d inde
pend
ently.
Objec
ts can
be m
odele
d at d
ifferen
t level
s of
abstr
action
.Ob
ject In
depe
nden
ceBla
ck-bo
x obje
ctsTh
ird-pa
rty ob
jects (
IP)Ab
stract
ion In
depe
nden
ceAs
sists i
n veri
fication
of th
e seq
uence
of re
fineme
ntsFle
xibility
in de
velop
ment
metho
dolog
ies.
Supp
ort all
mod
els of
comp
utation
Enab
le high
-spee
d simu
lation
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
5U
niv
ers
ity o
f Texas a
t A
ustin
EESSLL LL
aanngguu
aaggee aa
nndd EEnn
vviirroonnmm
eenntt
DDeessiigg
nn TTrraadd
ee--OOffffss
Objec
t-orie
nted?
A natu
ral wa
y to th
ink of
syste
m be
havio
rEa
sy to
build
compo
nent
and d
ata ab
stract
ions
Gene
ral-pu
rpose
langu
age e
xtensi
ons?
Easie
r to su
pport
third
-party
tool,
test-b
ench
and m
odel
interfa
ces, a
lthoug
h doin
g so m
ay req
uire s
ignific
ant
expert
ise an
d effo
rtGe
neral
ly more
open
and f
lexible
Precis
e rep
resen
tation
of so
ftware
mod
ules?
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
6U
niv
ers
ity o
f Texas a
t A
ustin
MMoorree
EESSLL LL
aanngguu
aaggee aa
nndd EEnn
vviirroonnmm
eenntt
DDeessiigg
nn TTrraadd
ee--OOffffss
“Platf
orm-ba
sed” e
nviron
ment?
Syste
m-lev
el mod
el “stit
ching” m
ay be
grea
tly sim
plified
thr
ough
the u
se of
a sing
le mod
el libr
ary…
…un
til tha
t librar
y doe
sn’t h
ave wh
at you
need
, and
you a
re for
ced to
impo
rt or d
evelop
mod
els or
tools
.We
ll defin
ed th
ird-pa
rty to
ol and
mod
el inte
rfaces
? Re
sorting
to “p
ure” C
or C+
+ fea
tures
is ofte
n an u
nsatisf
ying
and c
omple
x reco
urse w
hen p
roblem
s are
encou
ntered
.- S
ystem
mod
el asse
mbly q
uickly
becom
es an
extre
mely
challen
ging t
ask.
Black-
box m
odels
often
embo
dy the
ir own
simula
tion
seman
ticsMa
y req
uire a
“simu
lator o
f simu
lators.”
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
7U
niv
ers
ity o
f Texas a
t A
ustin
EESSLL LL
aanngguu
aaggeess::
SSppeeccCC
Exten
sion o
f ANS
I-CEv
ery C
progra
m is a
SpecC
prog
amSp
ecC typ
e exte
nsion
s for H
W (m
inimal b
y desi
gn):
-Bo
olean
-Bit
vecto
rs-
Even
tsBa
sic str
ucture
consi
sts of
beha
viors,
chan
nels,
interfa
ces, va
riable
s, and
ports
Focus
on au
tomate
d tran
sform
ations
and s
ynthe
sis-
Argua
bly so
mewh
at “ha
rdware
-centr
ic”No
t wide
ly ado
pted b
y indu
stry o
r EDA
comm
unity
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
8U
niv
ers
ity o
f Texas a
t A
ustin
EESSLL LL
aanngguu
aaggeess::
SSyyssttee
mm VVee
rriilloogg
Stand
ards-b
ased s
uccess
or to
Supe
rlog,
a lang
uage
com
bining
Verilo
g and
C pre
viousl
y deve
loped
by
Co-De
sign A
utoma
tion (n
ow pa
rt of S
ynopsy
s)Ex
tends
Verilo
g 200
1 (IEE
E-136
4-200
1) wit
h com
plete
interfa
ce to
CVe
rilog in
side “
comfor
t zone” o
f toda
y’s ha
rdware
de
signe
rs (wh
ere Sy
stemC
clearl
y is no
t)Blu
espec
has r
elease
d an E
SL Sy
nthesi
s tool b
ased o
n “Bl
uespe
c Syst
em Ve
rilog.”
Highe
r than
RTL
But st
ill obvi
ously
(and
inten
tionally
) clos
e to t
he
hardw
are str
ucture
and n
ot pu
rely it
s beh
avior
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-2
9U
niv
ers
ity o
f Texas a
t A
ustin
EESSLL LL
aanngguu
aaggeess::
SSyyssttee
mmCCCla
ss libr
ary ex
tensio
n to C
++Re
cently
exten
ded t
o sup
port v
erifica
tion-sp
ecific
constr
ucts
C++ c
an be
intimi
dating
to HW
desig
ners
traine
d in
Verilo
g or V
HDL
Softw
are de
velop
ers fin
d it ea
sier to
integ
rate t
heir
progra
ms an
d too
ls tha
n with
other
ESL la
ngua
ges.
Open
stand
ard ef
fort th
rough
the O
pen S
ystem
C Init
iative
(OSC
I)Sy
nthesi
s tools
emerg
ing in
the m
arketp
lace
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
0U
niv
ers
ity o
f Texas a
t A
ustin
SSyyssttee
mmCC AAdd
vvaannttaagg
eessSy
stemC
is we
ll-matc
hed t
o the
devel
opme
nt of
applic
ation-s
pecifi
c SoC’s t
hat st
art fro
m a w
orking
ba
se of
applic
ation s
oftwa
re.Me
dia pr
ocesso
rs typ
ify this
class
of So
C.De
velop
from
the ap
plicatio
n cod
e dow
n to t
he
hardw
are.
-Co
mpara
tively s
imple (
depe
nding
on co
de
struct
ure) to
partit
ion an
d map
softw
are
modu
les to
hardw
are ele
ments
durin
g desi
gn-
space
explor
ation
-Ve
rificatio
n at e
ach ste
p of th
e refin
emen
t pro
cess u
ses th
e orig
inal (t
ypical
ly reg
ressio
n) tes
t-ben
ch.
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
1U
niv
ers
ity o
f Texas a
t A
ustin
AAAADDLL
:: AArrcchh
iitteeccttuurr
ee AAnnaa
llyyssiiss aa
nndd
DDeessiigg
nn LLaann
gguuaagg
eeAd
opted
as sta
ndard
by SA
E Or
iginally
devel
oped
speci
fically
for m
ission
-critic
al avio
nics
Part o
f RTC
A* DO
-254 a
nd DO
-178B
stand
ards fo
r miss
ion-
critica
l hardw
are an
d soft
ware,
respe
ctively
Supp
orts r
igorou
s defin
ition o
f both
softw
are an
d ha
rdware
mod
els an
d the
ir inter
faces
Enab
les au
tomate
d gen
eration
of so
ftware
builds
Notat
ion lim
ited to
mod
ule int
erface
sDis
tinguis
hed f
rom ha
rdware
-centr
ic ESL
sSo
ftware
mod
ules n
ot me
rely a
n afte
rthou
ght **R
adio T
echnic
al Com
missio
n for
Aeron
autics
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
2U
niv
ers
ity o
f Texas a
t A
ustin
TTooddaa
yy’ss EESS
LL LLaann
gguuaagg
eess::
WWhhaatt’ss
MMiissss
iinngg??
((AA FFee
ww BBrriieeff
EEddiittoorr
iiaall CCoo
mmmmeenntt
ss))In
practic
e, an
electr
onic s
ystem
s-level
desig
n eff
ort en
compa
sses, m
inimally
:Ha
rdware
eleme
nts, in
cludin
g gen
eral-p
urpose
pro
cessor
s, othe
r third
-party
IP, cu
stom
proces
sors,
hardw
are ac
celera
tors, m
emori
es, an
alog in
terfac
es,
etc.
Softw
are ele
ments
, inclu
ding m
icrocod
e, ha
rdware
ab
stract
ion lay
er (HA
L) inte
rface
code,
opera
ting
system
s (typ
ically
an RT
OS), a
pplica
tion co
de, e
tc.Ha
rdware
test b
enche
s and
relate
d too
ls, scr
ipts, e
tc.So
ftware
test b
enche
s and
relate
d too
ls, scr
ipts, e
tc.
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
3U
niv
ers
ity o
f Texas a
t A
ustin
TTooddaa
yy’ss EESS
LL LLaann
gguuaagg
eess::
WWhhaatt’ss
MMiissss
iinngg??
Eleme
nts of
pract
ical E
SL de
sign e
fforts
, contin
ued:
Debu
gging
tools
for H
W an
d SW
Comp
ilers, a
ssemb
lers, l
inkers
, etc.
Senso
rs of
variou
s type
s, and
mod
els fo
r them
Curre
nt ES
L lang
uage
s tend
to giv
e sho
rt shri
ft to
everyt
hing b
ut the
hardw
are ele
ments
.Th
ird-pa
rty ha
rdware
IP iss
ues a
re oft
en ov
erloo
ked as
we
ll“G
rowing
up th
e abst
raction
ladde
r from
RTL”
Total
devel
opme
nt eff
ort an
d cost
for s
oftwa
re oft
en
substa
ntially
excee
ds tha
t requ
ired f
or ha
rdware
.
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
4U
niv
ers
ity o
f Texas a
t A
ustin
TTooddaa
yy’ss EESS
LL LLaann
gguuaagg
eess::
WWhhaatt’ss
MMiissss
iinngg??
In eff
ect, cu
rrent
ESL la
ngua
ge de
velop
ment
has b
een
driven
simply
by th
e laud
able b
ut na
rrow g
oal of
imp
roving
the p
roduct
ivity o
f hard
ware
desig
ners.
The in
escap
able c
onflic
t betw
een M
oore’
s Law
and B
rook’s
La
w (Th
e Myth
ical M
an-Mo
nth)
Impro
ved ha
rdware
desig
n prod
uctivit
y is an
impo
rtant
goal,
to be
sure,
but…
… ta
rgeting
a red
uction
in the
overa
ll syst
em de
velop
ment
cost, t
ime, ri
sk, et
c., is u
ltimate
ly the
only m
eanin
gful go
al.-A
t the e
nd of
the d
ay, So
C’s ar
e still,
unavo
idably
, a bu
siness
ven
ture,
and s
uccess
depe
nds u
pon a
ll elem
ents o
f the
devel
opme
nt pro
cess (
amon
g a gr
eat m
any fa
ctors)
.
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
5U
niv
ers
ity o
f Texas a
t A
ustin
TTooddaa
yy’ss EESS
LL LLaann
gguuaagg
eess::
WWhhaatt’ss
MMiissss
iinngg??
In pra
ctice,
constr
ucting
and m
aintain
ing sy
stem
mode
ls can
take
many
month
s of e
ffort.
The p
resen
ce of
heter
ogen
eous
multip
rocess
or So
C’s,
often
with
their o
wn so
ftware
devel
opme
nt too
ls and
de
bugg
ers, fu
rther
exacer
bates
the p
roblem
.-C
oordi
nating
the e
xecutio
n of a
ll the t
ools a
nd m
odels
is no
n-trivi
al, to
put it
mildly
.-F
or exa
mple,
how d
o you
get tw
o diffe
rent d
ebug
gers
to coo
perat
e duri
ng m
ultipro
cessor
debu
gging
?Th
ird-pa
rty IP
mod
els m
ay en
capsul
ate th
eir ow
n sim
ulation
sema
ntics.
-The
reby r
equir
ing a
simula
tor to
coord
inate
the
simula
tors…
-Merg
ing cy
cle-ba
sed m
odels
with
event-
driven
, etc.
EE
382 –
Syste
m-o
n-C
hip
Desig
n -
ES
L L
anguages
SP
S-3
6U
niv
ers
ity o
f Texas a
t A
ustin
CCoonnccll
uussiioonn
ssTra
nsactio
n-Leve
l Mod
eling is
key to
explo
iting E
SL
langu
ages
and d
esign
meth
odolo
gies.
Electr
onic S
ystem
-Level
langu
ages
enab
le the
use o
f hig
her le
vels o
f abst
raction
in ha
rdware
mod
eling.
Impro
ved ha
rdware
desig
n prod
uctivit
y HW
/SW co
-desig
nTra
nsform
ation a
nd re
fineme
nt of
mode
ls thro
ugh s
ynthe
sis
is eme
rging
.De
velop
ing op
eration
al ESL
mod
els of
syste
ms
remain
s a ve
ry cha
llengin
g task
.We’re
now o
nly loo
king a
t the t
ip of th
e iceb
erg.
ESL d
esign
meth
odolo
gies m
ust ad
dress
the en
tire
desig
n flow
, not
just th
e hard
ware.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-1U
niv
ers
ity o
f Texas a
t A
ustin
MMaapppp
iinngg HHii
gghh--LLee
vveell LLaa
nngguuaa
ggee ((HH
LLLL))
AApppplliicc
aattiioonnss
ttoo SSyy
sstteemmCC
SStteevveenn
PP.. SSmm
iitthhDe
sign o
f Emb
edde
d Syst
ems
EE38
2VFa
ll 201
0
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-2U
niv
ers
ity o
f Texas a
t A
ustin
OOvveerrvv
iieewwMa
ny pro
jects b
egin w
ith a w
orking
HLL a
pplica
tion.
Partic
ularly
commo
n in m
ultime
dia an
d com
munic
ations
Goals Ma
intain c
onfor
mance
with
origin
al app
lication
softwa
re thr
ough
out d
evelop
ment
The H
LL im
pleme
ntation
serve
s as th
e ggoolldd
refere
nce m
odel.
Profilin
g data
and a
rchitec
ture c
onsid
eration
s drive
proces
sSu
pport
increm
ental
mapp
ing of
mod
ules
One a
cceler
ator a
t a tim
e…Sy
stemC
is we
ll suite
d for
use wi
th C/C
++ HL
L app
s.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-3U
niv
ers
ity o
f Texas a
t A
ustin
SSttaanndd
aarrddss--BB
aasseedd AA
pppplliiccaa
ttiioonnss
Predo
minan
t in so
me im
porta
nt do
mains
Wirel
ess Co
mmun
ication
sNe
tworkin
gAu
dio, V
ideo
Stand
ards a
re oft
en de
velop
ed us
ing a
commu
nity-
devel
oped
HLL a
pplica
tion.
The a
pplica
tion em
bodie
s the s
tanda
rd.Su
ch ref
erence
applic
ations
are se
ldom
well
struct
ured o
r optim
ized.
Full c
onfor
mance
to sta
ndard
is cru
cial to
succe
ss.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-4U
niv
ers
ity o
f Texas a
t A
ustin
SStteeppss
iinn MMoovvii
nngg ffrroo
mm RRee
ffeerreenn
ccee CCoo
ddee ttoo
aann
EEmmbbee
ddddeedd
IImmppllee
mmeennttaa
ttiioonnAlg
orithm
study
and a
nalys
isSe
tting t
arget
perfo
rman
ce req
uirem
ents
Unde
rstan
ding r
eferen
ce cod
e stru
cture
Profilin
g, ide
ntifica
tion of
bottle
necks
What
functio
ns mu
st be a
cceler
ated t
o mee
t pe
rform
ance
targe
ts?De
velop
ing a
Hardw
are Ab
stract
ion La
yer (H
AL)
Modify
ing co
de to
make
it suita
ble fo
r hard
ware
Mapp
ing th
e app
lication
onto
the ha
rdware
Read
ying t
he ap
plicatio
n for
produ
ction
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-5U
niv
ers
ity o
f Texas a
t A
ustin
FFrroomm
RReeffeerr
eennccee
CCooddee
ttoo
EEmmbbee
ddddeedd
IImmppllee
mmeennttaa
ttiioonnCo
nform
ance
mainta
ined a
t all p
hases
of de
sign
Refer
ence
applic
ation u
sed to
gene
rate m
odule
-lev
el test
vecto
rsHa
rdware
/Softw
are co
-desig
n a na
tural b
y-prod
uctHa
rdware
abstr
action
layer
(HAL)
define
s the
interfa
ce be
tween
applic
ation s
oftwa
re an
d any
specia
l-purp
ose ha
rdware
Need
a de
velop
ment
enviro
nmen
t supp
orting
ha
rdware
mod
els an
d app
lication
softw
are ex
ecution
Syste
mC (in
forma
l softw
are su
pport
)
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-6U
niv
ers
ity o
f Texas a
t A
ustin
SSyyssttee
mmCCCla
ss libr
ary ex
tensio
n to C
++Ex
tende
d to s
uppo
rt veri
fication
-speci
fic con
struct
sC+
+ can
be int
imida
ting to
HW de
signe
rs tra
ined in
Ve
rilog o
r VHD
LSo
ftware
devel
opers
find it
easie
r to int
egrat
e the
ir pro
grams
and t
ools t
han w
ith oth
er ES
L lang
uage
s.Op
en sta
ndard
effor
t throu
gh th
e Ope
n Syst
emC
Initiati
ve (O
SCI)
Synth
esis to
ols em
erging
in the
mark
etplac
e (e.g
., Fo
rte, M
entor
Grap
hics C
atapu
lt C)
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-7U
niv
ers
ity o
f Texas a
t A
ustin
SSyyssttee
mmCC AArr
cchhiitteecc
ttuurree
C++ L
angu
age S
tanda
rdEv
ent-D
riven S
imulati
on En
gine
Event
s, Proc
esses
Struct
ure El
emen
tsMo
dules
Ports
Interfa
cesCh
annels
Data
Type
s4-v
alue L
ogic
Bits, B
it Vect
orsArb
itrary-
Precis
ion In
tegers
Fixed-
Point
Types
Primit
ive Ch
anne
lsSig
nals, F
IFOs, m
utexes
, sema
phores
, etc.
Metho
dolog
y-Sp
ecific
Librar
iesMa
ster/S
lave, e
tc.La
yered
Librar
iesVe
rificatio
n,TL
M, etc
.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-8U
niv
ers
ity o
f Texas a
t A
ustin
CCoonnssii
ddeerraatt
iioonnss iinn
SSeelleecc
ttiinngg MM
oodduullee
ss ffoorr
RReeaalliizz
aattiioonn aa
ss AAccccee
lleerraattoo
rrssSo
ftware
profil
e data
can h
elp filt
er can
didate
mod
ules.
HLL f
unctio
n bou
ndari
es no
t alwa
ys ap
propri
ate m
odule
bo
unda
ries
Some
code
refac
toring
may
be ne
cessar
yInp
ut/ou
tput re
quire
ments
also a
facto
rTra
nsfer
overhe
ad ca
n swa
mp ad
vantag
e of a
cceler
ation
Look
for op
portu
nities
for m
odule
-level
paral
lelism
Identif
y sync
hroniz
ation r
equir
emen
tsGlo
bal va
riable
s must
be eli
minate
d from
mod
uleMa
p to a
rgume
ntsDa
ta tra
nsfer
alterna
tives (
e.g., D
MA, p
rocess
or-dir
ected
)
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-9U
niv
ers
ity o
f Texas a
t A
ustin
TThhee HH
aarrddwwaa
rree AAbb
ssttrraacctt
iioonn LLaa
yyeerr ((HH
AALL))
Provid
es an
effici
ent in
terfac
e to h
ardwa
re wh
ile ma
intainin
g app
lication
code
struct
ure.
From
applic
ation,
HW ac
celera
tor loo
ks like
a fun
ction c
allFro
m HW
accel
erator
, app
lication
looks
like HW
/buffe
rDe
fine fu
nction
s for e
ach HW
/SW int
eractio
n, iso
lating
hardw
are de
tail fro
m ap
plicatio
n soft
ware.
Provid
e sync
hroniz
ation p
rimitiv
es req
uired
for fl
ow
contro
l, man
agem
ent o
f para
llel ac
tivity.
Enab
les m
ixture
of ha
rdware
and s
oftwa
re mo
dels
Selec
tive us
e of h
ardwa
re mo
dules
supp
orts d
ebug
in em
ulation
enviro
nmen
tEx
pand
ed ve
rificatio
n cha
llenge
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-10
Univ
ers
ity o
f Texas a
t A
ustin
FFoorrmm
aalliizziinngg
tthhee HH
AALL IInn
tteerrffaacc
eessA f
ormal,
stand
ardize
d rep
resen
tation
would
be he
lpful.
Supp
ort to
ol-ba
sed int
erface
gene
ration
and e
rror-c
hecki
ngEa
se IP
re-use
Captu
re con
strain
tsBri
dge t
he ga
p betw
een s
oftwa
re an
d hard
ware
constr
aints
The A
rchitec
ture a
nd An
alysis
and D
esign
Lang
uage
(AA
DL)
Origin
ally th
e “Av
ionics
Archi
tectur
e Desc
ription
Lang
uage”
Safet
y-critic
al and
miss
ion-cr
itical a
pplica
tions w
ere ini
tial
focus
Sepa
rates
types
(inter
faces)
and im
pleme
ntation
shtt
p://ww
w.sei.c
mu.ed
u/pub
/docum
ents/0
6.rep
orts/p
df/06
tn011
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-11
Univ
ers
ity o
f Texas a
t A
ustin
HHAALL AA
pppplliiccaa
ttiioonn IInn
tteerrffaacc
ee LLaayyee
rrAp
plicatio
n Laye
rMa
ps HL
L fun
ction c
all to
lower
layer
of HA
Lvoid appFunction1(int * data, int dataSize)
{ #if HAL_ENABLED
int i ;
HAL_checkReadyFunction1(TRUE) ;
for (i=0; i < dataSize ; i++)
{
HAL_enqueueToFunction1(data[i]) ;
} HAL_startFunction1() ;
#else // … Existing HLL application function code …
#endif
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-12
Univ
ers
ity o
f Texas a
t A
ustin
HHAALL HH
aarrddwwaa
rree IInntt
eerrffaaccee
LLaayyeerr
Hardw
are La
yerInt
eracts
with
HW fo
r sync
hroniz
ation,
data
transf
ers, a
nd
status
queri
esint HAL_waitReadyFunction1(int waitTillReady)
{
int result ;
do {
result = HAL_ADR_Function1Status() ;
} while (!result && waitTillReady) ;
return result ;
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-13
Univ
ers
ity o
f Texas a
t A
ustin
HHAALL LL
aayyeerrss
Hardw
are La
yer wi
th Ins
trume
ntation
Can b
e used
to ca
pture
stimuli
int HAL_enqueueToFunction1(int data)
{ #if HAL_GEN_VERILOG
fprintf(pfVStim,”halFunction1InputData = %d ;\n”, data) ;
#endif
halFunction1InputQueue = data ;
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-14
Univ
ers
ity o
f Texas a
t A
ustin
EExxaamm
ppllee --MM
PPEEGG--
22 VViiddee
oo DDeeccoo
ddeeAAuu
ddiioo//VVii
ddeeoo
DDeemmuu
llttiipplleexx
VViiddeeoo
BBiitt
ssttrreeaa
mmDDee
ccooddee
IInnvveerrss
eeDDiiss
ccrreettee
CCoossiinn
ee TTrraann
ssffoorrmm
IInnvveerrss
eeMMoo
ttiioonnPPrree
ddiiccttiioonn
SSmmoooo
tthhiinngg
FFiilltteerr
AAuuddiioo
DDeeccoodd
ee
++Err
or Co
efficie
ntsPre
dicted
Pix
els
Transf
orm
Coeff
icients
Motion
Vecto
rs
FFrraammee
SSttoorree
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-15
Univ
ers
ity o
f Texas a
t A
ustin
IInnvveerrss
ee DDiisscc
rreettee CC
oossiinnee
TTrraann
ssffoorrmm
Fund
amen
tal pro
cess in
most
imag
e com
pressi
on
algori
thms
JPEG
, MJP
EG, M
PEG
Imag
e data
tend
s to sh
ow co
rrelati
on in
frequ
ency
doma
in.Fo
rward
discre
te cos
ine tra
nsform
(DCT
) used
durin
g en
coding
Intra
(I) fra
mes: c
oeffic
ients a
re fre
quen
cy-do
main p
ixel va
lues
Predic
tion (P
) fram
es: co
efficie
nts ar
e pred
iction
error
sInv
erse d
iscret
e cosi
ne tra
nsform
(iDCT
) used
durin
g de
coding
to re
cover
image
Color
comp
onen
ts proc
essed
sepa
rately
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-16
Univ
ers
ity o
f Texas a
t A
ustin
IInnvveerrss
ee DDiisscc
rreettee CC
oossiinnee
TTrraann
ssffoorrmm
Proces
sing iD
CTs b
ecome
s time
critic
al for
video
de
coding
.Co
nside
r the c
ase of
1080
i HD v
ideo
Pixels
per fr
ame:
1088
1 * 19
20 =
2,088
,960
Frame
rate:
30 f
rames
per s
econd
2
Requ
ired t
wo-di
mensi
onal 8
x8 iDC
Ts pe
r seco
nd:
(2088
960 *
30) /
(8 * 8
) = 24
4,800
iDCT
s/seco
nd
for lum
inance
data
alone
Time b
udge
t for e
ach lum
inance
iDCT:
4.08
uSecs
(2.7
uSecs
with c
hroma
data
adde
d)
1 Heig
ht pa
dded
to 10
88 to
be m
ultiple
of 16
.2 A
ctually
60 int
erlace
dfiel
ds pe
r seco
nd
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-17
Univ
ers
ity o
f Texas a
t A
ustin
MMPPEEGG
--22 iiDDCC
TT RReeffee
rreennccee
SSooffttww
aarree#define BLSIZE 8
void dct_two_d(short int **in, short int **coeff)
{
register int
j1, i, j,offset;
float b[BLSIZE],c[BLSIZE];
float d[BLSIZE][BLSIZE];
for(i=offset=0;i<8;i++,offset+=8){
for(j=0;j<8;j++)
b[j] = (float) in[i][j];
/* Horizontal transform */
for (j= 0;j<4;j++){
j1 = 7 -
j;
c[j] = b[j] + b[j1];
c[j1] = b[j] -
b[j1];
} b[0]
= c[0] + c[3];
b[1]
= c[1] + c[2];
b[2]
= c[1] -
c[2];
b[3]
= c[0] -
c[3];
b[4]
= c[4];
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-18
Univ
ers
ity o
f Texas a
t A
ustin
MMPPEEGG
--22 iiDDCC
TT RReeffee
rreennccee
SSooffttww
aarree ((22
))b[5]
= (c[6] -
c[5]) * f0;
b[6]
= (c[6] + c[5]) * f0;
b[7]
= c[7];
d[i][0] = (b[0] + b[1]) * f4;
d[i][4] = (b[0] -
b[1]) * f4;
d[i][2] = b[2] * f6 + b[3] * f2;
d[i][6] = b[3] * f6 -
b[2] * f2;
c[4]
= b[4] + b[5];
c[7]
= b[7] + b[6];
c[5]
= b[4] -
b[5];
c[6]
= b[7] -
b[6];
d[i][1] = c[4] * f7 + c[7] * f1;
d[i][5] = c[5] * f3 + c[6] * f5;
d[i][7] = c[7] * f7 -
c[4] * f1;
d[i][3] = c[6] * f3 -
c[5] * f5;
}
/* Vertical transform */
for (i=0;i<8;i++){
for (j=0;j<4;j++){
j1 = 7 -
j;
c[j] = d[j][i] + d[j1][i];
c[j1] = d[j][i] -
d[j1][i];
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-19
Univ
ers
ity o
f Texas a
t A
ustin
MMPPEEGG
--22 iiDDCC
TT RReeffee
rreennccee
SSooffttww
aarree ((33
))b[0]
= c[0] + c[3];
b[1]
= c[1] + c[2];
b[2]
= c[1] -
c[2];
b[3]
= c[0] -
c[3];
b[4]
= c[4];
b[5]
= (c[6] -
c[5]) * f0;
b[6]
= (c[6] + c[5]) * f0;
b[7]
= c[7];
d[0][i] = (b[0] + b[1]) * f4;
d[4][i] = (b[0] -
b[1]) * f4;
d[2][i] = b[2] * f6 + b[3] * f2;
d[6][i] = b[3] * f6 -
b[2] * f2;
c[4]
= b[4] + b[5];
c[7]
= b[7] + b[6];
c[5]
= b[4] -
b[5];
c[6]
= b[7] -
b[6];
d[1][i] = c[4] * f7 + c[7] * f1;
d[5][i] = c[5] * f3 + c[6] * f5;
d[7][i] = c[7] * f7 -
c[4] * f1;
d[3][i] = c[6] * f3 -
c[5] * f5;
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-20
Univ
ers
ity o
f Texas a
t A
ustin
MMPPEEGG
--22 iiDDCC
TT RReeffee
rreennccee
SSooffttww
aarree ((44
))// Do rounding instead of just truncating.
// Decided in 38.MPEG-meeting in Sevilla
// Note: rounding is for accurate reference
// If for speed encoding, you may go without this.
// There is no discernible effect in image quality.
for (i=0;i<8;i++){
for (j=0;j<8;j++){
if(d[i][j] >=0) {
coeff[i][j] = (short int)(d[i][j] +
0.499999999999);
} else {
coeff[i][j] = (short int)(d[i][j] –
0.499999999999);
} // clipping range
if(coeff[i][j] < -2048) coeff[i][j] = -2048;
if(coeff[i][j] > 2047) coeff[i][j] = 2047;
}
}
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-21
Univ
ers
ity o
f Texas a
t A
ustin
OObbsseerr
vvaattiioonn
ss oonn tt
hhee RRee
ffeerreenn
ccee CCoo
ddeeFlo
ating p
oint is
expe
nsive
in hard
ware
Highly
sequ
ential
comp
utation
as str
ucture
dTw
o-dime
nsion
al con
trol lo
op do
esn’t ta
ke ad
vantag
e of o
bserva
tion th
at the
vertic
al and
ho
rizonta
l opera
tion se
quen
ces ar
e iden
tical
Oppo
rtunity
to re
-use h
ardwa
re an
d/or s
oftwa
re for
both
direct
ions
Final r
ound
ing op
eration
and c
lipping
pass
over d
ata
is time
-consu
ming
Roun
ding a
nd cli
pping
pass
highly
sequ
ential
in ge
neral
-purpo
se ha
rdware
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-22
Univ
ers
ity o
f Texas a
t A
ustin
CCoonnvvee
rrssiioonn oo
ff FFllooaa
ttiinngg PPoo
iinntt AArrii
tthhmmeettiicc
OOpp
eerraattiioonn
ss ttoo IInn
tteeggeerr
AArriitthhmm
eettiiccDe
termin
e dyna
mic ra
nge o
f floatin
g poin
t calcu
lation
s, inc
luding
all int
ermed
iate va
lues
Analy
tical ap
proach
supe
rior w
hen p
ossible
Rand
om an
d dire
cted t
est ve
ctors
with r
ange
accum
ulation
on ea
ch var
iable w
here
direct
analy
sis is
not p
ractica
lIf r
ange
is too
large
Consi
der p
re-sca
ling da
ta to
narro
wer ra
nge.
Must d
eterm
ine if e
rror in
trodu
ced is
accep
table
Re-sc
ale th
e resu
lts at
end o
f comp
utation
Restr
ucture
/reord
er ari
thmetic
opera
tions to
redu
ce dyn
amic
range
for in
terme
diate
calcul
ations.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-23
Univ
ers
ity o
f Texas a
t A
ustin
MMooddiiffyy
iinngg tthh
ee iiDDCCTT
CCooddee
ffoorr HH
aarrddwwaa
rreeInt
eger-
only c
ompu
tation
need
edMa
pping
the r
eferen
ce cod
e dire
ctly int
o an in
teger
repres
entat
ionDy
namic
rang
e of d
ata wi
thin 32
-bit in
teger
capaci
tyOn
ly bare
lyCa
n the
algori
thm be
mod
ified t
o red
uce th
e dyn
amic r
ange
requ
ired?
Can 1
6-bit in
terme
diate
value
s suff
ice?
What
loss o
f accu
racy w
ill occu
r?
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-24
Univ
ers
ity o
f Texas a
t A
ustin
MMPPEEGG
--22 IInntt
eeggeerr
iiDDCCTT SS
ooffttwwaa
rree#define W1 2841 /* 2048*sqrt(2)*cos(1*pi/16) */
#define W2 2676 /* 2048*sqrt(2)*cos(2*pi/16) */
#define W3 2408 /* 2048*sqrt(2)*cos(3*pi/16) */
#define W5 1609 /* 2048*sqrt(2)*cos(5*pi/16) */
#define W6 1108 /* 2048*sqrt(2)*cos(6*pi/16) */
#define W7 565 /* 2048*sqrt(2)*cos(7*pi/16) */
/* row (horizontal) IDCT
* 7 pi 1
* dst[k] = sum c[l] * src[l] * cos( --
* ( k + -) * l )
* l=0 8 2
* where: c[0] = 128
* c[1..7] = 128*sqrt(2)
*/
static void idctrow(short *blk)
{
int x0, x1, x2, x3, x4, x5, x6, x7, x8;
if (!((x1 = blk[4]<<11) | (x2 = blk[6]) | (x3 = blk[2]) |
(x4 = blk[1]) | (x5 = blk[7]) | (x6 = blk[5]) | (x7 = blk[3])))
{
blk[0]=blk[1]=blk[2]=blk[3]=blk[4]=blk[5]=blk[6]=blk[7]=blk[0]<<3;
return;
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-25
Univ
ers
ity o
f Texas a
t A
ustin
x0 = (blk[0]<<11) + 128; /* for proper rounding in the fourth stage */
/* first stage */
x8 = W7*(x4+x5);
x4 = x8 + (W1-W7)*x4;
x5 = x8 -
(W1+W7)*x5;
x8 = W3*(x6+x7);
x6 = x8 -
(W3-W5)*x6;
x7 = x8 -
(W3+W5)*x7;
/* second stage */
x8 = x0 + x1;
x0 -= x1;
x1 = W6*(x3+x2);
x2 = x1 -
(W2+W6)*x2;
x3 = x1 + (W2-W6)*x3;
x1 = x4 + x6;
x4 -= x6;
x6 = x5 + x7;
x5 -= x7;MMPP
EEGG--22
IInntteegg
eerr iiDDCC
TT SSoofftt
wwaarree
((22))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-26
Univ
ers
ity o
f Texas a
t A
ustin
/* third stage */
x7 = x8 + x3;
x8 -= x3;
x3 = x0 + x2;
x0 -= x2;
x2 = (181*(x4+x5)+128)>>8;
x4 = (181*(x4-x5)+128)>>8;
/* fourth stage */
blk[0] = (x7+x1)>>8;
blk[1] = (x3+x2)>>8;
blk[2] = (x0+x4)>>8;
blk[3] = (x8+x6)>>8;
blk[4] = (x8-x6)>>8;
blk[5] = (x0-x4)>>8;
blk[6] = (x3-x2)>>8;
blk[7] = (x7-x1)>>8;
}
MMPPEEGG
--22 IInntt
eeggeerr
iiDDCCTT SS
ooffttwwaa
rree ((33))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-27
Univ
ers
ity o
f Texas a
t A
ustin
/* column (vertical) IDCT
* 7 pi 1
* dst[8*k] = sum c[l] * src[8*l] * cos( --
* ( k + -
) * l )
* l=0 8 2
* * where: c[0] = 1/1024
* c[1..7] = (1/1024)*sqrt(2)
*/
static void idctcol(short *blk)
{
int x0, x1, x2, x3, x4, x5, x6, x7, x8;
/* shortcut */
if (!((x1 = (blk[8*4]<<8)) | (x2 = blk[8*6]) | (x3 = blk[8*2]) |
(x4 = blk[8*1]) | (x5 = blk[8*7]) | (x6 = blk[8*5]) |
(x7 = blk[8*3])))
{
blk[8*0]=blk[8*1]=blk[8*2]=blk[8*3]=
blk[8*4]=blk[8*5]=blk[8*6]=blk[8*7]=
gVideoData->iclp[(blk[8*0]+32)>>6];
return;
} x0 = (blk[8*0]<<8) + 8192;
MMPPEEGG
--22 IInntt
eeggeerr
iiDDCCTT SS
ooffttwwaa
rree ((44))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-28
Univ
ers
ity o
f Texas a
t A
ustin
/* first stage */
x8 = W7*(x4+x5) + 4;
x4 = (x8+(W1-W7)*x4)>>3;
x5 = (x8-(W1+W7)*x5)>>3;
x8 = W3*(x6+x7) + 4;
x6 = (x8-(W3-W5)*x6)>>3;
x7 = (x8-(W3+W5)*x7)>>3;
/* second stage */
x8 = x0 + x1;
x0 -= x1;
x1 = W6*(x3+x2) + 4;
x2 = (x1-(W2+W6)*x2)>>3;
x3 = (x1+(W2-W6)*x3)>>3;
x1 = x4 + x6;
x4 -= x6;
x6 = x5 + x7;
x5 -= x7;MMPP
EEGG--22
IInntteegg
eerr iiDDCC
TT SSoofftt
wwaarree
((55))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-29
Univ
ers
ity o
f Texas a
t A
ustin
/* third stage */
x7 = x8 + x3;
x8 -= x3;
x3 = x0 + x2;
x0 -= x2;
x2 = (181*(x4+x5)+128)>>8;
x4 = (181*(x4-x5)+128)>>8;
/* fourth stage */
blk[8*0] = gVideoData->iclp[(x7+x1)>>14];
blk[8*1] = gVideoData->iclp[(x3+x2)>>14];
blk[8*2] = gVideoData->iclp[(x0+x4)>>14];
blk[8*3] = gVideoData->iclp[(x8+x6)>>14];
blk[8*4] = gVideoData->iclp[(x8-x6)>>14];
blk[8*5] = gVideoData->iclp[(x0-x4)>>14];
blk[8*6] = gVideoData->iclp[(x3-x2)>>14];
blk[8*7] = gVideoData->iclp[(x7-x1)>>14];
}
MMPPEEGG
--22 IInntt
eeggeerr
iiDDCCTT SS
ooffttwwaa
rree ((66))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-30
Univ
ers
ity o
f Texas a
t A
ustin
/* two dimensional inverse discrete cosine transform */
void Fast_IDCT(short **inblock, short** outblock)
{
short *block = *inblock;
int i;
for (i=0; i<8; i++)
idctrow(block+8*i);
for (i=0; i<8; i++)
idctcol(block+i);
}
MMPPEEGG
--22 IInntt
eeggeerr
iiDDCCTT SS
ooffttwwaa
rree ((77))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-31
Univ
ers
ity o
f Texas a
t A
ustin
CCoommmm
eennttss oo
nn tthhee
IInntteegg
eerr iiDDCC
TT VVaarrii
aanntt
Only s
light lo
ss of
accura
cy (>4
0 dB p
SNR f
or iDC
T)An
ything
> ~3
0 dB p
SNR i
s usua
lly de
emed
okay
for vid
eoUs
e of 1
6-bit in
tegers
allow
s effic
ient m
appin
g to
MMX i
nstruc
tions fo
r faste
r exec
ution o
n a ge
neral
-pu
rpose
machi
ne.
Shifts
are e
fficien
tly imp
lemen
ted in
hardw
are.
Oppo
rtunity
for e
arly c
ut-off
in sof
tware
Note
similar
ity of
horizo
ntal an
d vert
ical pr
ocessi
ng
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-32
Univ
ers
ity o
f Texas a
t A
ustin
OOppttiioonn
ss ffoorr AA
cccceelleerr
aattiinngg tt
hhee iiDD
CCTTSim
plest:
use e
xisting
MMX
instru
ctions
on PC
Highe
st perf
orman
ce: m
ap int
o 256
-inpu
t, 256
-ou
tput m
axima
lly pa
rallel
logic
Fast,
but ve
ry lar
geNo
flexib
ility
Maxim
allyPa
rallel
0 255
0 255
……
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-33
Univ
ers
ity o
f Texas a
t A
ustin
OOppttiioonn
ss ffoorr AA
cccceelleerr
aattiinngg tt
hhee iiDD
CCTTHig
h perf
orman
ce: tr
ansla
te the
simple
C to
Verilo
g, syn
thesiz
e one
-dime
nsion
al vect
or iDC
T, rep
licate
the m
odule
8 tim
es for
each
dimen
sion
Simple
r than
maxi
mally
paral
lel con
cept
Still n
o flex
ibility
00 … 7
10 7
70 7
…
00 … 7
10 7
70 7
…
RRooww
CCooll
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-34
Univ
ers
ity o
f Texas a
t A
ustin
OOppttiioonn
ss ffoorr AA
cccceelleerr
aattiinngg tt
hhee iiDD
CCTTHig
h perf
orman
ce bu
t smalle
r: reu
se on
e-dim
ensio
nal sl
ices fo
r row a
nd co
lumn
“Tran
spose
memo
ry” se
rves a
s buff
erSti
ll no f
lexibil
ity 00 … 7
10 7
70 7
…TM
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-35
Univ
ers
ity o
f Texas a
t A
ustin
OOppttiioonn
ss ffoorr AA
cccceelleerr
aattiinngg tt
hhee iiDD
CCTTHig
h perf
orman
ce wit
h incre
ased f
lexibil
ity:
microc
ode e
ngine
with
SIMD
“Tran
spose
memo
ry” se
rves a
s buff
erWo
rks on
8x8 (
or sm
aller) b
locks
for iD
CT, D
CT,
forwa
rd an
d inver
se inte
ger tr
ansfo
rm (H
.264)
TM
ALU
…ALU
ALU
Reg
FileCtrl
uCod
eSto
re
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-36
Univ
ers
ity o
f Texas a
t A
ustin
IInntteegg
eerr iiDDCC
TT ffoorr
MMiiccrroocc
ooddee EE
nnggiinnee
static void idct_x2(int i0, int i1, int i2, int i3, /* input values */
int i4, int i5, int i6, int i7,
int j0, int j1, int j2, int j3,
int j4, int j5, int j6, int j7,
char isRow, /* non-zero if row */
int * o0, int * o1, int * o2, int * o3, /* outputs */
int * o4, int * o5, int * o6, int * o7,
int * p0, int * p1, int * p2, int * p3,
int * p4, int * p5, int * p6, int * p7)
{
int r0, r1, r2, r3, r4, r5, r6, r7 ;
/* 1 */
r0 = i1 * C7 ;
/* 2 */
r1 = i7 * C1 ;
/* 3 */
r2 = i5 * C3 ;
/* 4 */
r3 = i3 * C5 ;
r0 = (r0 -
r1) >> (isRow ? 0 : 8) ;
/* e */
/* 5 */
r1 = i7 * C7 ;
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-37
Univ
ers
ity o
f Texas a
t A
ustin
/* 6 */
r3 = i1 * C1 ;
r2 = (r2 -
r3) >> (isRow ? 0 : 8) ;
/* f */
/* 7 */
r7 = i3 * C3 ;
/* 8 */
r3 = i5 * C5 ;
r1 = (r1 + r3) >> (isRow ? 0 : 8) ;
/* h */
/* 9 */
r4 = i6 * C6 ;
r0 = r0 + r2 ; /* b[4] */
r2 = (r0 -
r2) >> 3 ;/* b1[5] */
/* 10 */
r5 = i2 * C2 ;
r3 = (r7 + r3) >> (isRow ? 0 : 8) ;
/* g */
/* 11 */
r7 = i6 * C2 ;
r1 = (r1 -
r3) >> 3 ;
/* b1[6] */
r3 = r1 + r3 ;
/* b[7] */
/* 12 */
r6 = i2 * C6 ;
r4 = (r4 + r5) >> (isRow ? 0 : 8) ;
/* b1[3] */
r1 = r1 -
r2 ;
IInntteegg
eerr iiDDCC
TT ffoorr
MMiiccrroocc
ooddee EE
nnggiinnee
((22))
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-38
Univ
ers
ity o
f Texas a
t A
ustin
IInntteegg
eerr iiDDCC
TT ffoorr
MMiiccrroocc
ooddee EE
nnggiinnee
((33))
/* 13 */
r6 = (r6 -
r7) >> (isRow ? 0 : 8) ;
/* b1[2] */
r7 = i0 + i4 ;
/* 14 */
r7 = (r7 * C4) >> (isRow ? 0 : 8) ;
/* b1[0] */
r2 = r1 + r2 ;
r5 = i0 -
i4 ;
/* 15 */
r5 = (r5 * C4) >> (isRow ? 0 : 8) ;
/* b1[1] */
r7 = r7 + r4 ;
/* b[0] */
r4 = r7 -
r4 ;
/* b[3] */
/* 16 */
r1 = (r1 * C0) >> 8 ;
/* b[5] */
r5 = r5 + r6 ;
/* b[1] */
r6 = r5 -
r6 ;
/* b[2] */
/* 17 */
r2 = (r2 * C0) >> 8 ;
/* b[6] */
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-39
Univ
ers
ity o
f Texas a
t A
ustin
IInntteegg
eerr iiDDCC
TT ffoorr
MMiiccrroocc
ooddee EE
nnggiinnee
((44))
/* 18 */
r0 = j1 * C7 ;
a0 = (r4 + r0) ;
*o3 = (int) (a0 + (isRow ? 0 : /* d[3] */
((a0 > 0) ? 1023 : 1024))) >> (isRow ? 3 : 11);
if (!isRow)
{
if (*o3 > 255)
*o3 = 255 ;
else if (*o3 < -255)
*o3 = -255 ;
} a1 = (r4 -
r0) ;
*o4 = (int) (a1 + (isRow ? 0 : /* d[4] */
((a1 > 0) ? 1023 : 1024))) >> (isRow ? 3 : 11);
if (!isRow)
{
if (*o4 > 255)
*o4 = 255 ;
else if (*o4 < -255)
*o4 = -255 ;
} …
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-40
Univ
ers
ity o
f Texas a
t A
ustin
MMaapppp
iinngg tthh
ee HHaarrdd
wwaarree
FFuunncctt
iioonnss
ttoo SSyy
sstteemmCC
MMoodd
eellssHA
L sep
arates
applic
ation s
oftwa
re fro
m Sy
stemC
“co
llars”
(applic
ation-l
ayer H
AL) o
n fun
ctions
to be
imp
lemen
ted in
hardw
areInit
ially, S
ystem
C mod
el is n
othing
more
than
fun
ctiona
l HLL
code
with
ports
.Fo
llow-on
with
succe
ssive
refine
ments
to m
odel
reflec
ting ha
rdware
struct
ural de
compo
sition
.Us
eful fo
r simu
lation
-based
debu
gging
of m
icrocod
e en
gines
Altern
atively
, refine
mod
el to s
ynthe
sizab
le form
All m
odels
verifie
d aga
inst re
feren
ce sof
tware
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-41
Univ
ers
ity o
f Texas a
t A
ustin
SSyyssttee
mmCC HHAA
LL IInnttee
rrffaaccee
ffoorr IInn
tteeggeerr
iiDDCCTT
#include "systemc.h“
SC_MODULE(idct) // declare iDCT sc_module
{
sc_in_clk ck ;
sc_in<sc_bv<32>> indata ; // input signal ports
sc_in<sc_bv<8>> addr ;
sc_in<sc_bit> wr, sel, go ;
sc_out<sc_bv<32>> outdata ;
unsigned int tm[BLSIZE][BLSIZE] ; // transpose memory
// Interface to the bus
if (sel)
{
if (wr)
{
tm[addr>>4][addr&0xF] = indata ;
} else if (!go)
{
outdata = tm[addr>>4][addr&0xF] ;
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-42
Univ
ers
ity o
f Texas a
t A
ustin
SSyyssttee
mmCC HHAA
LL IInnttee
rrffaaccee
ffoorr IInn
tteeggeerr
iiDDCCTT ((
22))else
{
int i ;
for (i=0; i < 8 ; i++)
{
// Call behavioral function for rows
idct_x2(tm[i][0], tm[i][1], tm[i][2], tm[i][3],
tm[i][4], tm[i][5], tm[i][6], tm[i][7],
1,
&tm[0][i], &tm[1][i], &tm[2][i], &tm[3][i],
&tm[4][i], &tm[5][i], &tm[6][i], &tm[7][i]) ;
} for (i=0; i < 8 ; i++)
{
// Call behavioral function for columns
idct_x2(tm[0][i], tm[1][i], tm[2][i], tm[3][i],
tm[4][i], tm[5][i], tm[6][i], tm[7][i],
0,
&tm[i][0], &tm[i][1], &tm[i][2], &tm[i][3],
&tm[i][4], &tm[i][5], &tm[i][6], &tm[i][7]) ;
}
}
}
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-43
Univ
ers
ity o
f Texas a
t A
ustin
TThhiinngg
ss ttoo CCoo
nnssiiddee
rrAp
plicatio
n prof
iling w
ith Sy
stemC
mod
els pr
esents
a c
hallen
ge.
“Back
out” p
rofile
data
and o
verhe
ad fo
r ha
rdware
mod
elsDe
termin
e cycl
e cou
nts of
the h
ardwa
re mo
dels
Build
sprea
dshee
t to co
mpute
adjus
ted pr
ofile
results
with
clock
cycle a
s para
meter
An ins
trume
nted H
AL ca
n be u
seful i
n asse
ssing
sys
tem pe
rform
ance.
Track
bus a
ctivity,
mem
ory re
feren
ce pa
tterns
, ba
ndwid
th req
uirem
ents.
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-44
Univ
ers
ity o
f Texas a
t A
ustin
CCoonnccll
uussiioonn
ssFo
r targe
t app
lication
s base
d on r
eferen
ce sof
tware,
or
for an
y proj
ect th
at be
gins w
ith “go
ld” ap
plicatio
n sof
tware,
Syste
mC ca
n prov
ide a
smoo
th pa
th fro
m sof
tware
to em
bedd
ed sy
stem.
Selec
t cand
idate
mode
ls base
d on p
rofile
data
or by
known
perfo
rman
ce req
uirem
ents (
e.g., f
rame
rates
for vid
eo de
code)
Conve
rt floa
ting po
int op
eration
s to int
eger
to red
uce HW
comp
lexity
and p
rocess
ing tim
eCo
nside
r inter
face is
sues
Pollin
g or in
terrup
t for c
ontro
l even
tsDM
A or p
rocess
or-dir
ected
transf
ers
EE
382V
–S
yste
m-o
n-C
hip
Desig
n –
Ap
plic
ation M
ap
pin
gS
PS
-45
Univ
ers
ity o
f Texas a
t A
ustin
CCoonnccll
uussiioonn
ss ((ccoonn
ttiinnuueedd
))Ma
p fun
ctions
to ha
rdware
by fir
st “col
laring” th
em
with p
ort int
erface
s arou
nd th
e pure
beha
vior.
Increa
se de
tail an
d accu
racy o
f Syst
emC m
odel a
s de
sign p
rogres
ses.
Use r
eferen
ce ap
plicatio
n as te
st ben
ch thr
ough
out.
Use H
AL to
hide h
ardwa
re de
tail fro
m ap
plicatio
n an
d to in
strum
ent th
e mod
el.Ma
intain a
workin
g mod
el tha
t matc
hes th
e gold
mod
el thr
ough
out th
e entir
e desi
gn.