1/1/ / faculty of Electrical Engineering eindhoven university of technology 5Z008: Microprocessor design Introduction to the ‘Interactive Design and Simulation.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

1/1/ / faculty of Electrical Engineering eindhoven university of technology Managing complex designs Workshop on VLSI Design Using the Interactive Design.
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Simulation executable (simv)
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
PLC Timer Instructions
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 7 – Registers.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Storey: Electrical & Electronic Systems © Pearson Education Limited 2004 OHT 10.1 Sequential Logic  Introduction  Bistables  Memory Registers  Shift.
Flip-Flops, Registers, Counters, and a Simple Processor
Chapter 1 — Computer Abstractions and Technology — 1 Lecture 7 Carry look ahead adders, Latches, Flip-flops, registers, multiplexors, decoders Digital.
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.
1/1/ /e/e eindhoven university of technology Microprocessor Design Course 5Z008 Dr.ir. A.C. (Ad) Verschueren Eindhoven University of Technology Section.
Processor System Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Algorithmic Level design in IDaSS dr.ir. Ad C. Verschueren Eindhoven University.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
Verilog Lab This presentation includes some material that is selected from BUCKNELL VERILOG HANDBOOK. Instructor: Dr. Charles Liu Prepared by John Ren.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
CPEN Digital System Design Chapter 9 – Computer Design
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Introduction to C Programming
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
Registers and Counters
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Introduction to Basys 2. Switches Slide switchesPush button switches.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Introduction to Computing Systems from bits & gates to C & beyond Chapter 3 Digital Logic Structures Transistors Logic gates & Boolean logic Combinational.
MICROPROCESSOR INPUT/OUTPUT
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5Z008:Microprocessor design Design steps.
Introduction to Computing Systems from bits & gates to C & beyond Chapter 4 The Von Neumann Model Basic components Instruction processing.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
COM181 Computer Hardware Ian McCrumRoom 5B18, Lecture 2: Circuits.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Programmable Logic Training Course HDL Editor
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
Instructor: Alexander Stoytchev
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Logic Design / Processor and Control Units Tony Diep.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Introduction to Verilog. Data Types A wire specifies a combinational signal. – Think of it as an actual wire. A reg (register) holds a value. – A reg.
Teaching Digital Logic courses with Altera Technology
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
1 COMP541 Datapaths I Montek Singh Mar 8, Topics  Over next 2/3 classes: datapaths  Basic register operations Book sections 7-2 to 7-6 and 7-8.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
The Little man computer
Clock in Digital Systems
Introduction to Verilog
ECE 352 Digital System Fundamentals
Presentation transcript:

1/1/ / faculty of Electrical Engineering eindhoven university of technology 5Z008: Microprocessor design Introduction to the ‘Interactive Design and Simulation System’: ‘IDaSS’

1/1/ / faculty of Electrical Engineering eindhoven university of technology What are we going to do here ? Tell a story –Introduction: what is IDaSS –The parts: schematics, blocks, connectors, buses –IDaSS as abstract ‘switching technology’ –What is in the ‘IDaSS-OGO’ package Do-it-yourself demo: create a running light Demo: synthesis of running light in FPGA box

1/1/ / faculty of Electrical Engineering eindhoven university of technology What is IDaSS ? Design tool for complex digital systems –‘Register Level’: storing & handling of N-bit values –‘Synchronous’: one ‘system clock’ for all flip-flops –Schematics for structure, texts for (complex) behaviour Interactive simulation of the system under design –Design modifications simulated immediately –Inspecting and modifying system state is very simple –‘Design a little, test a little’ approach is possible Coupling to other (commercial) tools is available

1/1/ / faculty of Electrical Engineering eindhoven university of technology UVHMPRL Schematics: the ‘backbone’ of IDaSS Top-level schematic Sub- schematic X Sub- schematic Y AB (normal) block XY Sub- schematic symbol Sub-schematic X\L Re-used as sub- schematic Y\M ‘edit’ Same design, different states !

1/1/ / faculty of Electrical Engineering eindhoven university of technology Blocks and connectors The ‘Basic Building Blocks’ do the actual work –Store data with registers and memories –Modify data with ‘operator’ blocks –Control the system with ‘state controllers’ Different types of connectors possible –Every type its own symbol within block on schematic Normal input Continuous output C Control input ‘Three-state’ output: ‘disabled’ ‘enabled’ ‘unknown’ Does not output a value on a bus Outputs a value on a bus Outputs unknown value on a bus

1/1/ / faculty of Electrical Engineering eindhoven university of technology SUB Sub-schematic symbol ‘SUB’ Within actual schematic ‘SUB’: Buses Transport values between blocks –All attached connectors the same number of bits ! –Just one transport per bus and clock cycle –Special values: ‘Three-State’, ‘UNKnown’, OVerLoad’ Can break through sub-schematic boundaries D D Bi-directional connector ‘D’Connector block ‘D’ with bi-directional connector Direct connection between buses

1/1/ / faculty of Electrical Engineering eindhoven university of technology From logic gate to ‘operator’ block Variable number of in- and outputs One or more ‘functions’ to execute –Each should get a different name, name choice is free –One of the functions is executed ‘by default’ –Other functions can be chosen by ‘state controller’ Functions described as set of (text!) expressions –Assign values to outputs, based on inputs and constants –More than 60 arithmetic/logic basic operations –No feedback possible: combinatorial functions only

1/1/ / faculty of Electrical Engineering eindhoven university of technology Intermezzo: IDaSS expressions Assign with := and separate with. Three types of operators in use –‘Unary’: out := in not. –‘Binary’: out := inA /\ inB. “AND” –‘Keyword’: out := in from: 0 to: 3. Order: first unary, then binary, then keyword –Unary and binary strictly from left to right ! –Keyword operators separated with normal braces () –Normal braces as usual to modify order of execution In IDaSS: type [F 1 ], then click ‘subjects’

1/1/ / faculty of Electrical Engineering eindhoven university of technology From flip-flop to ‘register’ Register is set of Flip-Flops which ‘belong together’ –Jointly store an N-bits value (N = 1..64) –Can be initialised to a specific value upon systeem reset –Can be loaded with new value once per clock cycle –Controlled by commands coming from state controller ‘ hold ’: keep the already loaded value ‘ load ’: load a new value from the input connector ‘ inc ’/’ dec ’: increment/decrement the old value by one –One of the commands can be chosen as ‘default’ –Output connector outputs current value

1/1/ / faculty of Electrical Engineering eindhoven university of technology From FSM to ‘state controller’ Central control for system (parts) One or more states with separate text descriptions WaitLeft: COUNTER inc; [ COUNTER = 0 | 1 “Counter at 0, change local state:” -> ShiftLeft ]; << Colon is required here ! Send command ‘inc’ to block ‘COUNTER’ Semicolon separates commands State name Start test block Test- expression Start test- ’branch’ Test-value(s) End test block ‘Go to…’ ‘remain in this state’ Name of next state When executing ‘ -> ’, remainder is not evaluated !

1/1/ / faculty of Electrical Engineering eindhoven university of technology What is in the IDaSS-OGO package Special version of IDaSS for OGO 1.2 –Complete IDaSS system VHDL generator removed (not needed here) Verilog generator adapted for Xilinx WebPACK –Automatic initialisation of Xilinx Verilog generator Extra files in ‘designs\ogo’ folder –‘asm_ogo.com’ assembler for OGO processor –‘isatest.asm’ test program for OGO processor –‘ogo_al.des’ IDaSS simulation of OGO processor See file ‘instalOGO.txt’ !

1/1/ / faculty of Electrical Engineering eindhoven university of technology Do-it-yourself demo time… Last chapter of IDaSS manual… –Register + operator + state controller = running light –Execute step by step in groups of 2 or 3 Prepare for running in the FPGA box –Build in a sub-schematic (‘add block’, ‘schematic’) –Bring register value to the ‘outside world’ Connector block on subschematic + connector on symbol –Extra register to divide 24 MHz to  6 Hz How many bits ? Every clock cycle ‘ inc ’ or ‘ dec ’ ! State controller steps running light when register equals zero

1/1/ / faculty of Electrical Engineering eindhoven university of technology Conversion to FPGA Clock and system reset connected automatically –System reset is top-left pushbutton on box Connect outputs to LED bar display –Use ‘properties…’ of connector in connector block Add ‘BUSDRIVE’ with value 24 (mA) Add ‘BUSOUTTYPE’ with value ‘switch’ Add ‘BUSLOC’ with value 57 (‘pin index’ van LED 1) Schematic symbol ‘file out’, ‘to Spartan-II Verilog’ –Store files in WebPACK ‘project directory’ –In WebPACK, use ‘project’, ‘add source’ See files ‘spartan2.pdf’ and ‘fpgaconn.doc’ in IDaSS ‘support’ folder !