다운로드 - Google

Download Report

Transcript 다운로드 - Google

컴회로 Report

Serial multiplier

Main concept –

곱셈 연산에 Adder가 너무 많이 들어감

Adder 하나를 여러 번 활용하여 결과 값을 만들자 •

Function

– 4-bit 신호 2개를 받아 곱셈 – Selection 신호가 0일 때 값을 받아 들이고 1일 때 연산을 시작 – Enable 신호를 이용하여 입력 받은 값을 유지 – 곱셈의 결과 값을 끝자리(1의 자리)부터 하나씩 출력해줌 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

2

Serial multiplier

입력 신호

Binary 4-bit signal 2개

Selection 신호 1개

Enable 신호 1개

clock 신호 1개

출력 신호

Serial 화 된 곱셈 값

Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

3

selection A

Serial multiplier 구조

B enable

Serial Multiplier

Result(1bit) Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

4

Rules (1/3) •

제한 조건 – – – – – – 4-bit adder 는 하나만 사용 4-bit 입력 값 두 개는 wired로 묶어서 표현 • Ex) A(3:0), B(3:0) Register를 반드시 사용할 것 4-bit adder, d-flip flop, multiplexer는 제공하는 심볼 사용가능 • 4-bit register나 4-bit shift register를 사용할 시 직접 구현할 것 Selection 신호에 따라 새로운 값을 받아 들이는 것과 곱셈 연산 을 구분 • • • • Selection = ‘0’ : 새로운 값 입력 Selection = ‘1’ : 곱셈 연산 Enable = ‘0’ : 대기 신호 이름은 자유 A, B 신호는 입력 직후 0으로 모두 초기화 할 것 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

5

Rules (2/3) •

결과 조건1 – – – 결과 값은 끝의 자리(1의 자리)부터 serial하게(한 비트 씩) 출력 해야 함 Ex1) 결과 값이 “01100100” 일 경우 0, 0, 1, 0, 0, 1, 1, 0 순으로 결과 값이 나와야 함 Ex2) “01001000”의 결과 값 (1100*0110=1001000) Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

6

Rules (3/3) •

결과조건2 – – 제공하는 3 쌍의 값들에 대한 시뮬레이션 결과를 각각 캡쳐하여 제출 • “0001”, “1111” • • “1001”, “0110” “1110”, “1100” EX) Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

7

Due Date • • •

Due Date – 2015/12/10(목) 자정까지 Contents – – – 프로젝트 내 스키메틱 파일 전부 • 심볼 생성 시 관련 심볼에 대한 스키메틱 포함 알려준 3 쌍의 시그널에 대한 시뮬레이션 결과 Report • • • • 구현 방법에 대한 설명 형식 없음 분량 제한 없음 한글 파일로 작성 제출 방 법 – – [email protected]

[컴회로][SAdder]학번_이름 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

8

기타 • • • • •

Xilinx에서 제공하는 4bit adder의 OFL은 오버플로우를 의미하며 이를 시뮬레이션에 반영하시길 바랍니다.

0과 1이 들어가는 곳은 심볼을 이용하여 처리하시면 됩 니다.

제한 조건을 어길 시 감점됩니다.

개인 사정으로 제출 기한을 지킬 수 없는 경우 제게 따로 연락을 주시기 바랍니다. 연락 없이 제출기한을 넘길 시 0점 처리합니다.

궁금한 점이나 어려운 점에 대한 질문은 가리지 않고 받 습니다.

Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

9

4 bit 덧셈

Basic Concept

결과 출력 연산 반복 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

10

Basic Concept

1 clock 2 clocks B3A0 B2A0 B1A0 B0A0 B3A1 B2A1 B1A1 B0A1 D4 C4 C3 C2 C1 B3A2 B2A2 B1A2 B0A2 C0 D3 D2 D1 D0 M1 M0 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

11

Required Function • • •

4-bit 곱셈 연산(And gate) 4-bit Register for B(B3-B0)(1) – B3부터 B0이 매 clock 유지 4-bit shift Register for A(A3-A0)(2) – A3부터 A0까지 1bit씩 B와 곱셈 B3A0 B2A0 B1A0 B0A0 B3A0 B2A0 B1A0 B0A0 B3A1 B2A1 B1A1 B0A1 B3A2 B2A2 B1A2 B0A2

4-bit Register for C or D(3) – 덧셈의 연산 결과를 저장해두기 위한 레지스터 필요

• 4-bit Full Adder(4)

Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

12

Module Design

C A 4bits Full Adder B 4bits And output Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

13

Signal Analysis •

En – – – – 회로 전체 동작 정지 (1) : 0) 값 유지 1) 새로운 값 입력 혹은 입력된 값 shift (2) : 0) 값 유지 1) 값 유지 혹은 새로운 값 입력 (3) : 0) 값 유지 1) 연산된 값 입력

• •

Sel – – – – 최초 레지스터 (1)과 (2)에 값 입력, 연산 시작 신호 (1) : 0) 4bits 입력 1) 1bit 씩 shift (2) : 0) 4bits 입력 1) 값 유지

en sel 동작 상태

(3) : 0) 값 유지 1) 연산 0 0 0 1 정지 정지 Signal 우선 순위 en>sel 1 1 0 1 값 입력 값 연산 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

14

Signal Analysis •

En – – – – 회로 전체 동작 정지 (1) : 0) 값 유지 1) 새로운 값 입력 혹은 입력된 값 shift (2) : 0) 값 유지 1) 값 유지 혹은 새로운 값 입력 -> 동일 기능 (signal로 역할 구분이 모호) (3) : 0) 값 유지 1) 연산된 값 입력 -> sel 과 동일

Sel – – – – 최초 레지스터 (1)과 (2)에 값 입력, 연산 시작 신호 (1) : 0) 4bits 입력 1) 1bit 씩 shift (2) : 0) 4bits 입력 1) 값 유지 -> en의 세부 조건을 홀로 만족 -> 실질적인 동작 signal (3) : 0) 값 유지 1) 연산된 값 입력 -> en과 동일 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

15

Module Specific with Signal(1)

• En – – 외부 : 0) 값 유지 1) 새로운 값 입력 혹은 입력된 값 shift 내부 : 0) 값 유지 1) 새로운 값 입력 혹은 입력된 값 shift • Sel – – 외부 : 0) 4bits 입력 1) 1bit 씩 shift 내부 : 0) 4bits 입력 1) 1bit 씩 shift A Shift Register output en sel clk en sel clk Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

16

Module Specific with Signal(2)

• En – – 외부 : 0) 값 유지 1) 값 유지 혹은 새로운 값 입력 내부 : 0) 값 유지 1) 새로운 값 입력 • Sel – – 외부 : 0) 4bits 입력 1) 값 유지 ->en의 내부 신호와 기능적으로 일치 ->신호와 기능이 반대로 매치 내부 : ?

B Register output en sel clk en sel clk Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

17

Module Specific with Signal(3)

• • En – – 외부 : 0) 값 유지 1) 연산된 값 입력 내부 : 0) 값 유지 1) 새로운 값 입력 Sel – – 완전히 일치 외부 : 0) 값 유지 1) 연산된 값 입력 내부 : 0) 값 유지 1) 새로운 값 입력 B Register en sel clk output en sel clk Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

18

곱셈 1

Data Path(Schematic)

2 5 3 4 Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

19

Module Specific(5) • • •

결과 값이 정확히 나오기 위해서는 1clock delay가 필요 함 Sel 이나 en이 ‘0’일 때 특정 쓰레기 값이 도출 되지 않 고 일정하게 0이 출력 되게 함 일종의 필터!

Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

20

감사합니다.

FINISH

Dept. of Computer Science and Engineering Konkuk University Parallel and Distributed Embedded Computing LAB.

21