The 104 Duke_ACC Machine
|
|
|
- Sandra Gordon
- 9 years ago
- Views:
Transcription
1 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 are described in this document. General description: The Duke_ACC processor operates on 8-bit data but utilizes 12-bit instructions. The machine has bit wide memory locations for instructions and bit wide memory locations for data. (Note: I will sometimes use word to describe instruction or data memory width, keep in mind that this means 12-bits for instructions and 8-bits for data.) The instruction set is limited to ADD, SUB, CLR, LOAD, STORE, BRANCH, and HALT. The BRANCH instruction is an unconditional branch to memory location zero. The HALT instruction stops the system from executing any more instructions. Operations are defined as: ADD Address add the contents of memory location A to the accumulator SUB Address subtract the contents of memory location A from the accumulator CLR clear the accumulator LOAD Address Load the value at memory location A into the accumulator STORE Address Store the accumulator to the memory location A BRANCH branch to instruction memory location zero HALT stop execution Instruction Encoding: Instruction encoding is specified as follows: Opcode Memory Address The opcode is specified using the four high-order bits [11..8] and an immediate memory address is specified in the eight low-order bits [7..0]. The only addressing mode is immediate (i.e., the data memory address comes directly from the instruction bits). OPCODE values: ADD 1100 SUB 1000 CLR 0100 LOAD 0010 STORE 0001 BRANCH 0000 HALT 1111
2 QuartusII Implementation of Duke_ACC Start a new project in QuartusII. Be sure to set the FPGA to the proper chip ID and import the DE2 pin assignments. Create a new schematic file. Data Path The data path for the Duke_ACC machine is comprised of instruction memory, an accumulator, and data memory. To create the components in this data path we will use the megafunctions within QuartusII. Megafunctions provide parameterized components, thus avoiding the need for us to implement memory and the logic for the accumulator, etc. The following blocks are available as megafunctions. This wizard makes it relatively easy to add sophisticated components to your design. When inserting a megafunction, please be sure the box that says invoke megafunction wizard is checked. We will use the following megafunctions in our data path. Accumulator Megafunctions->arithmetic->altaccumulate: The options you want to include for this less are sload, aclr, add_sub, clken The image below shows what your accumulator should look like. Instruction Memory Megafunctions->storage->altsyncram: 12-bits wide, 256 words, ROM, it should look like the image below. When asked for an initialization file, type in instructionmemory.mif Data Memory Megafunctions->storage->altsyncram: 256 words, 8-bits wide, rdaddr, wraddr, wren, clk. When asked for an initialization file, type in datamemory.mif
3 Next Address Logic Megafunctions->storage->lpm_dff: 8 flip-flops wide (to hold the PC), include a synchronous clear signal. The image below is what it should look like. Megafunctions->arithmetic->lpm_add_sub: 8-bits wide (for incrementing the PC). Busses: Groups of wires are often called busses, for example the wires that connect the PC D- flipflop with the instruction memory can be drawn as a bus (a single line in the schematic that represents the entire group). Busses are drawn with the thick wire (see left side toolbar) instead of the single thin wire tools. You can specify the label for a bus as an array (e.g., PCval[7..0] would label the bus as having 8 wires numbered from 7 downto 0.) In many cases it is necessary to separate the wires from a bus (group of wires). To accomplish this, you have to draw a split in the bus and label each branch with a subset from the source bus. The diagram below shows how to split a bus called Ibus[11..0] into two one with Ibus[7..0] and the other with all Ibus[11..8]. Then the it again splits out individual wires from the Ibus[11..8]. Wire up the data path Connect the various components of the data path to support the operation of Duke_ACC. Use the bus connectors whenever possible. Designing the control will come next. Connecting the Clock For the data path to function, we need to connect the clock to each component that has a clock input. However, we have to cheat a little to get our system to behave as a single cycle machine. Specifically, the memory components we are using do not match the idealized versions we ve discussed in lecture. Instead they have what are called registered inputs. The address bits are first clocked into registers and then made available to the memory to load/store a value from/to
4 the memory. Our idealized version treated memory as a combinational circuit for reads---it did not have any storage of address bits within the memory. That means that if we send the same clock signal to the PC and the instruction memory the appropriate instruction will not appear on the output of the instruction memory until after the second clock transition. A similar issue exists for the data memory. To get around this issue and allow our design to behave like a single cycle processor, we will delay the clock signal to instruction memory and the accumulator. This is accomplished by simply sending the clock through an inverter. The original clock signal is connected to the PC flip-flop and the data memory. The output of the inverter is sent to the instruction memory and to the accumulator. We will use a manual clock (a button on the DE2 board). So, insert an input PIN, it is called KEY[0] (caps matter). Do not connect it to anything yet, we will modify the clock based on the HALT instruction and a Reset capability. Reset Key Insert an input pin, call it Key[1] This button will enable us to reset the processor (i.e., after executing a halt instruction. Note, the Keys (buttons) take on value 1 when not pressed and transition to a 0 when pressed. Control The Duke_ACC ISA is relatively simple and the instruction encodings are designed to make control relatively simple. Pay attention to the definitions of the signals. Reset Reset = NOT(Key[1]) Accumulator Control: Add_sub = Ibus[11] AND Ibus[10] Sload = Ibus[9] Clken = Add OR Sub OR Sload = Ibus[11] OR Ibus[9] Aclr = Clr OR Reset = Ibus[9] AND NOT(Ibus[11]) OR Reset Data Memory Control: Wren = Ibus[8] AND NOT(Reset) Program Counter Control: Branch = NOR(Ibus[11..8]) Sclr = branch OR Reset Halt Halt = NAND(Ibus[11..8]) To actually halt the processor we will gate off the clock this is accomplished by the following: Clock = Key[0] AND (Halt OR Reset)
5 See the attached schematic for a full circuit diagram of Duke_ACC Wire up the entire data path and control for Duke_ACC. Connect the accumulator output to output pins labeled LEDG[7..0] (this will allow display of the accumulator result). Connect the output of the instruction memory to output pins labeled LEDR[11..0] (This will allow display of the current instruction being executed) Memory Initialization Create a new file of type memory initialization (NewFile->Other->memory initialization) called instructionmemory and the type should be mif Select View->Memory Radix->Hexadecimal. Enter the following into this file. Addr C F00 00 Save the file (make sure it is of type.mif) Creat a new file of type memory initialization and call it datamemory.mif Enter the following values into this file. Addr These files are used by Quartus to initialize the instruction and data memory. The instructions above correspond to the following program: 0x400 # clr 0x200 # ld mem[0] = 5 0x801 # sub mem[1] = 5-3 = 2 0x102 # st to mem[2] = 2 0xC00 # add mem[0] = = 7 0x100 # st to mem[0] = 7 0xF00 # HALT Compile the design and create netlist Compile your design (click on the purple play button or Processing->Start Compilation). It will take a while to compile and generate many warnings. After successful compilation, generate the netlist for the functional simulator (Processing->Generate Functional Simulation Netlist) Functional Simulation To see Duke_ACC executing your program we will first use functional simulation.
6 Create a new Waveform input file (File->Other->Vector Waveform File). Call this file Duke_ACC_input. Add the following pins to the file: Key[0] Key[1] LEDG[7..0] You can add all 7 wires as a single group by just adding the node LEDG. LEDR[11..0] You can add all 12 wires as a single group by just adding the node LEDR For LEDG and LEDR, you should specify in the properties of this bus that it should HEX radix (this will produce a cleaner output waveform). The schematic shows other busses connected to the output pins HEX0[7..0], HEX1[7..0], HEX2[7..0] these are useful for debugging. You can connect them if you want and also add them to the waveform file as busses with a HEX radix. The only two wave forms that you must specify are for KEY[0] and KEY[1]. For KEY[0] you should set it to be a clock. Highlight the KEY[0] entry and then click on the little clock symbol on the left toolbar (it is just above the R). This will open a popup where you can set the time interval to start at 0 and end at 1 us. Set the period to 35ns, offset 0, duty cycle 50%. For KEY[1] set it to a constant value 1 (highlight KEY[1] and then click the 1 on the toolbar) Save the waveform file. Specify functional simulation and your saved file as the input. (Settings->Simulation shows fields for functional simulation and for specifying the input file). You are now ready to simulate the execution of your Duke_ACC. (Processing->Start Simulation) The output wave forms should look like those below: Configuring the DE2 with Duke_ACC After successful functional simulation we are ready to configure the FPGA on the DE2 board with our design for Duke_ACC. Make sure the DE2 board is connected to the laptop and
7 powered on. Keep the switch in the RUN position. Open the programming window in QuartusII (Tools->Programmer). Click the program/configure box and click start to download the design onto the DE2 board. Executing Duke_ACC We are now ready to execute our program on our Duke_ACC machine. Each time you press the KEY[0] button you are clocking the system. The current instruction is displayed on the Red LEDs LEDR[11..0] while the current value stored in the accumulator is displayed on the Green LEDs (LEDG[7..0]). The first instruction is Clear 0x400, and only LED [10] should be lit up. After pressing KEY[0] again, the next instruction is executed. The next instruction is 0x200 which loads the value from memory location 5 into the accumulator, however the value 5 doesn t show up on the Green LEDs just yet since it doesn t get clocked into the result register until rising edge of the next clock (see the output waveform above). This process continues until you reach the last instruction in our simple program, which is a HALT instruction (0xF00). The HALT instruction prevents anything from happening in our system. Press KEY[0] as much as you want and nothing changes. LEDR[11, 10, 9, 8] are all lit up and the result of our program (7) is displayed on the Green LEDs. To resume execution we have to reset (unhalt) the system. This is accomplished by holding down KEY[1] and pressing KEY[0] once. You should see LEDR[10] lit up. The Reset caused the program counter to reset to zero and the accumulator to clear to zero. Note, memory has not been changed. Therefore, we expect to see different behavior since we have modified data location 0 in the previous execution of our program. Stop holding KEY[1]. Continue clocking the system (pressing KEY[0]) and keep track of the accumulator value. At the end (the next time you see the HALT instruction) you will see that it contains the value 11 (1011) and LEDs 0, 1, 3 are lit up. If you want to start from the beginning again, you can just reprogramming the FPGA again. Changing the program Modify the instruction memory initialization file to replace the HALT with a branch instruction (0x000). First explore the execution using functional simulation. After saving the new instruction memory file update the instruction memory by using Processing->Update Memory Initialization File. Then you can just run the functional simulation again. You should obtain an output wave form like the following.
8 You can download this new system to the DE2 board and run it by pressing KEY[0] to clock through the execution. Note there is no stopping point, so just stop after the second iteration. Going further. There are two general directions you can now take the Duke_ACC machine: 1) write some programs (modify the instruction memory and the data memory), and 2) extend the design to support more sophisticated branching (e.g., to an arbitrary instruction memory location, or an offset from the PC) and to support conditional branching.
CHAPTER 11: Flip Flops
CHAPTER 11: Flip Flops In this chapter, you will be building the part of the circuit that controls the command sequencing. The required circuit must operate the counter and the memory chip. When the teach
Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14
LogicWorks 4 Tutorials Jianjian Song Department of Electrical and Computer Engineering Rose-Hulman Institute of Technology March 23 Table of Contents LogicWorks 4 Installation and update...2 2 Tutorial
CSE 141L Computer Architecture Lab Fall 2003. Lecture 2
CSE 141L Computer Architecture Lab Fall 2003 Lecture 2 Pramod V. Argade CSE141L: Computer Architecture Lab Instructor: TA: Readers: Pramod V. Argade ([email protected]) Office Hour: Tue./Thu. 9:30-10:30
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
Decimal Number (base 10) Binary Number (base 2)
LECTURE 5. BINARY COUNTER Before starting with counters there is some vital information that needs to be understood. The most important is the fact that since the outputs of a digital chip can only be
Quartus II Introduction Using VHDL Design
Quartus II Introduction Using VHDL Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented
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
CS311 Lecture: Sequential Circuits
CS311 Lecture: Sequential Circuits Last revised 8/15/2007 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce
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
Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa
Experiment # 9 Clock generator circuits & Counters Eng. Waleed Y. Mousa 1. Objectives: 1. Understanding the principles and construction of Clock generator. 2. To be familiar with clock pulse generation
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
(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
2011, The McGraw-Hill Companies, Inc. Chapter 5
Chapter 5 5.1 Processor Memory Organization The memory structure for a PLC processor consists of several areas, some of these having specific roles. With rack-based memory structures addresses are derived
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.
Lab 1: Introduction to Xilinx ISE Tutorial
Lab 1: Introduction to Xilinx ISE Tutorial This tutorial will introduce the reader to the Xilinx ISE software. Stepby-step instructions will be given to guide the reader through generating a project, creating
Module 3: Floyd, Digital Fundamental
Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : [email protected] Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental
A s we saw in Chapter 4, a CPU contains three main sections: the register section,
6 CPU Design A s we saw in Chapter 4, a CPU contains three main sections: the register section, the arithmetic/logic unit (ALU), and the control unit. These sections work together to perform the sequences
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
Digital Controller for Pedestrian Crossing and Traffic Lights
Project Objective: - To design and simulate, a digital controller for traffic and pedestrian lights at a pedestrian crossing using Microsim Pspice The controller must be based on next-state techniques
Physics 226 FPGA Lab #1 SP Wakely. Terasic DE0 Board. Getting Started
Physics 226 FPGA Lab #1 SP Wakely I Terasic DE0 Board The DE0 Development and Education board is designed in a compact size with all the essential tools for novice users to gain knowledge in areas of digital
Counters and Decoders
Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter
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
STEP 7 MICRO/WIN TUTORIAL. Step-1: How to open Step 7 Micro/WIN
STEP 7 MICRO/WIN TUTORIAL Step7 Micro/WIN makes programming of S7-200 easier. Programming of S7-200 by using Step 7 Micro/WIN will be introduced in a simple example. Inputs will be defined as IX.X, outputs
Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit
1 Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT OF FOR THE DEGREE IN Bachelor of Technology In Electronics and Communication
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,
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
Making Basic Measurements. Publication Number 16700-97020 August 2001. Training Kit for the Agilent Technologies 16700-Series Logic Analysis System
Making Basic Measurements Publication Number 16700-97020 August 2001 Training Kit for the Agilent Technologies 16700-Series Logic Analysis System Making Basic Measurements: a self-paced training guide
Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas
Take-Home Exercise Assume you want the counter below to count mod-6 backward. That is, it would count 0-5-4-3-2-1-0, etc. Assume it is reset on startup, and design the wiring to make the counter count
NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter
NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential
Lecture 8: Synchronous Digital Systems
Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered
EXPERIMENT 8. Flip-Flops and Sequential Circuits
EXPERIMENT 8. Flip-Flops and Sequential Circuits I. Introduction I.a. Objectives The objective of this experiment is to become familiar with the basic operational principles of flip-flops and counters.
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
Chapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
Lesson 12 Sequential Circuits: Flip-Flops
Lesson 12 Sequential Circuits: Flip-Flops 1. Overview of a Synchronous Sequential Circuit We saw from last lesson that the level sensitive latches could cause instability in a sequential system. This instability
Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )
Sequential Logic (Materials taken from: Principles of Computer Hardware by Alan Clements ) Sequential vs. Combinational Circuits Combinatorial circuits: their outputs are computed entirely from their present
Combinational Logic Design Process
Combinational Logic Design Process Create truth table from specification Generate K-maps & obtain logic equations Draw logic diagram (sharing common gates) Simulate circuit for design verification Debug
Flip-Flops, Registers, Counters, and a Simple Processor
June 8, 22 5:56 vra235_ch7 Sheet number Page number 349 black chapter 7 Flip-Flops, Registers, Counters, and a Simple Processor 7. Ng f3, h7 h6 349 June 8, 22 5:56 vra235_ch7 Sheet number 2 Page number
Design: a mod-8 Counter
Design: a mod-8 Counter A mod-8 counter stores a integer value, and increments that value (say) on each clock tick, and wraps around to 0 if the previous stored value was 7. So, the stored value follows
Asynchronous counters, except for the first block, work independently from a system clock.
Counters Some digital circuits are designed for the purpose of counting and this is when counters become useful. Counters are made with flip-flops, they can be asynchronous or synchronous and they can
Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.
Objectives Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop. describe how such a flip-flop can be SET and RESET. describe the disadvantage
Lab 11 Digital Dice. Figure 11.0. Digital Dice Circuit on NI ELVIS II Workstation
Lab 11 Digital Dice Figure 11.0. Digital Dice Circuit on NI ELVIS II Workstation From the beginning of time, dice have been used for games of chance. Cubic dice similar to modern dice date back to before
EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad
A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,
LabVIEW DSP Test Integration Toolkit for TI DSP
LabVIEW DSP Test Integration Toolkit for TI DSP Contents The LabVIEW DSP Test Integration Toolkit for TI DSP gives you the ability to use LabVIEW and the TI Code Composer Studio (CCS) Integrated Development
To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.
8.1 Objectives To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.2 Introduction Circuits for counting events are frequently used in computers and other digital
CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on
CS 61C: Great Ideas in Computer Architecture Finite State Machines Instructors: Krste Asanovic & Vladimir Stojanovic hbp://inst.eecs.berkeley.edu/~cs61c/sp15 1 Levels of RepresentaKon/ InterpretaKon High
TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator. A tutorial prepared for IE 575 by Dr. T.C. Chang. Use On-Line Help
TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator A tutorial prepared for IE 575 by Dr. T.C. Chang 1 Use On-Line Help Use on-line help for program editing and TBasic function definitions. 2 Open
CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions
CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How
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
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
Using Altera MAX Series as Microcontroller I/O Expanders
2014.09.22 Using Altera MAX Series as Microcontroller I/O Expanders AN-265 Subscribe Many microcontroller and microprocessor chips limit the available I/O ports and pins to conserve pin counts and reduce
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
PART B QUESTIONS AND ANSWERS UNIT I
PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional
ASYNCHRONOUS COUNTERS
LB no.. SYNCHONOUS COUNTES. Introduction Counters are sequential logic circuits that counts the pulses applied at their clock input. They usually have 4 bits, delivering at the outputs the corresponding
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
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
Low Power AMD Athlon 64 and AMD Opteron Processors
Low Power AMD Athlon 64 and AMD Opteron Processors Hot Chips 2004 Presenter: Marius Evers Block Diagram of AMD Athlon 64 and AMD Opteron Based on AMD s 8 th generation architecture AMD Athlon 64 and AMD
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
Asynchronous Counters. Asynchronous Counters
Counters and State Machine Design November 25 Asynchronous Counters ENGI 25 ELEC 24 Asynchronous Counters The term Asynchronous refers to events that do not occur at the same time With respect to counter
Sequential Logic: Clocks, Registers, etc.
ENEE 245: igital Circuits & Systems Lab Lab 2 : Clocks, Registers, etc. ENEE 245: igital Circuits and Systems Laboratory Lab 2 Objectives The objectives of this laboratory are the following: To design
EXPERIMENT 4. Parallel Adders, Subtractors, and Complementors
EXPERIMENT 4. Parallel Adders, Subtractors, and Complementors I. Introduction I.a. Objectives In this experiment, parallel adders, subtractors and complementors will be designed and investigated. In the
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
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,
Contents COUNTER. Unit III- Counters
COUNTER Contents COUNTER...1 Frequency Division...2 Divide-by-2 Counter... 3 Toggle Flip-Flop...3 Frequency Division using Toggle Flip-flops...5 Truth Table for a 3-bit Asynchronous Up Counter...6 Modulo
So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.
equential Logic o far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs. In sequential logic the output of the
isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide
November 2005 Introduction Application Note AN6067 The isppac -POWR1220AT8 device from Lattice is a full-featured second-generation Power Manager chip. As part of its feature set, this device supports
ECE380 Digital Logic
ECE38 igital Logic Flip-Flops, Registers and Counters: Flip-Flops r.. J. Jackson Lecture 25- Flip-flops The gated latch circuits presented are level sensitive and can change states more than once during
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 [email protected] Quartus II 1 Quartus II Software Design Series : Foundation 2007 Altera
LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters
LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters LAB OBJECTIVES 1. Introduction to latches and the D type flip-flop 2. Use of actual flip-flops to help you understand sequential
An Introduction to MPLAB Integrated Development Environment
An Introduction to MPLAB Integrated Development Environment 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 1 This seminar is an introduction to
PCB Project (*.PrjPcb)
Project Essentials Summary The basis of every design captured in Altium Designer is the project. This application note outlines the different kinds of projects, techniques for working on projects and how
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,
Simulating Power Supply Sequences for Power Manager Devices Using PAC-Designer LogiBuilder
April 2008 Introduction Application Note AN6044 This application note provides a step-by-step procedure for simulating isppac -POWR1208 designs developed in the PAC-Designer LogiBuilder system, covering
DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.
DIGITAL COUNTERS http://www.tutorialspoint.com/computer_logical_organization/digital_counters.htm Copyright tutorialspoint.com Counter is a sequential circuit. A digital circuit which is used for a counting
Programming A PLC. Standard Instructions
Programming A PLC STEP 7-Micro/WIN32 is the program software used with the S7-2 PLC to create the PLC operating program. STEP 7 consists of a number of instructions that must be arranged in a logical order
COMP 303 MIPS Processor Design Project 4: MIPS Processor Due Date: 11 December 2009 23:59
COMP 303 MIPS Processor Design Project 4: MIPS Processor Due Date: 11 December 2009 23:59 Overview: In the first projects for COMP 303, you will design and implement a subset of the MIPS32 architecture
Lab 17: Building a 4-Digit 7-Segment LED Decoder
Phys2303 L.A. Bumm [Nexys 1.1.2] Lab 17 (p1) Lab 17: Building a 4-Digit 7-Segment LED Decoder In this lab your will make 4 test circuits, the 4-digit 7-segment decoder, and demonstration circuit using
7. Latches and Flip-Flops
Chapter 7 Latches and Flip-Flops Page 1 of 18 7. Latches and Flip-Flops Latches and flip-flops are the basic elements for storing information. One latch or flip-flop can store one bit of information. The
LabVIEW Day 1 Basics. Vern Lindberg. 1 The Look of LabVIEW
LabVIEW Day 1 Basics Vern Lindberg LabVIEW first shipped in 1986, with very basic objects in place. As it has grown (currently to Version 10.0) higher level objects such as Express VIs have entered, additional
Finite State Machine Design A Vending Machine
LAB 6 Finite State Machine Design A Vending Machine You will learn how turn an informal sequential circuit description into a formal finite-state machine model, how to express it using ABEL, how to simulate
TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) *
TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) * Timothy Stanley, PhD Computer and Network Sciences, Utah Valley University, Orem, Utah 84058, 801 863-8978, [email protected]
BASIC COMPUTER ORGANIZATION AND DESIGN
1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete
Lab 1: Full Adder 0.0
Lab 1: Full Adder 0.0 Introduction In this lab you will design a simple digital circuit called a full adder. You will then use logic gates to draw a schematic for the circuit. Finally, you will verify
Sequential Logic Design Principles.Latches and Flip-Flops
Sequential Logic Design Principles.Latches and Flip-Flops Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Bistable Elements Latches and Flip-Flops S-R Latch
Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures
Chapter 02: Computer Organization Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures Objective: Understand the IO Subsystem and Understand Bus Structures Understand
COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design
PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits
1.1 The 7493 consists of 4 flip-flops with J-K inputs unconnected. In a TTL chip, unconnected inputs
CALIFORNIA STATE UNIVERSITY LOS ANGELES Department of Electrical and Computer Engineering EE-246 Digital Logic Lab EXPERIMENT 1 COUNTERS AND WAVEFORMS Text: Mano, Digital Design, 3rd & 4th Editions, Sec.
Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)
Dr. Greg Tumbush, [email protected] Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement
Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
Flip-Flops and Sequential Circuit Design
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
Figure 8-1 Four Possible Results of Adding Two Bits
CHPTER EIGHT Combinational Logic pplications Thus far, our discussion has focused on the theoretical design issues of computer systems. We have not yet addressed any of the actual hardware you might find
DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION
DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION Introduction The outputs from sensors and communications receivers are analogue signals that have continuously varying amplitudes. In many systems
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 [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
Design of a High Speed Communications Link Using Field Programmable Gate Arrays
Customer-Authored Application Note AC103 Design of a High Speed Communications Link Using Field Programmable Gate Arrays Amy Lovelace, Technical Staff Engineer Alcatel Network Systems Introduction A communication
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,
Lesson 10: Video-Out Interface
Lesson 10: Video-Out Interface 1. Introduction The Altera University Program provides a number of hardware controllers, called cores, to control the Video Graphics Array (VGA) Digital-to-Analog Converter
DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB
DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB Contents at a Glance 1. Introduction of MPLAB... 4 2. Development Tools... 5 3. Getting Started... 6 3.1. Create a Project... 8 3.2. Start MPLAB...
ARRL Morse Code Oscillator, How It Works By: Mark Spencer, WA8SME
The national association for AMATEUR RADIO ARRL Morse Code Oscillator, How It Works By: Mark Spencer, WA8SME This supplement is intended for use with the ARRL Morse Code Oscillator kit, sold separately.
Set up a Nios II project that specifies a desired hardware system and software program
Altera Monitor Program Tutorial For Quartus II 11.0 1 Introduction This tutorial presents an introduction to the Altera Monitor Program, which can be used to compile, assemble, download and debug programs
