누산기를 이용한 직렬(Serial) 덧셈기

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

Chapter 04 컴퓨터에서 데이터 표현. 04 컴퓨터에서 데이터 표현 2 인코딩 (encoding) – 현실세계의 정보를 컴퓨터 내부에서 처리할 수 있는 이진수로 변환하는 방법 1. 컴퓨터 속에서 데이터 표현 원리 0 - 아빠 1 - 엄마 00 - 아빠 01 - 엄마.
13 강 논리회로 2 과목 전자계산기 구조 강사 이 민 욱. 13 강 논리회로  논리회로 1. 부울 대수 (Boolean Algebra) 에서 사용하는 기본 연산자 ① 논리부정 : NOT ( ` ) 논리부정은 F = NOT A 의 표현을 F =A` 로 표현 ② 논리곱.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
재료수치해석 HW # 박재혁.
제2장 주파수 영역에서의 모델링.
                                  8장 A/D 변환기 A/D Converter? A/D Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
                                  7장 D/A 변환기 D/A Converter? D/A Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
디 지 털 공 학 한국폴리텍V대학.
제4장 조합논리회로 내용 4.1 조합논리회로 설계 과정 4.2 산술회로 : 가산기(adder)/ 감산기(subtractor)
컴퓨터 프로그래밍 기초 [Final] 기말고사
디지털논리실습 기본 논리 게이트 부울대수 조합회로.
VHDL Design : Barrel Shifter
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Lecture #4 제3장. 컴퓨터 산술과 논리 연산.
2장. 데이터의 표현 Lecture #2.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Error Detection and Correction
Computer Architecture 3장
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
6장. printf와 scanf 함수에 대한 고찰
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
제4장 제어 시스템의 성능.
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
VHDL Mealy and Moore model
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
Computer System Architecture
6장 순차회로 시스템 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
디지털 시스템 2010년 1학기 담당교수: 최선영 연구실: 산학연구관 6층 602 ( )
DK-128 FND 실습 아이티즌 기술연구소
논리회로 및 실험 조합논리회로 (1) - Adder
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
볼링게임 시스템 3조 오지연, 손수경.
SM 챠트를 이용한 디지털 설계 상태 machine chart : State Machine의 동작을 기술하기 위한 흐름도
6. 레지스터와 카운터.
제4강 처리장치 1.
1. 2진 시스템.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
계산기.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
과제 1 4bit x 4 SRAM이 있다 아래 (1), (2) 두 입력에 대한 출력값 [3:0] Dout을 나타내시오 (1)
1학기 수학 연산 풀이 (3학년) 와이즈캠프 담임선생님.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
제 5장 제어 시스템의 성능 피드백 제어 시스템 과도 성능 (Transient Performance)
DK-128 직렬통신 실습 아이티즌 기술연구소
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
ARM Development Suite v1.2
논리회로 설계 및 실험 4주차.
8장. 연산 장치 Lecture #8.
제10강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
어서와 C언어는 처음이지 제21장.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
C++ Espresso 제15장 STL 알고리즘.
논리회로 설계 및 실험 8주차.
ARM Development Suite v1.2
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
Presentation transcript:

누산기를 이용한 직렬(Serial) 덧셈기 두개의 입력 X(n:0), Y(n:0)의 각 비트를 순차적으로 합한 후 이의 결과 SUM(n:0)를 Accumulator에 저장하는 장치 Shift-register Sh : shift, SI : serial input, clk

누산기를 이용한 직렬(Serial) 덧셈기 직렬 덧셈기의 동작 테이블 t0 에서> X0=1, Y0=1로 주어지고, SUM0=0,Cj+1=1을 가진다. t1이고 Sh=1에서> 첫 번째 Sum은 Accumulator의 최상위 bit로 이동한다. 또한 X1=0, Y1=1이 하위 비트 X0, Y0 자리로 이동하고 Cj+1=1이 FA 에 다시 입력된다. 4번의 shift 후에 X 는 X+Y 의 값으로 바뀐다.

누산기를 이용한 직렬(Serial) 덧셈기 직렬 덧셈기의 제어상태 그래표 와 표 N: start signal Sh: shift signal S0은 초기화 상태, N=1이고 Sh=1 이면 S0 에서 S1 상태로 이동 S1에서는 N의 입력에 상관없이 Sh=1 이면 S2 상태로 이동 S2에서도 N의 입력에 상관없이 Sh=1 이면 S3 상태로 이동 S3에서도 N의 입력에 상관없이 Sh=1 이면 S0 상태로 이동

이진 곱셈기의 설계 1. 부호가 없는 수의 곱셈 Shift 동작으로 구현 Adder 로 구현 Partial Product : 피승수가 shift 된 것 이거나 0000 이다. 따라서 Shift 동작으로 구현이 가능하다. Partial product 간의 합은 Adder 로 구현 한다. (부분곱이 만들어 질 때마다)

이진 곱셈기의 설계 이진 곱셈기 => adder 와 shift 동작으로 구현 할 수 있다. Sh=1, Clk인가 시 우측 shift Carry 임시저장 비트 Multiplicand: 피승수, multiplier : 승수, ACC : 누산기, product : 곱셈레지스터, M : ACC(0), 최하위비트 값 Ad : 덧셈 신호 (ad=1일때 Adder출력=>ACC로 전달), Sh : shift 신호, St: 시작신호 load : multiplier load 신호

이진 곱셈기의 설계 M=1 : 피승수는 누산기에 더해진 다음 우측으로 으로 Shift 한다. Adder 동작 범위 ACC 1101 1011 10001111 x 3번의 addition 4번의 shift

이진 곱셈기의 설계 이진 곱셈기 제어를 위한 상태도 제어회로의 출력 : AD, Sh, load 제어회로입력 : M, St 상태변화> S0 : 초기상태, St 신호가 입력되면 Multiplier load신호를 출력하고 S1의 상태로 간다. S1에서 M=1 이면 Ad 신호를 내보내고 S2의 상태로 간다. S2에서 Sh=1 의 신호를 내보내고 S3로 간다. S1에서 M=0이면 Sh=1을 내보내고 바로 S3의 상태로 간다. 4번의 addition, 4번의 shift

이진 곱셈기의 (4x4) VHDL Mplier : Multiplier Mcand : Multiplicant 10개의 상태를 배정

이진 곱셈기의 (4x4) VHDL 상태가 1 혹은 3 혹은 5 혹은 7인 경우 ‘0’ & ACC (7downto 4) + Mcand

카운터를 포함한 곱셈기 제어 제어는 : Ad, Sh 를 내보내는 것과 Sh 의 수를 count 하는 것 만일 bit 수가 매우 크다면 Sh counter를 따로 두는 것이 좋다. K: 완료 신호 K=1 이면 마지막 Shift 신호를 내보내고 종료 단계인 S3 상태로 간다. K=0, M=0 일 때 Shift 동작 K=1, M=0 일 때 Shift 동작 K=1일 때 Shift 동작

카운터를 포함한 곱셈기 제어

4x4 bit 배열 곱셈기 AND gate 와 덧셈기 (HA, FA)로 구성된 곱셈기 FA 로 구성 AND 게이트 로 구성

4x4 bit 배열 곱셈기

Multiplication of Signed binary number 부호가 있는 이진수의 곱셈 알고리즘 1 : - 승수가 음수이면 보수를 취한다. - 피승수가 음수이면 보수를 취한다. - 두 개의 양의 이진수를 곱한다. - 만약 곱셈의 결과가 음수이면 결과값의 보수를 취한다. 알고리즘 2 : - 피승수 만을 2의 보수를 취한다. (승수와 결과값의 보수는 필요가 없다) 부호가 있는 분수의 2의 보수 표현 : 0.101 => +. 1x2-1+1x2-2+1x2-3 = + 5/8 1.011 => -. 1x2-1+1x2-2+1x2-3 = - 5/8 1.011 => 10.000-0.101 (N*=2n-N) 부호비트

Multiplication of Signed binary number <부호가 있는 이진수의 곱셈의 예> 0.011 (+3/8)

Multiplication of Signed binary number <부호가 있는 이진수의 곱셈의 예> 0.011 (+3/8) 1.g=-1+ 0.g 로 해석: g는 소수, 1.1=-1+0.1 1.011=-1+0.011=-(1-0.011)=-0.101 피승수의 2의 보수가 더해진다 피승수의 2의 보수가 더해진다

Multiplication of Signed binary number 2진 보수 곱셈기의 블록 다이어그램 추가 Cm=1 일때: 피승수의 1의 보수를 취한 후 adder에서 1의 값을 더한다. 결국 피승수의 2의 보수를 취하는 것이 된다. 덧셈기의 마지막 비트로의 캐리값은 버려진다. Product 를 shift 시킬 때 최상위 bit 는 그대로 유지 => 5bit 사용

Multiplication of Signed binary number 이진보수 곱셈기의 상태 그래프 S0 에서 S7 까지의 상태는 이진 곱셈기와 동일 S7 상태에서 M=0 이면 0를 출력하고(ad=0,Cm=0) S8의 상태로 간다 S7의 상태에서 M=1 (부호=1) 이면 2의 보수를 취하고 Ad=1 한 다음 S8의 상태로 간다.

Multiplication of Signed binary number 빠른 곱셈기의 블록 다이어그램 M=0, M=1에서 shift 동작은 모두 필요함. 따라서 덧셈기의 출력이 누산기에 로드 될 때 덧셈기의 출력선을 한칸 옮기면 add-shift 동작을 빨리 구현할 수 있어 곱셈기의 동작을 빨리 할 수 있다.

Multiplication of Signed binary number 빠른 곱셈기의 상태 그래프 3번의 shifting 후 M=1이면 Cm=1 Adsh=1을 준다. Adsh=1 이 의미하는 것은 Adding후 별도의 Shift명령 없이 shifting 이 이루어지는 것을 말한다. (shift선의 연결)

2의 보수 빠른 곱셈기의 동작적 모델

2의 보수 빠른 곱셈기의 동작적 모델 Add4 함수사용 (bit package) Addout은 5bit A,B는 4 bit Cm=1일때 2의보수를 더함 A,B update기다림 Product 는 7 bit

2의 보수 곱셈기의 동작적 모델 시뮬레이터 명령파일과 시뮬레이션 결과 2sec에 1, 22sec에=0 을 준다

실습예제 예제1> Schematic 화면에 lpm_counter (심벌툴 -> 라이브러리에서 megafunction 밑의 arithmetic 밑의 lpmcounter사용) 를 이용하여 4bit up-down 카운터를 설계하고, 시뮬레이션 하여 결과를 나타내시오. 입력> updown 신호(1bit), 클럭신호(1bit), 출력신호 4bit (버스선사용)

실습예제 다음회로를 구성하고 시뮬레이션 하여 어떤 회로 인지 설명하시오. 5V 전원은 라이브러리 primitive -> others의 VCC 사용, 7476 칩은 라이브러리 other->Maxplus2의 7476사용

실습예제 다음회로를 구성하고 시뮬레이션 하여 어떤 회로 인지 설명하시오. 5V 전원은 others의 VCC 사용, 칩은 Maxplus2 사용.