📄 sumextra.vhd
字号:
-- Sumador de direcciones para la lectura de datos de la imagen original,
-- que suma el valor del contador de filas con el del contador de pixels.
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity sumextra is
port (
extrae: in std_logic_vector(1 downto 0);
filacont: in STD_LOGIC_VECTOR (14 downto 0); -- Cuenta de filas
ContmodN: in STD_LOGIC_VECTOR (7 downto 0); -- Cuenta de columnas.
Sal1: out STD_LOGIC_VECTOR (14 downto 0)
-- Al ser de 15 bits, podemos
-- alcanzar el valor 16Kbytes,
-- es decir, el primer valor
-- de la segunda mitad de la
-- memoria de 32 Kbytes.
);
end sumextra;
architecture sumextra_arch of sumextra is
begin
async:process (extrae,filacont,contmodN)
variable dummy2 :integer;
begin
case extrae is -- Para situarnos en el pixel
-- correspondiente dentro de la
-- mascara que estamos analizando,
-- ya que el valor de los contadores
-- nos determina solo el primer pixel
-- de la mascara 2x2.
when "01"=>
dummy2:=1; -- Nos situaremos en el pixel
-- superior derecho.
when "10"=>
dummy2:=128; -- Nos situaremos en el pixel
-- inferior izquierdo.
when "11"=>
dummy2:=129; -- Nos situaremos en el pixel
-- inferior derecho.
when others=>
dummy2:=0; -- Nos situaremos en el pixel
-- superior izquierdo, que es el
-- indicado por la suma de los
-- contadores.
end case;
sal1<=filacont+contmodN+conv_std_logic_vector(dummy2,15);
end process;
end sumextra_arch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -