Finite State Machine Design and VHDL Coding Techniques
|
|
|
- Melissa Singleton
- 9 years ago
- Views:
Transcription
1 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 Suceava Abstract The first part of paper discusses a variety of issues regarding finite state machine design using the hardware description language. VHDL coding styles and different methodologies are presented. Our study of FSM focuses on the modeling issues such as VHDL coding style, state encoding schemes and Mealy or Moore machines. Our discussion is limited to the synchronous FSM, in which the transition is controlled by a clock signal and can occur only at the triggering edge of the clock. The second part contains a worked example of a model that detects a unique pattern from a serial input data stream and generates a 1 value to output whenever the sequence 10 occurs. The string detector is modeled at the RTL level in VHDL and Verilog, for comparison purposes. The last part of this paper presents a view on VHDL and Verilog languages by comparing their similarities and contrasting their difference. Index Terms VHDL code, Verilog code, finite state machine, Mealy machine, Moore machine, modeling issues, state encoding. I. INTRODUCTION The automata theory is the basis behind the traditional model of computation and is used for many purposes other than controller circuit design, including computer program compiler construction, proofs of algorithm complexity, and the specification and classification of computer programming languages [1]. Because automata are mathematical models that produce values dependent upon internal state and possibly some dependent input values, they are referred to as state machines [2]. A state machine may allow for a finite or an infinite set of possible states and further more, they may have nondeterministic or deterministic behavior. A deterministic state machine is one whose outputs are the same for a given internal state and input values. A finite state machine (FSM) is one where all possible state values made a finite set. The synchronous sequential circuits that are the focus of this paper are modeled as deterministic finite state machines and they are modeled as either Mealy or Moore machines. II. OVERVIEW OF FINITE STATE MACHINES Finite state machines (FSM) constitute a special modeling technique for sequential logic circuits. Such a model can be very helpful in the design of certain types of systems, particularly those whose tasks form a well-defined sequence [3]. The main application of an FSM is to realize operations that are performed in a sequence of steps [4]. A large digital system usually involves complex algorithms or tasks, which can be expressed as a sequence of actions based on system status and external commands. An FSM can function as the control circuit that coordinates and governs the operations of other units of the system [4]. Figure 1 shows the general structure for a finite state machine. The current state of the machine is stored in the state memory register, a set of k flip-flops clocked by a single clock signal. The current state is the value currently stored by the state memory register. The next state logic circuit of the machine is a function of the state vector and the inputs. Mealy outputs are a function of the state vector and the inputs, while Moore outputs are a function of the state vector only [5]. inputs next-state logic circuit clock current state Mealy output logic circuit Mealy outputs state memory register Figure 1 State Machine Structure Moore output logic circuit Moore outputs A finite state machine is specified by five entities: symbolic states, input signals, output signals, next-state function and output function [4]. A state specifies a unique internal condition of a system and as time progresses, the FSM transits from one state to another. The new state is determined by the next-state function, which is a function of the current state and input signals. The output function specifies the value of the output signals. If it is a function of the state only, the output is known as a Moore output and if it is a function of the 273
2 state and input signals, the output is known as a Mealy output. An FSM is called a Moore machine or Mealy machine if it contains only Moore outputs or Mealy outputs, but a complex FSM has both types of outputs. FSMs are commonly modeled in a variety of ways, including state diagrams, state equations, state tables, and algorithmic state machine (ASM) charts. In synthesis of FSM, we start with a functional description of the circuit. From this description, we need precise operation of the circuit using a state diagram. The state diagram allows us to complete the next-state and output tables and then the circuit can be derived from these tables. During the synthesis process, there are many possible circuit optimizations in terms of the circuit size, speed, and power consumption that can be performed [6]. III. ENCODING STYLE The most important decision to make when describing a finite state machine is what state encoding to use. To encode the states of a state machine, we can select from several styles, the default encoding style being binary. The advantage in using the binary code to encode state assignment is that requires the least number of flip-flops (with n flip-flops can be encoded up to 2n states). The disadvantage is that it requires more logic and is slower than the others. A highly encoded state assignment will use fewer flipflops for the state vector; however, additional logic will be required simply to encode and decode the state [5]. A style that uses one flip-flop per state is one-hot encoded style, because only one bit of the state vector is asserted for any given state and all other state bits are zero. In this case, with n flip-flops can be encoded only n states. There are more advantages to using the one-hot style to design a state machine: One-hot state machines are faster. Speed depends on the number of transitions into a particular state. It is equally optimal for all machines. One-hot state machines are easy to design and HDL code can be written directly from the state diagram without coding a state table. Adding and deleting states, or changing excitation equations, can be implemented easily without affecting the rest of the state machine. Easily synthesized from HDL languages, VHDL or Verilog. It is easy to debug. An style that is in between the two styles above is the two-hot encoding style, which presents two bits active per state and therefore, with n flip-flops can be encoded up to n(n-1)/2 states. The encoding styles and the number of flip-flops required for a finite state machine with eight states is shown below: STATE TABLE 1. STATE ENCODING OF A 8-STATE FSM ENCODING BINARY STYLE ONE-HOT STYLE TWO-HOT STYLE STATE STATE STATE STATE STATE STATE STATE STATE FLIP-FLOPS NUMBER THREE FLIP- FLOPS EIGHT FLIP- FLOPS FIVE FLIP- FLOPS The one-hot style is recommended in applications where flip-flops are abundant, like in FPGA circuits. CPLD circuits have fewer flip-flops available to the designer. While one-hot encoding is sometimes preferred because it is easy, a large state machine will require a large number of flip-flops. Therefore, when implementing finite state machines on CPLD circuits, in order to conserve available resources, it is recommended that binary or gray encoding be used [7]. That enables the largest number of states to be represented by as few flipflops as possible. IV. HDL LANGUAGES Most hardware designers use hardware description languages (HDLs) to describe designs at various levels of abstraction. A hardware description language is a high level programming language, with programming constructs such as assignments, conditions, iterations and extensions for timing specification, concurrency and data structure proper for modeling different aspects of hardware. The most popular hardware description languages are VHDL [8] and Verilog [9]. VHDL (VHSIC (Very High Speed Integrated Circuits) Hardware Description Language) [8] is an IEEE Standard since 1987 while Verilog was standardized in Both languages are programming language that has been designed and optimized for describing the behavior of digital systems. This HDL languages support the development, verification, synthesis, and testing of hardware designs. In this paper we chose the VHDL language. One important aspect related to the FSM approach in VHDL code is that, though any sequential circuit can in principle be modeled as a state machine, this is not always advantageous [3]. The reason is that the code might become longer, more complex, and more error prone than in a conventional approach [3]. The FSM approach is adequate in systems whose tasks constitute a well-structured list so all states can be easily enumerated. That is, in a typical state machine implementation, we will encounter, at the beginning of the ARCHITECTURE, a user-defined enumerated data type, containing a list of all possible system states [3]. 274
3 V. FSM VHDL DESIGN AND MODELING ISSUES A Finite State Machines are an important aspect of hardware design. A well written model will function correctly and meet requirements in an optimal manner. Finite state machine VHDL design issues to consider are: VHDL coding style. How many processes we use? State encoding. Mealy or Moore type outputs. A. VHDL coding style There are many ways of modeling the same state machine. Our example of FSM focuses on simple tasks, such as detecting a unique pattern from a serial input data stream and generating a 1 value to output whenever the sequence 10 occurs. The state diagram of our string detector circuit is shown in figure 2. There are three states, which we called s0, s1, and s2. CURRENT STATE 0 / 0 s0 0 / 0 Figure 2. FSM State diagram TABLE 2. TABLE WITH CURRENT STATE, NEXT STATE AND MEALY/MOORE OUTPUT FOR STRING DETECTOR CIRCUIT NEXT STATE s2 MEALY OUTPUT MOORE OUTPUT A=0 A=1 A=0 A=1 S0 S0 S S1 S2 S S2 S0 S Simulation results are shown in figure 3. As can be seen, the data sequence A= was applied to the circuit, resulting the response F= at the output F. HDL code may be divided into three different parts to represent current state logic, next state logic and Mealy or Moore output logic. It may also be structured so that the three different parts are combined in the model. In VHDL, it is impossible to synthesize a combined current state, next state, and output logic in a single always statement. A FSM with n state flip-flops may have 2n binary numbers that can encode states and often, all states are not needed. Therefore, next-state logic is best modeled using the case statement even though this means the state machine cannot be modeled in one process. The default clause used in a case statement avoids having to define the unused states. B. How many processes? 1 / 0 1 / 0 0 / 1 1 / 0 Generally every finite state machine can be described either by one process or by two separated processes. s1 In the following table, are presented the corresponding parts of the VHDL source code for one process and two processes design for the string detector circuit. TABLE 3.VHDL DESIGN FOR STRING DETECTOR CIRCUIT ONE VHDL PROCESS TWO VHDL PROCESS FSM_ONE: PROCESS (CLK, RST) --PROCESS TO HOLD SYNCHRONOUS ELEMENTS FSM_SYNCH: PROCESS (CLK, RST) IF (RST= 1 ) IF (RST= 1 ) ELSIF (CLK EVENT AND CLK= 1 ) ELSIF (CLK EVENT AND CLK= 1 ) CURRENT_STATE <= NEXT_STATE; WHEN S0 => PROCESS FSM_SYNCH; --PROCESS TO HOLD COMBINATIONAL LOGIC FSM_COMB: PROCESS (A, CURRENT_ STATE) WHEN S0=> WHEN S1 => NEXT_STATE <=S0; F<= 01 ; WHEN S1=> WHEN S2 => F<= 1 ; F<= 1 ; WHEN S2=> CASE; PROCESS FSM_ONE; CASE; PROCESS FSM_COMB; In one process version, in the CASE statement which models the state transitions, the current state of the string detector FSM is detected and it is examined whether input values are present that lead to a change of the state. The same FSM is used to show an implementation based on two VHDL processes. The VHDL source code contains two processes, one process defines synchronous elements of the design (state registers) and the other process defines the combinational part of the design (case statement). The result is a clocked process describing the storing elements and another combinational process describing the logic. In the CASE statement, the current state is checked and the input values are examined. If the state has to change, then NEXT_STATE and CURRENT_STATE will differ and with the next appearance of the active clock edge, this new state will be taken over as the current state. There are different advantages and disadvantages of using one process or two processes and these differences are presented below. 1) Structure and legibility The one process description is more adequate for 275
4 observing changes of the states of the string detector FSM from the outside of the VHDL module. The graphical description resembles more a one process than a two process description. The VHDL source code should be split into two exactly the time and location where the error occurs for the first time and therefore the source of the error. 3) Synthesis Several synthesis tools tend to produce better results when two processes are used to describe a finite state machine. C. State encoding in VHDL A finite state machine is an abstract description of digital structure and therefore the synthesis tools requires states of the automaton to be encoded as binary values or the synthesis tool itself will transform the state into a binary description. The way in which states are assigned binary values is called state encoding. Some different state encoding schemes frequently used are presented in table 1. Most synthesis tools selects a binary code by default, except the designer specifies another code explicitly. From all possibilities of state encoding is used frequently one-hot code, which is needed for speed optimized circuits. TABLE 4. STATE ENCODING STATE ENCODING TYPE STATE_TYPE IS ( S0, S1, S2) ; SIGNAL STATE : STATE_TYPE ; BINARY CODE ONE-HOT CODE GRAY CODE S0 "00" S1 "01" S2 "10" S0 "001" S1 "010" S2 "100" S0 "00" S1 "01" S2 "11" The circuit requires two flip-flops, which encode the three states of the string detector state machine. As the automat consists only of three states and two flip-flops can represent up to four states, there is one invalid state which leads to an unsafe state machine where the behavior of the design is not determined. The best method of state encoding is hand coding in which case the designer decides by himself what code will be used. TABLE 5. HAND CODING SUBTYPE STATE_TYPE IS STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL STATE : STATE_TYPE ; CONSTANT S0: STATE_TYPE := "00"; CONSTANT S1: STATE_TYPE := "10"; CONSTANT S2: STATE_TYPE := "11"; The constants are defined to represent the corresponding states of the state machine and the code can be fixed by the designer. The behavior in case of errors can be verified in a simulation and therefore the hand coding alternative is the best method to design a safe finite state machine and is furthermore portable among different synthesis tools. This type of state encoding has the advantage of using a vector type and the only disadvantage is a little more effort in writing the VHDL code, when the code is changed. processes because the combinational elements and synchronous elements (state registers) are two different structural elements. 2) Simulation For two process version, can be determined D. MOORE MACHINE VERSUS MEALY MACHINE The two most popular state machines are referred to as Moore or Mealy machines, named after researchers who published early papers on their structure [10, 11]. There are different reasons for a designer to use one or other version of the two different type of finite state machine. The primary difference between these two state machines is that the output of a Moore machine depends only upon the state of the circuit whereas the output of a Mealy machine depends upon both the state and the inputs of the circuit. This has a practical effect in that the output signals of a Moore machine only change after output logic delays following a clock signal edge whereas the output signals of a Mealy machine may change at any time shortly after an input signal changes value [1]. In theoretical computer science, a Moore machine and a Mealy machine are considered to have similar efficiency because both can recognize regular expressions [4]. When the FSM is used as a control circuit, the control signals generated by a Moore machine and a Mealy machine have different timing characteristics and for the efficiency of a control circuit the timing difference is critical. We used a simple edge detection circuit to observe the difference between these two state machines. There are three major differences between the Moore machine and Mealy machine. First, a Mealy machine requires fewer states to perform the same task because its output is a function of states and external inputs, and several possible output values can be specified in one state. Second, a Mealy machine can generate a faster response. Since a Mealy output is a function of input, it changes whenever the input meets the designated condition and a Moore machine reacts indirectly to input changes. The third difference involves the control of the width and timing of the output signal. In a Mealy machine, the width of an output signal varies with input and can be very narrow. A Mealy machine is susceptible to disturbances in the input signal and passes to the output. The output of a Moore machine is synchronized with the clock edge and its width is about the same as a clock period. From this perspective, selection between a Mealy machine and a Moore machine depends on the need of control signals. If we divide control signals into two categories: edge-sensitive and level-sensitive, then for the first case, both the Mealy and the Moore machines can generate output signals that meet this requirement. However, a Mealy machine is preferred since it uses fewer states and responds one clock faster than does a Moore machine. A level-sensitive control signal means that a signal has to be asserted for a certain amount of time. When asserted, it has to be stable and free of spikes. 276
5 A Moore machine is preferred since it can accurately control the activation time of its output, and can shield the control signal from input glitches. TABLE 6. MEALY AND MOORE VHDL DESIGN FOR A STRING DETECTOR MEALY VHDL DESIGN MOORE VHDL DESIGN ENTITY MEALY IS PORT(A,CLK,RST: IN BIT; F: OUT BIT); MEALY; ARCHITECTURE FSM OF MEALY IS SUBTYPE STATE_TYPE IS STD_ LOGIC_VECTOR (2 DOWNTO 0); SIGNAL STATE : STATE_TYPE; CONSTANT S0: STATE_TYPE:="001"; CONSTANT S1: STATE_TYPE:="010"; CONSTANT S2: STATE_TYPE:="100"; SIGNAL CURRENT_STATE, NEXT_STATE : STATE_TYPE; FF: PROCESS (CLK, RST) IF (RST= 1 ) ELSIF (CLK EVENT AND CLK='1') IF ; PROCESS; LOGIC: PROCESS (A, CURRENT_STATE) WHEN S0 => F <= 0 ; F <= 0 ; WHEN S1 => F <= 0 ; NEXT_STATE<=S1; WHEN S2 => F<= 1 ; NEXT_STATE<=S0; NEXT_STATE<=S1; CASE; PROCESS; FSM; ENTITY MOORE IS PORT(A,CLK,RST: IN BIT; F: OUT BIT); MOORE; ARCHITECTURE FSM OF MOORE IS SUBTYPE STATE_TYPE IS STD_ LOGIC_VECTOR (2 DOWNTO 0); SIGNAL STATE : STATE_TYPE; CONSTANT S0: STATE_TYPE:="001"; CONSTANT S1: STATE_TYPE:="010"; CONSTANT S2: STATE_TYPE:="100"; SIGNAL CURRENT_STATE, NEXT_STATE : STATE_TYPE; FF: PROCESS (CLK, RST) IF (RST= 1 ) ELSIF (CLK EVENT AND CLK= 1 ) IF ; PROCESS FF ; LOGIC: PROCESS (A, CURRENT_STATE) WHEN S0=> F <= 0 ; NEXT_STATE <=S 0; WHEN S1=> F <= 0 ; WHEN S2=> F <= 1 ; CASE; PROCESS; FSM ; VI. VHDL/VERILOG COMPARED & CONTRASTED Hardware structures can be modeled equally effectively in both languages, VHDL and Verilog. Choosing which of these hardware description languages can use them only depends on personal preferences, EDA tool availability or commercial and marketing issues. Verilog HDL allows a designer to describe designs at a high level of abstraction such as at the structural or behavioral level as well as the lower implementation levels leading to Very Large Scale Integration Integrated Circuits layouts and chip fabrication. A basic use of HDL languages is the simulation of designs before the designer must commit to fabrication. VHDL is also a hardware description language that describes the behavior of an electronic circuit or system, from which the physical circuit can then be implemented [3]. This language is designed to fill a number of needs in the design process: It allows description of the structure of a design that is how it is decomposed into sub-designs, and how those sub-designs are interconnected; It allows the specification of the function of designs using familiar programming language forms; It allows a design to be simulated before being manufactured, so that designers can test for correctness and compare alternatives. Regarding design reusability in Verilog the functions and procedures must be placed in a separate file and included using include compiler directive to make them accessible from different module statements [12]. In the VHDL case, the procedures and functions may be placed in a package so that they are available to any design-unit that wishes to use them. Compared to VHDL, Verilog data types are very simple, easy to use and unlike VHDL, all data types used in a Verilog model are not defined by the user but by the Verilog language. Objects of type reg hold their value over simulation cycles and should not be confused with the modeling of a hardware register. Verilog may be preferred because of simplicity, but VHDL may be recomended because it allows a multitude of user defined data types to be used. There are more VHDL constructs and features for high-level modeling, compared with Verilog, where is no equivalent to the high-level VHDL modeling statements. In VHDL abstract data types can be used along with the following statements: package statements for model reuse, configuration statements for configuring design structure, generate statements for replicating structure and generic statements for generic models [12]. There is no concept of library in Verilog and this is due to origins as an interpretive language. In VHDL a library is a store for compiled entities, architectures, packages and configurations and they are useful for managing multiple design projects, compared with Verilog, where are not statements who manage large designs. A final specification regarding VHDL is that, contrary to regular computer programs which are sequential, its statements are concurrent and only statements placed inside a process, function, or procedure are executed sequentially. For that reason, VHDL is referred to as a code rather than a program. Model of a string detector circuit was proposed as problem for describing a finite state machine using VHDL and in this last part of paper we include a model written in Verilog in addition to VHDL, for comparison purposes. 277
6 TABLE 7. MEALY AND MOORE VERILOG DESIGN FOR A STRING DETECTOR CIRCUIT MEALY VERILOG DESIGN MOORE VERILOG DESIGN MODULE MEALY_STRING_DETECTOR (F, A, CLK, RST); OUTPUT F; INPUT A, CLK, RST; REG F; REG [2:0] CURRENT_STATE, NEXT_STATE; PARAMETER S0=3 B001, S1=3 B010, S2=3 (POSEDGE CLK AND POSEDGE RST) IF (RST = = OR A) CASE (CURRENT_STATE) MODULE MOORE_STRING_DETECTOR (F, A, CLK, RST); OUTPUT F; INPUT A, CLK, RST; REG F; REG [2:0] CURRENT_STATE, NEXT_STATE; PARAMETER S0=3 B001, S1=3 B010, S2=3 (POSEDGE CLK OR POSEDGE RST) IF (RST = = OR A) CASE (CURRENT_STATE) S0 : IF (A = = 0) S1 : IF (A = = 0) F<= 0; S2 : IF (A = = 0) F<=1; F<=0; DEFAULT : CASE MODULE S0 : IF (A = = 0) S1 : IF (A = = 0) S2 : F <= 1; IF (A = = 0) DEFAULT : CASE MODULE Figure 3. Simulation Results for String Detector circuit VII. CONCLUSIONS This paper shows the relationship between finite state machines and VHDL/Verilog code. A fundamental motivation to use VHDL or Verilog is that both are a standard, technology independent language, and are therefore portable and reusable. There are many ways to describe FSM designs and some design rules in HDL languages are: Use parameters to define state encodings. Parameters are constants that are local to a module and after defining the state encodings at the top of the module, never use the state encodings again in the code. This method makes it possible to easily change the state codings in just one place in module. Use a two process/always block coding style to describe FSM designs with combinational outputs because this style is efficient and can easily describe Mealy designs. Avoid the one process/always block FSM coding style because this code style is more complicate than two process/always block coding style and output assignments are more error prone to coding mistakes. REFERENCES [1] Hopcroft, J. E., Ullman, J. D., Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, [2] Reese, R. B., Thornton, M. A., Introduction to Logic Synthesis using Verilog HDL, Morgan & Claypool Publishers series Synthesis lectures on digital circuits and systems, USA, ISSN: , pp , 2006 [3] Volnei, A.Pedroni, Circuit Design with VHDL, MIT Press Cambridge, Massachusetts, London, England, ISBN , pp , 2004 [4] Chu, Pong P., RTL hardware design using VHDL, A Wiley- Interscience publication, USA, ISBN: , pp , 2006 [5] Golson, S., State Machine Design Techniques for Verilog and VHDL, Synopsys Journal of High-Level Design, pp. 1-2, 1994 [6] Enoch O. Hwang, Digital Logic and Microprocessor Design With VHDL, ISBN , pp , 2004 [7] XILINX A CPLD VHDL Introduction, , 2001 [8] IEEE Standard , IEEE Standard Description Language Based on the VHDL Hardware Description Language, [9] IEEE Standard , IEEE Standard Description Language Based on the Verilog Hardware Description Language, [10] Mealy, G. H., A method for synthesizing sequential circuits, Bell System Tech. J., Vol. 34, No. 5, pp , [11] Moore, E. F., Gedanken experiments on sequential machines, Automata Studies. Princeton, NJ: Princeton University Press, pp , [12] Smith, D. J., VHDL & Verilog Compared & Contrasted Plus Modeled Example Written in VHDL, Verilog and C, Proceedings of the 33rd annual Design Automation Conference, USA
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
Finite State Machine. RTL Hardware Design by P. Chu. Chapter 10 1
Finite State Machine Chapter 10 1 Outline 1. Overview 2. FSM representation 3. Timing and performance of an FSM 4. Moore machine versus Mealy machine 5. VHDL description of FSMs 6. State assignment 7.
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
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
Using Xilinx ISE for VHDL Based Design
ECE 561 Project 4-1 - Using Xilinx ISE for VHDL Based Design In this project you will learn to create a design module from VHDL code. With Xilinx ISE, you can easily create modules from VHDL code using
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
ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog
ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();
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
Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: [email protected]. Sequential Circuit
Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: [email protected] 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements
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:
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
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,
Manchester Encoder-Decoder for Xilinx CPLDs
Application Note: CoolRunner CPLDs R XAPP339 (v.3) October, 22 Manchester Encoder-Decoder for Xilinx CPLDs Summary This application note provides a functional description of VHDL and Verilog source code
Design and Implementation of Vending Machine using Verilog HDL
2011 2nd International Conference on Networking and Information Technology IPCSIT vol.17 (2011) (2011) IACSIT Press, Singapore Design and Implementation of Vending Machine using Verilog HDL Muhammad Ali
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
Registers & Counters
Objectives This section deals with some simple and useful sequential circuits. Its objectives are to: Introduce registers as multi-bit storage devices. Introduce counters by adding logic to registers implementing
Chapter 5. Sequential Logic
Chapter 5 Sequential Logic Sequential Circuits (/2) Combinational circuits: a. contain no memory elements b. the outputs depends on the current inputs Sequential circuits: a feedback path outputs depends
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
A Verilog HDL Test Bench Primer Application Note
A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2
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
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
More 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
Cascaded Counters. Page 1 BYU
Cascaded Counters Page 1 Mod-N Counters Generally we are interested in counters that count up to specific count values Not just powers of 2 A mod-n counter has N states Counts from 0 to N-1 then rolls
Traffic Light Controller. Digital Systems Design. Dr. Ted Shaneyfelt
Traffic Light Controller Digital Systems Design Dr. Ted Shaneyfelt December 3, 2008 Table of Contents I. Introduction 3 A. Problem Statement 3 B. Illustration 3 C. State Machine 3 II. Procedure 4 A. State
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
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.
IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)
IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1) Elena Dubrova KTH / ICT / ES [email protected] BV pp. 584-640 This lecture IE1204 Digital Design, HT14 2 Asynchronous Sequential Machines
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
Modeling Registers and Counters
Lab Workbook Introduction When several flip-flops are grouped together, with a common clock, to hold related information the resulting circuit is called a register. Just like flip-flops, registers may
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
Wiki Lab Book. This week is practice for wiki usage during the project.
Wiki Lab Book Use a wiki as a lab book. Wikis are excellent tools for collaborative work (i.e. where you need to efficiently share lots of information and files with multiple people). This week is practice
Asynchronous & Synchronous Reset Design Techniques - Part Deux
Clifford E. Cummings Don Mills Steve Golson Sunburst Design, Inc. LCDM Engineering Trilobyte Systems [email protected] [email protected] [email protected] ABSTRACT This paper will investigate
Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Detector & Electronics Division PPD Lectures Programmable Logic is Key Underlying Technology. First-Level and High-Level
Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems
Harris Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems David Harris Harvey Mudd College [email protected] Based on EE271 developed by Mark Horowitz, Stanford University MAH
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
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
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.
Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE Ioan Lemeni Computer and Communication Engineering Department Faculty of Automation, Computers and Electronics University of Craiova 13, A.I. Cuza, Craiova,
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
if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z <= A; else Z <= B; end if; end process;
if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z
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,
DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute. 2nd (Spring) term 2012/2013
DIGITAL TECHNICS II Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 4. LECTURE: COUNTERS AND RELATED 2nd (Spring) term 2012/2013 1 4. LECTURE: COUNTERS AND RELATED 1. Counters,
Digital Design with VHDL
Digital Design with VHDL CSE 560M Lecture 5 Shakir James Shakir James 1 Plan for Today Announcement Commentary due Wednesday HW1 assigned today. Begin immediately! Questions VHDL help session Assignment
LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER
LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER OBJECTIVES 1. Learn the basic elements of VHDL that are implemented in Warp. 2. Build a simple application using VHDL and
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
PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics
PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Digital Circuits Advanced Topics 1 Sequential circuit and metastability 2 Sequential circuit - FSM A Sequential circuit contains: Storage
The Designer's Guide to VHDL
The Designer's Guide to VHDL Third Edition Peter J. Ashenden EDA CONSULTANT, ASHENDEN DESIGNS PTY. LTD. ADJUNCT ASSOCIATE PROFESSOR, ADELAIDE UNIVERSITY AMSTERDAM BOSTON HEIDELBERG LONDON m^^ yj 1 ' NEW
Lecture-3 MEMORY: Development of Memory:
Lecture-3 MEMORY: It is a storage device. It stores program data and the results. There are two kind of memories; semiconductor memories & magnetic memories. Semiconductor memories are faster, smaller,
Lecture 7: Clocking of VLSI Systems
Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis
Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology
Topics of Chapter 5 Sequential Machines Memory elements Memory elements. Basics of sequential machines. Clocking issues. Two-phase clocking. Testing of combinational (Chapter 4) and sequential (Chapter
Design and Verification of Nine port Network Router
Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra
Hardware Implementation of the Stone Metamorphic Cipher
International Journal of Computer Science & Network Security VOL.10 No.8, 2010 Hardware Implementation of the Stone Metamorphic Cipher Rabie A. Mahmoud 1, Magdy Saeb 2 1. Department of Mathematics, Faculty
Engr354: Digital Logic Circuits
Engr354: igital Circuits Chapter 7 Sequential Elements r. Curtis Nelson Sequential Elements In this chapter you will learn about: circuits that can store information; Basic cells, latches, and flip-flops;
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 [email protected] Department of Computer
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,
INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE
INTRODUCTION TO DIGITAL SYSTEMS 1 DESCRIPTION AND DESIGN OF DIGITAL SYSTEMS FORMAL BASIS: SWITCHING ALGEBRA IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE COURSE EMPHASIS:
In this example the length of the vector is determined by D length and used for the index variable.
Loops Loop statements are a catagory of control structures that allow you to specify repeating sequences of behavior in a circuit. There are three primary types of loops in VHDL: for loops, while loops,
Digital Logic Design Sequential circuits
Digital Logic Design Sequential circuits Dr. Eng. Ahmed H. Madian E-mail: [email protected] Dr. Eng. Rania.Swief E-mail: [email protected] Dr. Eng. Ahmed H. Madian Registers An n-bit register
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
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: [email protected] How to go
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach
A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach Mitchell A. Thornton 1 and Aaron S. Collins 2 Abstract A second undergraduate course in digital logic design
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,
ENEE 244 (01**). Spring 2006. Homework 5. Due back in class on Friday, April 28.
ENEE 244 (01**). Spring 2006 Homework 5 Due back in class on Friday, April 28. 1. Fill up the function table (truth table) for the following latch. How is this latch related to those described in the lectures
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
A CPLD VHDL Introduction
Application Note: CPLD R XAPP105 (v2.0) August 30, 2001 Summary This introduction covers the fundamentals of VHDL as applied to Complex Programmable Logic Devices (CPLDs). Specifically included are those
Digital Design Verification
Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant
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
Introduction to Digital System Design
Introduction to Digital System Design Chapter 1 1 Outline 1. Why Digital? 2. Device Technologies 3. System Representation 4. Abstraction 5. Development Tasks 6. Development Flow Chapter 1 2 1. Why Digital
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
Chapter 7: Advanced Modeling Techniques
Chapter 7: Advanced Modeling Techniques Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL
12. A B C A B C A B C 1 A B C A B C A B C JK-FF NETr
2..,.,.. Flip-Flops :, Flip-Flops, Flip Flop. ( MOD)... -8 8, 7 ( ).. n Flip-Flops. n Flip-Flops : 2 n. 2 n, Modulo. (-5) -4 ( -), (-) - ( -).. / A A A 2 3 4 5 MOD-5 6 MOD-6 7 MOD-7 8 9 / A A A 2 3 4 5
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
FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL
FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL B. Dilip, Y. Alekhya, P. Divya Bharathi Abstract Traffic lights are the signaling devices used to manage traffic on multi-way
No serious hazards are involved in this laboratory experiment, but be careful to connect the components with the proper polarity to avoid damage.
HARDWARE LAB 5/DESIGN PROJECT Finite State Machine Design of a Vending Machine Using Xilinx ISE Project Navigator and Spartan 3E FPGA Development Board with VHDL Acknowledgements: Developed by Bassam Matar,
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
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
Counters. Present State Next State A B A B 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0
ounter ounters ounters are a specific type of sequential circuit. Like registers, the state, or the flip-flop values themselves, serves as the output. The output value increases by one on each clock cycle.
From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design
From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design Frank P. Coyle and Mitchell A. Thornton Computer Science and Engineering Dept Southern Methodist University Dallas
Using SystemVerilog Assertions for Creating Property-Based Checkers
Using SystemVerilog Assertions for Creating Property-Based Checkers Eduard Cerny Synopsys, Inc. Marlborough, USA [email protected] Dmitry Korchemny Intel Corp. Haifa, Israel [email protected]
ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes ([email protected])
ECE 451 Verilog Exercises Sept 14, 2007 James Barnes ([email protected]) Organization These slides give a series of self-paced exercises. Read the specification of each exercise and write your
SDLC Controller. Documentation. Design File Formats. Verification
January 15, 2004 Product Specification 11 Stonewall Court Woodcliff Lake, NJ 07677 USA Phone: +1-201-391-8300 Fax: +1-201-391-8694 E-mail: [email protected] URL: www.cast-inc.com Features AllianceCORE
WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1
WEEK 8.1 egisters and Counters ECE124 igital Circuits and Systems Page 1 Additional schematic FF symbols Active low set and reset signals. S Active high set and reset signals. S ECE124 igital Circuits
The Advanced JTAG Bridge. Nathan Yawn [email protected] 05/12/09
The Advanced JTAG Bridge Nathan Yawn [email protected] 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the
DIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department
Counters By: Electrical Engineering Department 1 Counters Upon completion of the chapter, students should be able to:.1 Understand the basic concepts of asynchronous counter and synchronous counters, and
Counters are sequential circuits which "count" through a specific state sequence.
Counters Counters are sequential circuits which "count" through a specific state sequence. They can count up, count down, or count through other fixed sequences. Two distinct types are in common usage:
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
Digital Design and Synthesis INTRODUCTION
Digital Design and Synthesis INTRODUCTION The advances in digital design owe its progress to 3 factors. First the acceleration at which the CMOS technology has advanced in last few decades and the way
CPE 462 VHDL: Simulation and Synthesis
CPE 462 VHDL: Simulation and Synthesis Topic #09 - a) Introduction to random numbers in hardware Fortuna was the goddess of fortune and personification of luck in Roman religion. She might bring good luck
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
Verification & Design Techniques Used in a Graduate Level VHDL Course
Verification & Design Techniques Used in a Graduate Level VHDL Course Prof. Swati Agrawal, BE, MS (SUNY, Buffalo, NY USA) 1 Associate Professor, Department of Electronics & Telecommunication, Bhilai Institute
Digital Electronics Detailed Outline
Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
路 論 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
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
Boole-WebLab-Deusto: Integration of a Remote Lab in a Tool for Digital Circuits Design
Boole-WebLab-Deusto: Integration of a Remote Lab in a Tool for Digital Circuits Design Javier García-Zubía (IEEE Senior Member), Ignacio Angulo, Luis Rodríguez-Gil Faculty of Engineering University of
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
