오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문
1 레지스터 2 시프트 레지스터 3 비동기식 카운터 4 동기식 카운터 5 동기식 회로의 설계 6 순서회로의 리셋 7 최대 클럭 주파수
Section 01 레지스터 동작과 회로기호 플립플롭은 1비트의 정보를 저장하는 기억소자이므로 2비트 이상의 정보를 저장하려면 필요한 만큼의 기억소자를 사용하여 회로를 구성 일반적으로는 [동기형 D 플립플롭]이나 [비동기 R+동기형 D 플립플롭]을 이용 일반적으로 출력은 [Q] 뿐 여러 개의 플립플롭을 집적 여러 개의 플립플롭의 [CLK]는 1개의 신호로 묶어 공통 클럭에 접속 여러 개의 플립플롭의 [R]은 1개의 신호로 묶어 공통 클리어에 접속 대부분의 레지스터는 [상승 모서리 동작]을 함
Section 01 레지스터
Section 01 레지스터 레지스터의 VHDL 기술
Section 01 레지스터 테스트 벤치와 시뮬레이션 결과
Section 02 시프트 레지스터 직렬입력 병렬출력 시프트 레지스터 그림 8.6은 [비동기 R+동기형 D 플립플롭]을 사용한 4비트 직렬입력 병렬출력 시프트 레지스터의 회로와 타임 차트 각 플립플롭의 [R]을 하나로 묶어서 [리셋]에 접속하고, [CLK]도 마찬가지로 묶어 [클럭]에 접속. 또, 입력 [D]는 앞 단(회로도에서는 좌측)의 플립플롭의 출력 [Q]에 접속하고, 첫 단의 [D]가 [입력]
Section 02 시프트 레지스터 병렬입력 직렬출력 시프트 레지스터 첫째행은 모두 ‘0’이 되어 금지 입력이기 때문에 [Q]는 정해지지 않음 둘째행은 이 되어 [Q]를 세트하여 ‘1’ 셋째행은 이 되어 [Q]를 리셋하여 ‘0’ 네째행부터는 모두 ‘1’로 해서 동기형 D 플립플롭이 유효하게 되고, [CLK]가 상승할 때 [D] 값을 [Q]에 출력
Section 02 시프트 레지스터
Section 02 시프트 레지스터 시프트 레지스터의 VHDL 기술 리스트 8.4에서는 버스로 선언한 네트 [REG_Q]의 각 비트에 각각의 값을 대입
Section 02 시프트 레지스터 시프트 레지스터의 VHDL 기술 리스트 8.5에서는 연결자[&]로 연쇄연결해서 [REG_Q <= REG_Q( 2 downto 0 ) & SIN;]과 같이 기술
Section 02 시프트 레지스터 시뮬레이션 결과
Section 02 시프트 레지스터 병렬입력 직렬출력 시프트 레지스터 리스트 8.8은 버스로 선언한 네트명 [REG_Q]의 각 비트에 값을 주는 기술 리스트 8.9는 연결자 [&]에 의한 기술
Section 02 시프트 레지스터 시뮬레이션 결과
Section 03 비동기식 카운터 카운터(counter): 신호를 입력할 때 마다 회로 내부에 저장하고 있는 값을 +1(점증: increment)하거나 -1(점감: decrement)하는 회로 점증동작 회로를 [상향 카운터(up counter)], 점감동작 회로를 [하향 카운터(down counter)], 필요에 따라 점증 또는 점감 동작을 하는 회로를 [상하향 카운터(up down counter)] 비동기식 2n진 카운터 2진 카운터의 동작과 회로도 2진 카운터는 [바이너리 카운터(binary counter)]라고도 하며, 클럭이 들어갈 때 마다 플립플롭의 출력이 '0'→'1'→'0'…으로 변함 D 플립플롭에서는, 클럭이 상승할 때 입력 [D] 값(즉, 값)을 [Q]에 출력하는 것으로 반전 동작 T 플립플롭이나 JK 플립플롭에서는 입력을 '1'로 한 후, 클럭이 상승할 때마다 반전 동작 2진 카운터의 출력은 '0'→'1'→'0'…으로 변하므로, 상향 카운터나 하향 카운터나 모두 동일한 회로 또한, 하강 모서리 동작의 플립플롭에서도 회로에 변경은 없음
Section 03 비동기식 카운터
Section 03 비동기식 카운터 4진 카운터의 동작과 회로도 2개의 2진 카운터를 접속하면 4진 카운터가 됨
Section 03 비동기식 카운터 4진 카운터의 동작과 회로도 2개의 2진 카운터를 접속하면 4진 카운터가 됨
Section 03 비동기식 카운터 2n진 카운터의 구성
Section 03 비동기식 카운터 비동기식 카운터의 VHDL 기술
Section 03 비동기식 카운터 시뮬레이션 결과
Section 03 비동기식 카운터 비동기식 N진 카운터 10진 카운터의 동작과 회로도 10진 카운터는 클럭이 상승할 때 마다 [0]→[1]→[2]→…로 상향 카운트를 해서, [9]까지 진행되면 [0]으로 되돌아오는 회로
Section 03 비동기식 카운터 N진 카운터의 구성 비동기식 10진 상향 카운터 ·10진 상향 카운터의 [10]을 2진수로 표현 ·[10]에 대한 2진수가 그 나머지 [0]~[9]의 2진수와 구별되는 유일한 비트 패턴을 찾음 여기에서는 [Q3]=1, [Q1]=1이다. 이 때 리셋을 하면 되기 때문에 Q3Q1=11일 때 [리셋]을 ‘0’으로 만들기 위해 [Q3]와 [Q1]을 NAND로 연결하여 α를 만든다. · α 와 [리셋] 의 AND로 β가 됨
Section 03 비동기식 카운터 비동기식 14진 상향 카운터 [14]를 2진수로 표현 [14]에 대한 2진수가 그 나머지 [0]~[13]의 2진수와 구별되는 유일한 비트 패턴을 찾음 α 와 [리셋] 의 AND로 β 가 된다.
Section 03 비동기식 카운터 비동기식 10진 상향 카운터의 VHDL 기술 IC의 전파지연시간은 Δf를 10.5[ns], Δg를 5[ns]