mod演算器(for-loop文使用)
掲載ページ:177、リスト番号:7.3
【VHDL記述】
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity MODULO is
port ( X, Y : in std_logic_vector(3 downto 0);
Z : out std_logic_vector(3 downto 0));
end MODULO;
architecture STUDENT_2 of MODULO is
begin
process ( X, Y )
variable TMP : std_logic_vector(3 downto 0);
begin
TMP := "0000";
for I in 3 downto 0 loop
TMP := TMP(2 downto 0) & X(I);
if ( TMP >= Y ) then
TMP := TMP - Y;
end if;
end loop;
Z <= TMP;
end process;
end STUDENT_2;
【Verilog-HDL記述】
※ この回路のVerilog-HDL記述は、割愛させて頂きます。ご了承下さい。
【合成結果】