Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
Jár még erre valaki?
Van egy kis kérdésem a vhdl-el kapcsolatban. Bináris -> BCD átalakítás próbálok csinálni.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;Bejön nekem egy std_logic_vectorban 16 bit bit, ezt beolvasom egy 20 bites vektorba úgy, hogy 4 darab nulla után jön a beolvasott érték, majd pedig eltolom balra 3-al az egészet. Ez eddig sima ügy.
..
INPUT: in std_logic_vector(15 downto 0));
..
signal bcd_0 : std_logic_vector( 0 to 19);
..
bcd_0 <= to_stdlogicvector(to_bitvector("0000" & INPUT) sll 3);Ez után szét szeretném szedni 5 darab 4 bites vektorra, amiket 5 bites vektorokba helyezek el egy darab 0-t követően, ez is sima ügy.
bcd_1 <= "0" & bcd_0(16 to 19);
bcd_2 <= "0" & bcd_0(12 to 15);
bcd_3 <= "0" & bcd_0(8 to 11);
bcd_4 <= "0" & bcd_0(4 to 7);
bcd_5 <= "0" & bcd_0(0 to 3);Viszont itt vagyok megakadva, mert itt kellene eldöntenem, hogy nagyobb-e 5-nél az 5 bites bináris érték, ha igen, akkor hozzá kell adni 3-at binárisan, majd pedig ezután ha a legelső bit 1-lesz, akkor a következő 5 bites csoporthoz kell hozzáadni 1-et, ez az átvitel. Ez után már csak vissza kellene írnom az értékeket, majd eltolni egyben az egész 20 bites vektort és kész is lenne.
Itt van a leírtaknál egyszerűbben szemléltetve az, amit meg szeretnék csinálni: [link]Ha integert csinálok a vektorokból, akkor a 00101-ből 101 lesz, ami nem jó nekem.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
Új hozzászólás Aktív témák
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia
- Bomba ár! Dell Latitude 5490 Touch - i5-8G I 8GB I 256SSD I 14" FHD Touch I Cam I W11 I Garancia!