Embedded System Design. Embedded System Design Modeling, Synthesis, Verification

Size: px
Start display at page:

Download "Embedded System Design. Embedded System Design Modeling, Synthesis, Verification"

Transcription

1 Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 5/25/2 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 2

2 HW Synthesis Design Flow Specification Compilation Estimation HLS Model generation Logic synthesis Layout RTL Component Library Compilation Tool Model Estimation HLS Allocation Binding Scheduling Model Generation RTL Model RTL Tools... 5/25/2 3 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 4 2

3 RTL Architecture ler FSM controller Programmable controller Datapath components Storage components Functional units Connection components Pipelining Functional unit Datapath Structure Chaining Multicycling li Forwarding Branch prediction Caching 5/25/2 5 RTL Architecture with FSM ler Simple architecture Small number of states Inputs Data Inputs put Logic Signals B B2 RF Input Logic Statust Signals ALU MUL Memory FSM ler puts B3 Datapath Data puts 5/25/2 6 3

4 RTL Architecture with Programmable ler Complex architecture and datapath pipelining Advanced structural features Large number of states (CW or IS) Inputs Data Inputs PC Cmem or PMem IR or CWR Signals B B2 RF Offset AG Status Address SR ALU MUL Memory Programmable ler B3 Datapath puts Data Inputs 5/25/2 7 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 8 4

5 Input Specification Programg language (C/C, ) Programg semantics requires presynthesis optimization System description language (SystemC, ) Simulation semantics requires presynthesis optimization /Data flow graph (CDFG) CDFG generation requires dependence analysis Finite state machine with data (FSMD) State interpretation requires some kind of scheduling RTL netlist RTL design that requires only input and output logic synthesis Hardware description language (Verilog / VHDL) HDL description requires RTL library and logic synthesis 5/25/2 9 C Code for Ones Counter Programg language semantics Sequential execution, Coding style to imize coding HW design Parallel execution, Communication through signals : int OnesCounter(int Data){ 2: int Ocount = ; 3: int Temp, Mask = ; 4: while (Data > ) { 5: Temp = Data & Mask; 6 Ocount = Ocount Temp; 7: Data >>= ; 8: } 9: return Ocount; : } Functionbased C code : while() { 2: while (Start == ); 3: Done = ; 4: Data = Input; 5: Ocount = ; 6: Mask = ; 7: while (Data>) { 8: Temp = Data & Mask; 9: Ocount = Ocount Temp; : Data >>= ; : } 2: put = Ocount; 3: Done = ; 4: } RTLbased C code 5/25/2 5

6 CDFG for Ones Counter /Data flow graph Resembles programg g language g Loops, ifs, basic blocks (BBs) Explicit dependencies dependences between BBs Data dependences inside BBs Missing dependencies between BBs Start Input Data MaskOcount Done Data Mask Ocount Done & >> Data Ocount Done Data > put Done 5/25/2 FSMD for Ones Counter FSMD more detailed then CDFG States may represent clock cycles Conditionals and statements executed concurrently All statement in each state executed concurrently signal and variable assignments executed concurrently FSMD includes scheduling FSMD doesn't specify binding or connectivity 5/25/2 2 6

7 CDFG and FSMD for Ones Counter 5/25/2 3 RTL Specification for Ones Counter RTL Specification Input logic table Present Inputs: Next put: State Start Data = State Done S S S S S ler and datapath netlist Input and output tables for logic synthesis RTL library needed for netlist S7 S7 S Start Inport put logic table (RF[] = Data, RF[] = Mask, RF[2] = Ocount, RF[3] = Temp) put Logic Signals B B2 RF State RF Read Port A RF Read Port B ALU Shifter RF selector RF Write port S Z S Inport RF[] Z RF[2] RF[2] subtract pass B3 RF[2] Z Input Logic status Shifter ALU RF[2] increment pass B3 RF[] Z RF[] RF[] AND pass B3 RF[3] Z FSM ler B3 Datapath RF[2] RF[3] add pass B3 RF[2] Z Done port RF[] pass shift right B3 RF[] Z S7 RF[2] disable enable 5/25/2 4 7

8 HDL description of Ones Counter HDL description Same as RTL description Several levels of abstraction Variable binding to storage Operation binding to FUs Transfer binding to connections Partial HLS may be needed ler and datapath netlists must be generated : // 2: always@(posedge clk) 3: begin : output_logic 4: case (state) 5: // 6: : begin 7: B = RF[]; 8: B2 = RF[]; 9: B3 = alu(b, B2, l_and); : RF[3] = B3; : next_state = ; 2: end 3: // 4: S7: begin 5: B = RF[2]; 6: port <= B; 7: done <= ; 8: next_state = S; 9: end 2: endcase 2: end 22: endmodule 5/25/2 5 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 6 8

9 Profiling and Estimation Presynthesis optimization Preliary scheduling Simple scheduling algorithm Profiling Operation usage Variable lifetimes Connection usage Estimation Performance Cost Power 5/25/2 7 SquareRoot Algorithm (SRA) S a = In b = In2 SQR = ((.875x.5y), x) Start x = (, ) y = (, ) S t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> t5 = x t3 t6 = t4 t5 t7 = ( t6, x ) S7 Done = = t7 5/25/2 8 9

10 Variable and Operation Usage S S7 a b t t2 x y t3 t4 t5 t6 t7 No. of live variables S S7 Variable usage Max. no. of units abs 2 2 >> 2 2 No. of operations 2 2 Operation usage S S S7 a = In b = In2 Start t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> t5 = x t3 t6 = t4 t5 t7 = ( t6, x ) Done = = t7 5/25/2 9 Connectivity usage S S7 Max. no. of units S a = In b = In2 abs 2 2 >> 2 2 No. of 2 2 operations a b t t2 x y t3 t4 t5 t6 t7 Operation usage S Start t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> abs I O t5 = x t3 abs2 I O I I O t6 = t4 t5 I I I O I O >>3 I O >> I O I I O I I O Connectivity usage S7 t7 = ( t6, x ) Done = = t7 5/25/2 2

11 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 2 Datapath Synthesis Variable Merging (Storage Sharing) Operation Merging (FU Sharing) Connection Merging (Bus Sharing) Register merging (RF sharing) Chaining and MultiCycling Data and Pipelining 5/25/2 22

12 Gain in register sharing Register sharing Grouping variables with nonoverlapping lifetimes Sharing reduces connectivity cost a c b d a, c b, d x y x, y Partial FSMD Datapath without register sharing Datapath with register sharing 5/25/2 23 General partitioning algorithm Compatibility graph Compatibility: Nonoverlapping in time Not using the same resource Noncompatible: Overlapping in time Using the same resource Priority Critical path Same source, same destination no Start Create compatibility graph Merge highest priority nodes Upgrade compatibility graph All nodes incompatible yes Stop 5/25/2 24 2

13 / Variable Merging for SRA / / S a = In b = In2 Start (a) Initial compatibility graph / (b) Compatibility graph after merging t3, t5, and t6 S t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> t5 = x t3 t6 = t4 t5 (c) Compatibility graph after merging t, x, and t7 S7 t7 = ( t6, x ) Done = = t7 5/25/2 25 Variable Merging for SRA / / a t4 / t2 y t3 t5 t6 b t x t7 (a) Initial compatibility graph / (d) Compatibility graph after merging t2 and y (b) Compatibility graph after merging t3, t5, and t6 (e) Final compatibility graph R = [ a, t, x, t7 ] R2 = [ b, t2, y, t3, t5, t6 ] R3 = [ t4 ] (c) Compatibility graph after merging t, x, and t7 (f) Final register assignments 5/25/2 26 3

14 / Variable Merging for SRA / / / (a) Initial compatibility graph (b) Compatibility graph after merging t3, t5, and t6 (c) Compatibility graph after merging t, x, and t7 (d) Compatibility graph after merging t2 and y R = [ a, t, x, t7 ] R2 = [ b, t2, y, t3, t5, t6 ] R3 = [ t4 ] (e) Final compatibility graph (f) Final register assignments 5/25/2 27 Datapath with Shared Registers Variables combined into registers One functional unit for each operation R R2 R3 a b >> >>3 5/25/2 28 4

15 Gain in Functional Unit Sharing Functional unit sharing Smaller number of FUs Larger connectivity cost Si x = a b a c b d Sj y = c d x / y Partial FSMD Nonshared design Shared design 5/25/2 29 Operation Merging for SRA / / / / / / 2/ / / / / 2/ / Initial compatibility graph / / / / / / 2/ 2/ Compatibility graph after merging of and 5/25/2 3 5

16 Operation Merging for SRA / / / / / / 2/ / / / / 2/ / Initial compatibility graph Compatibility graph after merging of, and / / / / / / 2/ 2/ Compatibility graph after merging of and Final graph partitions 5/25/2 3 Datapath with Shared Registers and FUs Variables combined into registers Operations combined into functional units R R2 R3 abs/ abs/// >> >>3 5/25/2 32 6

17 Connection usage for SRA S a = In b = In2 Start S S S7 A B C D E F G H I J K L M N Connection usage table Merge connections into buses S S7 t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> t5 = x t3 t6 = t4 t5 t7 = ( t6, x ) Done = = t7 5/25/2 33 Connection Merging for SRA Combine connection not used at the same time Priority to same source, same destination Priority to imum groups M I K S S S7 A B C D E F G H I J K L M N Connection usage table J L N Compatibility graph for input buses Compatibility graph for output buses Bus assignment 5/25/2 34 7

18 Datapath with Shared Registers, FUs and Buses Minimal SRA architecture 3 registers 4 (2) functional units 4b buses 5/25/2 35 Register Merging into RFs Register merging: Port sharing Merge registers with nonoverlapping access times No of ports is equal to simultaneous read/write accesses Register assignment R R2 R R2 R3 S S S7 Register access table S S a = In b = In2 Start t = t2 = x = ( t, t2 ) y = ( t, t2 ) t3 = x >> 3 t4 = y >> t5 = x t3 t6 = t4 t5 t7 = ( t6, x ) R3 Compatibility graph S7 Done = = t7 5/25/2 36 8

19 Datapath with Shared RF RF imize connectivity cost by sharing ports In In2 R R3 R2 Bus Bus2 abs/ abs/// H >>3 >> Bus3 Bus4 5/25/2 37 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 38 9

20 Datapath with Chaining Chaining connects two or more FUs S a = In b = In2 Allows execution of two or more operation in a single clock cycle Improves performance at no cost S Start = t = t2 = x = ( t, t2 ) t3 = ( t, t2 )>>3 t4 = ( t, t2 )>> t5 = x t3 t6 = t4 t5 t7 = ( t6, x ) Done = In 2 = t7 5/25/2 39 Datapath with Chained and MultiCycled FUs S a = In b = In2 Start Multicycling allows use of slower FUs Multicycling allows faster clockcycle S t = t2 = x = ( t, t2 ) t3 = ( t, t2 )>>3 [t4]= ( t, t2 )>> t4 = [ ( t, t2 ) >>] Bus Bus 2 In In 2 R R2 R3 t5 = x t3 abs/ abs// t6 = t4 t5 Bus 3 >>3 >> t7 = In ( 2t6, x ) Bus 4 S7 Done = = t7 5/25/2 4 2

21 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 4 Pipelining Functional Unit pipelining Two or more operation executing at the same time Datapath pipelining Two or more register transfers executing at the same time Pipelining Two or more instructions generated at the same time 5/25/2 42 2

22 Functional Unit Pipelining () Operation delay cut in half Shorter clock cycle Dependencies may delay some states Extra NO states reduce performance gain 5/25/2 43 Functional Unit Pipelining (2) Tig diagram with 4 additional NO states S S NO NO NO S7 NO S8 Read R a t t t7 Read R2 b t2 t2 t3 t5 t6 Read R3 t4 ALU stage ALU stage 2 Shifters >>3 >> Write R a t x t7 Write R2 b t2 t3 t5 t6 Write R3 t4 Write t7 5/25/

23 Datapath Pipelining () Registertoregister delay cut in equal parts Much shorter clock cycle Dependencies may delay some states Extra NO states reduce performance gain In In2 R R2 R3 Bus Bus2 ALU Bus3 Bus4 >>3 >> 5/25/2 45 Datapath pipelining (2) S a = In b = In2 In In2 R R2 R3 S Start t = x = ( t, t2 ) t3 = ( t, t2 )>>3 t4 = ( t, t2 )>> t2 = t5 = x t3 t6 = t4 t5 Bus Bus2 ALU >>3 >> Bus3 Bus4 Tig diagram with additional NO clock cycles Cycles Read R a t t x x t7 Read R2 b t2 t2 t3 t5 t6 Read R3 t4 ALUIn(L) a t t x t4 x ALUIn(R) b t2 t2 t3 t5 t6 ALU S7 t7 = ( t6, x ) S8 Done = In 2 = t7 Shifters >>3 >> Write R a t x t7 Write R2 b t2 t3 t5 t6 Write R3 t4 Write t7 5/25/

24 Datapath and Pipelining () Fetch delay cut into several parts Shorter clock cycle Conditionals may delay some states Extra NO states reduce performance gain Inputs signals Data Inputs S PC CMem CWR Register RF Mem Bus a>b x = c d AG Offset Status Signals ALU / Bus2 SR Bus3 y = x ler puts Register Data puts Datapath 5/25/2 47 Data and Pipelining (2) Inputs signals Data Inputs 3 NO cycles for the branch 2 NO cycles for data dependence PC AG CMem Offset CWR Status Signals Register ALU RF Mem Bus Bus2 / SR Bus3 S a>b y = x x = c d ler puts Register Data puts Datapath Tig diagram with additional NO clock cycles Cycle Operation Read PC Read CWR S NO NO NO NO NO Read RF(L) a c x Read RF(R) b d Write ALUIn(L) a c x Write ALUIn(R) b d Write ALU cd x Write RF x y Write SR a>b Write PC 2 3 4/ /25/

25 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 49 Scheduling Scheduling assigns clock cycles to register transfers Nonconstrained scheduling ASAP scheduling ALAP scheduling Constrained scheduling Resource constrained (RC) scheduling Given resources, imize metrics (time, power, ) Time constrained (TC) scheduling Given time, imize resources (FUs, storage, connections) 5/25/2 5 25

26 C and CDFG for SRA Algorithm a=in b=in2 Start t= t2= x=(t,t2) y=(t,t2) t3=x>>3 t4=y>> t5=xt3 t6=t4t5 t4 t5 t7=(t6,x) Done= =t7 In In 2 a b Start a b >> >>3 Done C flowchart CDFG 5/25/2 5 ASAP and ALAP Scheduling In In 2 a b a b a b S Start a b >> >>3 >> >>3 >> >>3 S7 S8 Done ASAP schedule ALAP schedule 5/25/

27 RC Scheduling Perfrom ASAP a b a b In In 2 a b Start S Perfrom ALAP Detere mobilities a b >> >>3 >> >>3 Create ready list Sort ready list by mobilities >> >>3 S7 Schedule ops from ready list Delete scheduled ops from ready list Add new ops to ready list Done S8 ASAP schedule ALAP schedule no Increment state index All ops scheduled? yes 5/25/2 53 RC Scheduling Perfrom ASAP a b a b a b Perfrom ALAP S Detere mobilities Create ready list >> >>3 >>3 Sort ready list by mobilities >> >>3 >>3 Schedule ops from ready list Delete scheduled ops from ready list Add new ops to ready list S7 S8 >> >> no Increment state index All ops scheduled? yes ASAP schedule ALAP schedule Ready list with mobilities (ALAP ASAP) RC schedule (for single FU and 2 shifters) 5/25/

28 TC Scheduling Perform ASAP a b a b AU units Probability sum/state Shift units Perform ALAP S S Detere mobilities ranges.83 Create probability distribution graphs >> >>3 >> no All ops scheduled? yes >>.33 no Any gain? yes Schedule op with imum gain S7 S7.5 Schedule op with imum loss S8 ASAP ALAP Initial probability distribution graph 5/25/2 55 Distribution Graphs for TC scheduling Initial probability distribution graph Graph after,, and were scheduled 5/25/

29 Distribution Graphs for TC scheduling AU units Probability sum/state Shift units S >> >>3 >> S7 Graph after,, and were scheduled Graph after,,,, >>3, and >> were scheduled 5/25/2 57 Distribution Graphs for TC scheduling AU units Probability sum/state Shift units AU units Probability sum/state Shift units S S >>3 >>3 >> >> S7 S7 Graph after,,,, >>3, and >> were scheduled Distribution graph for final schedule 5/25/

30 TC Scheduling a b a b a b In In 2 S a b Start a b >> >>3 >>3 >>3 >> >> >> >>3 S7 Done S8 ASAP ALAP TC schedule 5/25/2 59 Hardware Synthesis Design flow RTL architecture Input specification Specification profiling Highlevel synthesis Chaining and multicycling Data and control pipelining Scheduling Component interfacing Conclusions 5/25/2 6 3

31 Interface Synthesis Combine process and channel codes HW and protocol clock cycles may differ Insert a businterface component Communication in three parts: Freely schedulable code Scheduled with process code Schedule constrained code MAC driver from library for selected bus interface Bus interface Implemented by bus interface component from library 5/25/2 6 Bus Interface ler () ler Datapath CMem signals Reg RF Mem offset Bus Bus 2 AG Status signals ALU / ready ack Cntrl Addr Data InData Input logic put logic signals Bus 3 Bus 4 Address INC Write Queue Read Queue MAC driver REQUEST GRANT CONTROL ADDRESS DATA 5/25/2 62 3

32 Bus Interface ler (2) ler Datapath CMem signals Reg RF Mem Bus offset Bus 2 AG Status signals ALU / Bus 3 Bus 4 ready ack Cntrl Addr Data InData signals put logic Write Read Queue Queue Input Address logic INC MAC driver REQUEST GRANT CONTROL ADDRESS DATA Bus protocol 5/25/2 63 Transducer/ Bridge Translates one protocol into another ler receives data with protocol and writes into queue ler2 reads from queue and sends data with protocol2 PE Bus Bus 2 Transducer PE2 Interrupt Ready Ack Interrupt2 Processor <clk> ler <clk> Ready2 Ack2 ler2 <clk2> Processor2 <clk2> Data Data2 Memory Queue <clk3> Memory2 5/25/

33 Conclusion Synthesis techniques Variable Merging (Storage Sharing) Operation Merging (FU Sharing) Connection Merging (Bus Sharing) Architecture techniques Chaining and MultiCycling Data and Pipelining Forwarding and Caching Scheduling Metric constrained scheduling Interfacing Part of HW component Bus interface unit If too complex, use partial order 5/25/

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

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

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

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

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic Clifford Wolf, Johann Glaser, Florian Schupfer, Jan Haase, Christoph Grimm Computer Technology /99 Overview Ultra-Low-Power

More information

Digital Systems Design! Lecture 1 - Introduction!!

Digital Systems Design! Lecture 1 - Introduction!! ECE 3401! Digital Systems Design! Lecture 1 - Introduction!! Course Basics Classes: Tu/Th 11-12:15, ITE 127 Instructor Mohammad Tehranipoor Office hours: T 1-2pm, or upon appointments @ ITE 441 Email:

More information

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,

More information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2 Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

More information

PROBLEMS #20,R0,R1 #$3A,R2,R4

PROBLEMS #20,R0,R1 #$3A,R2,R4 506 CHAPTER 8 PIPELINING (Corrisponde al cap. 11 - Introduzione al pipelining) PROBLEMS 8.1 Consider the following sequence of instructions Mul And #20,R0,R1 #3,R2,R3 #$3A,R2,R4 R0,R2,R5 In all instructions,

More information

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition A Tutorial Approach James O. Hamblen Georgia Institute of Technology Michael D. Furman Georgia Institute of Technology KLUWER ACADEMIC PUBLISHERS Boston

More information

Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches:

Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches: Multiple-Issue Processors Pipelining can achieve CPI close to 1 Mechanisms for handling hazards Static or dynamic scheduling Static or dynamic branch handling Increase in transistor counts (Moore s Law):

More information

EVALUATION OF SCHEDULING AND ALLOCATION ALGORITHMS WHILE MAPPING ASSEMBLY CODE ONTO FPGAS

EVALUATION OF SCHEDULING AND ALLOCATION ALGORITHMS WHILE MAPPING ASSEMBLY CODE ONTO FPGAS EVALUATION OF SCHEDULING AND ALLOCATION ALGORITHMS WHILE MAPPING ASSEMBLY CODE ONTO FPGAS ABSTRACT Migration of software from older general purpose embedded processors onto newer mixed hardware/software

More information

CPU Organisation and Operation

CPU Organisation and Operation CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program

More information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and

More information

9/14/2011 14.9.2011 8:38

9/14/2011 14.9.2011 8:38 Algorithms and Implementation Platforms for Wireless Communications TLT-9706/ TKT-9636 (Seminar Course) BASICS OF FIELD PROGRAMMABLE GATE ARRAYS Waqar Hussain firstname.lastname@tut.fi Department of Computer

More information

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University cwliu@twins.ee.nctu.edu.

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University cwliu@twins.ee.nctu.edu. Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University cwliu@twins.ee.nctu.edu.tw Review Computers in mid 50 s Hardware was expensive

More information

ARM Microprocessor and ARM-Based Microcontrollers

ARM Microprocessor and ARM-Based Microcontrollers ARM Microprocessor and ARM-Based Microcontrollers Nguatem William 24th May 2006 A Microcontroller-Based Embedded System Roadmap 1 Introduction ARM ARM Basics 2 ARM Extensions Thumb Jazelle NEON & DSP Enhancement

More information

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor data

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

TIMING DIAGRAM O 8085

TIMING DIAGRAM O 8085 5 TIMING DIAGRAM O 8085 5.1 INTRODUCTION Timing diagram is the display of initiation of read/write and transfer of data operations under the control of 3-status signals IO / M, S 1, and S 0. As the heartbeat

More information

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed, 1:25-2:45pm, WEB L105 Office

More information

A Lab Course on Computer Architecture

A Lab Course on Computer Architecture A Lab Course on Computer Architecture Pedro López José Duato Depto. de Informática de Sistemas y Computadores Facultad de Informática Universidad Politécnica de Valencia Camino de Vera s/n, 46071 - Valencia,

More information

Central Processing Unit

Central Processing Unit Chapter 4 Central Processing Unit 1. CPU organization and operation flowchart 1.1. General concepts The primary function of the Central Processing Unit is to execute sequences of instructions representing

More information

System-On Chip Modeling and Design A case study on MP3 Decoder

System-On Chip Modeling and Design A case study on MP3 Decoder System-On Chip Modeling and Design A case study on MP3 Decoder Pramod Chandraiah, Hans Gunar Schirner, Nirupama Srinivas and Rainer Doemer CECS Technical Report 04-17 June 21, 2004 Center for Embedded

More information

System on Chip Design. Michael Nydegger

System on Chip Design. Michael Nydegger Short Questions, 26. February 2015 What is meant by the term n-well process? What does this mean for the n-type MOSFETs in your design? What is the meaning of the threshold voltage (practically)? What

More information

CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

More information

FSMD and Gezel. Jan Madsen

FSMD and Gezel. Jan Madsen FSMD and Gezel Jan Madsen Informatics and Mathematical Modeling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark jan@imm.dtu.dk Processors Pentium IV General-purpose

More information

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001 Agenda Introduzione Il mercato Dal circuito integrato al System on a Chip (SoC) La progettazione di un SoC La tecnologia Una fabbrica di circuiti integrati 28 How to handle complexity G The engineering

More information

路 論 Chapter 15 System-Level Physical Design

路 論 Chapter 15 System-Level Physical Design Introduction to VLSI Circuits and Systems 路 論 Chapter 15 System-Level Physical Design Dept. of Electronic Engineering National Chin-Yi University of Technology Fall 2007 Outline Clocked Flip-flops CMOS

More information

7a. System-on-chip design and prototyping platforms

7a. System-on-chip design and prototyping platforms 7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit

More information

Software Pipelining - Modulo Scheduling

Software Pipelining - Modulo Scheduling EECS 583 Class 12 Software Pipelining - Modulo Scheduling University of Michigan October 15, 2014 Announcements + Reading Material HW 2 Due this Thursday Today s class reading» Iterative Modulo Scheduling:

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

Central Processing Unit (CPU)

Central Processing Unit (CPU) Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following

More information

(Refer Slide Time: 00:01:16 min)

(Refer Slide Time: 00:01:16 min) Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

More information

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic Aims and Objectives E 3.05 Digital System Design Peter Cheung Department of Electrical & Electronic Engineering Imperial College London URL: www.ee.ic.ac.uk/pcheung/ E-mail: p.cheung@ic.ac.uk How to go

More information

Preface. Any questions from last time? A bit more motivation, information about me. A bit more about this class. Later: Will review 1st 22 slides

Preface. Any questions from last time? A bit more motivation, information about me. A bit more about this class. Later: Will review 1st 22 slides Preface Any questions from last time? Will review 1st 22 slides A bit more motivation, information about me Research ND A bit more about this class Microsoft Later: HW 1 Review session MD McNally about

More information

EECS 583 Class 11 Instruction Scheduling Software Pipelining Intro

EECS 583 Class 11 Instruction Scheduling Software Pipelining Intro EECS 58 Class Instruction Scheduling Software Pipelining Intro University of Michigan October 8, 04 Announcements & Reading Material Reminder: HW Class project proposals» Signup sheet available next Weds

More information

PROBLEMS. which was discussed in Section 1.6.3.

PROBLEMS. which was discussed in Section 1.6.3. 22 CHAPTER 1 BASIC STRUCTURE OF COMPUTERS (Corrisponde al cap. 1 - Introduzione al calcolatore) PROBLEMS 1.1 List the steps needed to execute the machine instruction LOCA,R0 in terms of transfers between

More information

Introducción. Diseño de sistemas digitales.1

Introducción. Diseño de sistemas digitales.1 Introducción Adapted from: Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg431 [Original from Computer Organization and Design, Patterson & Hennessy, 2005, UCB] Diseño de sistemas digitales.1

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

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,

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

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

Computer Organization and Components

Computer Organization and Components Computer Organization and Components IS1500, fall 2015 Lecture 5: I/O Systems, part I Associate Professor, KTH Royal Institute of Technology Assistant Research Engineer, University of California, Berkeley

More information

Sequential Circuit Design

Sequential Circuit Design Sequential Circuit Design Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2009 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines

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

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1 (DSF) Quartus II Stand: Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de Quartus II 1 Quartus II Software Design Series : Foundation 2007 Altera

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

CLASS: Combined Logic Architecture Soft Error Sensitivity Analysis

CLASS: Combined Logic Architecture Soft Error Sensitivity Analysis CLASS: Combined Logic Architecture Soft Error Sensitivity Analysis Mojtaba Ebrahimi, Liang Chen, Hossein Asadi, and Mehdi B. Tahoori INSTITUTE OF COMPUTER ENGINEERING (ITEC) CHAIR FOR DEPENDABLE NANO COMPUTING

More information

Implementation Details

Implementation Details LEON3-FT Processor System Scan-I/F FT FT Add-on Add-on 2 2 kbyte kbyte I- I- Cache Cache Scan Scan Test Test UART UART 0 0 UART UART 1 1 Serial 0 Serial 1 EJTAG LEON_3FT LEON_3FT Core Core 8 Reg. Windows

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

Pipeline Hazards. Structure hazard Data hazard. ComputerArchitecture_PipelineHazard1

Pipeline Hazards. Structure hazard Data hazard. ComputerArchitecture_PipelineHazard1 Pipeline Hazards Structure hazard Data hazard Pipeline hazard: the major hurdle A hazard is a condition that prevents an instruction in the pipe from executing its next scheduled pipe stage Taxonomy of

More information

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

FINITE STATE MACHINE: PRINCIPLE AND PRACTICE

FINITE STATE MACHINE: PRINCIPLE AND PRACTICE CHAPTER 10 FINITE STATE MACHINE: PRINCIPLE AND PRACTICE A finite state machine (FSM) is a sequential circuit with random next-state logic. Unlike the regular sequential circuit discussed in Chapters 8

More information

Techniques for Accurate Performance Evaluation in Architecture Exploration

Techniques for Accurate Performance Evaluation in Architecture Exploration IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 11, NO. 4, AUGUST 2003 601 Techniques for Accurate Performance Evaluation in Architecture Exploration George Hadjiyiannis and Srinivas

More information

The 104 Duke_ACC Machine

The 104 Duke_ACC Machine The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components

More information

Software-Programmable FPGA IoT Platform. Kam Chuen Mak (Lattice Semiconductor) Andrew Canis (LegUp Computing) July 13, 2016

Software-Programmable FPGA IoT Platform. Kam Chuen Mak (Lattice Semiconductor) Andrew Canis (LegUp Computing) July 13, 2016 Software-Programmable FPGA IoT Platform Kam Chuen Mak (Lattice Semiconductor) Andrew Canis (LegUp Computing) July 13, 2016 Agenda Introduction Who we are IoT Platform in FPGA Lattice s IoT Vision IoT Platform

More information

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010 Instruction Set Architecture Micro-architecture Datapath & Control CIT 595 Spring 2010 ISA =Programmer-visible components & operations Memory organization Address space -- how may locations can be addressed?

More information

Register File, Finite State Machines & Hardware Control Language

Register File, Finite State Machines & Hardware Control Language Register File, Finite State Machines & Hardware Control Language Avin R. Lebeck Some slides based on those developed by Gershon Kedem, and by Randy Bryant and ave O Hallaron Compsci 04 Administrivia Homework

More information

CPU Organization and Assembly Language

CPU Organization and Assembly Language COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

More information

Computer Systems Design and Architecture by V. Heuring and H. Jordan

Computer Systems Design and Architecture by V. Heuring and H. Jordan 1-1 Chapter 1 - The General Purpose Machine Computer Systems Design and Architecture Vincent P. Heuring and Harry F. Jordan Department of Electrical and Computer Engineering University of Colorado - Boulder

More information

SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley

SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Tutorial John Moondanos Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Introduction Why not leverage experience of C/C++ developers for H/W & System Level Design? But

More information

I/O. Input/Output. Types of devices. Interface. Computer hardware

I/O. Input/Output. Types of devices. Interface. Computer hardware I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

INSTRUCTION LEVEL PARALLELISM PART VII: REORDER BUFFER

INSTRUCTION LEVEL PARALLELISM PART VII: REORDER BUFFER Course on: Advanced Computer Architectures INSTRUCTION LEVEL PARALLELISM PART VII: REORDER BUFFER Prof. Cristina Silvano Politecnico di Milano cristina.silvano@polimi.it Prof. Silvano, Politecnico di Milano

More information

A New Paradigm for Synchronous State Machine Design in Verilog

A New Paradigm for Synchronous State Machine Design in Verilog A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

More information

Levels of Programming Languages. Gerald Penn CSC 324

Levels of Programming Languages. Gerald Penn CSC 324 Levels of Programming Languages Gerald Penn CSC 324 Levels of Programming Language Microcode Machine code Assembly Language Low-level Programming Language High-level Programming Language Levels of Programming

More information

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000. ILP Execution

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000. ILP Execution EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000 Lecture #11: Wednesday, 3 May 2000 Lecturer: Ben Serebrin Scribe: Dean Liu ILP Execution

More information

Microelectronic System-on-Chip Modeling using Objects and their Relationships

Microelectronic System-on-Chip Modeling using Objects and their Relationships Microelectronic System-on-Chip Modeling using Objects and their Relationships Frederic Doucet, Rajesh K. Gupta {doucet, rgupta}@ics.uci.edu Center for Embedded Computer Systems University of California

More information

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 I/O Unit Index Introduction. I/O Problem

More information

YAML: A Tool for Hardware Design Visualization and Capture

YAML: A Tool for Hardware Design Visualization and Capture YAML: A Tool for Hardware Design Visualization and Capture Vivek Sinha, Frederic Doucet, Chuck Siska, Rajesh Gupta, Stan Liao, Abhijit Ghosh Center for Embedded Computer Systems, University of California,

More information

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX Overview CISC Developments Over Twenty Years Classic CISC design: Digital VAX VAXÕs RISC successor: PRISM/Alpha IntelÕs ubiquitous 80x86 architecture Ð 8086 through the Pentium Pro (P6) RJS 2/3/97 Philosophy

More information

Modeling a GPS Receiver Using SystemC

Modeling a GPS Receiver Using SystemC Modeling a GPS Receiver using SystemC Modeling a GPS Receiver Using SystemC Bernhard Niemann Reiner Büttner Martin Speitel http://www.iis.fhg.de http://www.iis.fhg.de/kursbuch/kurse/systemc.html The e

More information

Solutions. Solution 4.1. 4.1.1 The values of the signals are as follows:

Solutions. Solution 4.1. 4.1.1 The values of the signals are as follows: 4 Solutions Solution 4.1 4.1.1 The values of the signals are as follows: RegWrite MemRead ALUMux MemWrite ALUOp RegMux Branch a. 1 0 0 (Reg) 0 Add 1 (ALU) 0 b. 1 1 1 (Imm) 0 Add 1 (Mem) 0 ALUMux is the

More information

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of CS:APP Chapter 4 Computer Architecture Wrap-Up William J. Taffe Plymouth State University using the slides of Randal E. Bryant Carnegie Mellon University Overview Wrap-Up of PIPE Design Performance analysis

More information

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse: PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting

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

MACHINE ARCHITECTURE & LANGUAGE

MACHINE ARCHITECTURE & LANGUAGE in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based

More information

Execution Cycle. Pipelining. IF and ID Stages. Simple MIPS Instruction Formats

Execution Cycle. Pipelining. IF and ID Stages. Simple MIPS Instruction Formats Execution Cycle Pipelining CSE 410, Spring 2005 Computer Systems http://www.cs.washington.edu/410 1. Instruction Fetch 2. Instruction Decode 3. Execute 4. Memory 5. Write Back IF and ID Stages 1. Instruction

More information

High-speed image processing algorithms using MMX hardware

High-speed image processing algorithms using MMX hardware High-speed image processing algorithms using MMX hardware J. W. V. Miller and J. Wood The University of Michigan-Dearborn ABSTRACT Low-cost PC-based machine vision systems have become more common due to

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

Codesign: The World Of Practice

Codesign: The World Of Practice Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and

More information

Instruction Set Design

Instruction Set Design Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

More information

l C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language

l C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language 198:211 Computer Architecture Topics: Processor Design Where are we now? C-Programming A real computer language Data Representation Everything goes down to bits and bytes Machine representation Language

More information

Introduction to Functional Verification. Niels Burkhardt

Introduction to Functional Verification. Niels Burkhardt Introduction to Functional Verification Overview Verification issues Verification technologies Verification approaches Universal Verification Methodology Conclusion Functional Verification issues Hardware

More information

Embedded Systems. introduction. Jan Madsen

Embedded Systems. introduction. Jan Madsen Embedded Systems introduction Jan Madsen Informatics and Mathematical Modeling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark jan@imm.dtu.dk Wireless Sensor

More information

System Modelingg Models of Computation and their Applications Axel Jantsch Laboratory for Electronics and Computer Systems (LECS) Royal Institute of Technology, Stockholm, Sweden February 4, 2005 System

More information

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET) INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET) International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 ISSN 0976 6464(Print)

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

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor Von der Hardware zur Software in FPGAs mit Embedded Prozessoren Alexander Hahn Senior Field Application Engineer Lattice Semiconductor AGENDA Overview Mico32 Embedded Processor Development Tool Chain HW/SW

More information

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models System Development Models and Methods Dipl.-Inf. Mirko Caspar Version: 10.02.L.r-1.0-100929 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis

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

Network Traffic Monitoring an architecture using associative processing.

Network Traffic Monitoring an architecture using associative processing. Network Traffic Monitoring an architecture using associative processing. Gerald Tripp Technical Report: 7-99 Computing Laboratory, University of Kent 1 st September 1999 Abstract This paper investigates

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

Abstract. MEP; Reviewed: GAK 10/17/2005. Solution & Interoperability Test Lab Application Notes 2005 Avaya Inc. All Rights Reserved.

Abstract. MEP; Reviewed: GAK 10/17/2005. Solution & Interoperability Test Lab Application Notes 2005 Avaya Inc. All Rights Reserved. Configuring Single Instance Rapid Spanning Tree Protocol (RSTP) between an Avaya C360 Converged Switch and HP ProCurve Networking Switches to support Avaya IP Telephony Issue 1.0 Abstract These Application

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

Engineering Change Order (ECO) Support in Programmable Logic Design

Engineering Change Order (ECO) Support in Programmable Logic Design White Paper Engineering Change Order (ECO) Support in Programmable Logic Design A major benefit of programmable logic is that it accommodates changes to the system specification late in the design cycle.

More information

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 4 MARIE: An Introduction to a Simple Computer CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks

More information