M
mo.khairy.mo
Guest
Hei kaikki,
Yritän suunnitella liukulukujen lisätoiminto avulla etu ammattilainen ja olen simuloida sitä käyttämällä modelsim
Tässä minun koodi
Koodi:
Library IEEE;
KÄYTTÖ ieee.std_logic_1164.all;
KÄYTTÖ ieee.std_logic_arith.all;ENTITY fp_adder IS
- Julistukset
satama (a, b: in std_logic_vector (31 downto 0);
C: out std_logic_vector (31 downto 0)
)
END fp_adder;- HDS interface_end
ARKKITEHTUURIA lisätoiminto OF fp_adder on
- ilmoitus merkki
signaali SA, SB, SC: std_logic;
- ilmoitus eksponentti
signaali EA, EB, EY: unsigned (7 downto 0);
- ilmoitus Mantissa
signaali ma, MB, MC: unsigned (22 downto 0);
ALOITA
- asignement merkki signaalien
SA <= (31);
SB <= b (31);
- assignement ja eksponentti signaalien
ea <= unsigned ((30 downto 23));
EB <= unsigned (b (30 downto 23));
- assignement of Mantissa signaalien
ma <= unsigned ((22 downto 0));
MB <= unsigned (b (22 downto 0));
-------------------------------------------------- -------------------------------------------------- --
prosessi (EA, EB, EC, MA, MB, MC, SA, SB, SC)
aloittaa
jos (ea> EB) jälkeen loop
EB <= EB 1;
MB <= '0 '& mb (7 downto 1);
poistumista kun EA = EB;
end loop;
elsif (EB> EA) jälkeen loop
EA <= EA 1;
ma <= '0 '& MA (7 downto 1);
poistumista kun EA = EB;
end loop;
muuten
MC <= ma Mt;
EY: n <= EA;
SC <= SA xor SB;
end if;
end process;
C (22 downto 0) <= std_logic_vector (MC);
C (30 downto 23) <= std_logic_vector (EY);
C (31) <= SC;
END lisätoimintoa;
Yritän suunnitella liukulukujen lisätoiminto avulla etu ammattilainen ja olen simuloida sitä käyttämällä modelsim
Tässä minun koodi
Koodi:
Library IEEE;
KÄYTTÖ ieee.std_logic_1164.all;
KÄYTTÖ ieee.std_logic_arith.all;ENTITY fp_adder IS
- Julistukset
satama (a, b: in std_logic_vector (31 downto 0);
C: out std_logic_vector (31 downto 0)
)
END fp_adder;- HDS interface_end
ARKKITEHTUURIA lisätoiminto OF fp_adder on
- ilmoitus merkki
signaali SA, SB, SC: std_logic;
- ilmoitus eksponentti
signaali EA, EB, EY: unsigned (7 downto 0);
- ilmoitus Mantissa
signaali ma, MB, MC: unsigned (22 downto 0);
ALOITA
- asignement merkki signaalien
SA <= (31);
SB <= b (31);
- assignement ja eksponentti signaalien
ea <= unsigned ((30 downto 23));
EB <= unsigned (b (30 downto 23));
- assignement of Mantissa signaalien
ma <= unsigned ((22 downto 0));
MB <= unsigned (b (22 downto 0));
-------------------------------------------------- -------------------------------------------------- --
prosessi (EA, EB, EC, MA, MB, MC, SA, SB, SC)
aloittaa
jos (ea> EB) jälkeen loop
EB <= EB 1;
MB <= '0 '& mb (7 downto 1);
poistumista kun EA = EB;
end loop;
elsif (EB> EA) jälkeen loop
EA <= EA 1;
ma <= '0 '& MA (7 downto 1);
poistumista kun EA = EB;
end loop;
muuten
MC <= ma Mt;
EY: n <= EA;
SC <= SA xor SB;
end if;
end process;
C (22 downto 0) <= std_logic_vector (MC);
C (30 downto 23) <= std_logic_vector (EY);
C (31) <= SC;
END lisätoimintoa;