M
mo.khairy.mo
Guest
Hej alle,
Jeg forsøger at designe en floating point adder hjælp fordel pro, og jeg forestiller den hjælp modelsim
denne min kode
Kode:
LIBRARY IEEE;
BRUG ieee.std_logic_1164.all;
BRUG ieee.std_logic_arith.all;ENTITY fp_adder IS
- Erklæringer
havn (a, b: i std_logic_vector (31 downto 0);
c: out std_logic_vector (31 downto 0)
);
SLUT fp_adder;- HDS interface_end
ARKITEKTUR adder AF fp_adder IS
- angivelse af tegn
signalet sa, sb, sc: std_logic;
- erklæring om eksponent
signal ea, eb, ec: unsigned (7 downto 0);
- erklæring om mantisse
signal ma, mb, mc: unsigned (22 downto 0);
BEGIN
- asignement tegn signaler
sa <= a (31);
sb <= b (31);
- assignement af eksponent signaler
ea <= usigneret (a (30 downto 23));
eb <= usigneret (b (30 downto 23));
- assignement af mantisse signaler
ma <= usigneret (a (22 downto 0));
mb <= usigneret (b (22 downto 0));
-------------------------------------------------- -------------------------------------------------- --
proces (ea, eb, ec, ma, mb, mc, sa, sb, sc)
begynd
if (ea> eb) derefter loop
eb <= eb 1;
mb <= '0 '& MB (7 downto 1);
afslutte, når ea = eb;
END LOOP;
elsif (eb> ea) derefter loop
ea <= ea 1;
ma <= '0 '& MA (7 downto 1);
afslutte, når ea = eb;
END LOOP;
anden
mc <= ma MB;
ec <= ea;
sc <= sa xor sb;
end if;
end process;
c (22 downto 0) <= std_logic_vector (mc);
c (30 downto 23) <= std_logic_vector (EF);
c (31) <= sc;
SLUT adder;
Jeg forsøger at designe en floating point adder hjælp fordel pro, og jeg forestiller den hjælp modelsim
denne min kode
Kode:
LIBRARY IEEE;
BRUG ieee.std_logic_1164.all;
BRUG ieee.std_logic_arith.all;ENTITY fp_adder IS
- Erklæringer
havn (a, b: i std_logic_vector (31 downto 0);
c: out std_logic_vector (31 downto 0)
);
SLUT fp_adder;- HDS interface_end
ARKITEKTUR adder AF fp_adder IS
- angivelse af tegn
signalet sa, sb, sc: std_logic;
- erklæring om eksponent
signal ea, eb, ec: unsigned (7 downto 0);
- erklæring om mantisse
signal ma, mb, mc: unsigned (22 downto 0);
BEGIN
- asignement tegn signaler
sa <= a (31);
sb <= b (31);
- assignement af eksponent signaler
ea <= usigneret (a (30 downto 23));
eb <= usigneret (b (30 downto 23));
- assignement af mantisse signaler
ma <= usigneret (a (22 downto 0));
mb <= usigneret (b (22 downto 0));
-------------------------------------------------- -------------------------------------------------- --
proces (ea, eb, ec, ma, mb, mc, sa, sb, sc)
begynd
if (ea> eb) derefter loop
eb <= eb 1;
mb <= '0 '& MB (7 downto 1);
afslutte, når ea = eb;
END LOOP;
elsif (eb> ea) derefter loop
ea <= ea 1;
ma <= '0 '& MA (7 downto 1);
afslutte, når ea = eb;
END LOOP;
anden
mc <= ma MB;
ec <= ea;
sc <= sa xor sb;
end if;
end process;
c (22 downto 0) <= std_logic_vector (mc);
c (30 downto 23) <= std_logic_vector (EF);
c (31) <= sc;
SLUT adder;