S
shaiko
Guest
Er det en bredde grense for bredden på en "usignert" vektor type i VHDL?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
typen UNSIGNED er array (naturlige utbredelsesområde) av STD_LOGIC;? Derfor tillatte bredde på en usignert er utvalget av Naturals som er 0-2147483647. Kevin JenningsEr det en bredde grense for bredden på en "usignert" vektor type i VHDL
Jeg tror, kan du gå opp til maksimalt 2 ³ ² Det er området .....
Hvis av 'egenskaper' du mener kan de brukes på samme måte? så svaret er "nei". En bit av en type som er definert å være en rekke andre typer vil bli brukt i koden på en annen måte enn base typen selv. Noen eksempler: [syntaks = VHDL] signal xyz_vec: std_logic_vector (0 downto 0); signal xyz_bit: std_logic; begynne xyz_vecBTW, hvis du setter den til eneste bit lengde, vil den ha alle de egenskaper en "std logikk"
Nei .. bare for generell kunnskap. Grensen for heltall (2 ^ 31-1), er imidlertid av en praktisk interesse. Jeg ser ingen gode grunner for inffering slik grense - spesielt med 64 bits systemer blir mer vanlig.Jeg lurer på om tallene ovenfor tilgjengelig logikk celletall er av praktisk interesse
grensen ble etablert allerede da VHDL først ble definert og standardisert i 1987. Hvorfor språket ikke har utviklet seg til å omfatte større heltall jeg ikke kjenner (men det har blitt spurt mange ganger i flere fora). Men en mer praktisk spørsmål kan være, hva er det du planlegger å gjøre som ikke kan gjøres med signert / usignert som har mye større tallfestet grense av 2 ^ (2 ^ 31-1)? De første Ulempene jeg ser er: - Du kan ikke ha en eneste sløyfe variabel teller som går på at store (dvs. for i = 0 til 2 ^ 33 ...) - Du kan ikke sammenligne med en bokstavelig heltall som stor (dvs. hvis my_unsigned = 2 ^ 33 da ...) Det er bare å jobbe med stor signert / usignert med matematiske operasjoner, logiske operasjoner etc. er ikke et problem. Kevin JennignsNei .. bare for generell kunnskap. Grensen for heltall (2 ^ 31-1), er imidlertid av en praktisk interesse. Jeg ser ingen gode grunner for inffering slik grense -. Spesielt med 64 bits systemer blir mer vanlig
Ingenting egentlig. Jeg har en regel - å bruke bare tall for tellere. Somtimes 2 ^ 32 - er bare ikke nok.Men et mer praktisk spørsmål kan være, hva er det du planlegger å gjøre som ikke kan gjøres med signert / usignert
Hvorfor heltall for tellere.? Fordeler med å bruke usignerte som tellere: 1. Ingen størrelsesbegrensningen to. Wraps automatisk tre. Bedre størrelse kontroll. Hvis du tester et heltall teller for en verdi utenfor området, får du ingen advarsel eller feil. Du får bare en feilmelding hvis verdien går utenfor området i simuleringen. Hvis du tilordner et heltall teller fra et register med et visst antall bits, vil verktøyene ikke se noe problem hvis heltallet serien er for liten. I simulering, ikke antall bits i registeret ikke saken. Du vil bare se feilen i simuleringen hvis verdien er lagret i registeret er utenfor rekkevidde. Usignerte tellere har ikke disse problemene.Jeg har en regel - å bruke bare tall for tellere. Somtimes 2 ^ 32 - er bare ikke nok