2비트 감산기, 4비트 가감산기
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

2비트 감산기, 4비트 가감산기에 대한 보고서 자료입니다.

목차

1. 2비트 감산기

- 209페이지 Source 코드 참고

< 시뮬레이션 결과 >

< H/W 확인 >

< .ucf 파일 생성 >

< 동작 확인 >

2. 4비트 가감산기

< 시뮬레이션 결과 >

< .ucf 파일 생성 >

<동작확인>

본문내용

IC_VECTOR (1 downto 0);
BR : out STD_LOGIC_VECTOR (1 downto 0));
end sub2;
architectiure Behavioral of sub2 is
signal TMP : std_logic_vector(2 downto 0);
begin
TMP <= ("0" & A) - ("0" & B);
-- TMP <= ('0' & A) - ('0' &B); 써도 무방함
-- 2비트 일 때는 무조건 “00”을 붙여줘야 한다.
BR(1) <= TMP(2);
BR(0) <= (not A(0)) and B(0);
D <= TMP(1 downto 0);
end Behavioral;
< 시뮬레이션 결과 >
< H/W 확인 >
A <= "00"; B <="00"; Wait for 100 ns;
-- A(1) <= 'B'; A(0) <= '0'; B(1) <= '0'; B(0) <='0'; 위의 소스와 같은 결과 값 나타냄
A <= "00"; B <="01"; Wait for 100 ns;
A <= "00"; B <="10"; Wait for 100 ns;
A <= "00"; B <="11"; Wait for 100 ns;
A <= "01"; B <="00"; Wait for 100 ns;
A <= "01"; B <="01"; Wait for 100 ns;
A <= "01"; B <="10"; Wait for 100 ns;
A <= "01"; B <="11"; Wait for 100 ns;
A <= "10"; B <="00"; Wait for 100 ns;
A <= "10"; B <="01"; Wait for 100 ns;
A <= "10"; B <="10"; Wait for 100 ns;
A <= "10"; B <="11"; Wait for 100 ns;
A <= "11"; B <="00"; Wait for 100 ns;
A <= "11"; B <="01"; Wait for 100 ns;
A <= "11"; B <="10"; Wait for 100 ns;
A <= "11"; B <="11"; Wait for 100 ns;
< .ucf 파일 생성 >
NET A(1) LOC = "P67"; -- 버튼 1번
NET A(0) LOC = "P63"; -- 버튼 2번
NET B(1) LOC = "P62"; -- 버튼 3번
NET B(0) LOC = "P61"; -- 버튼 4번
NET D(1) LOC = "P139"; -- LED 0번
NET D(0) LOC = "P138"; -- LED 1번
NET BR(1) LOC = "P136"; -- LED 2번
NET BR(0) LOC = "P135"; -- LED 3번
< 동작 확인 >
2. 4비트 가감산기
entity fouurbit_lsi is
Port ( C0 : in STD_LOGIC;
A : in STD_LOGIC_VECTOR(4 downto 1);
B : in STD_LOGIC_VECTOR(4 downto 1);
S : out STD_LOGIC_VECTOR(4 downto 1);
C4 : out STD_LOGIC);
end fouurbit_lsi;
architecture Behavioral of fouurbit_lsi is
signal TMP : std_logic_vector ( 5 downto 1);
begin
process(C0, A, S)
begin
if C0 = '0' then
TMP <= A+B;
elsif C0 = '1' then
TMP <= A-B;
end if;
end process;
C4 <= TMP(5);
S <= TMP(4 downto 1);
end Behavioral;
< 시뮬레이션 결과 >
256가지의 경우의 수가 있기 때문에, 소스 코드를 다 짤 수 없어서 A에 4 B에 2의 값을 넣어서 합(+)와 차(-)를 시뮬레이션함.
< .ucf 파일 생성 >
NET C0 LOC = P41;
NET A<4> LOC =P67;
NET A<3> LOC =P63;
NET A<2> LOC =P62;
NET A<1> LOC =P61;
NET B<4> LOC =P60;
NET B<3> LOC =P59;
NET B<2> LOC =P58;
NET B<1> LOC =P57;
NET S<4> LOC =P139;
NET S<3> LOC =P138;
NET S<2> LOC =P136;
NET S<1> LOC =P135;
<동작확인>
<4 + 2 를 동작 하였을 때>
<4 - 2 를 동작 하였을 때>

키워드

  • 가격3,000
  • 페이지수9페이지
  • 등록일2011.06.22
  • 저작시기2011.4
  • 파일형식한글(hwp)
  • 자료번호#685962
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니