Sunteți pe pagina 1din 7

ANEXA

PACHETE STANDARDIZATE
-- Pachetele conforme cu standardul IEEE 1164
-- LEGEND
------

()
=
[ ]
=
{}
=
|
=
MAJUSCULE =

Grupare
Opional
n mod repetat
Alternative
Identificator utilizator

-- Prescurtri
------------

::= comutativ
b ::= BIT
bv ::= BIT_VECTOR
u/l ::= STD_ULOGIC/STD_LOGIC
uv ::= STD_ULOGIC_VECTOR
lv ::= STD_LOGIC_VECTOR
un ::= UNSIGNED
sg ::= SIGNED
in ::= INTEGER
na ::= NATURAL
sm ::= SMALL_INT (subtype INTEGER range 0 to 1)

-- 1. Pachetul IEEE STD_LOGIC_1164


--------

1.1. VALORI LOGICE


U Neiniializat
X/W Necunoscut tare / slab
0/L 0 tare / slab
1/H 1 tare / slab
Z nalt impedan
- Fr importan

---------

1.2. TIPURI PREDEFINITE


STD_ULOGIC tip de baz
Subtipuri:
STD_LOGIC = STD_ULOGIC Rezolvat
X01 = tip rezolvat care conine valorile X, 0 i 1
X01Z = tip rezolvat care conine valorile X, 0, 1 i Z
UX01 = tip rezolvat care conine valorile U, X, 0 i 1
UX01Z = tip rezolvat care conine valorile U, X, 0, 1 i Z

222

LIMBAJUL VHDL

-----

STD_ULOGIC_VECTOR(na to|downto na) = tablou de elemente


STD_ULOGIC
STD_LOGIC_VECTOR(na to|downto na) = tablou de elemente
STD_LOGIC

-------

1.3. OPERATORI
Descriere
I pe bii
SAU pe bii
XOR pe bii
NU pe bii

--------

1.4. FUNCII DE CONVERSIE


De_la
La
Funcia
u/l
b
TO_BIT(de_la[, xmap])
uv,lv
bv
TO_BITVECTOR(de_la[, xmap])
b
u/l
TO_STDULOGIC(de_la)
bv,uv
lv
TO_STDLOGICVECTOR(de_la)
bv,lv
uv
TO_STDULOGICVECTOR(de_la)

-- 2. Pachetul

SUPRANCRCAI
Stnga
Operator
u/l,uv,lv
and, nand
u/l,uv,lv
or, nor
u/l,uv,lv
xor, xnor
not

Dreapta
u/l,uv,lv
u/l,uv,lv
u/l,uv,lv
u/l,uv,lv

IEEE NUMERIC_STD

-- 2.1. TIPURI PREDEFINITE


-- UNSIGNED(na to | downto na) = tablou de elemente STD_LOGIC
-- SIGNED(na to | downto na) = tablou de elemente STD_LOGIC
-------------

2.2. OPERATORI SUPRANCRCAI


Stnga
Operaie
Dreapta
abs
sg
sg
un
+,-,*,/,rem,mod
un
sg
+,-,*,/,rem,mod
sg
un
+,-,*,/,rem,modc na
sg
+,-,*,/,rem,modc in
un
<,>,<=,>=,=,/=
un
sg
<,>,<=,>=,=,/=
sg
un
<,>,<=,>=,=,/=c
na
sg
<,>,<=,>=,=,/=c
In

------

2.3. FUNCII PREDEFINITE


SHIFT_LEFT(un, na)
returneaz
SHIFT_RIGHT(un, na) returneaz
SHIFT_LEFT(sg, na)
returneaz
SHIFT_RIGHT(sg, na) returneaz

un
un
sg
sg

Valoare de retur
sg
sg
un
sg
un
sg
bool
bool
bool
bool

ANEXA
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz
returneaz

223

------------

ROTATE_LEFT(un, na)
ROTATE_RIGHT(un, na)
ROTATE_LEFT(sg, na)
ROTATE_RIGHT(sg, na)
RESIZE(sg, na)
RESIZE(un, na)
STD_MATCH(u/l, u/l)
STD_MATCH(ul, ul)
STD_MATCH(lv, lv)
STD_MATCH(un, un)
STD_MATCH(sg, sg)

un
un
sg
sg
sg
un
bool
bool
bool
bool
bool

---------

2.4. FUNCII DE CONVERSIE


De_la
La
Funcia
un,lv
sg
SIGNED(de_la)
sg,lv
un
UNSIGNED(de_la)
un,sg
lv
STD_LOGIC_VECTOR(de_la)
un,sg
in
TO_INTEGER(de_la)
na
un
TO_UNSIGNED(de_la, dimensiune)
in
sg
TO_SIGNED(de_la, dimensiune)

-- 3. Pachetul IEEE NUMERIC_BIT


-- 3.1. TIPURI PREDEFINITE
-- UNSIGNED(na to | downto na) = tablou de elemente BIT
-- SIGNED(na to | downto na) = tablou de elemente BIT
-------------

3.2. OPERATORI SUPRANCRCAI


Stnga
Operaie
Dreapta
abs
sg
sg
un
+,-,*,/,rem,mod
un
sg
+,-,*,/,rem,mod
sg
un
+,-,*,/,rem,modc na
sg
+,-,*,/,rem,modc in
un
<,>,<=,>=,=,/=
un
sg
<,>,<=,>=,=,/=
sg
un
<,>,<=,>=,=,/=c
na
sg
<,>,<=,>=,=,/=c
in

------

3.3. FUNCII PREDEFINITE


SHIFT_LEFT(un, na)
returneaz
SHIFT_RIGHT(un, na) returneaz
SHIFT_LEFT(sg, na)
returneaz
SHIFT_RIGHT(sg, na) returneaz

un
un
sg
sg

Valoare de retur
sg
sg
un
sg
un
sg
bool
bool
bool
bool

224

LIMBAJUL VHDL

-------

ROTATE_LEFT(un, na)
ROTATE_RIGHT(un, na)
ROTATE_LEFT(sg, na)
ROTATE_RIGHT(sg, na)
RESIZE(sg, na)
RESIZE(un, na)

returneaz
returneaz
returneaz
returneaz
returneaz
returneaz

un
un
sg
sg
sg
un

---------

3.4. FUNCII DE CONVERSIE


De_la
La
Funcie
un,bv
sg
SIGNED(de_la)
sg,bv
un
UNSIGNED(de_la)
un,sg
bv
BIT_VECTOR(de_la)
un,sg
in
TO_INTEGER(de_la)
na
un
TO_UNSIGNED(de_la)
in
sg
TO_SIGNED(de_la)

-- 4. Pachetul STD_LOGIC_ARITH al firmei SYNOPSYS


-----

4.1. TIPURI PREDEFINITE


UNSIGNED(na to | downto na) = tablou de elemente STD_LOGIC
SIGNED(na to | downto na) = tablou de elemente STD_LOGIC
SMALL_INT subtip al tipului Integer, 0 sau 1

----------------

4.2. OPERATORI SUPRANCRCAI


Stnga
Operaie
dreapta
abs
sg
sg
un
+,-,*,/
un
sg
+,-,*,/
sg
sg
+,-,*,/c
un
un
+,-c
in
sg
+,-c
in
un
+,-c
u/l
sg
+,-c
u/l
un
<,>,<=,>=,=,/=
un
sg
<,>,<=,>=,=,/=
sg
un
<,>,<=,>=,=,/=c
in
sg
<,>,<=,>=,=,/=c
in

------

4.3. FUNCII PREDEFINITE


SHL(un, un)
returneaz
SHL(sg, un)
returneaz
SHR(un, un)
returneaz
SHR(sg, un)
returneaz

un
sg
un
sg

Valoare de retur
sg,lv
sg,lv
un,lv
sg,lv
sg,lv
un,lv
sg,lv
un,lv
sg,lv
bool
bool
bool
bool

ANEXA

225

-----

EXT(lv, in)
returneaz lv
SEXT(lv, in)
returneaz lv
extensie la zero
extensie de semn

----------

4.4. FUNCII DE CONVERSIE


De_la
La
Funcie
un,lv
sg
SIGNED(de_la)
sg,lv
un
UNSIGNED(de_la)
sg,un
lv
STD_LOGIC_VECTOR(de_la)
un,sg
in
CONV_INTEGER(de_la)
in,un,sg,u
un
CONV_UNSIGNED(de_la, dimensiune)
in,un,sg,u
sg
CONV_SIGNED(de_la, dimensiune)
in,un,sg,u
lv
CONV_STD_LOGIC_VECTOR(de_la, dimensiune)

-- 5. Pachetul STD_LOGIC_UNSIGNED al firmei


-- SYNOPSYS
---------

5.1. OPERATORI SUPRANCRCAI


Stnga
Operaie
dreapta
+
lv
lv
+,-,*
lv
lv
+,-c
in
lv
+,-c
u/l
lv
<,>,<=,>=,=,/=
lv
lv
<,>,<=,>=,=,/=c
in

Valoare de retur
lv
lv
lv
lv
bool
bool

-- 5.2. FUNCII DE CONVERSIE


-- De_la
La
Funcie
-- lv
in
CONV_INTEGER(de_la)

-- 6. Pachetul STD_LOGIC_SIGNED al firmei SYNOPSYS


----------

6.1. OPERATORI SUPRANCRCAI


Stnga
Operaie
dreapta
abs
lv
+,lv
lv
+,-,*
lv
lv
+,-c
in
lv
+,-c
u/l
lv
<,>,<=,>=,=,/=
lv
lv
<,>,<=,>=,=,/=c
in

Valoare de retur
lv
lv
lv
lv
lv
bool
bool

226

LIMBAJUL VHDL

-- 6.2. FUNCII DE CONVERSIE


-- De_la
La
Funcie
-- lv
in
CONV_INTEGER(de_la)

-- 7. Pachetul STD_LOGIC_MISC al firmei SYNOPSYS


-----

7.1. FUNCII PREDEFINITE


AND_REDUCE(lv | uv) returneaz u/l
OR_REDUCE(lv | uv)
returneaz u/l
XOR_REDUCE(lv | uv) returneaz u/l

-- 8. Pachetul STD_LOGIC_ARITH al firmei CADENCE


------------

8.1. OPERATORI SUPRANCRCAI


Stnga
Operaie
dreapta
u/l
+,-,*,/
u/l
lv
+,-,*,/
lv
lv
+,-,*,/c
u/l
lv
+,-c
in
uv
+,-,*
uv
uv
+,-,*c
u/l
uv
+,-c
in
lv
<,>,<=,>=,=,/=c
in
uv
<,>,<=,>=,=,/=c
in

-------------

8.2. FUNCII PREDEFINITE


SH_LEFT(lv, na)
returneaz lv
SH_LEFT(uv, na)
returneaz uv
SH_RIGHT(lv, na)
returneaz lv
SH_RIGHT(uv, na)
returneaz uv
ALIGN_SIZE(lv, na)
returneaz lv
ALIGN_SIZE(uv, na)
returneaz uv
ALIGN_SIZE(u/l, na) returneaz lv,uv
nlocuiri de genul nlocuirii ?: din limbajul C:
COND_OP(bool, lv, lv) returneaz lv
COND_OP(bool, uv, uv) returneaz uv
COND(bool, u/l, u/l) returneaz u/l

------

8.3. FUNCII DE CONVERSIE


De_la
La
Funcie
lv,uv,u/l
in
TO_INTEGER(de_la)
in
lv
TO_STDLOGICVECTOR(de_la, dimensiune)
in
uv
TO_STDULOGICVECTOR(de_la, dimensiune)

Valoare de retur
u/l
lv
lv
lv
uv
uv
uv
bool
bool

ANEXA

227

-- 9. Pachetul STD_LOGIC_ARITH al firmei MENTOR


-- 9.1. TIPURI PREDEFINITE
-- UNSIGNED(na to | downto na) = tablou de elemente STD_LOGIC
-- SIGNED(na to | downto na) = tablou de elemente STD_LOGIC
--------------------

9.2. OPERATORI SUPRANCRCAI


Stnga
Operaie
dreapta
abs
sg
sg
u/l
+,u/l
uv
+,-,*,/,mod,rem,**
uv
lv
+,-,*,/,mod,rem,**
lv
un
+,-,*,/,mod,rem,**
un
sg
+,-,*,/,mod,rem,**
sg
un
<,>,<=,>=,=,/=
un
sg
<,>,<=,>=,=,/=
sg
not
un
not
sg
un
and,nand,or,nor,xor
un
sg
and,nand,or,nor,xor,xnor sg
uv
sla,sra,sll,srl,rol,ror uv
lv
sla,sra,sll,srl,rol,ror lv
un
sla,sra,sll,srl,rol,ror un
sg
sla,sra,sll,srl,rol,ror sg

--------

9.3. FUNCII PREDEFINITE


ZERO_EXTEND(uv | lv | un, na)
ZERO_EXTEND(u/l, na)
SIGN_EXTEND(sg, na)
AND_REDUCE(uv | lv | un | sg)
OR_REDUCE(uv | lv | un | sg)
XOR_REDUCE(uv | lv | un | sg)

------------

9.4. FUNCII DE CONVERSIE


De_la
La
u/l,uv,lv,un,sg
in
u/l,uv,lv,un,sg
in
bool
u/l
na
un
na
un
in
sg
in
sg
na
lv
na
uv

Valoare de retur
sg
sg
u/l
uv
lv
un
sg
bool
bool
un
sg
un
sg
uv
lv
un
sg

returneaz
returneaz
returneaz
returneaz
returneaz
returneaz

idem
lv
sg
u/l
u/l
u/l

Funcie
TO_INTEGER(de_la)
CONV_INTEGER(de_la)
TO_STDLOGIC(de_la)
TO_UNSIGNED(de_la,dimensiune)
CONV_UNSIGNED(de_la,dimensiune)
TO_SIGNED(de_la,dimensiune)
CONV_SIGNED(de_la,dimensiune)
TO_STDLOGICVECTOR(de_la,dim)
TO_STDULOGICVECTOR(de_la,dim)

S-ar putea să vă placă și