목차
1. 예비조사 및 실험 내용의 이해
2. 실험내용 및 결과
3. 결과 검토 및 의견
2. 실험내용 및 결과
3. 결과 검토 및 의견
본문내용
.
0번부터 7번 자리에 있는 값들이 입력한 주소값의 출력이 되어
나타난다.
2.3 FSM model
2.3.1 source
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity FSM is port (clk,reset: in std_logic;
state_inputs: in std_logic_vector (1 downto 0);
output: out std_logic_vector (1 downto 0));
end FSM;
architecture Behavioral of FSM is
type states is (f0, f1, f2, f3);
signal first, second : states;
begin
process(reset,clk)
begin
if reset = '1' then
first <= f0;
elsif rising_edge(clk) then
first <= second;
end if;
end process;
process(first, state_inputs)
begin
case first is
when f0 => output <= "00";
if state_inputs = "11" then
second <= f0;
else
second <= f1;
end if;
when f1 => output <= "01";
if state_inputs = "11" then
second <= f1;
else
second <= f2;
end if;
when f2 => output <= "10";
if state_inputs = "11" then
second <= f2;
else
second <= f3;
end if;
when f3 => output <= "11";
if state_inputs = "11" then
second <= f3;
else
second <= f0;
end if;
end case;
end process;
end Behavioral;
2.3.2 출력 파형
3. 결과 검토 및 의견
rom과 ram의 동작 원리를 이해할 수 있었다. rom은 저장된 값을
불러올 수만 있는 반면에 ram은 저장된 값을 읽고 그 위에 사용자가
다시 입력하여 저장시킬 수가 있다. 우리가 동작적 모델링을 할때
미리 짜여있는 source를 불러와서 값을 대입하는 것과 마찬가지로
ram과 rom을 이용하면 프로그램을 매우 간단 수월하게 만들 수 있을
것이다. coffee 자판기 FSM을 통하여 목적성을 가진 프로그램의
모델링을 해보았으며 VHDL을 이용한 machine들이 어떻게 구동하는지
어떤 원리로 작동하는지 알게되었다.
0번부터 7번 자리에 있는 값들이 입력한 주소값의 출력이 되어
나타난다.
2.3 FSM model
2.3.1 source
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity FSM is port (clk,reset: in std_logic;
state_inputs: in std_logic_vector (1 downto 0);
output: out std_logic_vector (1 downto 0));
end FSM;
architecture Behavioral of FSM is
type states is (f0, f1, f2, f3);
signal first, second : states;
begin
process(reset,clk)
begin
if reset = '1' then
first <= f0;
elsif rising_edge(clk) then
first <= second;
end if;
end process;
process(first, state_inputs)
begin
case first is
when f0 => output <= "00";
if state_inputs = "11" then
second <= f0;
else
second <= f1;
end if;
when f1 => output <= "01";
if state_inputs = "11" then
second <= f1;
else
second <= f2;
end if;
when f2 => output <= "10";
if state_inputs = "11" then
second <= f2;
else
second <= f3;
end if;
when f3 => output <= "11";
if state_inputs = "11" then
second <= f3;
else
second <= f0;
end if;
end case;
end process;
end Behavioral;
2.3.2 출력 파형
3. 결과 검토 및 의견
rom과 ram의 동작 원리를 이해할 수 있었다. rom은 저장된 값을
불러올 수만 있는 반면에 ram은 저장된 값을 읽고 그 위에 사용자가
다시 입력하여 저장시킬 수가 있다. 우리가 동작적 모델링을 할때
미리 짜여있는 source를 불러와서 값을 대입하는 것과 마찬가지로
ram과 rom을 이용하면 프로그램을 매우 간단 수월하게 만들 수 있을
것이다. coffee 자판기 FSM을 통하여 목적성을 가진 프로그램의
모델링을 해보았으며 VHDL을 이용한 machine들이 어떻게 구동하는지
어떤 원리로 작동하는지 알게되었다.