Documente Academic
Documente Profesional
Documente Cultură
-- Prescurtri
-----------c
::= 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)
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 SUPRANCRCAI Stnga Operator u/l,uv,lv and, nand u/l,uv,lv or, nor u/l,uv,lv xor, xnor not
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
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
ANEXA
-------------------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) returneaz returneaz returneaz returneaz returneaz returneaz returneaz returneaz returneaz returneaz returneaz un un sg sg sg un bool bool bool bool bool
223
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)
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)
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
un sg un sg
ANEXA
-------------EXT(lv, in) returneaz lv SEXT(lv, in) returneaz lv extensie la zero extensie de semn
225
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)
226
LIMBAJUL VHDL
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)
227
-- 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
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)