Presentation is loading. Please wait.

Presentation is loading. Please wait.

쉬프트 레지스터 용어 Shift Register: N-bit 데이터를 직렬 혹은 병렬로 N-bit 레지스터에 이동 저장하는 동기식 순차회로. Left Shift: 쉬프트 레지스터에서의 데이터의 이동이 오른쪽에서 왼쪽으로 (MSB방향으로) 이동하는 동작으로 한 클록 펄스마다.

Similar presentations


Presentation on theme: "쉬프트 레지스터 용어 Shift Register: N-bit 데이터를 직렬 혹은 병렬로 N-bit 레지스터에 이동 저장하는 동기식 순차회로. Left Shift: 쉬프트 레지스터에서의 데이터의 이동이 오른쪽에서 왼쪽으로 (MSB방향으로) 이동하는 동작으로 한 클록 펄스마다."— Presentation transcript:

1 쉬프트 레지스터 용어 Shift Register: N-bit 데이터를 직렬 혹은 병렬로 N-bit 레지스터에 이동 저장하는 동기식 순차회로. Left Shift: 쉬프트 레지스터에서의 데이터의 이동이 오른쪽에서 왼쪽으로 (MSB방향으로) 이동하는 동작으로 한 클록 펄스마다 한 비트씩 이동한다. Right Shift: 쉬프트 레지스터에서의 데이터의 이동이 왼쪽에서 오른쪽으로 (LSB방향으로) 이동하는 동작으로 한 클록 펄스마다 한 비트씩 이동한다. Rotation: 마지막 플립플립의 출력이 처음 플립플롭의 입력과 연결되어 직렬 쉬프트(오른쪽 또는 왼쪽)하는 동작으로, 데이터가 계속적으로 순환한다. Fig. 9.57

2 양방향 쉬프트 레지스터

3 병렬 로드를 가진 쉬프트 레지스터

4 Bi-SR shift_left shift_right PL-SR

5 유니버셜 쉬프트 레지스터 01 11 10 00

6 유니버셜 쉬프트 레지스터의 시뮬레이션 sht_right sht_left par_load

7 쉬프트 레지스터 VHDL Structured VHDL Design
LSR, RSR과 같은 상이한 형태를 구성하기 위해 DFF primitive들을 사용한다. DFF Primitive Port Map은 D, CLK, Q이다. DataFlow Design 입력과 출력사이의 관계를 정의하기 위해 부울식을 사용하는 VHDL 설계 접근방법. Entity는 알테라 라이브러리가 필요 없는 것을 제외하고는 구조적 접근방법과 동일하다. 레지스터 Qi 는 여전히 ‘Buffer’로 선언된다. Behavioral design 설계를 행위적으로 기술하는 VHDL 설계 기법.

8 Structured VHDL I (BUFFER 사용)

9 Structured VHDL II (signal 사용)

10 Dataflow VHDL concurrent

11 Behavioral VHDL

12 Ex Bidir. SRG VHDL

13 Ex. 9.15 Bidir. SRG Simulation

14 Generic Width Shift Register
VHDL 컴포넌트의 엔티티 선언에서의 Generic 절(clause) 은 컴포넌트가 사례화될 때 규정될 수 있는 파라미터들을 열거한다. 변수 ‘Width’를 규정하기 위해, 엔티티내의 Generic 절을 사용하라. 일반적인 형식은 GENERIC(Clause := Value). 4-Bit 쉬프트 레지스터에 대해서는, GENERIC(Width: Positive := 4).

15 GENERIC절을 사용한 4-bit Shit Right 레지스터

16 GENERIC절을 사용한 8-bit Shit Right 레지스터
(4-bit SRG를 사례화)

17 8-bit Universal SRG CONV_STD_LOGIC_VECTOR(value, number_of_bits)
다른 표현으로는 q <= (others => ‘0’); -- q = ; -- aggregate q <= (‘0’, ‘1’ others => ‘0’); -- q =

18 16-bit Universal SRG (8-bit universal SRG를 사례화)

19 LPM 쉬프트 레지스터 lpm_shiftreg라고 불리는 프로그램이 가능한 LPM 쉬프트 레지스터의 사용을 허용한다.
LPM_WIDTH, LPM_DIRECTION과 같은 여러 가지 옵션 파라미터들을 가지고 있다. (표 9.16 참조) 설계 접근방법은 구조적 VHDL 방법으로 설계한 카운터와 유사하다.

20 8-bit LPM SRG(Shift left)

21 8-bit LPM 쉬프트 레지스터의 시뮬레이션(Shift left)
Buried nodes

22 8-bit LPM SRG(Shift right)

23 8-bit LPM 쉬프트 레지스터의 시뮬레이션(Shift Right)

24 8-bit LPM SRG(shift left, pl, aclr)
q_out(7)과 serial_out은 동일

25 8-bit LPM SRG Simulation(shift left, pl, aclr)
AA

26 쉬프트 레지스터 카운터(Ring Counters)
기본적인 링 카운터는 피드백 루프를 가진 D-FF으로 구성된다. 리셋이나 프리셋을 사용하여 초기 데이터가 쉬프트 레지스터로 로드된다. 카운터는 “1000” 또는 “0111” 의 로딩 값에 따라서 1 또는 0이 순환한다. 링 카운터의 모듈러스는 고유상태의 최대 값으로 정의된다. 모듈러스는 초기 로드 값에 의존한다: {1000, 0100, 0010, 0001} = Mod4, {1010, 0101} = Mod2. 일반적으로 N개 플립플롭으로 구성되는 링 카운터는 N-상태를 가진다.(이진 카운터의 2N 과는 다르다.) 디코딩 회로가 필요 없다(장점).

27 쉬프트 레지스터 카운터(Johnson Counters)
Q0가 아닌 !Q0(Complement)가 D3에 피드백 되는 점을 제외하고는 링 카운터와 동일하다. 데이터가 보수 혹은 “twist”되므로 “Twisted Ring Counter”라 불린다. 일반적으로 카운터는 클리어 동작에 의해 “0000”으로 초기 화 된다. 일반적으로 링 카운터보다 더 많은 상태를 가진다. 카운터의 진행순서= {0000, 1000, 1100, 1110, 1111, 0111, 0011, 0001}. N-비트 존슨 카운터의 최대 모듈러스는 2N이다. 카운터 디코딩을 위해 단지 2-input AND(or NAND) 게이트가 요구된다. (표 9.18 & 9.19).

28 4-bit Johnson counter with a synchronous clear

29 8-bit Johnson counter with a synchronous clear

30 8-bit 존슨 카운터의 시뮬레이션

31 Summary Counter는 behavioral description이나 LPM 에서 컴포넌트를 사용하는
Structural description으로 설계될 수 있다. Behavioral counter design은 process 문을 사용한다. 프로세서 문 내에 if문은 클럭 이벤트나 동기/비동기 입력들을 감지한다. (clk’EVENT and clk =‘1’) Variable는 := 연산자로 할당한다. 비동기 입력은 process의 sensitivity list내에 포함되고 클럭보다 먼저 평가된다. 동기입력은 process의 sensitivity list내에 포함되지 않고 클럭보다 나중에 평가된다. VHDL component는 컴포넌트가 사례화 될 때 규정되는 parameter를 가지고 생성될 수 있다. 이들 parameter들은 component entity 선언에서의 GENERIC 절에서 열거된다.


Download ppt "쉬프트 레지스터 용어 Shift Register: N-bit 데이터를 직렬 혹은 병렬로 N-bit 레지스터에 이동 저장하는 동기식 순차회로. Left Shift: 쉬프트 레지스터에서의 데이터의 이동이 오른쪽에서 왼쪽으로 (MSB방향으로) 이동하는 동작으로 한 클록 펄스마다."

Similar presentations


Ads by Google