쉬프트 레지스터 용어

31
1 쉬쉬쉬 쉬쉬쉬쉬 쉬쉬 • Shift Register: N-bit 쉬쉬쉬쉬 쉬쉬 쉬쉬 쉬쉬쉬 N-bit 쉬쉬쉬쉬쉬 쉬쉬 쉬쉬쉬쉬 쉬쉬쉬 쉬쉬쉬쉬 . • Left Shift: 쉬쉬쉬 쉬쉬쉬쉬쉬쉬쉬 쉬쉬쉬쉬 쉬쉬쉬 쉬쉬쉬쉬쉬 쉬쉬쉬쉬 (MSB 쉬쉬쉬쉬 ) 쉬쉬쉬쉬 쉬쉬쉬쉬 쉬 쉬쉬 쉬쉬쉬쉬 쉬 쉬쉬쉬 쉬쉬쉬쉬 . • Right Shift: 쉬쉬쉬 쉬쉬쉬쉬쉬쉬쉬 쉬쉬쉬쉬 쉬쉬쉬 쉬쉬쉬쉬 쉬쉬쉬쉬쉬 (LSB 쉬쉬쉬쉬 ) 쉬쉬쉬쉬 쉬쉬쉬쉬 쉬 쉬쉬 쉬쉬쉬쉬 쉬 쉬쉬쉬 쉬쉬쉬쉬 . • Rotation: 쉬쉬쉬 쉬쉬쉬쉬쉬 쉬쉬쉬 쉬쉬 쉬쉬쉬쉬쉬 쉬쉬쉬 쉬쉬쉬쉬 쉬쉬 쉬쉬쉬 ( 쉬쉬쉬 쉬쉬 쉬쉬 ) 쉬쉬 쉬쉬쉬쉬 , 쉬쉬쉬쉬 쉬쉬쉬쉬쉬 쉬쉬쉬쉬 . Fig. 9.57

Upload: freya-crosby

Post on 02-Jan-2016

250 views

Category:

Documents


10 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 쉬프트 레지스터 용어

1

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

Fig. 9.57

Page 2: 쉬프트 레지스터 용어

2

양방향 쉬프트 레지스터

Page 3: 쉬프트 레지스터 용어

3

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

Page 4: 쉬프트 레지스터 용어

4

Bi-SR

PL-SR

shift_left shift_right

Page 5: 쉬프트 레지스터 용어

5

유니버셜 쉬프트 레지스터

0001 1011

Page 6: 쉬프트 레지스터 용어

6

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

sht_right sht_leftpar_load

Page 7: 쉬프트 레지스터 용어

7

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

Page 8: 쉬프트 레지스터 용어

8

Structured VHDL I(BUFFER 사용 )

Page 9: 쉬프트 레지스터 용어

9

Structured VHDL II(signal 사용 )

Page 10: 쉬프트 레지스터 용어

10

Dataflow VHDL

concurrent

Page 11: 쉬프트 레지스터 용어

11

Behavioral VHDL

Page 12: 쉬프트 레지스터 용어

12

Ex. 9.15 Bidir. SRG VHDL

Page 13: 쉬프트 레지스터 용어

13

Ex. 9.15 Bidir. SRG Simulation

Page 14: 쉬프트 레지스터 용어

14

Generic Width Shift Register

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

Page 15: 쉬프트 레지스터 용어

15

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

Page 16: 쉬프트 레지스터 용어

16

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

Page 17: 쉬프트 레지스터 용어

17

8-bit Universal SRG

CONV_STD_LOGIC_VECTOR(value, number_of_bits)다른 표현으로는q <= (others => ‘0’); -- q = 00000000; -- aggregateq <= (‘0’, ‘1’ others => ‘0’); -- q = 01000000

Page 18: 쉬프트 레지스터 용어

18

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

Page 19: 쉬프트 레지스터 용어

19

LPM 쉬프트 레지스터

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

Page 20: 쉬프트 레지스터 용어

20

8-bit LPM SRG(Shift left)

Page 21: 쉬프트 레지스터 용어

21

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

Buried nodes

Page 22: 쉬프트 레지스터 용어

22

8-bit LPM SRG(Shift right)

Page 23: 쉬프트 레지스터 용어

23

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

Page 24: 쉬프트 레지스터 용어

24

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

s

q_out(7) 과 serial_out 은 동일

Page 25: 쉬프트 레지스터 용어

25

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

AA

Page 26: 쉬프트 레지스터 용어

26

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

Page 27: 쉬프트 레지스터 용어

27

• 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).

쉬프트 레지스터 카운터 (Johnson Counters)

Page 28: 쉬프트 레지스터 용어

28

4-bit Johnson counter with a synchronous clear

Page 29: 쉬프트 레지스터 용어

29

8-bit Johnson counter with a synchronous clear

Page 30: 쉬프트 레지스터 용어

30

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

Page 31: 쉬프트 레지스터 용어

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 절에서 열거된다 .