:DVYHUVWHKWPDQXQWHU %HKDYLRUDO6\QWKHVH" $066FKZHL]$*

Size: px
Start display at page:

Download ":DVYHUVWHKWPDQXQWHU %HKDYLRUDO6\QWKHVH" $066FKZHL]$*"

Transcription

1 :DVYHUVWHKWPDQXQWHU %HKDYLRUDO6\QWKHVH"

2 hehueolfn 57/'HVLJQIORZ 'HVLJQEHLVSLHO %HKDYLRUDO'HVLJQIORZ %HKDYLRUDO%HVFKUHLEXQJ %HKDYLRUDO6\QWKHVH 9RUWHLOHYRQ%HVFKUHLEXQJXQG6\QWKHVH (LQVDW]GHU%HKDYLRUDO6\QWKHVH )UDJHQ

3 57/'HVLJQIORZ Taktfrequenz Constraints RTL Beschreibung Verilog, VHDL Tech-Lib Synthese & Optimierung Netzliste

4 57/%HVFKUHLEXQJ Kontroll-FSM 'DWHQSIDGXQG.RQWUROO =XVWDQGVPDVFKLQH 'HILQLWLRQDOOHU5HJLVWHU Kontrollsignale Status $Q]DKO 3OD]LHUXQJ din + dout (QDEOH6LJQDOH Datenpfad $EODXIGHU.RQWUROO=XVWDQGVPDVFKLQH )XQNWLRQDOLWlWXQG,PSOHPHQWDWLRQZHUGHQ EHVFKULHEHQ

5 57/6\QWKHVH Die RTL Synthese optimiert die Logik zwischen zwei Registern. Die Struktur ist durch die RTL Beschreibung vorgegeben.

6 %HLVSLHO0XOWLSOL]LHUHUI U.RPSOH[H=DKOHQ Produkt = ( a + bj ) ( c + dj ) Eingangstiming: a b c d inny RE IM ac - bd ad + bc 8-bit serielle Eingangsdaten 16-bit Ausgangsdaten Annahme: - Multiplikation kann in einer Taktperiode durchgeführt werden, - Multiplikation und Addition benötigen mehr als eine Taktperiode Gesucht: 1. Schnellstes Design (kleinste Latency) 2. Kleinstes Design

7 6FKQHOOVWHV'HVLJQ 9LHU0XOWLSOL]LHUHU (LQ$GGLHUHU (LQ6XEWUDKLHUHU /DWHQF\7DNWH inny a ac b bd - RE RE c ad + IM IM d bc

8 6FKQHOOVWHV'HVLJQ Ressourcen Takte Einlesen Mult1 Mult 2 Mult 3 Mult 4 Sub 1 Add 1 Write 1 Write 2 1 A 2 B 3 C 4 D 5 A C A D C D B D 6 AC-BD AD+BC RE IM 3HULRGH/DWHQF\QV7DNWH QV )OlFKH 5HVVRXUFHQ 0XOWLSOL]LHUHU $GGLHUHU6XEWUDKLHUHU 5HJLVWHUELW 5HJLVWHUELW

9 .OHLQVWHV'HVLJQ (LQ0XOWLSOL]LHUHU (LQHQJHPHLQVDPHQ$GGLHUHU6XEWUDKLHUHU /DWHQF\7DNWH inny a ac b bd RE RE c ad +/- IM IM d bc

10 6FKQHOOVWHV'HVLJQ Ressourcen Takte Einlesen Mult1 Add/Sub 1 Write 1 Write 2 1 A 2 B 3 C 4 D 5 A C 6 A D 7 C D 8 B D 9 AC-BD RE 10 AD+BC IM 3HULRGH/DWHQF\QV7DNWH QV )OlFKH 5HVVRXUFHQ 0XOWLSOL]LHUHU $GGLHUHU6XEWUDKLHUHU 5HJLVWHUELW 5HJLVWHUELW

11 &RGH%HLVSLHO.OHLQVWHV'HVLJQ datapath: process variable m_in1, m_in2: unsigned(7 downto 0); variable m_out, a_out: unsigned(15 downto 0); begin wait until clk event and clk= 1 ; --load data into input registers if le_a = 1 then a <= inny; if le_b = 1 then b <= inny; if le_c = 1 then c <= inny; if le_d = 1 then d <= inny; --mux inputs to multipliers if m_mux1 = 0 then m_in1 := a; else m_in1 := b; if m_mux2 = 0 then m_in2 := c; else m_in2 := d; --do multiplies and load into registers m_out := m_in1 m_in2; if le_ac = 1 then ac <= m_out; if le_ad = 1 then ad <= m_out; if le_bd = 1 then bd <= m_out; if le_bc = 1 then bc <= m_out; --do adds if a_mux = 0 then a_out:=ac bd; else a_out:=ad + bc; --load into output registers if le_re = 1 then re <= a_out; else im <= a_out; end process; state_machine: process(clk, reset) begin if clk event and clk = 1 then if reset = 1 then cur_state <= s0; else cur_state <= next_state; end process; state_machine_outputs: process(cur_state, reset) begin --assign defaults for control signals so we dont get latches le_a <= 0; le_b <= 0; le_c <= 0; le_d <= 0; le_ac <= 0; le_ad <= 0; le_bc <= 0; le_bd <= 0; m_mux1 <= 0; m_mux2 <= 0; le_re <= 0; le_im <= 0; --assign control signals and next_state based on cur_state case cur_state is when s0 => next_state <= s1; le_a <= 1; when s1 => next_state <= s2; le_b <= 1; when s2 => next_state<=s3; le_c <= 1; when s3 => next_state<=s4; le_d <= 1; when s4 => next_state<=s5; m_mux1 <= 0; m_mux2 <= 0; le_ac <= 1; when s5 => next_state<=s6; m_mux1 <= 0; m_mux2 <= 1; le_ad <= 1; when s6 => next_state<=s7; m_mux1 <= 1; m_mux2 <= 0; le_bc <= 1; when s7 => next_state<=s8; m_mux1 <= 1; m_mux2 <= 1; le_bd <= 1; when s8 => next_state<=s9; a_mux <= 0; le_re <= 1; when s9 => next_state<=s0; a_mux <= 1; le_im <= 1; when others => next_state <= s0; end case; end process;

12 %HKDYLRUDO'HVLJQIORZ Taktfrequenz Latency Throughput Behavioral Beschreibung Verilog, VHDL Constraints Behavioral Synthese Taktfrequenz Constraints RTL Beschreibung Verilog, VHDL Tech-Lib Synthese & Optimierung Netzliste

13 %HKDYLRUDO%HVFKUHLEXQJ,P9HUJOHLFK]XU57/%HVFKUHLEXQJ,23URWRNROO :DQQVLQGGLH(LQJDQJVGDWHQYHUI JEDU :DQQVLQG$XVJDQJVGDWHQE]Z+DQGVKDNH6LJQDOHJ OWLJ 2SHUDWLRQHQ $OJRULWKPXV.RQWUROO=XVWDQGVPDVFKLQH 6WHXHUWGLH6HOHFWE]Z(QDEOH6LJQDOHGHU0X[XQG5HJLVWHU 6SHLFKHUEHGDUI 6SHLFKHUXQJYRQ=ZLVFKHQUHVXOWDWHQ

14 %HKDYLRUDO&RGH%HLVSLHO &RGHI UVFKQHOOVWHVXQGNOHLQVWHV'HVLJQ only: process variable a, b, c, d : unsigned (7 downto 0); begin main: loop a := inny; wait until clk event and clk= 1 ; b := inny; wait until clk event and clk= 1 ; c := inny; wait until clk event and clk= 1 ; d := inny; wait until clk event and clk= 1 ; re <= a c b d; im <= a d + b c; wait until clk event and clk= 1 ; end loop; --main end process; --only

15 %HKDYLRUDO6\QWKHVH %HLGHU%HKDYLRUDO6\QWKHVHZLUGGLHIXQNWLRQDOH%HVFKUHLEXQJXQWHU %HU FNVLFKWLJXQJGHU%HKDYLRUDO&RQVWUDLQWV7DNWIUHTXHQ]/DWHQF\ 7KURXJKSXWLQHLQHRSWLPLHUWH57/$UFKLWHNWXUJHZDQGHOW for i in 0 to 2 loop wait until clk event and clk = 1 ; if (rgb[i] < 248) then p = rgb[i] mod 8; q = filter(x,y)8; Kontrollsignale Kontroll-FSM Status Code Constraints Tech-Lib din Scheduling Allocation Chaining Multi cycle Operationen Erstellen der Kontroll-FSM Pipelining + Datenpfad Datenpfad Register Multiplexer Glue Logic Kontroll-FSM dout

16 %HKDYLRUDO6\QWKHVH 2SWLPLHUXQJVP JOLFKNHLWHQ 6FKHGXOLQJ=XRUGQXQJ]XHLQHP7DNW (LQXQG$XVJlQJH 2SHUDWLRQHQ + > Scheduling Takt OP > $OORFDWLRQ=XRUGQXQJGHU2SHUDWLRQHQ]X +:5HVVRXUFHQXQG5HJLVWHUQ 7\SGHV2SHUDWRUVZLUGEHVWLPPW5LSSOHRGHU&6$GGHU %HQ WLJWH5HJLVWHUZHUGHQLQV'HVLJQHLQJHI JW

17 %HKDYLRUDO6\QWKHVH &KDLQLQJ=XVDPPHQIDVVHQYRQ2SHUDWLRQHQ %LWZHLVH9HU] JHUXQJLVWNOHLQHUDOV GLH6XPPHGHU9HU] JHUXQJHQ EHU JHVDPWH%LWEUHLWH a b + + c - z d a+b +c -d Bits 6ns 8ns 9ns 3LSHOLQLQJ Latency: 4 Throughput: 1/4 Multiplizierer: 1 Latency: 4 Throughput: 1/1 Multiplizierer: 2 Latency: 4 Throughput: 1/2 Multiplizierer: 1

18 9RUWHLOHGHU%HKDYLRUDO%HVFKUHLEXQJ,PSOHPHQWDWLRQ 6FKQHOOHUH8PVHW]XQJYRQGHU6SH]LILNDWLRQ]XP&RGH &RGHLVWHLQIDFKHU]XYHUVWHKHQZHQLJHU'HWDLOV 6FKQHOOHUEHLP6LPXOLHUHQ :DUWXQJ,PHJHQVDW]]XP57/&RGHPXVVGHU%HKDYLRUDO&RGHQLFKW YHUlQGHUWZHUGHQEHL bqghuxqjhqyrq&rqvwudlqwv7dnwiuhtxhq]/dwhqf\7kurxjksxw :HFKVHOGHU7HFKQRORJLH/LEUDU\ 1HXH)XQNWLRQDOLWlWLVWHLQIDFKHUHLQ]XELQGHQ

19 9RUWHLOHGHU%HKDYLRUDO6\QWKHVH (LQH%HVFKUHLEXQJ!YHUVFKLHGHQH$UFKLWHNWXUHQ 'LHEHVWH$UFKLWHNWXUZLUGDXVJHZlKOWXQGLQV 'HVLJQHLQJHI JW (LQVSDUXQJDQ&KLSIOlFKHGDRSWLPDOH$UFKLWHNWXU JHZlKOWZHUGHQNDQQ.RQWUROO=XVWDQGVPDVFKLQHZLUGDXWRPDWLVFK HUVWHOOW 5HVVRXUFHQXQG5HJLVWHU6KDULQJJHVFKLHKW DXWRPDWLVFK 7LPHWR0DUNHWNDQQZHVHQWOLFKYHUN U]WZHUGHQ

20 (LQVDW]GHU%HKDYLRUDO6\QWKHVH 5HFKHQLQWHQVLYH$QZHQGXQJHQ '63$QZHQGXQJHQ 9LGHR(QFRGLQJ.RPSUHVVLRQV$OJRULWKPHQ 'HVLJQZHOFKHQLFKWDQGLH7HFKQRORJLHJUHQ]HQ VWRVVHQ 7DNWIUHTXHQ] 'HVLJQZHOFKHGLH0 JOLFKNHLWHQGHU%HKDYLRUDO 6\QWKHVHDXFKDXVQ W]HQN QQHQ 3LSHOLQLQJ 5HVRXUFHQ6KDULQJ

VHDL GUIDELINES FOR SYNTHESIS

VHDL GUIDELINES FOR SYNTHESIS VHDL GUIDELINES FOR SYNTHESIS Claudio Talarico For internal use only 1/19 BASICS VHDL VHDL (Very high speed integrated circuit Hardware Description Language) is a hardware description language that allows

More information

Using Xilinx ISE for VHDL Based Design

Using Xilinx ISE for VHDL Based Design ECE 561 Project 4-1 - Using Xilinx ISE for VHDL Based Design In this project you will learn to create a design module from VHDL code. With Xilinx ISE, you can easily create modules from VHDL code using

More information

Digital Design with VHDL

Digital Design with VHDL Digital Design with VHDL CSE 560M Lecture 5 Shakir James Shakir James 1 Plan for Today Announcement Commentary due Wednesday HW1 assigned today. Begin immediately! Questions VHDL help session Assignment

More information

Step : Create Dependency Graph for Data Path Step b: 8-way Addition? So, the data operations are: 8 multiplications one 8-way addition Balanced binary

Step : Create Dependency Graph for Data Path Step b: 8-way Addition? So, the data operations are: 8 multiplications one 8-way addition Balanced binary RTL Design RTL Overview Gate-level design is now rare! design automation is necessary to manage the complexity of modern circuits only library designers use gates automated RTL synthesis is now almost

More information

Online EFFECTIVE AS OF JANUARY 2013

Online EFFECTIVE AS OF JANUARY 2013 2013 A and C Session Start Dates (A-B Quarter Sequence*) 2013 B and D Session Start Dates (B-A Quarter Sequence*) Quarter 5 2012 1205A&C Begins November 5, 2012 1205A Ends December 9, 2012 Session Break

More information

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process) ECE 3401 Lecture 7 Concurrent Statements & Sequential Statements (Process) Concurrent Statements VHDL provides four different types of concurrent statements namely: Signal Assignment Statement Simple Assignment

More information

ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes (James.Barnes@colostate.edu)

ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes (James.Barnes@colostate.edu) ECE 451 Verilog Exercises Sept 14, 2007 James Barnes (James.Barnes@colostate.edu) Organization These slides give a series of self-paced exercises. Read the specification of each exercise and write your

More information

More Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset.

More Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset. More Verilog 8-bit Register with Synchronous Reset module reg8 (reset, CLK, D, Q); input reset; input [7:0] D; output [7:0] Q; reg [7:0] Q; if (reset) Q = 0; else Q = D; module // reg8 Verilog - 1 Verilog

More information

(1) /30 (2) /30 (3) /40 TOTAL /100

(1) /30 (2) /30 (3) /40 TOTAL /100 Your Name: SI Number: UNIVERSITY OF CALIFORNIA AT BERKELEY BERKELEY AVIS IRVINE LOS ANGELES RIVERSIE SAN IEGO SAN FRANCISCO epartment of Electrical Engineering and Computer Sciences SANTA BARBARA SANTA

More information

High-Level Synthesis for FPGA Designs

High-Level Synthesis for FPGA Designs High-Level Synthesis for FPGA Designs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer consultant Cereslaan 10b 5384 VT Heesch

More information

Coding Guidelines for Datapath Synthesis

Coding Guidelines for Datapath Synthesis Coding Guidelines for Datapath Synthesis Reto Zimmermann Synopsys July 2005 Abstract This document summarizes two classes of RTL coding guidelines for the synthesis of datapaths: Guidelines that help achieve

More information

Digital Design with Synthesizable VHDL

Digital Design with Synthesizable VHDL Digital Design with Synthesizable VHDL Prof. Stephen A. Edwards Columbia University Spring 2012 Combinational Logic in a Dataflow Style Hierarchy: Instantiating Components (entities) Combinational Logic

More information

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems Harris Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University MAH

More information

An Integer Square Root Algorithm

An Integer Square Root Algorithm An Integer Square Root Algorithm 71 Example 24 An Integer Square Root Algorithm The C algorithm shown in Fig. 2.8 performs an integer square root of the input a as shown in Table 2.1. Note from Table 2.1

More information

Lenguaje VHDL. Diseño de sistemas digitales secuenciales

Lenguaje VHDL. Diseño de sistemas digitales secuenciales Lenguaje VHDL Diseño de sistemas digitales secuenciales Flip-Flop D 1 entity d_ff is clk: in std_logic; d: in std_logic; q: out std_logic 2 end d_ff; P3 P1 5 Q D Q Q(t+1) 0 0 0 0 1 0 1 0 1 1 1 1 architecture

More information

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Detector & Electronics Division PPD Lectures Programmable Logic is Key Underlying Technology. First-Level and High-Level

More information

(1) D Flip-Flop with Asynchronous Reset. (2) 4:1 Multiplexor. CS/EE120A VHDL Lab Programming Reference

(1) D Flip-Flop with Asynchronous Reset. (2) 4:1 Multiplexor. CS/EE120A VHDL Lab Programming Reference VHDL is an abbreviation for Very High Speed Integrated Circuit Hardware Description Language, and is used for modeling digital systems. VHDL coding includes behavior modeling, structure modeling and dataflow

More information

A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach

A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach Mitchell A. Thornton 1 and Aaron S. Collins 2 Abstract A second undergraduate course in digital logic design

More information

Computer organization

Computer organization Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs

More information

CSE140: Components and Design Techniques for Digital Systems

CSE140: Components and Design Techniques for Digital Systems CE4: Components and esign Techniques for igital ystems Tajana imunic osing ources: Where we are now What we ve covered so far (Chap -5, App. A& B) Number representations Boolean algebra OP and PO Logic

More information

Floating point package user s guide By David Bishop (dbishop@vhdl.org)

Floating point package user s guide By David Bishop (dbishop@vhdl.org) Floating point package user s guide By David Bishop (dbishop@vhdl.org) Floating-point numbers are the favorites of software people, and the least favorite of hardware people. The reason for this is because

More information

Lecture 7: Clocking of VLSI Systems

Lecture 7: Clocking of VLSI Systems Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis

More information

AES (Rijndael) IP-Cores

AES (Rijndael) IP-Cores AES (Rijndael) IP-Cores Encryption/Decryption and Key Expansion Page 1 Revision History Date Version Description 24 February 2006 1.0 Initial draft. 15 March 2006 1.1 Block diagrams added. 26 March 2006

More information

VHDL programmering H2

VHDL programmering H2 VHDL programmering H2 VHDL (Very high speed Integrated circuits) Hardware Description Language IEEE standard 1076-1993 Den benytter vi!! Hvornår blev den frigivet som standard første gang?? Ca. 1980!!

More information

8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15

8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15 8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15 1 Overview RAID0 system uses multiple storages to extend total storage capacity and increase write/read performance to be N times. Assumed

More information

Cascaded Counters. Page 1 BYU

Cascaded Counters. Page 1 BYU Cascaded Counters Page 1 Mod-N Counters Generally we are interested in counters that count up to specific count values Not just powers of 2 A mod-n counter has N states Counts from 0 to N-1 then rolls

More information

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17 Life Cycle of a Memory Request (1) Use AQR or AQW to place address in AQ (2) If A[31]==0, check for hit in DCache Ring (3) Read Hit: place cache word in RQ; Write Hit: replace cache word with WQ RDDest/RDreturn

More information

Module-I Lecture-I Introduction to Digital VLSI Design Flow

Module-I Lecture-I Introduction to Digital VLSI Design Flow Design Verification and Test of Digital VLSI Circuits NPTEL Video Course Module-I Lecture-I Introduction to Digital VLSI Design Flow Introduction The functionality of electronics equipments and gadgets

More information

Understanding Verilog Blocking and Non-blocking Assignments

Understanding Verilog Blocking and Non-blocking Assignments Understanding Verilog Blocking and Non-blocking Assignments International Cadence User Group Conference September 11, 1996 presented by Stuart HDL Consulting About the Presenter Stuart has over 8 years

More information

HDL Simulation Framework

HDL Simulation Framework PPC-System.mhs CoreGen Dateien.xco HDL-Design.vhd /.v SimGen HDL Wrapper Sim-Modelle.vhd /.v Platgen Coregen XST HDL Simulation Framework RAM Map Netzliste Netzliste Netzliste UNISIM NetGen vcom / vlog.bmm.ngc.ngc.ngc

More information

Method for Multiplier Verication Employing Boolean Equivalence Checking and Arithmetic Bit Level Description

Method for Multiplier Verication Employing Boolean Equivalence Checking and Arithmetic Bit Level Description Method for Multiplier Verication Employing Boolean ing and Arithmetic Bit Level Description U. Krautz 1, M. Wedler 1, W. Kunz 1 & K. Weber 2, C. Jacobi 2, M. Panz 2 1 University of Kaiserslautern - Germany

More information

Hybrid ist Pflicht mit Ultimate/Reliable Scrum und Critical Chain zu einer hochskalierbaren agile Projektorganisation Praxisberichte

Hybrid ist Pflicht mit Ultimate/Reliable Scrum und Critical Chain zu einer hochskalierbaren agile Projektorganisation Praxisberichte Hybrid ist Pflicht mit Ultimate/Reliable Scrum und Critical Chain zu einer hochskalierbaren agile Projektorganisation Praxisberichte Wolfram Müller, 2015-10-23 Photo: Dan Nernay @ YachtPals.com 1 Wolfram

More information

Memory Elements. Combinational logic cannot remember

Memory Elements. Combinational logic cannot remember Memory Elements Combinational logic cannot remember Output logic values are function of inputs only Feedback is needed to be able to remember a logic value Memory elements are needed in most digital logic

More information

Arbitration and Switching Between Bus Masters

Arbitration and Switching Between Bus Masters February 2010 Introduction Reference Design RD1067 Since the development of the system bus that allows multiple devices to communicate with one another through a common channel, bus arbitration has been

More information

Digital Circuit Design Using Xilinx ISE Tools

Digital Circuit Design Using Xilinx ISE Tools Digital Circuit Design Using Xilinx ISE Tools Contents 1. Introduction... 1 2. Programmable Logic Device: FPGA... 2 3. Creating a New Project... 2 4. Synthesis and Implementation of the Design... 11 5.

More information

Design of Digital Circuits (SS16)

Design of Digital Circuits (SS16) Design of Digital Circuits (SS16) 252-0014-00L (6 ECTS), BSc in CS, ETH Zurich Lecturers: Srdjan Capkun, D-INFK, ETH Zurich Frank K. Gürkaynak, D-ITET, ETH Zurich Labs: Der-Yeuan Yu dyu@inf.ethz.ch Website:

More information

Digital Systems Design. VGA Video Display Generation

Digital Systems Design. VGA Video Display Generation Digital Systems Design Video Signal Generation for the Altera DE Board Dr. D. J. Jackson Lecture 12-1 VGA Video Display Generation A VGA signal contains 5 active signals Two TTL compatible signals for

More information

E158 Intro to CMOS VLSI Design. Alarm Clock

E158 Intro to CMOS VLSI Design. Alarm Clock E158 Intro to CMOS VLSI Design Alarm Clock Sarah Yi & Samuel (Tae) Lee 4/19/2010 Introduction The Alarm Clock chip includes the basic functions of an alarm clock such as a running clock time and alarm

More information

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications General Description The AES core implements Rijndael encoding and decoding in compliance with the NIST Advanced Encryption Standard. Basic core is very small (start at 800 Actel tiles). Enhanced versions

More information

12. A B C A B C A B C 1 A B C A B C A B C JK-FF NETr

12. A B C A B C A B C 1 A B C A B C A B C JK-FF NETr 2..,.,.. Flip-Flops :, Flip-Flops, Flip Flop. ( MOD)... -8 8, 7 ( ).. n Flip-Flops. n Flip-Flops : 2 n. 2 n, Modulo. (-5) -4 ( -), (-) - ( -).. / A A A 2 3 4 5 MOD-5 6 MOD-6 7 MOD-7 8 9 / A A A 2 3 4 5

More information

Lab 7: VHDL 16-Bit Shifter

Lab 7: VHDL 16-Bit Shifter Lab 7: VHDL 16-Bit Shifter Objectives : Design a 16-bit shifter which need implement eight shift operations: logic shift right, logic shift left, arithmetic shift right, arithmetic shift left, rotate right,

More information

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();

More information

State Machines in VHDL

State Machines in VHDL State Machines in VHDL Implementing state machines in VHDL is fun and easy provided you stick to some fairly well established forms. These styles for state machine coding given here is not intended to

More information

A Verilog HDL Test Bench Primer Application Note

A Verilog HDL Test Bench Primer Application Note A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2

More information

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation

More information

Chapter 9 Computer Design Basics!

Chapter 9 Computer Design Basics! Logic and Computer Design Fundamentals Chapter 9 Computer Design Basics! Part 2 A Simple Computer! Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode)

More information

CHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS

CHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS CHAPTER IX-1 CHAPTER IX CHAPTER IX COUNTERS, SHIFT, AN ROTATE REGISTERS REA PAGES 249-275 FROM MANO AN KIME CHAPTER IX-2 INTROUCTION -INTROUCTION Like combinational building blocks, we can also develop

More information

VHDL Test Bench Tutorial

VHDL Test Bench Tutorial University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate

More information

A Practical Parallel CRC Generation Method

A Practical Parallel CRC Generation Method F EATURE ARTICLE by Evgeni Stavinov A Practical Parallel CRC Generation Method Do you understand the mechanics of the cyclic redundancy check (CRC) well enough to build a customized parallel CRC circuit

More information

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description 8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description The B32CDM8, B48CDM8 and the B64CDM8 are 8 by 8 (row by column) dot matrix LED displays combined

More information

Chapter 2 Ensuring RTL Intent

Chapter 2 Ensuring RTL Intent Chapter 2 Ensuring RTL Intent A user starts the design of his block, by describing the functionality of the block in the form of RTL. The RTL code is then synthesized to realize the gate level connectivity

More information

Distributed Elastic Switch Architecture for efficient Networks-on-FPGAs

Distributed Elastic Switch Architecture for efficient Networks-on-FPGAs Distributed Elastic Switch Architecture for efficient Networks-on-FPGAs Antoni Roca, Jose Flich Parallel Architectures Group Universitat Politechnica de Valencia (UPV) Valencia, Spain Giorgos Dimitrakopoulos

More information

Getting the Most Out of Synthesis

Getting the Most Out of Synthesis Outline Getting the Most Out of Synthesis Dr. Paul D. Franzon 1. Timing Optimization Approaches 2. Area Optimization Approaches 3. Design Partitioning References 1. Smith and Franzon, Chapter 11 2. D.Smith,

More information

Chapter 4 Fundamentals of High Level Synthesis

Chapter 4 Fundamentals of High Level Synthesis Chapter 4 Fundamentals of High Level Synthesis Introduction One of the common misconceptions held by people is that synthesizing hardware from C++ provides users the freedom of expressing their algorithms

More information

CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni

CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE Ioan Lemeni Computer and Communication Engineering Department Faculty of Automation, Computers and Electronics University of Craiova 13, A.I. Cuza, Craiova,

More information

case Statement //8-wide, 4:1 multiplexer module case1 ( input [7:0] a_in, b_in, c_in, d_in, input [1:0] sel, output logic [7:0] d_out);

case Statement //8-wide, 4:1 multiplexer module case1 ( input [7:0] a_in, b_in, c_in, d_in, input [1:0] sel, output logic [7:0] d_out); Nesting if past two levels is error prone and possibly inefficient. case excels when many tests are performed on the same expression. case works well for muxes, decoders, and next state logic. SVerilog

More information

Hardware Implementations of RSA Using Fast Montgomery Multiplications. ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner

Hardware Implementations of RSA Using Fast Montgomery Multiplications. ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner Hardware Implementations of RSA Using Fast Montgomery Multiplications ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner Overview Introduction Functional Specifications Implemented Design and Optimizations

More information

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one

More information

EE361: Digital Computer Organization Course Syllabus

EE361: Digital Computer Organization Course Syllabus EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)

More information

From VHDL to FPGA jagron@ittc.ku.edu, enno.luebbers@upb.de

From VHDL to FPGA jagron@ittc.ku.edu, enno.luebbers@upb.de From VHDL to FPGA #1: VHDL simulation Jason Agron University of Kansas Enno Lübbers University of Paderborn jagron@ittc.ku.edu, enno.luebbers@upb.de 1 Field-Programmable Gate Arrays (FPGAs) Fine-grained

More information

RTL Low Power Techniques for System-On-Chip Designs

RTL Low Power Techniques for System-On-Chip Designs RTL Low Power Techniques for System-On-Chip Designs Mike Gladden Motorola, Inc. Austin, TX rwdb80@email.sps.mot.com Indraneel Das Synopsys, Inc. Austin, TX ineel@synopsys.com ABSTRACT Low power design

More information

Quartus II Introduction for VHDL Users

Quartus II Introduction for VHDL Users Quartus II Introduction for VHDL Users This tutorial presents an introduction to the Quartus II software. It gives a general overview of a typical CAD flow for designing circuits that are implemented by

More information

Memory unit. 2 k words. n bits per word

Memory unit. 2 k words. n bits per word 9- k address lines Read n data input lines Memory unit 2 k words n bits per word n data output lines 24 Pearson Education, Inc M Morris Mano & Charles R Kime 9-2 Memory address Binary Decimal Memory contents

More information

Finite State Machine Design and VHDL Coding Techniques

Finite State Machine Design and VHDL Coding Techniques Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,

More information

Chapter 13: Verification

Chapter 13: Verification Chapter 13: Verification Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008-2010,

More information

Contents. What is Wirtschaftsmathematik?

Contents. What is Wirtschaftsmathematik? Contents. Introduction Modeling cycle SchokoLeb example Graphical procedure Standard-Form of Linear Program Vorlesung, Lineare Optimierung, Sommersemester 04 Page What is Wirtschaftsmathematik? Using mathematical

More information

The implementation and performance/cost/power analysis of the network security accelerator on SoC applications

The implementation and performance/cost/power analysis of the network security accelerator on SoC applications The implementation and performance/cost/power analysis of the network security accelerator on SoC applications Ruei-Ting Gu grating@eslab.cse.nsysu.edu.tw Kuo-Huang Chung khchung@eslab.cse.nsysu.edu.tw

More information

Introduction. Jim Duckworth ECE Department, WPI. VHDL Short Course - Module 1

Introduction. Jim Duckworth ECE Department, WPI. VHDL Short Course - Module 1 VHDL Short Course Module 1 Introduction Jim Duckworth ECE Department, WPI Jim Duckworth, WPI 1 Topics Background to VHDL Introduction to language Programmable Logic Devices CPLDs and FPGAs FPGA architecture

More information

Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows

Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows Manual Assertion Creation is ABV Bottleneck Assertion-Based Verification adopted by leading design companies

More information

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann Chapter 7 Registers & Register Transfers J. J. Shann J.J. Shann Chapter Overview 7- Registers and Load Enable 7-2 Register Transfers 7-3 Register Transfer Operations 7-4 A Note for VHDL and Verilog Users

More information

Review: MIPS Addressing Modes/Instruction Formats

Review: MIPS Addressing Modes/Instruction Formats Review: Addressing Modes Addressing mode Example Meaning Register Add R4,R3 R4 R4+R3 Immediate Add R4,#3 R4 R4+3 Displacement Add R4,1(R1) R4 R4+Mem[1+R1] Register indirect Add R4,(R1) R4 R4+Mem[R1] Indexed

More information

D7024 Fire Alarm Control Panels Software Version V2.06

D7024 Fire Alarm Control Panels Software Version V2.06 D7024 Fire Alarm Control Panels Software Version V2.06 Program Record Sheet Account Information: Account: Date: Name: Address: Panel Phone #: Contact Phone #: Contact Person: Comments: Panel Location:

More information

Interfacing Analog to Digital Data Converters

Interfacing Analog to Digital Data Converters Converters In most of the cases, the PIO 8255 is used for interfacing the analog to digital converters with microprocessor. We have already studied 8255 interfacing with 8086 as an I/O port, in previous

More information

Design Verification & Testing Design for Testability and Scan

Design Verification & Testing Design for Testability and Scan Overview esign for testability (FT) makes it possible to: Assure the detection of all faults in a circuit Reduce the cost and time associated with test development Reduce the execution time of performing

More information

Vivado Design Suite Tutorial

Vivado Design Suite Tutorial Vivado Design Suite Tutorial High-Level Synthesis UG871 (v2012.2) August 20, 2012 Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and

More information

APPLICATION SETUP DOCUMENT

APPLICATION SETUP DOCUMENT APPLICATION SETUP DOCUMENT HeiTek Software Development GmbH Add-Ons Oracle Application Change Layout in Receiving Personalisation Example Ref Prepared by HeiTek Software Development GmbH Author: : Georg

More information

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012 Latches, the D Flip-Flop & Counter Design ECE 52A Winter 22 Reading Assignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7. Basic Latch 7.2 Gated SR Latch 7.2. Gated SR

More information

VHDL Reference Manual

VHDL Reference Manual VHDL Reference Manual 096-0400-003 March 1997 Synario Design Automation, a division of Data I/O, has made every attempt to ensure that the information in this document is accurate and complete. Synario

More information

FPGA Implementation of a Hybrid On-line Process Monitoring in PC Based Real-Time Systems*

FPGA Implementation of a Hybrid On-line Process Monitoring in PC Based Real-Time Systems* SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 8, No. 1, February 2011, 37-51 UDK: 004.383.3 FPGA Implementation of a Hybrid On-line Process Monitoring in PC Based Real-Time Systems* Bojan Jovanović 1,

More information

Applications of Fermat s Little Theorem and Congruences

Applications of Fermat s Little Theorem and Congruences Applications of Fermat s Little Theorem and Congruences Definition: Let m be a positive integer. Then integers a and b are congruent modulo m, denoted by a b mod m, if m (a b). Example: 3 1 mod 2, 6 4

More information

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation SC13 + DK51 From the electronic to the automation 20.07.2005 No. 1 /14 Development board for Embedded Controller Open for add on of customer applications Ethernet-interface Serielle interface Compact flash

More information

Generating MIF files

Generating MIF files Generating MIF files Introduction In order to load our handwritten (or compiler generated) MIPS assembly problems into our instruction ROM, we need a way to assemble them into machine language and then

More information

Sprites in Block ROM

Sprites in Block ROM Sprites in Block ROM 1 Example 37 Sprites in Block ROM In Example 36 we made a sprite by storing the bit map of three initials in a VHDL ROM. To make a larger sprite we could use the Core Generator to

More information

Combinational circuits

Combinational circuits Combinational circuits Combinational circuits are stateless The outputs are functions only of the inputs Inputs Combinational circuit Outputs 3 Thursday, September 2, 3 Enabler Circuit (High-level view)

More information

Engr354: Digital Logic Circuits

Engr354: Digital Logic Circuits Engr354: igital Circuits Chapter 7 Sequential Elements r. Curtis Nelson Sequential Elements In this chapter you will learn about: circuits that can store information; Basic cells, latches, and flip-flops;

More information

Kap. 2. Transport - Schicht

Kap. 2. Transport - Schicht Kap. 2 Transport - Schicht 2-2 Transport-Schicht Transport-Schicht: bietet eine logische Kommunikation zw. Anwendungen TCP: - Verbindungsorientiert mittels 3-Way-Handshake - zuverlässiger Datentransport

More information

Modeling Latches and Flip-flops

Modeling Latches and Flip-flops Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,

More information

Efficient Teaching of Digital Design with Automated Assessment and Feedback

Efficient Teaching of Digital Design with Automated Assessment and Feedback Efficient Teaching of Digital Design with Automated Assessment and Feedback 1 Paul W. Nutter, Member, IEEE, 2 Vasilis F. Pavlidis, Member, IEEE, and 2 Jeffrey Pepper 1 Nano Engineering and Storage Technology

More information

24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales FEATURES S8550 VFB. Analog Supply Regulator. Input MUX. 24-bit Σ ADC. PGA Gain = 32, 64, 128

24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales FEATURES S8550 VFB. Analog Supply Regulator. Input MUX. 24-bit Σ ADC. PGA Gain = 32, 64, 128 24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales DESCRIPTION Based on Avia Semiconductor s patented technology, HX711 is a precision 24-bit analogto-digital converter (ADC) designed for weigh

More information

LogiCORE IP AXI Performance Monitor v2.00.a

LogiCORE IP AXI Performance Monitor v2.00.a LogiCORE IP AXI Performance Monitor v2.00.a Product Guide Table of Contents IP Facts Chapter 1: Overview Target Technology................................................................. 9 Applications......................................................................

More information

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs Principles of VLSI esign Sequential Circuits Sequential Circuits Combinational Circuits Outputs depend on the current inputs Sequential Circuits Outputs depend on current and previous inputs Requires separating

More information

SPI Flash Programming and Hardware Interfacing Using ispvm System

SPI Flash Programming and Hardware Interfacing Using ispvm System March 2005 Introduction Technical Note TN1081 SRAM-based FPGA devices are volatile and require reconfiguration after power cycles. This requires external configuration data to be held in a non-volatile

More information

Lernsituation 9. Giving information on the phone. 62 Lernsituation 9 Giving information on the phone

Lernsituation 9. Giving information on the phone. 62 Lernsituation 9 Giving information on the phone Fachkunde 1, Lernfeld 2, Useful Office Vocabulary Lernsituation 9 Giving information on the phone Rolf astian, Managing Director of E Partners KG, recently visited the Promo World Fair in Düsseldorf, an

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

Topics. Flip-flop-based sequential machines. Signals in flip-flop system. Flip-flop rules. Latch-based machines. Two-sided latch constraint

Topics. Flip-flop-based sequential machines. Signals in flip-flop system. Flip-flop rules. Latch-based machines. Two-sided latch constraint Topics Flip-flop-based sequential machines! Clocking disciplines. Flip-flop rules! Primary inputs change after clock (φ) edge.! Primary inputs must stabilize before next clock edge.! Rules allow changes

More information

Verteilte Systeme 3. Dienstevermittlung

Verteilte Systeme 3. Dienstevermittlung VS32 Slide 1 Verteilte Systeme 3. Dienstevermittlung 3.2 Prinzipien einer serviceorientierten Architektur (SOA) Sebastian Iwanowski FH Wedel VS32 Slide 2 Prinzipien einer SOA 1. Definitionen und Merkmale

More information

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements

More information

Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays

Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 5, Issue, Ver. III (Jan - Feb. 205), PP 0- e-issn: 239 4200, p-issn No. : 239 497 www.iosrjournals.org Design and Analysis of Parallel AES

More information

Architectures and Platforms

Architectures and Platforms Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation

More information