Professional Documents
Culture Documents
MXICO
Instituto Tecnolgico de matamoros
Material:
- ISE WebPack
- Board BASYS2.
Desarrollo
1.- Escriba un codigo en VHDL que desarrolle la siguiente funcion, los datos de ROM1 y
ROM2 son sumados y el resultado es almacenado en la memoria RAM. Primero se deben
de disenar cada modulo y despues todos los modulos usando las tecnicas de diseno de
port map.
Top
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Top is
Upload : in STD_LOGIC;
Add : in STD_LOGIC;
end Top;
component ROM is
port(
Clk : in std_logic;
Rd : in std_logic;
end component;
component RAM is
end component;
component SUM is
Upload : in STD_LOGIC;
Add : in STD_LOGIC;
end component;
begin
U1 : ROM
port map(
S => a);
U2 : ROM
port map(
Rd => Upload,
S => b);
U3 : SUM
port map(
A => a,
B => b,
X => x );
U4 : RAM
port map(
Wt => Add,
Rd => Show,
S => Data_Out ,
E => x );
end Behavioral;
U1 ROM
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity ROM is
port(
Clk : in std_logic;
Rd : in std_logic;
end ROM;
begin
begin
S <= Content(conv_integer(Addr));
else
S <= "ZZZZZZZZ";
end if;
end if;
end process;
end Behavioral;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity ROM is
port(
Clk : in std_logic;
Rd : in std_logic;
end ROM;
begin
begin
S <= Content(conv_integer(Addr));
else
S <= "ZZZZZZZZ";
end if;
end process;
end Behavioral;
SUM
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity SUM is
Upload : in STD_LOGIC;
Add : in STD_LOGIC;
end SUM;
begin
process(Upload, Add)
begin
Num1 <= A;
Num2 <= B;
end if;
end process;
end Behavioral;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity RAM is
end RAM;
begin
process(Clk)
begin
if Wt='1' then
s <= "ZZZZZZZZ";
s <= tmp_ram(conv_integer(Addr));
else
s<= "ZZZZZZZZ";
end if;
end if;
end process;
end Behavioral;