Ús de les biblioteques correctes per als vectors amb 2s complement no.

N

neocool

Guest
Hola de nou, En el següent exemple, si el meu vectors contenen els números 2 del complement, la qual cosa les biblioteques he d'utilitzar per fer que el codi s'executi correctament? Realment no m'importa si va a utilitzar o TO_SIGNED CONV_SIGNED. Estic confós quan usar la biblioteca (std_numeric, std_logic_artith, std_logic_unsigned, std_logic_signed)
Code:
 senyal de màx: sd_logic_vector (9 downto 0); un senyal: sd_logic_vector (9 downto 0); senyal resultat: sd_logic_vector (10 downto 0); resultat
 
Per VHDL, depenen de paquets que es declara, pot utilitzar els tipus: 1. Per signar: - paquet numeric_std: ús tipus unsigned - std_logic_arith paquet: tipus d'ús sense signar - paquet std_logic_unsigned: ús std_logic_vector 2. Per signar: - paquet numeric_std: ús signat tipus - paquet std_logic_arith: Tipus d'ús signat - paquet std_logic signat: std_logic_vector ús
 
puc utilitzar std_logic_arith (amb i sense signe) i les biblioteques std_numeric (signat) en el mateix mòdul o millor no? La raó per la qual estic fent aquesta pregunta és perquè he signat suma i la resta d'un mòdul, i ModelSim dóna un resultat de la simulació bo. No obstant això la seva implementació en el maquinari, dóna alguns errors - el senyal es talla i es va canviar ja que hi havia una confusió entre els tipus de signe i sense signe a l'interior. No, estic fent servir std_numeric i les biblioteques de 1164 només. El compilador em permet incloure std_logic_unsigned allà també, però no fer una diferència en qualsevol de les simulacions (programari o maquinari). Gràcies
 
Crec que només ha d'utilitzar el paquet std_logic_arith o numeric_std. En el mòdul, el problema pot ser: - en agregar nombres amb signe, el desbordament pot passar. Ha predir gamma de resultats per triar el nombre de bits, és a dir, un nombre de 8 bits té un rang de -128 a +127. - Si no voleu que es desbordi, que ha de fer d'1-bit d'extensió de signe. El resultat és sempre correcta.
 
Així que gràcies, que la biblioteca no permet l'addició de SLV i sencers per obtenir SLV (de comptadors)? En el meu codi, jo estic fent servir vector resultant amb una longitud d'una mica més per tenir en compte per al desbordament. És a dir, (10 downto 0)
 

Welcome to EDABoard.com

Sponsor

Back
Top