2017-04-25 P R O J E C T VLSI 설계 자동화 담당교수님 : 조 준동 교수님.

Slides:



Advertisements
Similar presentations
L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Advertisements

Digital Logic with VHDL EE 230 Digital Systems Fall 2006 (10/17/2006)
LECTURE 4: The VHDL N-bit Adder
Quad 2-to-1 and Quad 4-to-1 Multiplexers Discussion D2.4 Example 7.
Arbitrary Waveform Discussion 5.5 Example 34.
Multiplexer as a Universal Element Discussion D2.6 Example 9.
Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
Adder Discussion D6.2 Example 17. s i = c i ^ (a i ^ b i ) c i+1 = a i * b i + c i * (a i ^ b i ) Full Adder (Appendix I)
Top-level VHDL Designs
Generic Multiplexers: Parameters Discussion D2.5 Example 8.
Mridula Allani Fall 2010 (Refer to the comments if required) ELEC Fall 2010, Nov 21(Adopted from Profs. Nelson and Stroud)
VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
Space vs. Speed: Binary Adders 11.3 Space vs. Speed.
Lab 2 4-Bit Adder Digilent Spartan 3 Board Lecture L2.3.
4-to-1 Multiplexer: case Statement Discussion D2.3 Example 6.
ECE 331 – Digital System Design
4-Bit Binary-to-BCD Converter: case Statement
Shift Registers Discussion D5.2 Example Bit Shift Register qs(3) qs(2) qs(1) qs(0) if rising_edge(CLK) then for i in 0 to 2 loop s(i) := s(i+1);
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
L23 – Arithmetic Logic Units. Arithmetic Logic Units (ALU)  Modern ALU design  ALU is heart of datapath  Ref: text Unit 15 9/2/2012 – ECE 3561 Lect.
AND Gate: A Logic circuit whose output is logic ‘1’ if and only if all of its inputs are logic ‘1’.
Digital Arithmetic and Arithmetic Circuits
DSD,USIT,GGSIPU1 Entity declaration –describes the input/output ports of a module entity reg4 is port ( d0, d1, d2, d3, en, clk : in std_logic; q0, q1,
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
Figure 5.1 Conversion from decimal to binary. Table 5.1 Numbers in different systems.
1 Combinational Logic Lecture #6. 모바일컴퓨터특강 2 강의순서 Decoder 3x8 Mux 4x1 Mux 8x1 Mux 8x1 4bits Half Adder Full Adder Ripple carry Adder 4-bit Adder.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
1 Part I: SYSTEM DESIGN. 2 Packages and Components Functions and Procedures Problem (Design & Implementation) Additional System Designs.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 5: Modeling Structure.
L26 – Datapath ALU implementation
Carry look ahead adder P (I) = a(I) xor b(I); G(I) = a(I) and b(I); S(I) = p(I) xor c(I); Carry(I+1) = c(I)p(I) + g(I)
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Basic Overview of VHDL Matthew Murach Slides Available at:
درس مدارهای منطقی دانشگاه قم مدارهای منطقی محاسباتی تهیه شده توسط حسین امیرخانی مبتنی بر اسلایدهای درس مدارهای منطقی دانشگاه.
ENG2410 Digital Design LAB #5 Modular Design and Hierarchy using VHDL.
Design Examples ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
1 component OR_3 port (A,B,C: in bit; Z: out bit); end component ; Reserved Words  Declarations of Components and Entities are similar  Components are.
ECE 331 – Digital System Design Multiplexers and Demultiplexers (Lecture #13)
2’s Complement 4-Bit Saturator Discussion D2.8 Lab 2.
CEC 220 Digital Circuit Design More VHDL Fri, February 27 CEC 220 Digital Circuit Design Slide 1 of 15.
4-to-1 Multiplexer: Module Instantiation Discussion D2.2 Example 5.
2/10/07DSD,USIT,GGSIPU1 BCD adder KB3B2B1B0CD3D2D1D
Digital System Projects
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 3: The VHDL N-bit Adder Instructor: Francis G. Wolff Case Western Reserve.
ECE 331 – Digital System Design Multi-bit Adder Circuits, Adder/Subtractor Circuit, and Multiplier Circuit (Lecture #12)
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 5: Arithmetic Circuits Chapter 5 (minus 5.3.4)
1 Part III: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
1 Carry Lookahead Logic Carry Generate Gi = Ai Bi must generate carry when A = B = 1 Carry Propagate Pi = Ai xor Bi carry in will equal carry out here.
VHDL의 기본 Lecture #6.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
1 Computer Architecture & Assembly Language Spring 2009 Dr. Richard Spillman Lecture 11 – ALU Design.
LAB #5 Modular Design and Hierarchy using VHDL
Combinational logic circuit
Space vs. Speed: Binary Adders
ENG6530 Reconfigurable Computing Systems
Combinational Circuits Using VHDL
VHDL Description 1. Behavioral Description (동작묘사)
ECE 331 – Digital System Design
HDL Programming Fundamentals
CSE Winter 2001 – Arithmetic Unit - 1
Getting Started with Vivado
VHDL (VHSIC Hardware Description Language)
Chapter 5 – Number Representation and Arithmetic Circuits
74LS283 4-Bit Binary Adder with Fast Carry
NTU DSD (Digital System Design) 2007
Four Bit Adder Sum A Cin B Cout 10/9/2007 DSD,USIT,GGSIPU.
4-Input Gates VHDL for Loops
Digital Logic with VHDL
(Carry Lookahead Adder)
EEL4712 Digital Design (Lab 1)
Presentation transcript:

2017-04-25 P R O J E C T VLSI 설계 자동화 담당교수님 : 조 준동 교수님

1. PROJECT : < 4 bit carry lookahead adder 를 이용한 16 bit group ripple carry adder 설계 > < 8 bit braun array multiplier 설계 > 2. NAME : SKKU 전자공학과 4학년 9251081 박 성민 3. PROJECT GOAL  SCHEMETIC 방식의 설계와 VHDL 방식의 설계 방법을 통해 전반적인 설계 기법을 익히고자 한다.  위 주제의 ADDER 를 설계하고 일반적인 RIPPLE ADDER와 비교 분석을 하고 여러종류의 ADDER 알고리즘을 이해한다.  ADDER 설계가 끝나면 8 BIT BRAUN ARRY MULTIPLIER 를 설계해보고자 한다.

4. REARCH BACKGROUND 효율적인 회로는 아니지만 위 주제의 설계를 통해서 설계 기법을 기초부터 익히는데 가장 접근하기 쉬운 주제라고 생각해서 선택하였다. 5. Theory 및 design 과정  기본적인 이론과 설계 알고리즘을 세운다.  < SCHEMETIC 설계 방식 , VHDL 설계 방식 > * 4 bit carry lookahead adder >> * 16 bit group ripple carry adder >> * SIMULATION 검증 및 TIME ANALIZING >> * 16 bit ripple carry adder 와 비교, 분석  8 bit braun array multiplier 설계

ADDER 설계 SCHEMATIC V H D L 4bit carry lookahead adder Behavior modeling Behavior modeling 4bit CLA 구성 16bit ripple carry adder symbolize Structure modeling 16bit ripple carry adder 16bit group ripple carry adder 4bit CLA >> 16bit GRCA Simulation time analyze Simulation time analyze Simulation time analyze Simulation time analyze 비교, 분석 비교, 분석

< Theory >  우선 adder 설계를 위한 이론적인 진리표와 논리식을 세운다.  * full adder 진리표

논리식은 Pi = Ai + Bi = Ai xor Bi(propagation 의미상)

C3 C2 C1 C0 A= A3 A2 A1 A0 B= B3 B2 B1 B0 S3 S2 S1 S0 C4 C3 C2 C1 2017-04-25 C3 C2 C1 C0 A= A3 A2 A1 A0 B= B3 B2 B1 B0 S3 S2 S1 S0 C4 C3 C2 C1

CARRY LOOKAHEAD ADDER 회로도 XOR 캐리 예측 논리 Ai Bi HSi Ai-1 Bi-1 Co Ci Si

이상으로 기본적인 carry lookahead 이론을 살표보았다. 이 후로 이론을 바탕으로 실제 설계를 시작한다.

 SCHEMETIC 설계  4 bit carry lookahead adder >> symbolize >> 16 bit group ripple carry adder >> simulation , time analize 16 bit ripple carry adder >> simulation, time analize 비교, 분석

4 bit carry lookahead adder

16 bit group ripple carry adder

비교 graph

16 bit ripple carry adder

비교 graph

비교 및 분석 Simulation 검증과 time 분석결과 group RCA 가 RCA 보다 speed가 두배정도 빨라지고 waveform에서 보면 glitch가 줄어듬을 볼수 있다.

 V H D L 설계  4 bit carry lookahead adder ( behavior modeling ) >> component >> 16 bit group ripple carry adder ( structure modeling ) >> simulation , time analize 16 bit ripple carry adder ( behavior modeling ) >> simulation, time analize 비교, 분석

4 bit carry lookahead adder library ieee; use ieee.std_logic_1164.all; entity cl_4ad is port ( a,b : in std_logic_vector(3 downto 0); c_in : in std_logic; sum : out std_logic_vector(3 downto 0); c_out : out std_logic); end cl_4ad; architecture behavior_description of cl_4ad is signal Ci : std_logic_vector (4 downto 0); begin process (a,b,c_in) variable Gi,Pi : std_logic_vector (3 downto 0); Gi := a(3 downto 0) and b(3 downto 0); Pi := a(3 downto 0) or b(3 downto 0); Ci(0) <= c_in; Ci(1) <= Gi(0) or (Pi(0) and Ci(0)); Ci(2) <= Gi(1) or (Pi(1) and Ci(1)); Ci(3) <= Gi(2) or (Pi(2) and Ci(2)); Ci(4) <= Gi(3) or (Pi(3) and Ci(3)); sum(3 downto 0) <= a(3 downto 0) xor b(3 downto 0) xor Ci(3 downto 0); c_out <= Ci(4); end process; end behavior_description; configuration cfg_cl_4ad of cl_4ad is for behavior_description end for; end cfg_cl_4ad; 4 bit carry lookahead adder

16 bit group ripple carry adder library ieee; use ieee.std_logic_1164.all; entity rcl_16ad is port ( a,b : in std_logic_vector(15 downto 0); c_in : in std_logic; sum : out std_logic_vector(15 downto 0); c_out : out std_logic); end rcl_16ad; architecture structure of rcl_16ad is signal C_1,C_2,C_3 : std_logic; component cl_4ad port ( a,b : in std_logic_vector(3 downto 0); sum : out std_logic_vector(3 downto 0); end component; begin cl_0:cl_4ad port map (a(3 downto 0),b(3 downto 0),c_in,sum(3 downto 0),C_1); cl_1:cl_4ad port map (a(7 downto 4),b(7 downto 4),C_1,sum(7 downto 4),C_2); cl_2:cl_4ad port map (a(11 downto 8),b(11 downto 8),C_2,sum(11 downto 8),C_3); cl_3:cl_4ad port map (a(15 downto 12),b(15 downto 12),C_3,sum(15 downto 12),c_out); end structure; 16 bit group ripple carry adder

비교 graph

16 bit ripple carry adder -- 2 bit full adder library ieee; use ieee.std_logic_1164.all; entity fuad is port ( x,y : in std_logic; c_in : in std_logic; s_out,c_out : out std_logic); end fuad; architecture structure of fuad is begin process c_out <= (x and y) or (c_in and (x or y)); s_out <= x xor y xor c_in; end process; end structure; configuration cfg_fuad of fuad is for structure end for; end cfg_fuad; -- 16 bit ripple carry adder library ieee; use ieee.std_logic_1164.all; entity rcad is port ( a,b : in std_logic_vector(15 downto 0); c_in : in std_logic; sum : out std_logic_vector(15 downto 0); c_out : out std_logic); end rcad; architecture structure of rcad is signal C_1,C_2,C_3,C_4,C_5,C_6,C_7,C_8,C_9,C_10,C_11,C_12, C_13,C_14,C_15 : std_logic; component fuad port ( x,y : in std_logic; s_out : out std_logic; end component; 뒷면 계속

begin cl_0:fuad port map (a(0),b(0),c_in,sum(0),C_1); cl_1:fuad port map (a(1),b(1),C_1,sum(1),C_2); cl_2:fuad port map (a(2),b(2),C_2,sum(2),C_3); cl_3:fuad port map (a(3),b(3),C_3,sum(3),C_4); cl_4:fuad port map (a(4),b(4),C_4,sum(4),C_5); cl_5:fuad port map (a(5),b(5),C_5,sum(5),C_6); cl_6:fuad port map (a(6),b(6),C_6,sum(6),C_7); cl_7:fuad port map (a(7),b(7),C_7,sum(7),C_8); cl_8:fuad port map (a(8),b(8),C_8,sum(8),C_9); cl_9:fuad port map (a(9),b(9),C_9,sum(9),C_10); cl_10:fuad port map (a(10),b(10),C_10,sum(10),C_11); cl_11:fuad port map (a(11),b(11),C_11,sum(11),C_12); cl_12:fuad port map (a(12),b(12),C_12,sum(12),C_13); cl_13:fuad port map (a(13),b(13),C_13,sum(13),C_14); cl_14:fuad port map (a(14),b(14),C_14,sum(14),C_15); cl_15:fuad port map (a(15),b(15),C_15,sum(15),c_out); end structure;

비교 graph

비교 및 분석 VHDL 설계에서는 Simulation 검증과 time 분석결과 group RCA 와 RCA 가 speed가 거의 똑같았고 waveform에서 보면 glitch가 줄어듬을 볼수 있다.

전체 비교 및 분석 V(Vhdl), S(Schemetic)