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記述は、割愛させて頂きます。ご了承下さい。

【合成結果】