[기술세미나 5차시] Ia 32 레지스터 분석 및 abex, crackme를 통한 stack 파라미터 전달 실습
카운터와 쉬프트 레지스터
description
Transcript of 카운터와 쉬프트 레지스터
![Page 1: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/1.jpg)
1
카운터와 쉬프트 레지스터
![Page 2: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/2.jpg)
2
단원목차1. 디지털 카운터의 기본개념2. 동기식 카운터3. 동기식 카운터의 설계4. 이진 카운터의 VHDL 프로그래밍5. 동기식 카운터의 제어 옵션6. 프리세트과 양방향 카운터의 VHDL 프로그래밍7. 시프트 레지스터8. 시프트 레지스터 VHDL 프로그래밍9. 시프트 레지스터 카운터
![Page 3: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/3.jpg)
3
카운터와 관련된 용어• 카운터 : 펄스를 계수하는 순서회로 .• 용도 : 이벤트 계수 , 주파수 분주 , 타이밍 및 제어동작
.• 시프트 레지스터 : 저장된 데이터 비트를 특정한
방향으로 이동시키는 순서회로로 , 직렬 데이터 전송 , SIPO/PISO 변환 , 연산 , 지연회로 등에 사용된다 .
• 카운터는 출력이 미리 정해진 패턴으로 진행하는 디지털 회로이다 . 진행은 매 클록 펄스마다 한 단계씩 이루어 진다 .
• 상태도 (State Diagram): 카운터와 같은 순서회로에서 상태의 진행을 보여주는 그래픽 도 .
![Page 4: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/4.jpg)
4
카운터 모듈러스 (Counter Modulus)
• 카운터의 모듈러스는 한 반복구간에서의 카운터 진행상태의 수를 말한다 .(mod-N)• Mod-12 상승 카운터는 0000 에서 1011 까지 (0~11) 의 12 상태를 계수하고 반복된다 .• Mod-12 하강 카운터는 1011 에서 0000 까지 (11~0) 의 12 상태를 계수하고 반복된다 .
![Page 5: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/5.jpg)
5
카운터 상태도Figure 9.2
![Page 6: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/6.jpg)
6
절단된 (Truncated) 카운터• 최대 모듈러스 (2N) 를 계수하는 N-Bit 카운터는 소위 Full Sequence Counter 라 한다 . (Mod-2, Mod-4, Mod-8 등 )• 계수 가능한 최대 모듈러스보다 적은 수를 계수하는 N-Bit 카운터를 Truncated Sequence Counter 라 한다 .(Mod-3 (N=2), Mod-12 (N=4)) • Mod-12 카운터는 0000 에서 1011 까지를 계수하지만 , Mod-16 카운터는 0000 에서 1111까지 계수한다 . 양쪽 카운터는 4-Bit (N=4) 이다 .
![Page 7: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/7.jpg)
7
타이밍 도• 카운터의 출력 (Q0 Q3) 은 주파수 분주기로 사용될 수 있다 .(Q0 = Clock 2, Q1 = Clock 4, Q2 = Clock 8, and Q3 = Clock 16)
Figure 9.4
![Page 8: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/8.jpg)
8
동기식 카운터Fig. 9.8 : 동기식 카운터 블록 도
Direct the counter to its next state(combinational logic)
Keep the present state(sequential logic)
![Page 9: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/9.jpg)
9
동기식 카운터 설계• 상태변화와 입 / 출력을 보여주는 상태도를 그린다 .• 상태표 ( 현재와 다음상태 ) 를 생성한다 .• 현재상태는 이진순서대로 , 다음상태는 상태도에 근거하여 리스트를 작성한다 .• 플립플롭의 입력 식을 도출하기 위해 , 현재상태에서 다음상태로의 천이에 근거한 플립플롭 여기표를 작성한다.• 부울식의 간략화 과정을 통해 각 입력식을 최적화 한다 .• 이러한 과정은 매우 지루한 작업이다 .• 카운터 설계를 위한 VHDL 설계방법은 시간이 걸리지 않고 매우 쉽게 구현할 수 있다 .
![Page 10: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/10.jpg)
10
동기식 카운터 설계 ( 예 9.5)
Fig. 9.18
![Page 11: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/11.jpg)
11
D3 = /Q3Q2Q1Q0 + Q3/Q2 + Q3/Q1 + Q3/Q0
= /Q3Q2Q1Q0 + Q3(/Q2 + /Q1 + /Q0) = /Q3Q2Q1Q0 + Q3/(Q2Q1Q0) = Q3 XOR Q2Q1Q0
D2 = /Q2Q1Q0 + Q2/Q1 + Q2/Q0
= /Q2Q1Q0 + Q2(/Q1 + /Q0) = /Q2Q1Q0 + Q2/(Q1Q0) = Q2 XOR Q1Q0
D1 = Q1/Q0 + /Q1Q0
= Q1 XOR Q0
D0 = /Q0 = Q0 XOR 1
![Page 12: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/12.jpg)
12
VHDL 에 의한 이진 카운터 프로그래밍• 순차 카운터는 다음 카운터 상태로의 천이를 제어하기 위해 프로세스 문을 사용한다 .• VHDL Attribute 는 클록에지를 정의하기 위한 식별자 (identifier) 와 함께 사용된다 . • 클럭은 소위 EVENT 로 불리는 Attribute 를 사용한다 . 즉 , 클록 이벤트의 상승에지를 정의하기 위해 (clk’EVENT AND clk=‘1’) 를 사용한다 . INPUTS ACTION RESET=1 CLK=1 CLK’event FALSE FALSE FALSE Unspecified FALSE FALSE TRUE Unspecified FALSE TRUE FALSE Unspecified FALSE TRUE TRUE Q <= D TRUE - - Q <= ‘0’
![Page 13: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/13.jpg)
13
• Basic Entity for Binary Counter with Asynchronous Clear.
카운터의 행위적 기술 (1)
ENTITY ct_simp IS
PORT( clk, clear : IN BIT;
q : OUT INTEGER Range 0 to 255);
END ct_simp;
-- Counter Outputs (8 Bit) are given as an integer with a
-- range of 0 to 255 (Full Sequence Counter)
![Page 14: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/14.jpg)
14
ARCHITECTURE a OF ct_simp IS
BEGIN
PROCESS(clk, clear)
VARIABLE count : INTEGER RANGE 0 to 255;
BEGIN
IF(clear = ‘0’) THEN
count := 0;
ELSE
IF(clk’EVENT AND clk = ‘1’) THEN
count := count + 1; -- integer(no quote)
END IF;
END IF;
q <= count;
END PROCESS;
END a;
-- Synchronous resetIF(clk’EVENT AND clk = ‘1’) THEN IF clear = ‘0’ THEN count := 0; ELSE count := count +1; END IF;END IF;
![Page 15: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/15.jpg)
15
• 프로세스는 clk 나 clear 에서 변화가 있을 때 실행하는 것을 규정한다 .• 비동기식 클리어는 ‘ clk EVENT’ 앞에 위치한다 .• clk attribute (EVENT) 는 상승에지로 규정된다 . • 다음상태로의 천이는 단순히 정수가산 (count := count +1) 에 의해 제어된다 .• 이와 같은 접근방법은 다른 하드웨어 ( 곱셈기 , 제산기 등 ) 설계에서도 적용할 수 있다 .• 예에서 , 변수 ‘ count’ 는 정수동작 (increment) 을 위해 사용되었다 . • 이 경우 신호할당 연산자 (<=) 대신 변수신호 할당 연산자 (:=) 를 사용하였다 .
카운터의 행위적 기술 (2)
![Page 16: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/16.jpg)
16
Variable vs. Signal
Variable( 변수 ) 는 PROCESS 문에서만 사용할 수 있다 . 즉시 할당의 개념임 . wire 요소를 나타낼 수 없음 .
Signal :PROCESS ( ) B <= A; C <= B;END PROCESS; -- PROCESS 종료시점 평가됨 . 따라서 프로세스 종료 후에는 -- B = A(original), C = B(original)
Variable :PROCESS ( ) B := A; C := B;END PROCESS; -- 즉시 평가됨 . 따라서 프로세스 종료 후에는 -- B = A(original), C = A(original)
![Page 17: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/17.jpg)
17
LPM 카운터 (1)
• 알테라 LPM(Library of Parameterized Modules) 카운터는 VHDL 에서 카운터 설계를 생성하기 위해 사용될 수 있다 .• 이것은 설계계층에서 하나의 컴포넌트로 LPM-Counter 를 활용하는 구조적 설계 접근 방법이다 .• LPM 카운터는 구조적 설계에서 사례화된다 .• ‘width’ 와 같은 LPM 카운터의 기본 파라미터들은 ‘ Generic Map’ 와 함께 정의된다 .• ‘Port Map’ 은 LPM 카운터 I/O 를 실제 VHDL 설계 엔티티에 연결시키기 위해 사용된다 .• lpm 카운터를 이용 시 ‘ behavioral description’ 은 필요 없다 .
![Page 18: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/18.jpg)
18
LPM 라이브러리 선언과 엔티티
• 통상의 STD_LOGIC 에 Altera LPM Library 를 추가한다 . • The ieee library must be declared before the LPM library.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
LIBRARY LPM
USE lpm.lpm_components.ALL;
• Entity for an 8-Bit Mod-256 Counter. • LPM requires the use of STD_LOGIC data types.
ENTITY lpm_simp IS
PORT( clk, clear : IN STD_LOGIC;
q : OUT STD_LOGIC_VECTOR(7 downto 0));
END lpm_simp;
![Page 19: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/19.jpg)
19
LPM Architecture(1)• Architecture 는 폭이 8- 비트로 정의되고 , LPM I/O 에 clk, clear, q 가 매핑되는 Generalized LPM 카운터를 사용한다 .• 이 경우 , 계수를 위한 어떤 정수표현과 클럭 또는 비동기를 제어하는 프로세스 (process) 도 필요하지 않다 . 이들은 프로그램이 가능한 ‘ width counter’ 로 매핑된다 . _instance_name : _component_name GENERIC MAP (_parameter_name => _parameter_value, _parameter_name => _parameter_value) PORT MAP (_component_port => _connect_port, _component_port => _connect_port);-- component_name : LPM component name-- parameter_name : name defined in LPM component-- component_port : LPM port name-- connect_port : name declared in the entity or as signals or variables
![Page 20: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/20.jpg)
20
LPM Architecture(2)ARCHITECTURE count OF lpm_simp IS SIGNAL clrn : STD_LOGIC; -- for inverting active level of LPM_clear
BEGIN
count8 : lpm_counter
GENERIC MAP(LPM_WIDTH => 8)
PORT MAP(clock => clk,
aclr => clrn,
q => q(7 downto 0));
clrn <= NOT clear;
END count;
![Page 21: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/21.jpg)
21
동기식 카운터를 위한 제어 옵션
• Parallel Load: 특정 이진 값을 카운터로 동기 또는 비동기식으로 로딩하는 것을 허용하는 함수.• Clear: 비동기 또는 동기식 리셋• Preset: 동기 또는 비동기 세트• Counter Enable: 카운터가 카운터 동작을 진행할 지 또는 정지할 지를 제어하는 함수 . • BiDirectional: 카운터가 상승 카운트에서 하강 카운트로 변환되는 것을 제어하는 함수 .
![Page 22: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/22.jpg)
22
4- 비트 병렬 로드 카운터 (1)• 프리셋 카운터 (Parallel Load) 는 4- 비트 병렬 데이터 입력을 동기적으로 또는 비동기적으로 로드 할 수 있는 추가입력 (Load) 을 가진다 .
![Page 23: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/23.jpg)
23
동기식 로드 카운터 (1) Fig. 9.23 synchronous load function
Fig. 9.24 counter element(msb in fig9.19) with syn. load
![Page 24: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/24.jpg)
24
동기식 로드 카운터 (2)
Fig. 9.25 Counter Element with Synchronous Load/ Asynchronous Reset(sl_count)
General counter element
![Page 25: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/25.jpg)
25
동기식 로드 카운터 (3)
Fig. 9.26 4-bit counterwith synchronous load and asynchronous reset
Refer to Fig. 9.27 Simulation results
![Page 26: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/26.jpg)
26
비동기식 로드 카운터 (1)Fig. 9.29
Fig. 9.30(al_count)
![Page 27: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/27.jpg)
27
비동기식 로드 카운터 (2)
Fig. 9.31
![Page 28: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/28.jpg)
28
비동기식 로드 카운터 (3)
Fig. 9.32Simulation of a 4-bit counter with asynchronous load and reset
![Page 29: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/29.jpg)
29
Count Enable 로직 (1)Fig. 9.33
![Page 30: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/30.jpg)
30
Count Enable 로직 (2)Fig. 9.34 Simulation of a 4-bit counter with synchronous load, asynchronous reset, and count enable
![Page 31: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/31.jpg)
31
T-FF 를 사용한 양방향 카운터 (1)
• Adds a Direction Input(DIR) to the counter and the Control Logic for Up or Down Counting.
Fig. 9.37 Synchronous counter element(T-FF)
![Page 32: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/32.jpg)
32
Bidirectional Counter (Fig. 9.38)
![Page 33: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/33.jpg)
33
양방향 카운터 (2)
Fig. 9.39 Simulation of 4-bit bidirectional counter
![Page 34: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/34.jpg)
34
카운터 출력의 디코딩
Fig. 9.40
![Page 35: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/35.jpg)
35
4-to-16 디코더의 VHDL 코드
Base specifier(string사용 시 ) 2 진 : bit_vector, B 8 진 : O 16 진 : X
Ex) a <= X“7A” (a <= “01111010”)
A <= O“76”(a <= “111110”)
![Page 36: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/36.jpg)
36
4-to-16 디코더 시뮬레이션
![Page 37: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/37.jpg)
37
카운터 종료 (Terminal Count) 디코더
![Page 38: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/38.jpg)
38
RCO 를 갖는 4-bit 양방향 카운터
![Page 39: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/39.jpg)
39
RCO 를 갖는 4-bit 양방향 카운터의 시뮬레이션
![Page 40: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/40.jpg)
40
-- 8-bit presettable counter with asynchronous clear and load and terminal count decodingENTITY pre_ct8a IS PORT( clk, count_ena : IN BIT; clear, load, direction : IN BIT; p : IN INTEGER RANGE 0 TO 255; max_min : OUT BIT; qd : OUT INTEGER RANGE 0 TO 255);END pre_ct8a;ARCHITECTURE a OF pre_ct8a IS BEGIN PROCESS (clk, clear, load) -- clear and load are asynchronous and independent on clock VARIABLE cnt : INTEGER RANGE 0 TO 255; BEGIN
IF (clear = '0') THEN -- Asynchrnous clear, clear is firstly checked because of the highest priority cnt := 0;ELSIF (load = '1' and clear = '1') THEN -- Asynchronous load, the second priority cnt := p;ELSE IF (clk'EVENT AND clk = '1') THEN
IF (count_ena = '1' and direction = '0') THEN cnt := cnt - 1; ELSIF (count_ena = '1' and direction = '1') THEN cnt := cnt + 1; END IF; END IF;END IF;qd <= cnt;-- Terminal count decoderIF (cnt = 0 and direction = '0') THEN max_min <= '1';ELSIF (cnt = 255 and direction = '1') THEN max_min <='1';ELSE max_min <='0';END IF;
END PROCESS;END a;
![Page 41: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/41.jpg)
41
-- 8-bit presettable counter with synchronous clear and load and terminal count decodingENTITY pre_ct8s IS
PORT(
clk, count_ena : IN BIT;
clear, load, direction : IN BIT;
p : IN INTEGER RANGE 0 TO 255;
max_min : OUT BIT;
q : OUT INTEGER RANGE 0 TO 255);
END pre_ct8s;
ARCHITECTURE a OF pre_ct8s IS
BEGIN
PROCESS (clk)
VARIABLE cnt : INTEGER RANGE 0 TO 255;
BEGIN
IF (clk'EVENT AND clk = '1') THEN -- A clock event is firstly checked because of synchronous clear.
IF (clear = '0') THEN -- Synchronous clear
cnt := 0;
ELSIF (load = '1') THEN -- Synchronous load
cnt := p;
ELSIF (count_ena = '1' and direction = '0') THEN
cnt := cnt - 1;
ELSIF (count_ena = '1' and direction = '1') THEN
cnt := cnt + 1;
END IF;
END IF;
qd <= cnt;
- Terminal count- decoder
IF (cnt = 0 and direction = '0') THEN
max_min <= '1';
ELSIF (cnt = 255 and direction = '1') THEN
max_min <= '1';
ELSE
max_min <= '0';
END IF;
END PROCESS;
END a;
![Page 42: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/42.jpg)
42
8-bit 양방향 카운터 RCO
![Page 43: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/43.jpg)
43
Asynchronous load and clear
Synchronous load and clear
![Page 44: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/44.jpg)
44
Priority of counter enable, asynchronous load and clear
Priority of counter enable, synchronous load and clear
![Page 45: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/45.jpg)
45
LPM 카운터
기본적으로 사용하는 port 는 clock, q[ ], eq[ ], parameter 는 LPM_WIDTH 임 .그 외에 나머지는 option임 .
LPM_WIDTH 를 제외한 모든Parameter들은 double quote.
![Page 46: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/46.jpg)
46
LPM 카운터 예 (1) – 8-bit updown counter
![Page 47: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/47.jpg)
47
LPM 카운터 예 (2) – Mod-500 down-counter
9-bit: 29 = 512
![Page 48: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/48.jpg)
48
Mod-500 down-counter
![Page 49: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/49.jpg)
49
LPM 카운터 예 (3) – 12-bit counter with aclr and sset
![Page 50: 카운터와 쉬프트 레지스터](https://reader033.fdocuments.net/reader033/viewer/2022061522/56815286550346895dc0acca/html5/thumbnails/50.jpg)
50
LPM 카운터 예 (3) – Sim. of a 12-bit counter with sset