VHDL logic_vector allekirjoitettuihin int muuntaminen

K

konradb

Guest
Haluan käyttää 16-bittistä logiikka vektorin (vuodesta ADC). Tämä on AC-puolueellinen siniaalto kytketty ADC keskittynyt keskipiste ADC (eli 32767). Miten muutan tätä allekirjoitettu kokonaisluku, etten käytä tehdä lisääntyä ja myöhemmin tuotoksiaan allekirjoitettu logiikka vektori? Olen koodia snipets alla ------------------ kirjasto IEEE; Käytä IEEE.Std_Logic_1164.all, käytä IEEE.Std_Logic_arith.all, käytä IEEE.Std_Logic_signed.all; DAT_I : in std_logic_vector (15 downto 0); DAT_O: out std_logic_vector (15 downto 0); signaali A_int: kokonaisluku alue -2147483647-2147,483647 miljoonaa; signaali result_int: kokonaisluku alue -2147483647-2147,483647 miljoonaa; A_int
 
- Muuntaminen "offset binary" kahden komplementti tapahtuu kääntämällä MSB (vastaavasti esittävien XOR x "8000") kuin vähentämällä -32767. Voit tarkistaa, että jälkimmäinen tuottaa ylivuodon täyden mittakaavan panos x "FFFF". - Moninkertaistaa tulos on 16 + coef_int'length bittiä, joten et voi käyttää sitä 16-bittiseksi aiheuttamatta katkaisu. Sinun pitäisi mieluummin valita 16 bittiä vasemmalta. Jos coef_int on allekirjoitettu signaali, saat kaksi merkki bitit tulokseen. Sinun täytyy käyttää kylläisyyttä logiikkaa mittakaavassa tuloksen koko allekirjoitettu alue.
 

Welcome to EDABoard.com

Sponsor

Back
Top