suminser.vhd
来自「Image_Filter_An_Image_halftone is perfor」· VHDL 代码 · 共 69 行
VHD
69 行
-- Sumador de direcciones para la escritura de datos de la imagen procesada,
-- que usa el valor del contador de filas y 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 suminser is
port (
inserta: 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.
Sal2: out STD_LOGIC_VECTOR (15 downto 0)
-- Para acceder al bus
-- de direcciones, no
-- necesitaremos el bit 15.
-- Al ser de 16 bits, podemos
-- alcanzar el valor 32Kbytes,
-- lo cual nos servira de
-- condicion de fin en Maqinser.
);
end suminser;
architecture suminser_arch of suminser is
begin
async:process (inserta,filacont,contmodN)
variable dummy1:integer;
variable dummy3 :integer;
begin
case inserta 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"=>
dummy1:=1; -- Nos situaremos en el pixel
-- superior derecho.
when "10"=>
dummy1:=128; -- Nos situaremos en el pixel
-- inferior izquierdo.
when "11"=>
dummy1:=129; -- Nos situaremos en el pixel
-- inferior derecho.
when others =>
dummy1:=0; -- Nos situaremos en el pixel
-- superior izquierdo, que es el
-- indicado por la suma de los
-- contadores.
end case;
dummy3 := dummy1 + 16384;
sal2<=filacont+contmodN+conv_std_logic_vector(dummy3,16);
end process;
end suminser_arch;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?