D
design_engineer
Guest
Zdravo,
Imam kup VHDL kodo, da ne podpisan dodatek za nepodpisane številko in podpisan številko.Vendar pa je rezultat vedno vsota dveh veličin ne glede na znak drugega operanda (pričakujem razliko, če je znak 1)
Strjena lava vi prosim povejte mi, kaj jaz delam narobe.Tukaj je moja koda:
vključujejo IEEE.numeric_std.all;
op1: nepotpisani (7 downto 0);
OP2: podpisana (7 downto 0);
op3: podpisana (6 downto 0);
Rezultati: podpisana (41 downto 0);
Vsota: podpisana (7 downto 0);
rezultat <= mult3 mult2 T1 (rezultat negativen številko zastopana kot 2
je dopolnilo)
OP2 <= velikost (rezultat, "8"); - naj bi prinesla negativne številke (ignore navednice, sem se, da je za poraz Smeškov prikazujejo)
op3 <= shift_right (OP2, 1); - naj bi prinesla negativne številke
vsota <= op1 (7)
in (podpisana (op1 (6 downto 0)) op3);
Če op1 = 'h0C in op3 =' h62, dobim vsota = 'h6E, ki ni pravica op3, ker je negativna.
Hvala za vašo veliko pomoč.
Imam kup VHDL kodo, da ne podpisan dodatek za nepodpisane številko in podpisan številko.Vendar pa je rezultat vedno vsota dveh veličin ne glede na znak drugega operanda (pričakujem razliko, če je znak 1)
Strjena lava vi prosim povejte mi, kaj jaz delam narobe.Tukaj je moja koda:
vključujejo IEEE.numeric_std.all;
op1: nepotpisani (7 downto 0);
OP2: podpisana (7 downto 0);
op3: podpisana (6 downto 0);
Rezultati: podpisana (41 downto 0);
Vsota: podpisana (7 downto 0);
rezultat <= mult3 mult2 T1 (rezultat negativen številko zastopana kot 2
je dopolnilo)
OP2 <= velikost (rezultat, "8"); - naj bi prinesla negativne številke (ignore navednice, sem se, da je za poraz Smeškov prikazujejo)
op3 <= shift_right (OP2, 1); - naj bi prinesla negativne številke
vsota <= op1 (7)
in (podpisana (op1 (6 downto 0)) op3);
Če op1 = 'h0C in op3 =' h62, dobim vsota = 'h6E, ki ni pravica op3, ker je negativna.
Hvala za vašo veliko pomoč.