6주차 결과 보고서 Synchronous Counter
- 최초 등록일
- 2014.03.26
- 최종 저작일
- 2013.10
- 13페이지/ 한컴오피스
- 가격 1,000원
목차
1. Synchronous Counter (동기 카운터)
2. Unsynchronous Counter (비동기 카운터)
3. Unsynchronous Up/Down Counter
4. Unsynchronous Enable Counter
본문내용
Library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity sync_Counter is -- 설계의 입출력 선언
port( clk : in std_logic;
rst : in std_logic;
count : buffer std_logic_vector(7 downto 0):="00000000");
-- clk는 신호 변화의 기준 , rst는 reset 기능 , count는 clk가 상승 Edge Trigger일 때 하나씩 더하여 저장하는 Register의 기능을 한다.
-- sync_Counter에 사용되는 Input clk , rst는 1bit signal을 가지고
Output count는 8Bit Register의 기능을 하므로 std_logic_vector 형태를 취하고, 초기값은 “00000000”으로 선언한다.
<중 략>
이번 실험은 여러 가지 Counter를 Behavioral Modeling을 이용하여 Coding을 하는 것이었다. 지난 실험에서 CLK를 사용한 실험을 하였고, 이번에는 RST의 기능에 대해서 잘 알게 되었다. RST가 Active Low에서는 ‘0’일 때 초기화가 되고, Active High에서는 ‘1’일 때 초기화가 된다는 점에 대해서 확실히 알게 되었다. 먼저 Synchronous 와 Unsynchronous 카운터 두 가지를 설계하였는데, 이 둘의 차이점이 초기화가 되는 시점이 CLK가 상승 Edge Trigger일 때 동작하느냐, CLK와 관계없이 초기화가 되느냐의 차이였다. 둘의 Code를 살펴보면, 내용에는 별 차이가 없음을 알게 되었다. 단지 If문에서 입력을 할 때, RST를 CLK보다 먼저 작동하느냐, CLK를 RST보다 먼저 작동케 하느냐 이 문제였다. 비동기 카운터는 RST를 CLK보다 먼저 확인하여 CLK와 관계없이 ‘0’이 되는 순간 Active Low로 작동하여 초기화가 된다.
참고 자료
없음