typu vo VHDL

N

neocool

Guest
Mám niekoľko otázok týkajúcich sa zhody typu vo VHDL.
1.Ak jedna zložka výstupov podpísaná signál (tj 5-bit wide) a hlavné kódu ho akceptuje ako vstupný port, ako môžem vyhlásiť, port?

môžem to urobiť takto:
Kód:

DATA_IN: v podpísanej (4 downto 0);
 
1.Je to naozaj nezáleží ...však chcete kódu, a to buď tak vyzerá dobre na mňa.Jednoducho patrí právo knižnice.Ja by som ísť na vrchol vyhlásenie, pretože šetrí mi riadkov kódu.

2.Po prvé, nie je std_logic nemajú podpísané alebo nepodpísané atribúty.Ak chcete previesť 4-bitové std_logic_vector na podpísané alebo nepodpísané formulára, môžete to urobiť, ale nie std_logic na 4-bitové podpísané alebo nepodpísané typu.

Ako dlho, ako si konverzie o rovnakej dĺžke, môžete vykonávať konverzie s právom knižnice: nesignováno, signováno, std_logic_vector, integer, atď

 
čo posledný riadok kódu?I prostredia previesť 1-bit na 5-bitový formát a potom použiť podpisuje 'funkcie pre vytvorenie 2 je kompliment 5-bitové číslo.
Kód:

prtSIG_OUT <= podpísal '( "0000" & prtSIG_IN);
 
Namiesto písania týchto výrokov ... proste invertný MSB acodring na "data" signál / premenné.pretože u robiť ur "datasigned" hodnotu ...

 
OK

Tiež si myslím, že môžem používať celé čísla miesto binárnu reprezentáciu a potom previesť do vektorového formátu, podpísal:
Kód:signal data: integer; - je-li údaje integer

..

..

Ak sú dáta = '1 ', potom

datasigned = 1;

elsif data = '0 ', potom

datasigned =- 1;

end if;

..

..

prtSIG_OUT <= to_signed (data);

 
im nie istý okolo syntéza problém s ur a - znamenia ...ale myslím, že pri moci použiť.

 
Budete držať s nadradený typ, ako je std_logic_vector alebo podtypu, ako bit_vector a vyhnúť sa konverzie z jedného typu na iný.

 
meškania Napísal:

Budete držať s nadradený typ, ako je std_logic_vector alebo podtypu, ako bit_vector a vyhnúť sa konverzie z jedného typu na iný.
 
niekto?Možno mi dovoľte refrase moje otázky.

I am using podpísal typu po celom môj program.Teraz, tam je tretina straníckej funkcie, ktoré výstupy std_logic_vector, že musím využiť.Funkcia vyzerá jeho std_logic_vector signál je podpísaná vo formáte (sinusoida s kladné a záporné hodnoty).1.Môžem len predpokladať, že je to v 2 v poklona formáte podobnom podpísal?Inými slovami, ako sa drží std_logic_vector znamienkom?

2.Chápem, že ak by som chcel, aby zodpovedali to na môj vnútorný signály, musel by som odovzdať, že signál na podpis.Takže môžem podpísať (std_logic_vector signál) na to?Aký by bol výsledok vyššie uvedených tvrdení?By bolo potrebné signál dovnútra a previesť ju na 2 v comliment?To by bolo k ničomu pre mňa signál, ak je už vo 2 je kompliment.Ak to nie je správne, prosím dajte mi vedieť, ako môže ísť okolo tohto.

3.Myslím, že std_logic_vector môže mať akýkoľvek formát (na 1, 2, alebo len veľkosť), ak budete mať na pamäti, v kontexte ktorého je používate.Avšak, chvíľu začnete podpisuje funkcie, ako to VHDL prekladač rozpoznať položky od tej doby?Má ešte s nimi zaobchádzať ako std_logic_vector a 'robí poznámky' pre seba, že obsahuje 2 je compliement?

4.Čítal som, že ieee.std_logic_arith a ieee.numeric_std sa navzájom vylučujú knižnice, ktoré nemožno použiť súčasne.Možno, že použitie jedného alebo iný by nejako reagoval na moje otázky vyššie ..

 
neocool Napísal:

niekto?
Možno mi dovoľte refrase moje otázky.I am using podpísal typu po celom môj program.
Teraz, tam je tretina straníckej funkcie, ktoré výstupy std_logic_vector, že musím využiť.
Funkcia vyzerá jeho std_logic_vector signál je podpísaná vo formáte (sinusoida s kladné a záporné hodnoty).
1.
Môžem len predpokladať, že je to v 2 v poklona formáte podobnom podpísal?
Inými slovami, ako sa drží std_logic_vector znamienkom?2.
Chápem, že ak by som chcel, aby zodpovedali to na môj vnútorný signály, musel by som odovzdať, že signál na podpis.
Takže môžem podpísať (std_logic_vector signál) na to?
Aký by bol výsledok vyššie uvedených tvrdení?
By bolo potrebné signál dovnútra a previesť ju na 2 v comliment?
To by bolo k ničomu pre mňa signál, ak je už vo 2 je kompliment.
Ak to nie je správne, prosím dajte mi vedieť, ako môže ísť okolo tohto.3.
Myslím, že std_logic_vector môže mať akýkoľvek formát (na 1, 2, alebo len veľkosť), ak budete mať na pamäti, v kontexte ktorého je používate.
Avšak, chvíľu začnete podpisuje funkcie, ako to VHDL prekladač rozpoznať položky od tej doby?
Má ešte s nimi zaobchádzať ako std_logic_vector a 'robí poznámky' pre seba, že obsahuje 2 je compliement?
 
Ďakujem vám, že prispela k objasnenie veci.Myslel som, že je dobre, že slv sa používa na prechod medzi modulmi, pretože kompilátor nemal rád, keď som podpísal vytvoril port.Videl som niekoľko príkladov na internete, ktorá vytvorila podpísaná port ale ..ale možno to bol len omyl.

Tiež, ako som pochopil, podpísala () a std_logic_vector (), používajú sa v podstate vnútri modulov CAST dáta (či prekladač vedieť, aký typ sa jedná), a v skutočnosti konverziu dát, pokiaľ ide o zmenu bitov.
Ak chcete previesť celé číslo <==> slv potom môžete využiť to_integer a zodpovedajúce to_ ...pre SFC.
Je tu funkcia pre prevod z mierenia na 2 je compliement (upraviť bitov?), Alebo len fanda sami a pridajte jednu?

Ďakujeme vám

 

Welcome to EDABoard.com

Sponsor

Back
Top