TELKOM
NIKA
, Vol.12, No
.2, June 20
14
, pp. 273~2
8
2
ISSN: 1693-6
930,
accredited
A
by DIKTI, De
cree No: 58/DIK
T
I/Kep/2013
DOI
:
10.12928/TELKOMNIKA.v12i2.1948
273
Re
cei
v
ed Ma
rch 2
3
, 2014;
Re
vised Ma
y 6, 2014; Acce
pted May 1
8
, 2014
Overview on Strategies and Approaches for FPGA
Progra
mming
Tole Sutikno
*
1
,
Nik Rum
z
i
Nik Idris
2
, Aiman Zak
w
a
n
Jidin
Dep
a
rtment of Electrical E
ngi
neer
ing,
F
a
cult
y of Industri
a
l
T
e
chnolog
y,
Univers
i
tas Ah
mad Da
hla
n
, Yog
y
ak
arta, Ind
ones
ia
Dep
a
rtment of Energ
y
C
onver
sion,
F
a
cult
y of
Electrical En
gi
neer
ing,
Univers
i
ti T
e
knolo
g
i Mal
a
ysia,
Johor, Mala
ys
i
a
Dep
a
rtment El
ectronics & Co
mputer Eng
i
n
e
e
rin
g
T
e
chnolo
g
y
, F
a
cu
lt
y
of
Engi
neer
in
g T
e
chno
log
y
,
Univers
i
ti T
e
knikal Mal
a
ysi
a
Melak
a
, Melak
a
, Mala
ysi
a
*Corres
p
o
ndi
n
g
author, e-ma
i
l
: tole@e
e.ua
d.ac.id
1
, nikrumzi@fke.utm.my
2
, aimanz
ak
w
a
n
@
utem.ed
u
.m
y
3
A
b
st
r
a
ct
T
h
is pa
per
pre
s
ents an
overv
i
ew
of strategi
es an
d a
ppr
oa
ches for F
P
GA progr
a
m
min
g
. At first,
desi
gn
e
n
try meth
ods are briefly
i
n
trod
u
c
ed.
T
hen,
th
e conc
epts of
F
P
GA progr
amming
in s
o
me
persp
ective vi
ew
points, suc
h
as: exec
uti
on p
e
rspectiv
e
, mo
de
lli
ng
persp
ective, p
r
ogra
m
mi
ng s
t
yle
persp
ective, co
nstruction
method
olo
g
y p
e
rs
pective
an
d sy
nthesis
persp
e
c
tive w
ill b
e
ex
plai
ne
d. Fina
lly
, the
princi
pl
e of VHDL pro
g
ra
mmi
ng use sync
h
ro
ni
z
a
ti
on-ev
ol
uti
on-acti
on a
ppr
oach is i
n
trod
u
c
ed.
Ke
y
w
ords
:
V
HDL
progr
a
m
mi
ng, pr
ogra
m
mi
ng styl
e per
spec
tive, synt
hesis, sync
h
ro
ni
z
a
ti
on-ev
ol
uti
on-
action a
ppr
oac
h
1. Introduc
tion
A field programmabl
e gate array (FPG
A) can
be
co
nsid
ere
d
as
a prop
er sol
u
tion for
boo
sting pe
rf
orma
nce of controlle
rs and
for dec
re
asi
ng the gap
b
e
twee
n the a
nalog a
nd dig
i
tal
worl
d [1
-3]. F
P
GA ca
n
sig
n
ificantly a
ccelerate
th
e
proce
s
sing
tim
e
of
an
algo
ri
thm [4, 5].
When
addresse
d to fast ADC, the extr
emely
fast comput
ation cap
abili
ty of FPGA
allows re
al-ti
m
e
comp
utation
of complex control alg
o
rithms
in a few
mic
r
oseconds
[2].
Today, FPG
A
vendors provide a fairly
compl
e
te se
t of tools whi
c
h allo
w hig
h
quality
desi
gn
pro
c
e
s
s sta
r
ting f
r
o
m
the h
a
rdware
de
scriptio
n u
s
ing
VHDL. Gen
e
rally,
the de
sig
n
to
ols
cover ha
rd
wa
re d
e
si
gn
and
verificatio
n
t
ools (V
HD
L e
d
itor,
synthesizer,
pla
c
e/ro
ute an
d p
h
ysi
c
al
impleme
n
tation tools) [1,
6]. Some the example
s
are Qua
r
tus f
r
o
m
Altera, Integrated S
o
ftware
Environme
n
t (ISE) from Xilinx [7] and Libero from
Actel [8]. However, the unde
rstan
d
ing a
b
o
u
t
perspe
c
tives
of FPGA prog
rammin
g
is n
eede
d to
use
the tools for realizi
ng a digi
tal desig
n.
2. Design
En
tr
y
Methods
De
signi
ng by
han
d o
n
p
a
per
usi
ng te
chniqu
es
such
as Boole
a
n
expre
s
sion
s,
ci
rcuit
schemati
cs, Karna
ugh m
aps,
Q
u
ine
-
McCl
uskey (T
abula
r
) mini
mization,
an
d state tran
sition
diagram
s were used in
the
past to
desi
g
n digital
circui
ts. Cu
rre
ntly, the de
sign
proce
s
s mig
r
at
ed
to the comput
er usi
ng ele
c
t
r
oni
c de
sign
automation
(EDA) tools [9
-11].
For ente
r
in
g a desi
gn into
an EDA too
l
, a suitable
desi
gn ent
ry method i
s
re
quire
d.
Typically, the desi
gn entry
me
thod
s are followin
g
[12-14]:
-
Circuit sch
e
m
atics, p
r
e
s
e
n
t a gra
phica
l view of the
desig
n u
s
in
g logic
gate
symbol
s an
d
interconnec
t wiring.
-
Boolean exp
r
ession
s can
be entered a
s
a text
-based de
scriptio
n in combi
n
a
t
ional logic
desi
g
n
s
.
-
HDL d
e
si
gn
entry, allo
ws
a de
scri
ption
of the
di
gital
logic ci
rcuit o
r
system
op
e
r
ation
to b
e
entere
d
in text form using a
suitable la
ng
uage.
-
State transiti
on diag
ram
s
, present a graphi
cal
vie
w
of state machin
e that identifies the
desi
gn state
s
and the tran
sitions bet
wee
n
states.
The availabilit
y of a particul
a
r de
sign e
n
try method dep
end
s on the
DEA tool use
d
.
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 16
93-6
930
TELKOM
NIKA
Vol. 12, No. 2, June 20
14: 273 – 28
2
274
3.
Conc
epts of
VHDL Prog
r
a
mming
VHDL
is
a ha
rdware de
scri
ption lan
gua
g
e
. Ho
we
ver, t
he term
“h
ard
w
are” i
n
this
context
is u
s
ed
in
a
wide
variety
of co
ntext, whi
c
h
co
ve
rs the compl
e
te ra
nge
of a
pplication
s
from
compl
e
te sy
stem
s su
ch
as pe
rson
al comp
uter to
the small l
ogical, and
can b
e
u
s
ed
for
modelling di
gital hardware in a ge
neral way. V
H
DL is
suitable
f
o
r the design phases from
system
level
to gate lev
e
l. The exist
ence of
“IEEE Standard
V
HDL Language
Reference
Manual
” ha
s i
n
crea
sed th
e use of V
H
DL and ha
s
e
nab
led the creati
on and
devel
opment of hig
h
-
perfo
rman
ce
comp
uter-aid
ed-d
e
si
gn (CAD) tool [15-18].
3.1.
An Exec
utio
n Perspec
t
iv
e
The di
sting
u
i
s
hin
g
of V
H
DL from
othe
r l
angu
age
s i
s
i
n
the
way h
o
w
a
s
signm
ent
s
can
be
execute
d
. Two basi
c
types
of st
atement
s are kn
own a
s
[19-2
1
]:
a. Sequential
statements
As in softwa
r
e programm
i
ng langu
age
s, thes
e
statement types are execute
d
one after
anothe
r. So, the ord
e
r of th
e assignm
ent
must be con
s
ide
r
ed
whe
n
use the
s
e types.
b. Con
c
u
r
rent
st
atements
The types a
r
e active co
ntinuou
sly whe
r
e the orde
r of
the stateme
n
ts is not rel
e
vant. So th
e
types are e
s
p
e
cially suited
to model the parall
e
lism of
hard
w
a
r
e.
3.2.
A Modelling Perspec
t
iv
e
Thre
e imp
o
rt
ant features
of the mod
e
ll
ing
techniq
u
e
s
a
r
e a
b
st
raction, modula
r
ity and
hiera
r
chy [22-25].
a.
A
b
st
ra
ct
ion
VHDL
is
rich in lan
gua
g
e
co
nst
r
u
c
tio
n
s
whi
c
h
ca
n be u
s
e
d
to de
scribe
d
i
fferent
abstractio
n
l
e
vels. Abst
raction level
s
are a
way
of hiding d
e
tails of a
particula
r set
of
function
ality. It allows for
the de
scripti
on of
di
ffere
nt part
s
of a
digital
syste
m
with
different
amount
s of detail. Thus, h
i
era
r
chical an
d modul
a
r
a
ppro
a
che
s
which a
r
e defi
ned at different
levels
of a
b
st
ractio
n fo
r ta
king a
d
vantag
es
of th
e
VHDL
ca
n
be
use in
digital
ci
rcuit d
e
si
gn
[
22-
25].
There a
r
e
th
ree
differe
nt
abstractio
n
l
e
vels fo
r h
a
rd
ware
de
script
ion la
ngu
age
s h
a
ve
been
defin
ed
to de
al
with
the h
uge
si
ze of d
e
tailed
informatio
n d
e
scribi
ng
ele
c
troni
c devices.
Each of level
is characte
ri
zed
by a set of prim
itive
comp
one
nt a
nd by the
size of inform
ation
pro
c
e
s
sed at that level [10, 22, 23].
-
Behaviou
r
al
level
The be
havio
ural level i
s
a simpl
e
wa
y to describe
the behavio
ur of a ci
rcui
t. The level
con
s
i
s
ts of th
e function
al/a
lgorithm d
e
scripti
on of the
circuit. Usuall
y
, such d
e
scriptions a
r
e
only simulata
ble, but not synthesi
z
abl
e.
-
Regi
ster tran
sfer level (RT
L
)
The RT
L deal
s with words
of bits usin
g combi
nation
a
l
and se
que
ntial device
s
su
ch a
s
wo
rd
gates,
m
u
ltipl
e
xers, de
cod
e
rs, arithm
etic
op
erat
ors, regi
sters,
et
c.
Two
differe
nt types of
pro
c
e
s
ses
ex
ist
in RTL de
scription
s
are
t
he pu
re
co
mbination
a
l p
r
ocess
and t
he cl
ocke
d
pro
c
e
ss. All
clo
c
ked
pro
c
esse
s infe
r f
lip-flo
ps
an
d c
a
n
be
de
sc
r
i
be
d
in
terms
o
f
s
t
a
t
e
machi
ne. In depth of the state machi
ne
will explain in
sectio
ns V a
nd VI.
-
Gate
level
The logi
c level is well defined by switchi
ng
theo
ry base
d
on
Boolean or multi-valued
algeb
ra. It i
n
volves all
of the logi
c gate
s
p
r
o
c
essing B
ool
ean of
multi
p
le-valu
e
bit-
informatio
n. The logi
c networks mu
st be
optimize
d
.
The compl
e
xity of designed I
C
s f
a
voure
d
the
developm
e
n
t of new desi
gn
methodol
ogie
s
ba
sed on
abstra
c
tion.
Three
strat
egie
s
may be distin
guished in de
si
gn
methodol
ogie
s
[26-2
9
]:
-
Top-Do
wn, p
r
oceed
s hi
erarchically fro
m
an
ab
stra
ct level to a more d
e
tail
ed one
by
su
cc
es
siv
e
d
e
com
p
o
s
it
ion
int
o
sub
s
y
s
t
e
ms.
Wit
h
to
p-do
wn
de
sig
n
, the circuit
can first be
modelle
d by makin
g
a be
h
a
vioural m
o
d
e
l. The
advan
tage of a beh
avioural m
o
d
e
l is that the
desi
gne
r can
simulate
th
e ci
rcuit at an ea
rl
y sta
ge an
d di
scover any
sy
stem e
r
rors.
Ho
wever, thi
s
level ca
n b
e
ski
ppe
d in th
e top-do
wn fl
ow in
many
case
s. It is o
n
l
y
in the case
of highly com
p
lex circuit
s
(system
s
)
or if
a lo
t of circu
i
ts have to b
e
desi
gne
d a
t
the same
time.
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
1693-6
930
Ove
r
view o
n
Strategie
s
an
d Appro
a
che
s
for FPGA Prog
ram
m
i
ng (Tole Sutikn
o)
275
-
Bottom-Up, a
c
hieve
s
the
desi
gn of mo
re
complex
sys
tems
by as
sembling les
s
c
o
mplex
one
s.
-
Meet-in
-
the
-
middle, d
e
co
mposes a
sy
stem i
n
to
su
bsyste
ms unt
il the p
a
rt
s of
the
re
sulting
decompo
sitio
n
can b
e
de
signed u
s
in
g a
library of
co
mpone
nt and
standa
rd
cell
s. This la
st
approa
ch is t
he most fre
q
u
ently used.
b. Modula
r
ity
For ve
ry larg
e model
s, it i
s
u
s
eful to
split
the wh
ole
cod
e
into m
any files that
can
be
compil
ed
se
p
a
rately. A big
functio
nal bl
ock
can
be
split into small
e
r u
n
its
and
grou
ped
cl
osely
related p
a
rt
s in self-contai
n
ed su
b-bl
ocks, so
-c
alled
module
s
. A complex syste
m
can b
e
divided
into ma
nag
e
able
su
b-syst
ems by u
s
in
g this te
c
hni
que. F
r
om
a
functio
nal
p
o
int of vie
w
,
the
module
s
are
easi
e
r
to
dev
elop and ma
ke se
nse.
Th
is can
be co
ndu
cted by
identificatio
n and
extraction of
some
re-usea
b
le and in
dep
ende
nt modul
es [1, 22, 24].
c. Hierarchy
Hierarchy i
s
useful fo
r spl
i
tting an initial, compl
e
x probl
em into
simple
r
sub
-
probl
em
s
that can be
worked out se
parately to achieve a so
luti
on to the initial probl
em. Using hi
era
r
chi
e
s
to handl
e
co
mplexities
do
es n
o
t mea
n
that the d
e
sign be
co
me
s less
compl
e
x (so
m
etime
s
it
become
s
mo
re co
mplex instea
d), but it becom
e e
a
s
ier to un
derstand for d
e
signer. By usi
n
g
hiera
r
chy me
thod, buil
d
ing
a d
e
si
gn o
u
t
of modul
es is
po
ssi
ble.
Each l
e
vel of
a hi
era
r
chi
c
al
descri
p
tion
may contain
one or mo
re modul
es
that can even have different de
gre
e
s
of
abstractio
n
. The su
b-m
o
d
u
les of these
models a
r
e
pre
s
ent in th
e next lower
hiera
r
chi
c
al level
[23-25].
Modula
r
ity an
d hiera
r
chy h
e
lp to simply and organi
ze
a desi
gn proj
ect.
3.3.
A Programm
i
ng St
y
l
e Per
s
pec
t
iv
e
VHDL
offers t
h
ree
styles
of de
scription:
t
he b
ehavio
ural, dataflo
w,
and structu
r
al
styles.
In cont
ra
st to other lang
uage
s, the V
H
DL mo
d
e
l
may inclu
de
any com
b
ina
t
ion of the th
ree
aboveme
n
tio
ned style
s
[7, 8, 12, 19, 30].
a. Behaviou
r
al
style
A behavioura
l
descriptio
n
model
s the system as
to how the output
s act with the
inputs. The
behavio
ural
style pe
rmits the d
e
si
gne
r to q
u
ickly t
e
st
con
c
e
p
t, wh
ere
the
desi
gne
r
can
spe
c
ify the
hi
gh-level
fun
c
tion of th
e d
e
s
ign
with
out t
a
kin
g
mu
ch
care
ho
w it
wi
ll be
done
stru
cturally. This
descript
i
on defin
es t
he fu
n
c
tional
ities of a d
e
vice
with a
seq
uential
algorith
m
with no referen
c
e to any structural
implem
e
n
tation. For e
x
ample, an adder
will be
modelle
d wit
h
an additio
n
operation. The synthe
si
zed fro
m
be
havioural de
scription
s
will
often end up
usin
g a lot of more resou
r
ces than a
c
tua
lly nece
s
sary, even after op
timization.
b. Dataflow
s
t
yle
Dataflo
w
de
scrib
e
s
ho
w the sy
stem’s
sign
als fl
o
w
from the in
pu
ts to the out
puts. At the
dataflow
or t
he RT
L style
,
the system
is re
pre
s
e
n
ted by a con
c
urre
nt set o
f
equation
s
involving use
r-d
efined fun
c
tion
s, and a
r
ithmetic
and
logic o
p
e
r
at
ors
ope
rating
on sig
nal
s of
arbitrary com
p
lex types. These equ
ations exp
r
e
s
s the flow of
informatio
n throu
gh RT
L
function
al module
s
impli
ed by the func
tion
s and op
erato
r
s. A dire
ct hard
w
a
r
e
impleme
n
tation can be de
rived
by
m
a
p
p
ing sign
al
s i
n
to wi
re
s a
n
d
dataflo
w op
e
r
ators i
n
RTL
module
s
. Fo
r example, an
adde
r will b
e
co
nstructe
d by mappin
g
sign
als i
n
to wires
an
d
dataflow of th
e pred
efined l
angu
age
s op
erato
r
s XO
R, AND, and
NO
T.
c.
S
t
ruct
u
r
al
st
y
l
e
In a structu
r
a
l
style, the de
scription li
sts
t
he pa
rts of t
he sy
stem a
n
d
their i
n
terconne
ction
s
.
Structu
r
al d
e
scriptio
ns
model th
e
system
as comp
one
nts
or gate
s
.
Actually,
the
function
alities of the com
pone
nts are not
part of the de
scriptio
n. The com
p
onent
s are
viewed a
s
bl
ack boxe
s
wi
th rega
rd to their inte
rface
.
The re
sultin
g system i
s
e
quivalent to
an interco
n
n
e
cted
set of
so
ckets. Fo
r exam
pl
e, a
n
add
er
coul
d be d
e
scri
b
ed a
s
the
interconn
ecti
on of two half
-
add
ers a
nd
an O
R
g
a
te. In this
ca
se th
e half-add
er
and the
gat
e
are viewed a
s
bla
ck b
o
xes.
In VHDL, a
d
e
scriptio
n
ca
n mix diffe
ren
t
descrip
tion
s
t
yles
. In fac
t
,
mos
t
the desc
riptions
of mode
rate
to larg
e-size-system
s
a
r
e
mixed.
It is
possibl
e for
descri
b
ing
so
me pa
rts
of the
system u
s
ing
one de
scripti
on style
and
other pa
rts u
s
ing anoth
e
r st
yle.
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 16
93-6
930
TELKOM
NIKA
Vol. 12, No. 2, June 20
14: 273 – 28
2
276
3.4.
A Con
s
tr
ucti
on Metho
dol
og
y
Perspec
t
iv
e
De
sign
of integrate
d
ci
rcui
t is a map
p
in
g pro
c
e
s
s of
function
al de
scription
of a
probl
em
in order to
satisfy a
set o
f
perfo
rman
ce crit
eri
a
.
A con
s
tru
c
tion
methodol
ogy perspe
c
tive may
c
o
nc
en
tr
a
t
e
o
n
an
y le
ve
l
o
f
a
b
s
t
r
a
c
t
io
n d
e
f
in
ed
w
i
th
in
th
is pr
oc
ess
:
Re
ce
n
t
liter
a
t
u
r
e
on
VHD
L
prog
ram
m
ing
pe
rspe
ctives d
e
scribe
a nu
mbe
r
of distin
ct
methodol
ogie
s
. All of
th
ese
methodol
ogie
s
ca
n be grou
ped into thre
e
mainstr
eam
s that differ in desi
gn philo
sophy [26-2
9
]:
a. Top-do
wn
ap
proa
ch
(be
h
a
v
ioural
)
The d
e
si
gn p
r
ocess i
s
sta
r
ted from
hi
g
h
-level, b
eha
vioural
de
scri
ptions
of blo
c
ks th
at will
reali
z
e certai
n function
s. A good exa
m
ple for
the
top-do
wn a
ppro
a
ch is l
ogic
synthesi
s
methodol
ogy. Standard
cel
l
librari
es b
a
sed-V
H
DL de
scriptio
n of a digital circuit
has b
e
come
a comm
only
used te
chni
que for auto
m
atic synthe
sis of such circuits. Thi
s
appro
a
ch i
s
addresse
d to
avoid the
co
mplexi
ties
of physi
cal
de
sign an
d thu
s
,
spe
e
d
s
u
p
the p
r
o
c
e
ss.
Yet, the we
a
k
ne
ss of thi
s
approa
ch
ca
n
not solve a
n
u
mbe
r
of i
s
su
es
su
ch
a
s
careful
sp
eed
optimizatio
n and area mini
mization.
b. Bottom-up
ap
proa
ch
(phy
si
cal)
The low-level
elementa
r
y building bl
ocks of t
he circui
t are desi
gne
d and combin
ed to reali
z
e
the desi
r
e
d
functio
n
. A good exampl
e of the bo
ttom
-
up d
e
si
gn st
rategy is full
-cu
s
tom an
d
mask-l
evel d
e
sig
n
of ele
m
entary b
u
il
ding bl
ocks. This
app
ro
ach
qui
ckly
become
s
very
difficult to manage the ove
r
all desi
gn co
mplexity in larger FPGA de
sign
s.
c. Meet-in
-
the
-
middle
ap
pro
a
ch
The de
sign o
f
complex sy
stem
s sho
u
ld
employ
a co
mbination of
top-do
wn a
n
d bottom-u
p
approa
che
s
whi
c
h is
calle
d the "meet-i
n-the
-
middl
e"
appro
a
ch, for most efficie
n
t result
s.
3.5.
A Sy
nthesis Perspec
t
iv
e
Synthesis i
s
the tran
slatio
n
pro
c
e
ss fro
m
a descripti
on of a ha
rd
ware devi
c
e
at highe
r
abstractio
n
le
vel into an optimized im
pl
ementati
on o
n
a lowe
r level abstractio
n
.
This pro
c
e
s
s
may be d
one
by huma
n
o
r
a compute
r
assiste
d
p
r
og
ram. Th
ere
a
r
e two comm
on catego
rie
s
of
the synthe
sis
pro
c
e
ss [10,
20, 26, 31-3
5
]:
a.
Behaviou
r
to stru
cture
The g
ap b
e
twee
n the hi
g
h
-level b
ehav
ioural
sp
ecif
i
c
ation of a
digi
tal circuit a
n
d
its structu
r
e
are b
r
idg
ed
high-l
e
vel sy
nthesi
s
. The
high-level
synthesi
s
as
oppo
se
d to logic
synthe
si
s
whi
c
h o
p
timizes o
n
ly com
b
inational l
ogi
c, deal
s
with
memory el
e
m
ents, the i
n
terco
nne
ction
stru
cture such as b
u
ses
and multipl
e
xers, a
nd the
seq
uential
asp
e
ct
s of a
desig
n. Th
e
behavio
ural
specifi
c
ation
a
i
ms at de
scri
bing o
n
ly
the
function
ality of a circuit,
or what the
circuit m
u
st
do. On
the o
t
her h
and,
ci
rcuit
st
ructu
r
e give
s st
ron
g
hint
s ab
out
the
circuit'
s
imp
l
e
m
en
ta
tio
n
or
h
o
w
it is
bu
ilt. T
h
e s
t
r
u
c
t
ur
e
is de
scrib
ed
by a
n
e
tlist, a li
st of
co
mpon
ents
and their inte
rcon
ne
ction
s
.
b.
Structu
r
e to p
h
ysical layout
Tran
sfo
r
mati
on from stru
cture to physical lay
out re
pre
s
entatio
n is calle
d phy
sical desi
gn.
Physical
de
si
gn Physi
c
al
d
e
sig
n
in
clud
e
s
two ma
jor parts
: (i)
the firs
t
pa
rt is th
e refin
e
ment
pro
c
e
s
s bet
ween the
st
ru
ctural a
nd
phy
sical vi
ews
which
de
rives
a layout fo
r a
netlist; an
d
(ii) The
seco
nd part invol
v
es the analy
s
is an
d tuni
n
g
of a circuit'
s elect
r
ical chara
c
te
risti
c
s.
The main ta
sks in
physi
cal
desig
n in
clu
de fl
oor pl
an
ning, pla
c
em
ent and routi
ng and
circuit
extraction.
The synthe
si
s pro
c
e
s
s ca
n also b
e
viewed in
three
different level
s
[10, 20, 26, 31-3
5
]:
a. Behaviou
r
sy
nthesi
s
Behaviou
r
al synthe
sis all
o
ws
de
sig
n
at
highe
r lev
e
ls of a
b
st
ra
ction by a
u
tomating th
e
transl
a
tion a
nd optimi
z
ati
on of a be
ha
vioural d
e
scri
ption, or hig
h
-
level mod
e
l, into an RT
L
impleme
n
tation whi
c
h fits in with existing des
i
gn flows. This m
e
thod can b
e
sele
ctively
applie
d to portions of a design. It will derive t
he greate
s
t benefit fro
m
the using a
higher level
of abstractio
n
. This b
eha
vioural d
e
sig
n
flow
in
cre
a
s
e
s
de
sign
p
r
odu
ctivity, reduces e
r
rors,
and spee
ds v
e
rificatio
n
.
b. Logi
c
synthe
sis
Logi
c synthe
sis involves b
o
t
h combin
at
io
nal and
seq
u
ential logi
c de
sign.
The p
r
o
c
e
s
s
of state mi
ni
mization
an
d
then th
e stat
e en
co
ding
p
r
ocess
are a
ddre
s
sed
if a
stable
diag
ra
m or ta
ble i
s
given. Fo
r
descr
i
b
ing
th
e rel
a
tion
ship
s bet
wee
n
in
put, cu
rre
nt
state an
d out
put and
next state,
the opt
imized t
r
uth t
able
s
or B
ool
ean exp
r
e
ssi
ons
ca
n be
use
d
after th
e en
co
ding i
s
compl
e
ted.
The
next st
ep, the m
a
p
p
ing
pro
c
e
ss co
nverts the
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
1693-6
930
Ove
r
view o
n
Strategie
s
an
d Appro
a
che
s
for FPGA Prog
ram
m
i
ng (Tole Sutikn
o)
277
optimize
d
trut
h table or Bo
olean exp
r
e
s
sion into g
a
te
s of a parti
cul
a
r tech
nolo
g
y.
c. Physical
synthesi
s
Physical
synt
hesi
s
i
s
the l
a
st sta
ge in
a synt
he
si
s d
e
sig
n
flow a
n
d
is whe
r
e th
e individual
gates a
r
e pla
c
ed a
nd ro
ute
d
on the sp
ecific FPGA platform.
4.
Using Arith
m
etic Oper
ations and T
y
pes
In VHDL, the
decla
ratio
n
o
f
the con
s
tant
s, sig
nals, va
riable
s
, fun
c
tions
and p
a
ra
meters
can be
con
d
u
cted with a
type that defines an
d re
st
ricts their
cha
r
acteri
st
ics. When obje
c
ts a
r
e
assign
ed to a
type, they are rest
ricte
d
to the
values a
nd ope
ration
s for that type [18, 36, 37].
Altera re
com
m
end
s usi
ng
the followin
g
types [37]:
a. STD_LOGIC
and
STD_LOGIC_
VECTOR types. These types are
defined in IEEE Std 1164-
1993 [38]. A
copy of the std_logi
c_1
164
package,
wh
ich incl
ude
s these types, is provid
ed i
n
the
ieee
library in the
\quartus\libraries\
v
h
d
l\ieee
directory.
b.
BIT and BIT_VECTOR types. These types ar
e defined in IEEE Std 1076-1987 [15]. A copy
of the stand
a
r
d pa
ckag
e, whi
c
h in
clud
es the
s
e typ
e
s, is p
r
ovid
ed in the
st
d
library in the
\quartus\libraries\v
hdl\st
d
dire
ctory.
c.
SIGNED a
n
d
UNSIGNE
D
types.
T
hese ty
pes are
provid
ed in th
e
std_lo
g
ic_arit
h,
nume
r
ic_std,
and n
u
me
ri
c_bit p
a
cka
g
e
s in th
e
ieee
library in the
\quar
t
u
s
\v
hdl\ieee
dire
ctory.
5. State
M
achi
n
e
Boolean
form
ca
n b
e
u
s
e
d
to spe
c
ify al
l pro
g
ramma
ble lo
gic de
si
gns.
Ho
weve
r u
s
ing
non-B
oolea
n
model
s a
r
e
e
a
sie
r
to
con
c
eptuali
z
e
and
implem
ent
some
de
sign
s. The
on
e
su
ch
model i
s
stat
e ma
chin
e m
odel. A
state
ma
chine
rep
r
esents a
sy
stem
as a
set of state
s
,
the
transitio
ns be
tween
them,
along
with th
e a
s
soci
at
ed
input
s a
nd
outputs. So,
it is a
pa
rticu
l
a
r
c
o
nc
ep
tu
a
l
iz
atio
n
o
f
a p
a
r
t
ic
u
l
ar
s
e
qu
en
tia
l
c
i
rcuit which
can
be
use
d
for ma
ny other thin
gs
beyond lo
gic
desi
gn an
d compute
r
archi
t
ecture [2
7, 33, 35, 39, 40].
A finite state machi
ne (F
SM) or
simp
ly
a state m
a
chi
ne is
a
model of b
e
haviour
comp
osed of
a finite num
b
e
r of
states, t
r
an
sition
s bet
wee
n
tho
s
e
states, and
a
c
tions. It is li
ke
a
"flow g
r
ap
h"
whe
r
e
we
ca
n see
ho
w th
e logi
c
run
s
whe
n
certai
n
con
d
ition
s
a
r
e met [27,
33
-35,
39, 40].
6. Sy
nchroniza
tion-ev
olution-ac
ti
on app
r
oach in state machine
A state
ma
chine i
s
actin
g
a
s
a
seq
u
ential
circuit.
The
u
s
e
of
state
ma
chi
nes is a
n
effective me
ans
of imple
m
enting
co
nt
rol fun
c
tion
s.
The
cu
rre
nt state
“
st
at
e
ve
ct
or
” of t
h
e
machi
ne i
s
st
ored i
n
the st
ate memo
ry; and the n
e
xt
state of the m
a
chi
ne is
det
ermin
ed ba
se
on
the curre
n
t state and the in
puts
a
c
qui
red
[27, 33, 35, 39, 40].
The state m
a
chi
ne u
s
uall
y
works i
n
two ph
as
es. I
n
the first ph
ase, the n
e
w state i
s
cal
c
ulate
d
, a
nd in
the
se
cond
pha
se
th
e ne
w
stat
e i
s
sampl
ed i
n
to a regi
ster.
In ge
neral, for
descri
b
ing
a
state ma
chi
n
e in V
H
DL, a
n
en
umerat
io
n type for the
state
s
can
b
e
de
cla
r
ed,
a
n
d
process statements
can be utilized for
the state
registers and the next-st
ate logics. Other
way
use
s
th
ree
different proce
s
ses: o
ne to
decode
next state, one to
assi
gn
cu
rren
t state and
o
n
e
for the o
u
tput
sign
als [2
7, 33, 35, 39,
4
0
]. In or
de
r to
be mo
re
rea
dable
and
ea
sier to de
bug,
this
thesi
s
intro
d
u
c
e
s
syn
c
h
r
on
ization
-
evoluti
on-a
c
ti
on
ap
proa
ch
as th
e way of de
scribi
ng a
s
sta
t
e
machi
ne in V
H
DL.
d.
Synchroni
zati
on
:
a
process
to synchro
n
ize
t
he state
tra
n
s
iti
on
at every clo
c
k cy
cle
i.e. the
state tran
sitio
n
will only occur at t
he ri
si
ng edg
e of the desi
gnate
d
clo
ck.
e.
Evolution
:
to
describ
e
the
con
d
ition
of the state transit
ion, from cu
rre
nt state to
anothe
r state
f.
Action
:
to generat
e the app
rop
r
iat
e
output sig
n
a
l for each cu
rre
nt state.
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 16
93-6
930
TELKOM
NIKA
Vol. 12, No. 2, June 20
14: 273 – 28
2
278
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
Entity machine is
port (clk, inp, rst: in std_logic;
otp : out std_logic_vector(3 downto 0));
end machine;
Architecture Moore of machine is
-- state declaration
type state_type is (st0, st1, st2, st3);
signal state: state_type;
begin
-- clocked process (
first process
)
machine_process: process(clk,rst)
begin
if rst = '1' then state<=st0;
elsif clk'event and clk='1' then
case state is
when st0=> if inp='1' then
state<=st1;
end if;
when st1=> if inp='0' then
state<=st2;
end if;
when st2=> if inp='1' then
state<=st3;
end if;
when st3=> if inp='0' then
state<=st0;
end if;
end case;
end if;
end process;
-- combinational process (
second process
)
output_process: process(state)
begin
case state is
when st0=> otp <="0000";
when st1=> otp <="1001";
when st2=> otp <="1100";
when st3=> otp <="1111";
end case;
end process;
end Moore;
Figure 1. A Moore m
a
chine
use
s
two p
r
o
c
e
s
ses
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
Entity machine is
port (clk, inp, rst: in std_logic;
otp : out std_logic_vector(3 downto 0));
end machine;
Architecture Moore of machine is
-- state declaration
type state_type is (st0, st1, st2, st3);
signal current_state, next_state: state_type;
begin
-- combinational process #1 (
first process
)
P0: process(current_state,inp)
begin
case current_state is
when st0=> if inp='1' then
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
1693-6
930
Ove
r
view o
n
Strategie
s
an
d Appro
a
che
s
for FPGA Prog
ram
m
i
ng (Tole Sutikn
o)
279
next_state<=st1;
end if;
when st1=> if inp='0' then
next_state<=st2;
end if;
when st2=> if inp='1' then
next_state<=st3;
end if;
when st3=> if inp='0' then
next_state<=st0;
end if;
end case;
end process;
P1: process(clk,rst) --
second process
begin
if rst = '1' then current_state<=st0; -- reset state
elsif clk'event and clk='1' then
current_state<=next_state;
end if;
end process;
-- combinational process #2 (
third process
)
P2: process(current_state)
begin
case current_state is
when st0=> otp <="0000";
when st1=> otp <="1001";
when st2=> otp <="1100";
when st3=> otp <="1111";
end case;
end process;
end Moore;
Figure 2. A Moore m
a
chine
use
s
three p
r
oce
s
se
s
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
Entity machine is
port (clk, inp, rst: in std_logic;
otp : out std_logic_vector(3 downto 0));
end machine;
Architecture Moore of machine is
-- state declaration
type state is (st0, st1, st2, st3);
signal current_state, next_state : state;
begin
synchronization:
process (clk, rst) is
begin
if rst = '1' then
current_state <= st0;
elsif rising_edge(clk) then
current_state <= next_state;
end if;
end process;
evolution:
process (inp, current_state) is
begin
--default state evolution
next_state <= current_state;
case current_state is
when st0=> if inp='1' then
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 16
93-6
930
TELKOM
NIKA
Vol. 12, No. 2, June 20
14: 273 – 28
2
280
next_state <=st1;
end if;
when st1=> if inp='0' then
next_state <=st2;
end if;
when st2=> if inp='1' then
next_state <=st3;
end if;
when st3=> if inp='0' then
next_state <=st0;
end if;
end case;
end process;
action:
process (current_state) is
begin
case current_state is
when st0=> otp <="0000";
when st1=> otp <="1001";
when st2=> otp <="1100";
when st3=> otp <="1111";
end case;
end process;
end Moore;
Figure 3. A Moore m
a
chine
use
s
Sync
h
r
onization-evo
l
ution-a
c
tion approa
ch
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
Entity machine is
port (clk, inp, rst: in std_logic;
otp : out std_logic_vector(3 downto 0));
end machine;
Architecture Moore of machine is
-- state declaration
type state is (st0, st1, st2, st3);
signal current_state, next_state : state;
begin
synchronization:
process (clk, rst) is
begin
if rst = '1' then
current_state <= st0;
elsif rising_edge(clk) then
current_state <= next_state;
end if;
end process;
evolution_and_action:
process (inp, current_state) is
begin
--default state evolution
next_state <= current_state;
--default output
otp <="0000";
case current_state is
when st0=> if inp='1' then
next_state <=st1;
otp
<="0000";
end if;
when st1=> if inp='0' then
next_state <=st2;
otp
<="1001";
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
1693-6
930
Ove
r
view o
n
Strategie
s
an
d Appro
a
che
s
for FPGA Prog
ram
m
i
ng (Tole Sutikn
o)
281
end if;
when st2=> if inp='1' then
next_state <=st3;
otp
<="1100";
end if;
when st3=> if inp='0' then
next_state <=st0;
otp
<="1111";
end if;
end case;
end process;
end Moore;
Figure 4. A Moore m
a
chine
use
s
Synch
r
oniza
tion-evo
l
ution-a
c
tion
approa
ch: evolution an
d
action
step
s are me
rge
d
In som
e
ca
ses, the
evolu
t
ion and
a
c
tion st
eps can
be m
e
rg
ed
so th
at unn
e
c
e
s
sary
regi
ster u
s
a
g
e
s or lat
c
h p
r
oblem
s ca
n b
e
avoided.
7. Conclu
sion
This pa
pe
r has presented
an overview of
FPGA Pr
ogra
mming.
FPGA platforms an
d
perspe
c
tives of VHDL
prog
ram
m
ing
,
inclu
ded
some persp
e
c
tives (exe
cution,
mo
del
ling,
prog
ram
m
ing
style, con
s
truction
metho
dology a
nd
synthesi
s
) h
a
ve bee
n p
r
ese
n
ted. Finally,
the
synchro
n
ization-evol
ution-
action a
pproa
ch in state m
a
chi
ne is introdu
ced.
Referen
ces
[1]
Monmass
on E
,
Cirstea MN. F
P
GA Design
Method
olo
g
y
for Industria
l C
ontrol S
y
stems
-
A Revie
w
.
IEEE Transactions on Industrial Electronics
. 200
7; 54(4): 18
24-1
842.
[2]
Nao
uar MW
,
Monmass
on E
,
Naass
ani
A
A
, Slama-B
e
lk
hod
ja I, P
a
tin
N. F
P
GA-Ba
s
ed
Curre
nt
Contro
llers for
AC Machi
ne
Drives-A R
e
vi
e
w
.
IEEE Tra
n
sactio
ns o
n
Industri
a
l El
ectronics
. 20
07;
54(4): 19
07-
19
25.
[3]
Sutikno T
,
F
a
cta M. An Efficient Strateg
y
t
o
Generate H
i
gh Res
o
luti
on
T
h
ree-Phase Pulse
W
i
dth
Modu
latio
n
Sig
nal Bas
ed o
n
F
i
eld Pro
g
ram
m
abl
e Gate Arra
y
.
Intern
ation
a
l Jour
nal of C
o
mputer a
n
d
Electrical E
ngi
neer
ing
. 2
010;
2(3): 413-
41
6.
[4]
Medic
a
l Imagi
n
g
Impleme
n
tati
on Usi
ng F
P
GA
s. W
h
ite Paper: Altera Corp
oratio
n. 201
0.
[5]
Monmass
on E
,
Idkhaj
ine
L,
Nao
uar
MW
. F
P
GA-based
Contr
o
ll
ers.
IEEE Industri
a
l
Electro
n
ic
s
Maga
z
i
ne
. 2
0
1
1
; 5(1): 14-26.
[6]
Monmass
on E, Idkhaji
ne L, C
i
rstea MN, Ba
hri
I,
T
i
san A, Nao
uar MW
. FPGAs in Indus
trial Co
ntro
l
Appl
icatio
ns.
IEEE Transactions on Industrial Informatics
. 201
1; 7(2): 224
-43.
[7]
Gonzal
ez-Co
n
c
ejer
o C, Rod
e
llar V, Alva
re
z-Marqui
na A,
Ica
y
a E, Gomez-Vild
a P.
An
FFT/
IFF
T
Desig
n
versus
Altera an
d Xili
nx Cores
. Internatio
nal C
onf
erenc
e on R
e
c
onfig
urab
le C
o
mputin
g an
d
F
P
GAs (ReConF
ig '
08). 200
8
:
337-34
2.
[8]
Mahd
ian P, G
r
iebl
in
g M.
VHDL i
m
p
l
e
m
e
n
t
a
tion
of a bi
di
rection
a
l i
n
terface for 3AT
I
avio
nic su
b-
system
s
. T
he
23
rd
20
04 Di
git
a
l Avio
nics S
y
s
t
ems Confer
e
n
c
e (DASC 04).
200
4. 2: 11.C.5-.1-7.
[9
]
Al
d
e
r
ig
hi
M, Ca
si
n
i
F, D
'
An
ge
l
o
S, Man
c
in
i M,
Pastore S, Sterpon
e L, e
t
al. Soft Errors in SRAM-
F
P
GAs: A Co
mpariso
n
of T
w
o
Comp
leme
ntar
y Ap
pro
a
c
hes.
IEEE
Transactions on Nuclear
Scienc
e
.
200
8; 55(4): 22
67-2
273.
[10]
Richar
ds MA. Simulati
on l
i
br
aries for s
y
st
e
m-level d
e
si
gn.
Computer
. 19
95; 28(2): 7
6
-7
7.
[11] Jung Uk
C, Qu
y
Ng
oc L,
Jae W
ook J. An F
P
GA-Based Mu
ltipl
e
-
A
xis Moti
on C
ontrol C
h
ip.
IEEE
T
r
ansactio
n
s o
n
Industria
l Ele
c
tronics
. 200
9; 56(3): 85
6-7
0
.
[12]
Dra
y
er T
H
, T
r
ont JG, Co
nn
ers RW
, Ara
m
an PA.
A de
ve
lo
pm
en
t syste
m
fo
r cre
a
t
i
n
g
re
al
-ti
m
e
mac
h
i
ne visi
on
hardw
are usi
ng fiel
d pro
g
ra
mma
b
le
gate
arrays
. Proce
edi
ngs of the
32n
d Ann
ual
Ha
w
a
ii Intern
ation
a
l Co
nfere
n
c
e on S
y
st
ems
Sciences (HIC
SS-32). 199
9: 5.
[13]
Grout I. Digital S
y
stems Des
i
g
n
w
i
t
h
F
P
GAs and CP
LDs: El
sevier Sci
ence.
2011.
[14]
Mezei I, Ma
lb
asa V.
Us
ing
VHDL to
Impr
ove a
n
F
P
GA Based
Ed
uca
t
iona
l Microc
o
m
p
u
ter
. T
he
Internatio
na
l C
onfere
n
ce o
n
Comp
uter
as a
T
ool (EUROC
O
N 2005). 20
0
5
: 799-8
02.
[15]
IEEE Standard
VHDL La
ng
ua
ge Refer
enc
e Manu
al. IEEE Std 1076-
19
87
. 1988:0
_1.
[16]
IEEE Standards Interpreta
tions: IEEE Std
1076-19
87, IE
EE Standard
VHDL
Language Reference
Manu
al. IEEE Std 1076/INT
-
1991. 19
92:1.
[17]
IEEE Standar
d VHD
L
L
a
n
g
uag
e R
e
fere
nc
e Ma
n
u
a
l
. IEEE Std 10
76-
2
002 (
R
evis
io
n
of IEEE Std
107
6, 200
2 Ed
n). 2002:0
_1-
3
00.
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 16
93-6
930
TELKOM
NIKA
Vol. 12, No. 2, June 20
14: 273 – 28
2
282
[18]
IEEE Standard
VHDL L
ang
ua
ge
Ref
e
renc
e
Manu
al - Re
dli
ne. I
EEE Std 1076-
200
8 (Rev
ision
of IEE
E
Std 1076-
20
02
) - Redlin
e. 20
09:1-6
20.
[19]
Hod
ges B
R
, P
r
oico
u MC,
hat
rum T
C
.
A dist
ribute
d
ker
n
e
l
f
o
r VHD
L
s
i
mul
a
tion
.
Proc
ee
din
g
s of
the
IEEE 1990 N
a
tion
al Aeros
pac
e and El
ectron
i
cs Conf
ere
n
ce
(NAECON 19
9
0
). 1990; 1: 21
5-22
0.
[20]
Cogs
w
e
l
l
MC,
W
ood
DE.
A
hybrid
event-
s
imulati
on/cycle-sim
u
lation enviro
nment for
VHDL-
bas
ed
desi
gns
. 199
7 Procee
din
g
s V
HDL Intern
atio
nal Us
ers'
F
o
rum. 1997: 25
8-2
63.
[21]
Bui H, T
ahar S.
Design
and synthesis of
an
IEEE-754 exponential function
. 1999 IEEE Canadian
Confer
ence
on
Electrical a
nd
Comp
ut
er Engi
neer
ing. 1
999;
1: 450-4
55.
[22]
Agha G, F
r
olu
nd S, W
o
o
y
o
u
ng K, Pan
w
a
r
R, Pa
tterson A
,
Sturman D. Abstraction
an
d modu
lar
i
t
y
mechanisms f
o
r conc
urre
nt
comp
utin
g.
IEEE Parallel & Distribut
ed
Technology:
System
s &
Appl
icatio
ns
. 1
993; 1(2): 3-1
4
.
[23]
Rotherm
e
l K,
Helb
ig
T
.
Clock
hi
erarch
ies: an abstracti
on for
gro
upi
ng
an
d co
ntroll
in
g m
edi
a stream
s
.
IEEE Journal
on Selected Areas in Communications
. 19
96;
14(1): 17
4-1
8
4
.
[24]
Leo
ng C, B
ent
o P, Lous
a P,
J
oao
N, Reg
o
J, Rodri
gues P
,
et al
. Desi
gn
and test iss
ues
of an F
P
GA
base
d
d
a
ta
a
c
quisiti
on
s
y
stem for m
edic
a
l im
ag
ing
us
i
ng PEM.
IEE
E
T
r
ansacti
on
s on
Nuc
l
ea
r
Scienc
e
. 200
6; 53(3): 761-
76
9.
[25]
Bracken
bur
y
LEM, Pla
na
LA, Pep
per J
.
S
y
stem-o
n-
Chip
D
e
sig
n
and
Implem
en
tation.
IE
EE
T
r
ansactio
n
s o
n
Educati
o
n
. 2
010; 53(
2): 272
-81.
[26]
Olsen
G.
System des
ig
n consi
derat
i
ons
for F
P
GA syn
thesis
. Idea/Mi
croel
ectronics
Confer
enc
e
Recor
d
(W
ESCON/94). 199
4
:
592-59
5.
[27]
Donz
ell
i
ni G, Ponta D.
A bott
o
m-
up a
ppr
oac
h to dig
i
tal d
e
s
i
gn w
i
th F
P
GA
. 2011 IEEE Internati
o
n
a
l
Confer
ence
on
Microelectr
oni
c S
y
st
ems Edu
c
ation (MSE). 201
1: 31-3
4
.
[28]
Jimenez J, Martin JL
, Zuloa
g
a
A, Bidarte U,
Arias J. Comp
ar
i
s
on
o
f
tw
o de
si
gn
s fo
r th
e
mu
l
t
i
f
u
n
c
tion
vehicle bus.
IEEE Transactions on
Com
p
uter-Aided Des
i
gn
of Integrated
Cir
cuits and Sy
stem
s
. 2
006
;
25: 797-
80
5.
[29]
Gohrin
ger D,
Becker J.
Hi
g
h
perfor
m
anc
e reco
nfigur
ab
le
multi-
proc
e
ssor-bas
ed co
mp
utin
g o
n
FPGAs
. 2010 IEEE Internatio
nal S
y
mp
osi
u
m on Para
lle
l & Distribute
d
Processi
ng, Worksho
p
s an
d
Phd F
o
rum (IPDPSW
). 2010: 1-4.
[30]
Yan Y, Z
h
u J
G, Guo YG. Initial
rotor
pos
ition
estimati
o
n
a
nd s
ens
orl
e
ss dir
e
ct torq
ue c
ontrol
of
surface-mo
unt
ed p
e
rma
nent
magn
et s
y
nc
hron
ous
m
o
to
rs consi
deri
n
g
saturatio
n
s
a
lie
nc
y.
IET
Electric Pow
e
r Appl
icatio
ns
. 2
008; 2(1): 4
2
-8
.
[31]
Camp
osan
o R.
F
r
om be
havi
o
r to
structure:
hig
h
-lev
el s
y
nt
hesis.
IEEE Design & Test of Com
puters
.
199
0; 7: 8-19.
[32]
Hua
ng R, V
e
m
u
ri R.
PAH
LS:
tow
a
rds run-ti
me sy
nthes
is f
o
r F
P
GAs
. 200
5 Intern
ation
a
l
Confer
ence
on F
i
el
d Progr
ammabl
e Lo
gic
and App
lic
atio
ns. 2005: 7
39-
740.
[33]
Ra
w
ski M, Se
lvaraj
H, Lu
ba
T
,
Szotko
w
s
k
i
P.
Applic
atio
n of symbol
ic
function
al d
e
c
ompos
itio
n
conce
p
t in F
S
M impl
ementat
ion tar
geti
ng F
P
GA devices
.
200
5 Si
xth Int
e
rnati
ona
l C
o
n
f
erence
o
n
Comp
utation
a
l
Intelli
genc
e an
d Multim
e
d
ia A
pplic
atio
ns. 20
05: 153-
15
8.
[34]
Szotko
w
ski P,
Ra
w
ski M.
S
y
mb
olic F
u
ncti
ona
l Dec
o
mpo
s
ition Al
gor
ith
m
for F
S
M Imple
m
entatio
n
.
T
he Internation
a
l Co
nferenc
e
on Com
puter
a
s
a
T
ool (EUR
OCON 2007).
200
7: 484-
488.
[35]
Giomi
JC.
F
i
nite state mac
h
in
e extraction fro
m
har
dw
are de
scriptio
n
lan
g
u
ages
. Procee
din
g
s of th
e
Eighth Annual IEEE Internat
ional ASIC Confer
enc
e and Exhibit.
1995: 353-357.
[36]
IEEE Standar
d VHD
L
L
a
n
g
uag
e R
e
fere
nc
e Ma
n
u
a
l
. IEEE Std 10
76-
2
008 (
R
evis
io
n
of IEEE Std
107
6-20
02). 20
09:c1-6
26.
[37]
Using Arit
hmeti
c
Operat
ions a
nd T
y
pes (VH
D
L). ALT
E
RA.
[38]
IEEE Stand
ard
Multiva
l
u
e
L
o
g
ic S
y
stem
for
VHDL
Mo
del
Interoper
ab
ilit
y (Stdlo
gic1
16
4
)
. IEEE Std
116
4-19
93. 19
93:0_
1.
[39]
Koster M, T
e
ich J.
(Self-)r
econfi
gura
b
l
e
finite state
mac
h
i
nes: the
o
ry an
d i
m
pl
ementati
o
n
.
Procee
din
g
s o
n
Desi
gn, Auto
mation a
nd T
e
st in Europe C
onfere
n
ce a
nd
Exh
i
b
i
tion. 2
0
0
2
: 559-5
66.
[40]
T
i
w
a
ri A, T
o
mko KA.
Sav
i
ng
p
o
w
e
r
by mapp
i
ng
fi
nite-state mac
h
i
nes into embe
dde
d me
mory
bl
ock
s
in FPGAs
. Design, Automati
on an
d T
e
st in
Europ
e
Co
nfer
ence a
nd E
x
h
i
bitio
n
. 200
4; 2: 916-9
21.
Evaluation Warning : The document was created with Spire.PDF for Python.