Partitioning of Mealy Finite State Machines

Size: px
Start display at page:

Download "Partitioning of Mealy Finite State Machines"

Transcription

1 Partitioning of Mealy Finite State Machines Arkadiusz Bukowiec Luis Gomes University of Zielona Góra, Institute of Computer Engineering and Electronics, Zielona Góra, Poland ( Universidade Nova de Lisboa, Departament of Electrotechnical Engineering, Caparica, Portugal ( Abstract: As widely accepted, the most popular way for realization of control units are finite state machines. Up-to-date control unit circuits very often are implemented using programmable logic devices. Microprocessors can be also considered as a solution taking costs into account. But very often microprocessors are too slow for realization control units of digital systems. The partitioning of state machines can be a solution for this problem allowing a parallel execution of sub-state machines, keeping performance, cost, and energy consumption at adequate levels. In this case, the time critical part of the control unit (associated with specific sub-state machines) can be implemented in fast FPGA device and other parts can be realized by cheaper platforms (namely based on microprocessors). Additional advantage of such solution is that each part can be synthesized using different methods. The problems and algorithms of partitioning of state machines are discussed in this paper. A CAD tool for partitioning implementing the proposed algorithm is also presented. Keywords: control units, finite state machines, model partitioning, FPGAs, KISS 1. INTRODUCTION Most digital systems can be decomposed into control unit and data path (De Micheli, 1994). The most popular way for specification and implementation of control unit is based on finite state machines (FSMs) (Hopcroft and Ullman, 1979; Baranov, 1994). Control unit circuits very often are implemented using programmable logic devices such as CPLD or FPGA (Jenkins, 1994), depending on complexity. Coping with tradeoffs between costs and performance, microprocessors/microcontrollers can also be considered as a solution. However, very often microprocessors are to slow for implementation of control units for critical parts of digital systems. On the other hand, implementation of very large state machines is very expensive and performance can be penalized (depending on implementation method). The partitioning of FSM into a set of concurrent FSMs can be a solution for these problems (Jóźwiak, 1995; Gomes and Costa, 2003). Also, when addressing hardware-software co-design of embedded systems, the partitioning of state diagram could be very effective in order to map different components into different implementation platforms, according with target costs and performance. Whenever it is needed to handle large state diagrams, it is mandatory to rely on some structuring mechanisms, like hierarchical representation, which is provided by different state-based modeling formalism. Statecharts (Harel, 1987) can be considered as a representative for those well-known set of formalisms supporting hierarchy and parallel composition of state diagrams. The paper starts with a brief description of the proposed methodology and introduces the notation used for state diagram representation. In the following sections, the proposed partitioning algorithm and details about its implementation are presented. The next section presents an example in order to allow illustration of the referred procedures; validation of the results was achieved through implementation; associated simulation results are presented. At the end, final remarks regarding the example are produced and conclusions are presented 2. METHODOLOGY OVERVIEW Instead of addressing the whole methodology flow, the paper focuses only on the part related with the partitioning of state diagrams, more specifically Mealy state diagrams. It is important to note that considering only Mealy machines has no loss of generality compared with Moore machines (Hopcroft and Ullman, 1979), as both models have equivalent modeling capabilities and it is possible to obtain a behaviorally equivalent Mealy machine from a Moore machine. Figure 1 summarizes the associated flow. Starting with a state diagram, and based on the definition of a cutting set composed by a set of transition arcs, a set of of parallel components is obtained. Each of these components is also a state machine (also referred as a sub-state machine, or sub- FSM). The components will be executed in parallel with the support of additional synchronizing signals, which were created for inter-component communication purposes. If one generates the state space associated with the execution of this set of generated communicating components,

2 Initial State Diagram Behavioral equivalent State Diagram Partitioning procedures Fig. 1. State Diagram partitioning Communicating Components (sub-state diagrams) State space construction it is important to note that the generated state space is behaviorally equivalent (which means isomorphic) with respect to the initial state machine. Figure 2 presents a high-level characterization of the implementation architecture, where each component (substate diagram) receives as inputs the inputs of the initial state machine (or a sub-set of it, depending of the dependencies of the specific state machine arc expressions) and a set of signals generated by the other components to allow synchronization of global evolution (as a matter of fact, only signals generated by adjacent components are relevant). Inputs Component 1 (sub-state diagram 1) Component N (sub-state diagram N) Inter-component communication support Fig. 2. High-level implementation architecture Outputs After the partitioning of the initial state diagram, a set of components are ready to be deployed in a specific implementation platform. In this sense, the proposed procedures are applicable within different implementation scenarios: hardware-centric implementations, where only hardware implementations of the sub-state machines are foreseen (for instance, from asynchronous circuits to synchronous circuit with different clock signals to accommodate proper power consumption levels); hardware-software implementation using co-design techniques, where each component could be mapped into an hardware platform or a software process (Jóźwiak et al., 2006). It is important to note that whenever different execution times (for instance, clock rates) are used for the different components, special care needs to be taken (and specific modules need to be used) to assure a secure and reliable inter-communication between parallel components (Jantsch, 2003). However, this is not a problem whenever a global clock is considered, as in the running example used in this paper (to be presented in following sections). Using the referred partitioning procedures, the time critical part of the control unit can be implemented in fast FPGA device and other parts can be realized by cheaper devices or microprocessors. On the other hand each part of the system can be synthesized and implemented using different methods of synthesis (Barkalov and Titarenko, 2008; Bukowiec, 2006). Unfortunately, the fully automated partitioning process based on mathematical graphs algorithms can not be achieved, as state diagram doesn t give information about required execution time of the different transition functions (which means execution performance), probability of transition, etc. We argue that this partitioning can be achieved starting with a set of transitions selected by designer and a computational tool to produce the partitioning itself. This tool, named as DivideFSM, is presented in this work. 3. BASIC DEFINITIONS In the current section, two basic definitions are formally introduced presenting characteristics of initial state diagram and of sub-state diagram, as presented in previous section. Lemma 1. A State diagram is a 7-tuple SD = (S, s 0, I, O, F, AC, AA), where S is a finite set of states. s 0 is the initial state, I is a finite set of input Boolean signals, O is a finite set of output Boolean signals (Mealy-type outputs). I O = F is the transition arc relation defining the source state, attached transition expression, destination state, and attached output signals for each transition arc F S AC S AA, AC is a finite set of input signals expressions; each expression is composed by a Boolean product term expression containing from none to all input signals in I ; the expression is evaluated to true whenever no input signals are involved, AA is a finite set of output signals expressions; each expression is composed by a list of output Boolean signals containing from none to all output signals in O. Lemma 2. A Sub-State diagram is a 9-tuple SSD = (S, s 0, I, IA, O, OA, F, AC, AA), where S is a finite set of states, composed by the union of a subset of the set of states of the main state diagram and an additional state representing inactivity of the sub-state diagram. s 0 is the initial state. I is a finite set of input Boolean signals (same as in main state diagram). IA is a finite set of input Boolean signals (coming from other sub-state diagrams, from OA set of output signals). O is a finite set of output Boolean signals (Mealy-type outputs) (same as in main state diagram).

3 OA is a finite set of output Boolean signals (Mealytype outputs) (each output signal is associated with deactivation condition of every state); I IA O OA = F is the transition arc relation defining the source state, attached transition expression, destination state, and attached output signals for each transition arc F S AC S AA, AC is a finite set of input signals expressions; each expression is composed by a Boolean product term expression containing from none to all input signals in I IA; the expression is evaluated to true whenever no input signals are involved, AA is a finite set of output signals expressions; each expression is composed by a list of output Boolean signals containing from none to all output signals in O. 4. REPRESENTATION OF FSMS Behavior of FSM can be described using different notations but the state diagrams are the most common graphical representation (De Micheli, 1994). One common formal representation of a state diagram is direct structural table (DST) (Baranov, 1994). The advantage of this format is that it can be easy represented as text format. Typically such table consist of columns representing a initial state of FSM, a state of transition, logic conditions and the microinstruction formed under transition and each line describe one transition. One of the most popular text formats describing DST is the KISS2 format (Yang, 1991). A file in this format consists of a header and a table (Fig. 3). - / y1y2 ~ / - a1 / y1 x1 / y2 - / y3 ~x1 / y3 - / y1y3 - / y2y3.i 2.o 3.s 6.p 8.r a1-0 a a Fig. 3. State diagram ( and KISS2 description ( of FSM S 1 The header includes information about the number of inputs (.i), the number of outputs (.o), the number of table lines - products (.p), the number of states (.s). There can be also specified the optional information about the initial state (.r). The table describes the behavior (transitions) of FSM. The - sign in logic condition means that this input variable does not affect this transition. The 0 value means that negation of this variable should be placed in logic condition and the 1 value that its affirmation should be placed in logic condition. The 0 value of the output signal means that this microoperation does not belong to formed microinstruction and the 1 value means that it belongs. 5. ALGORITHM OF PARTITIONING The goal of partitioning is to start with one initial FSM and ending-up with a set of concurrent FSMs, obtained from the partitioning of the initial model (Gomes and Costa, 2003). Several strategies can be used to identify the set of transitions to be included in the cutting set in order to split the model and to produce the different concurrent components: from completely ad-hoc techniques to identification of strong connected components. The only restrictions that this transitions cutting set have to obey is to produce a set of unconnected components after its removal. The procedure can be summarized as follows: Each of the decomposed FSMs (one component), also named as sub-fsms, is composed by a set of states and transitions; In the sub-fsm associated with the first component (the one with the initial state), one new state is added. This state represents the other components (from the point of view of this sub-fsm, all others sub-fsms colapses into this one new state); In the others sub-fsms associated with others components also one new state is added. This state also represents the other components but in this case it is also the initial state of considered sub-fsm; New transitions are added between the new states and the other states of the component according with the transitions of the cutting set. Associated conditions include a dependency on the activation of the origin state. Figure 4 illustrates the process of partitioning. On the right side, there is also presented scheme of implementation before and after partitioning. 6. IMPLEMENTATION OF ALGORITHM OF PARTITIONING The referred procedures are implemented by a CAD tool, called DivideFSM, presented in this work, which associated algorithm is presented in Fig. 5. This tool starts with a state machine description based on KISS2 (Yang, 1991) format and with the transition cutting set. The identification of the cutting set transitions is accomplished marking those transitions in the initial description with a specific directive (seen as a comment in KISS2 syntax). As result, a set of output KISS2 files describing each sub-fsm are produced. An initial state per sub-fsm is assured: if the initial state of original FSM belongs to states of the sub-fsm then the initial state is set to the original initial state, in other cases the initial state is set to the newly created state (wait-state). Additional signals are also created in order to assure proper communication and synchronization between sub- FSMs and wake them up to work, and assure that they are able to return to a non-active state. After reading the initial source file and extracting header data and DST, the DivideFSM tool enters main compilation. First step is to create special matrix that de-

4 a1 Inputs Start x1 ~x1 Component selection Implementation Clock Reset FSM Outputs ReadFile; ExtractHeader; ExtractDST; CreateStConMatrix; CreateListSt; na := number of sub-fsms; a1 Valid Cutting Set NO x1 ~x1 YES CreateSubFSMsConMatrix; ERROR Partitionig i:=1; a1 x1 ~x1 sw1 sw3 & in() sw2 x1 & in() ~x1 & in() & in() Implementation Clock Reset Inputs SubFSM 1 Outputs in() in() SubFSM 2 in() in() SubFSM 3 CalculateNumberInput(i); CalculateNumberOutput(i); CalculateNumberSt(i); CalculateNumberTrans(i); DetermineInitSt(i); ReadDSTLine; Fig. 4. Idea of FSM partitioning and implementation not in ListSt(i) CurrSt and NextSt in ListSt(i) termines which states are connected between them. This table does not include transitions that belong to the transition cutting set - include only transitions that belong to components. Then, based on this table, lists of states per component are created; each list consists of names of states from each particular sub-fsm. After that, it is possible to check if the cutting set of transitions is valid; if for any transition belonging to the cutting set, the current state and next state of the transition belong to the same sub- FSM then the cutting set is invalid and an error message is generated and program is aborted. A connection table describing which sub-fsms are connected between them is created afterwards. After this preparation steps, the main algorithm of creation KISS2 description of sub- FSMs starts. Every sub-fsm is created one-by-one using the same function. First, the number of inputs and the number of outputs of sub-fsm are calculated based on the connection table; also the number of states based on the list of states. The number of lines and the initial state of the sub-fsm are determined. If the initial state of original FSM belongs to list of states of sub-fsm then the initial state of sub-fsm is set to the initial state of original FSM; in other case the initial state of sub-fsm is set to a new wait-state. These steps create the header of KISS2 file of every sub-fsm. Then the DST of each sub-fsm is created. The algorithm reads each line of the original DST and: If nor current state neither next state do not belong to the list of states of this sub-fsm then this line is ignored; If current state and next state belong to the list of states of this sub-fsm then this line is copied to the DST of this sub-fsm; NO NO only CurrSt in ListSt(i) CreateDSTLine (CurrSt,WS); only NextSt in ListSt(i) CreateDSTLine (WS,NextSt); End of DST YES i:=i+1; i>na CopyDSTLine; YES Stop Fig. 5. Implemented algorithm of partitioning If only current state belongs to the list of states of this sub-fsm then a new transition is created from current state to the new state; If only next state belongs to the list of states of this sub-fsm then a new transition is created from a new state to next state. 7. ANALYSIS OF EXAMPLE Algorithm and DivideFSM tool presented in previous sections are analyzed base on FSM S 1 with Mealy outputs (Fig. 3). Transitions from the cutting set are marked with

5 scissors icon in the state diagram (Fig. 6 and directive #dvtr in the KISS2 file (Fig / y1y2 ~ / - a1 / y1 - / y3 x1 / y2 - / y1y3 - / y2y3 ~x1 / y3.i 2.o 3.s 6.p 8.r a1-0 a a #dvtr #dvtr #dvtr #dvtr Fig. 6. State diagram ( and KISS2 description ( of FSM S 1 with cutting set As a result of partitioning there were received three sub- FSMs. The First sub-fsm S 1 1 includes the initial state a1 (Fig. 7). ~ / - a1 / y1 x1 / y2 SW1 - / y3 in_ ~x1 / y3 in_ - / -.i 2.o 5.s 4.p 6.r a1 # x[1..2] # curr_st next_st # y[1..3],in_,in_ -0 a a SW SW SW1 SW Fig. 7. State diagram ( and KISS2 description ( of sub-fsm S 1 1 There is also created new wait-state SW1. The additional signals in and in are generated as Mealy outputs only during transitions into wait-state. These signals are used to wake up other sub-fsms into activity. Other two sub-fsms S 2 1 (Fig. 8) and S 3 1 (Fig. 9) have also new waitstates SW2 and SW3 but in this case these states are also initial states. ~x1 & in_ / - in_ / - ~in_ & ~(~x1 & in_) & ~in_ / - SW2 in_ / - - / y1y2 in_.i 5.o 4.s 2.p 6.r SW2 # x[1..2],in_,in_,in_ # curr_st next_st # y[1..3],in_ SW SW SW SW SW2 SW SW2 SW Fig. 8. State diagram ( and KISS2 description ( of sub-fsm S 2 1 The sub-fsm S 2 1 generates additional in output signal base on the same way as for sub-fsm S 1 1. There are also additional input signals in, in and in from others sub-fsms. These signals are responsible for waking up this sub-fsm from wait-state SW2. Base on the same way there is additional input signal in in sub-fsm S 3 1 and this sub-fsm generates additional output signal in. Such sub-fsms can be implemented using different technologies or methods in different circuits (Baranov, 1994; in_ / - ~in_ / - SW3 - / y1y3 - / y2 y3 in_.i 3.o 4.s 3.p 4.r SW3 # x[1..2],in_ # curr_st next_st # y[1..3],in_ --1 SW SW SW3 SW Fig. 9. State diagram ( and KISS2 description ( of sub-fsm S 3 1 De Micheli, 1994). To satisfy proper functionality of the algorithm, and to assure that the execution of the set of parallel components is behaviorally equivalent to the execution of the initial FSM S 1, all sub-fsms have to be properly connected together. In general, the top-level module should satisfy these conditions: All sub-fsms should have the same Clock and Reset signals; All sub-fsms should have the same input signals; Additional output signals (for synchronization) should be connected with corresponding (with the same name) additional input signals in others sub-fsms; Corresponding output signals from all sub-fsms should be connected together in final output signal via OR-gate. For example, the top-level circuit associated with partitioning of FSM S 1 is shown in figure 10 with connected sub-fsms. Clock Reset x[1..2] sub-fsm S 1 1 in_ in_ sub-fsm S 1 2 in_ in_ sub-fsm S 1 3 y[1..3] 1 y[1..3] 2 y[1..3]3 y[1..3] Fig. 10. Schematic of the circuit of FSM S 1 after partitioning For verification and simulation purposes, KISS2 description of FSM S 1 was converted into VHDL using a tool worked out at University of Zielona Góra (Figler, 2006). Design of FSM S 1 before partitioning consist of one file describing behavior of FSM. Design of FSM S 1 after partitioning consist of four files: three files describing behavior of each sub-fsm an one top-level module describing connections between sub-fsms. Simulation results of both approaches are shown in figure 11. As expected, the results of both simulations are the same. Output signals always have the same value. In simulation of FSM S 1 before partitioning (Fig. 11 there is one variable describing current state. In simulation of FSM S 1 after partitioning (Fig. 11 there are three variables describing current state - one variable per each sub-fsm. How you can see there is always only one sub-fsm in active state and other two are in wait-state. The sequence of states for both simulations are also the same.

6 seems to be good candidates to be considered for help in this case. Fig. 11. Simulation of FSM S 1 before ( and after ( partitioning 8. RELATED WORK Usage of tools like the one presented in previous sections can be very helpful during designing big control units that cannot be implemented with the use of only one device, or that can have different modes of operation with different associated performances. In case of application of partitioning of FSMs only time critical part of FSM can be implemented in fast FPGA device (that are rather expensive) using method of synthesis oriented to optimize speed (consume more hardware), or to optimize area, or other criterion (Jenkins, 1994). These methods can be optimized by applying functional decomposition ( Luba et al., 2002) because these manipulations typically do not affect on time of execution of algorithm. Other components (considering lowering the cost of design) can be implemented in microprocessors/microcontrollers or in cheaper fieldprogrammable devices (FPDs) using different methods of synthesis (Barkalov and Titarenko, 2008; Bukowiec, 2009). In general, partitioning of state machines allows to distribute control algorithm and lower costs of its realization without losing of performance. Additionally each sub-fsm can be implemented using different technology and method of synthesis and this method can be chosen adequate to needs: speed, time, etc. 9. CONCLUSIONS The aim of this paper is to analyze and present algorithm of partitioning of finite state machines (Gomes and Costa, 2003) and CAD tool that implement this algorithm. This tool creates descriptions of each sub-fsm based on description of an initial FSM and the set of transitions cutting set. A running example was used illustrating the development flow applying the proposed technique. The tool is publicly available, as well the examples presented in the paper, at the DivideFSM webpage (Bukowiec and Gomes, 2007). In future works there could be created additional algorithm for automatically creation of the cutting set of transitions. But in this case, additional information should be analyzed, like required execution time of microinstruction, probability of transition or others. This task could be very difficult and genetic algorithms or data mining algorithms REFERENCES Baranov, S.I. (1994). Logic Synthesis for Control Automat. Kluwer Academic Publishers, Boston. Barkalov, A. and Titarenko, L. (2008). Logic Synthesis for Compositional Microprogram Control Units, vol. 22 of Lecture Notes in Electrical Engineering. Springer Verlag, Berlin. Bukowiec, A. (2006). Synthesis of Mealy FSM with multiple shared encoding of microinstructions and internal states. In Proc. IFAC Workshop on Programmable Devices and Embedded Systems PDeS 06, Brno, Czech Rep. Bukowiec, A. (2009). Synthesis of Finite State Machines for FPGA Devices Based on Architecturel Decomposition. University of Zielona Góra Press, Zielona Góra. Bukowiec, A. and Gomes, L. (2007). DivideFSM. Available at De Micheli, G. (1994). Synthesis and Optimization of Digital Circuits. McGraw Hill, New York. Figler, K. (2006). Analysis of Formal Methods of Synthesis of One-Level Finite State Machines. Master s thesis, University of Zielona Góra, Zielona Góra. (in Polish). Gomes, L. and Costa, A. (2003). From use cases to system implementation: Statechart based co-design. In Proc. 1st ACM & IEEE Conf. Formal Methods and Programming Models for Codesign MEMOCODE 03, IEEE Computer Society Press, Mt St-Michel, France. Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, Vol. 8, Hopcroft, J. and Ullman, J. (1979). Introduction to Automata Theory, Languages, and Computation. Addison Wesley, Boston. Jantsch, A. (2003). Modeling Embedded Systems and SoC s: Concurrency and Time in Models of Computation. Morgan Kaufmann, San Francisco. Jenkins, J. (1994). Designing with FPGAs and CPLDs. Prentice Hall, New Jersy. Jóźwiak, L. (1995). General decomposition and its use in digital circuit synthesis. VLSI Design, Vol. 3(No. 3 4), Jóźwiak, L., Gawiowski, D., and Slusarczyk, A. (2006). Multi-objective optimal controller synthesis for heterogeneous embedded systems. In Proc. 6th Int. Conf. Embedded Computer Systems: Architectures, Modeling and Simulation IC-SAMOS 06, Samos, Greece. Luba, T., Rawski, M., and Jachna, Z. (2002). Functional decomposition as a unversal method of logic synthesis for digital circuits. In Proc. 9th Int. Conf. Mixed Design of Integrated Circuits and Systems MixDes 02, Wroc law, Poland. Yang, S. (1991). Logic Synthesis and Optimization Benchmarks User Guide. version 3.0. Tech. Rep., Microelectronics Center of North Carolina, North Carolina.

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Implementation of a Compositional Microprogram Control Unit with e-dia

Implementation of a Compositional Microprogram Control Unit with e-dia Vol.2 (GST 25), pp.75-8 http://dx.doi.org/.4257/astl.25. Implementation of a Compositional Microprogram Control Unit with e-dia Young-Jin Oh, Gi-Yong Song School of Electronics Engineering, Chungbuk National

More information

Application of an Exact Transversal Hypergraph in Selection of SM-Components

Application of an Exact Transversal Hypergraph in Selection of SM-Components Application of an Exact Transversal Hypergraph in Selection of SM-Components Łukasz Stefanowicz, Marian Adamski, and Remigiusz Wisniewski University of Zielona Góra, Institute of Computer Engineering and

More information

From UML Specification into FPGA Implementation

From UML Specification into FPGA Implementation From UML Specification into FPGA Implementation Grzegorz BAZYDLO 1, Marian ADAMSKI 1, Marek WEGRZYN 1, Alfredo ROSADO MUNOZ 2 1 Institute of Computer Engineering and Electronics, Faculty of Electrical

More information

TIMED PETRI NETS FOR SOFTWARE APPLICATIONS

TIMED PETRI NETS FOR SOFTWARE APPLICATIONS The International Workshop on Discrete-Event System Design, DESDes 01, June 27 29, 2001; Przytok near Zielona Gora, Poland TIMED PETRI NETS FOR SOFTWARE APPLICATIONS Grzegorz ANDRZEJEWSKI Computer Engineering

More information

Lecture Notes Electrical Engineering Volume 53

Lecture Notes Electrical Engineering Volume 53 Lecture Notes Electrical Engineering Volume 53 Alexander Barkalov and Larysa Titarenko Logic Synthesis for FSM-Based Control Units ABC Prof. Alexander Barkalov Institute of Informatics and Electronics

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

Synthesis and Implementation of RAM-Based Finite State Machines in FPGAs

Synthesis and Implementation of RAM-Based Finite State Machines in FPGAs Synthesis and Implementation of RAM-Based Finite State Machines in FPGAs Valery Sklyarov Department of Electronics and Telecommunications University of Aveiro Portugal skl@inesca.pt Abstract. This paper

More information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Sequential Logic Synthesis

Sequential Logic Synthesis Sequential Logic Synthesis Logic Circuits Design Seminars WS2010/2011, Lecture 9 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague

More information

Properties Preservation in Distributed Execution of Petri Nets Models

Properties Preservation in Distributed Execution of Petri Nets Models Properties Preservation in Distributed Execution of Petri Nets Models Anikó Costa 1, Paulo Barbosa 2, Luís Gomes 1, Franklin Ramalho 2, Jorge Figueiredo 2, and Antônio Junior 2 1 Universidade Nova de Lisboa,

More information

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format Appendix A File Formats A.1 Benchmarks Tables A.1 and A.2 present benchmark parameters for two-level logic (in ESPRESSO format) set and finite-state tables (in KISS2 format) set respectively. A.2 ESPRESSO

More information

State assignment techniques short review

State assignment techniques short review State assignment techniques short review Aleksander Ślusarczyk The task of the (near)optimal FSM state encoding can be generally formulated as assignment of such binary vectors to the state symbols that

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

Design Progression With VHDL Helps Accelerate The Digital System Designs

Design Progression With VHDL Helps Accelerate The Digital System Designs Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

LOGIC DESIGN OF FPGA-BASED COMBINATORIAL PROCESSOR *

LOGIC DESIGN OF FPGA-BASED COMBINATORIAL PROCESSOR * LOGIC DESIGN OF FPGA-BASED COMBINATORIAL PROCESSOR * IOULIIA SKLIAROVA, ANTÓNIO B. FERRARI University of Aveiro, Department of Electronics and Telecommunications, 38 Aveiro, Portugal, Fax: +35 34 37 545,

More information

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011 www..com www..com Set No. 1 DIGITAL DESIGN THROUGH VERILOG (Common to Electronics & Communication Engineering, Bio-Medical Engineering and Electronics & Computer Engineering) 1. a) What is Verilog HDL?

More information

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES 49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract

More information

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology,

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology, Low Power PLAs Reginaldo Tavares, Michel Berkelaar, Jochen Jess Information and Communication Systems Section, Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands {regi,michel,jess}@ics.ele.tue.nl

More information

Design and Implementation of VLSI 8 Bit Systolic Array Multiplier

Design and Implementation of VLSI 8 Bit Systolic Array Multiplier Design and Implementation of VLSI 8 Bit Systolic Array Multiplier Khumanthem Devjit Singh, K. Jyothi MTech student (VLSI & ES), GIET, Rajahmundry, AP, India Associate Professor, Dept. of ECE, GIET, Rajahmundry,

More information

Timer DRAM DDD FM9001 DRAM

Timer DRAM DDD FM9001 DRAM indiana university computer science department technical report no. 385 Derivation of a DRAM Memory Interface by Sequential Decomposition Kamlesh Rath, Bhaskar Bose, and Steven D. Johnson june 993 To appear

More information

Digital System Design with SystemVerilog

Digital System Design with SystemVerilog Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo

More information

RTL Coding General Concepts

RTL Coding General Concepts RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable

More information

Lectures 11 & 12: Synchronous Sequential Circuits Minimization

Lectures 11 & 12: Synchronous Sequential Circuits Minimization Lectures & 2: Synchronous Sequential Circuits Minimization. This week I noted that our seven-state edge detector machine on the left side below could be simplified to a five-state machine on the right.

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires

More information

PETRI NET ANALYSIS OF BATCH RECIPES

PETRI NET ANALYSIS OF BATCH RECIPES Presented at FOCAPO 98, Snowbird, USA. PETRI NET ANALYSIS OF BATCH RECIPES STRUCTURED WITH GRAFCHART Charlotta Johnsson and Karl-Erik Årzén Department of Automatic Control, Lund Institute of Technology,

More information

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition

More information

A Consistent Design Methodology for Configurable HW/SW-Interfaces in Embedded Systems Embedded Systems Design

A Consistent Design Methodology for Configurable HW/SW-Interfaces in Embedded Systems Embedded Systems Design A Consistent Design Methodology for Configurable HW/SW-Interfaces in Embedded Systems Embedded Systems Design Stefan llimor, Markus Visarius, Wolfram Hardt {ihmor I visi I hardt}@upb.de University of Paderborn,

More information

VHDL Essentials Simulation & Synthesis

VHDL Essentials Simulation & Synthesis VHDL Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using VHDL standard language. The course

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Lecture #1: Introduction

Lecture #1: Introduction Lecture #1: Introduction Kunle Olukotun Stanford EE183 January 8, 20023 What is EE183? EE183 is continuation of EE121 Digital Logic Design is a a minute to learn, a lifetime to master Programmable logic

More information

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS International Journal of Computing Academic Research (IJCAR) ISSN 2305-9184 Volume 2, Number 4 (August 2013), pp. 140-146 MEACSE Publications http://www.meacse.org/ijcar DESIGN AND IMPLEMENTATION OF VLSI

More information

Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs

Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs Anurag Tiwari and Karen A. Tomko Department of ECECS, University of Cincinnati Cincinnati, OH 45221-0030, USA {atiwari,

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Steps in Using COMET/UML

Steps in Using COMET/UML SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 5- Finite State Machines and Statecharts Hassan Gomaa Dept of Computer Science George Mason University it Fairfax,

More information

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1 HIERARCHICAL DESIGN Chapter 13 1 Outline 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design Outline HIERARCHICAL DESIGN 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 1 Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

TODAY, new applications, e.g., multimedia or advanced

TODAY, new applications, e.g., multimedia or advanced 584 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 45, NO. 5, MAY 1998 A Formal Technique for Hardware Interface Design Adel Baganne, Jean-Luc Philippe, and Eric

More information

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING 1 FUZZY SPECIFICATION IN SOFTWARE ENGINEERING V. LOPEZ Faculty of Informatics, Complutense University Madrid, Spain E-mail: ab vlopez@fdi.ucm.es www.fdi.ucm.es J. MONTERO Faculty of Mathematics, Complutense

More information

Designing Heterogeneous FPGAs with Multiple SBs *

Designing Heterogeneous FPGAs with Multiple SBs * Designing Heterogeneous FPGAs with Multiple SBs * K. Siozios, S. Mamagkakis, D. Soudris, and A. Thanailakis VLSI Design and Testing Center, Department of Electrical and Computer Engineering, Democritus

More information

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

I 3 I 2. ! Language of logic design  Logic optimization, state, timing, CAD tools Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring

More information

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by

More information

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Michalis D. Galanis, Gregory Dimitroulakos, and Costas E. Goutis VLSI Design Laboratory, Electrical and Computer Engineering

More information

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

More information

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Andreas Wombacher University of Twente Enschede The Netherlands a.wombacher@utwente.nl Abstract Decentralized consistency checking

More information

Introduction to VHDL #3

Introduction to VHDL #3 ECE 322 Digital Design with VHDL Introduction to VHDL #3 Lecture 7 & 8 VHDL Modeling Styles VHDL Modeling Styles Dataflow Concurrent statements Structural Components and interconnects Behavioral (sequential)

More information

Copyright 2011 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol.

Copyright 2011 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. Copyright 2011 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. 8008, 80080E, DOI: http://dx.doi.org/10.1117/12.905281 ) and is made

More information

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi Digital System Design Lecture 2: Design Amir Masoud Gharehbaghi amgh@mehr.sharif.edu Table of Contents Design Methodologies Overview of IC Design Flow Hardware Description Languages Brief History of HDLs

More information

A New Optimal State Assignment Technique for Partial Scan Designs

A New Optimal State Assignment Technique for Partial Scan Designs A New Optimal State Assignment Technique for Partial Scan Designs Sungju Park, Saeyang Yang and Sangwook Cho The state assignment for a finite state machine greatly affects the delay, area, and testabilities

More information

Synthesis and Implementation of Parallel Logic Controllers in All Programmable Systems-on-Chip

Synthesis and Implementation of Parallel Logic Controllers in All Programmable Systems-on-Chip Synthesis and Implementation of Parallel Logic Controllers in All Programmable Systems-on-Chip Valery Sklyarov, Iouliia Skliarova and João Silva Abstract The chapter is dedicated to the design of logic

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

PART B. 3. Minimize the following function using K-map and also verify through tabulation method. F (A, B, C, D) = +d (0, 3, 6, 10).

PART B. 3. Minimize the following function using K-map and also verify through tabulation method. F (A, B, C, D) = +d (0, 3, 6, 10). II B. Tech II Semester Regular Examinations, May/June 2015 SWITCHING THEORY AND LOGIC DESIGN (Com. to EEE, ECE, ECC, EIE.) Time: 3 hours Max. Marks: 70 Note: 1. Question Paper consists of two parts (Part-A

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

computer science department technical report no. 386 A Case Study of the Use of Formal Techniques to Achieve June 1993

computer science department technical report no. 386 A Case Study of the Use of Formal Techniques to Achieve June 1993 indiana university computer science department technical report no 386 System Factorization in Codesign A Case Study of the Use of Formal Techniques to Achieve Hardware-Software Decomposition Bhaskar Bose,

More information

Embedded Systems Requirements Verification Using HiLeS Designer

Embedded Systems Requirements Verification Using HiLeS Designer Embedded Systems Requirements Verification Using HiLeS Designer C-E. Gómez 1,3, J-C. Pascal 1,2, P. Esteban 1,2, Y. Déléris 4, J-R. Devatine 5 1: CNRS; LAAS; 7 avenue du colonel Roche, F-31077 Toulouse,

More information

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Synthia: Synthesis of Interacting Automata Targeting LUT-Based FPGAs

Synthia: Synthesis of Interacting Automata Targeting LUT-Based FPGAs Synthia: Synthesis of Interacting Automata Targeting LUT-Based FPGAs George A. Constantinides 1, Peter Y. K. Cheung 1, and Wayne Luk 2 1 Electrical and Electronic Engineering Dept., Imperial College, London,

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

FPGAs: Instant Access

FPGAs: Instant Access FPGAs: Instant Access Clive"Max"Maxfield AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO % ELSEVIER Newnes is an imprint of Elsevier Newnes Contents

More information

VLSI Implementation of Adders for High Speed ALU

VLSI Implementation of Adders for High Speed ALU VLSI Implementation of Adders for High Speed ALU Prashant Gurjar Rashmi Solanki Pooja Kansliwal Mahendra Vucha Asst. Prof., Dept. EC,, ABSTRACT This paper is primarily deals the construction of high speed

More information

Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net

Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net Jun Guo 1,2 Sheqin Dong 1 Kegang Hao 2 Satoshi Goto 3 1 Dept. of Computer Science of Tsinghua University, Beijin 100084

More information

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE 754-2008 Standard M. Shyamsi, M. I. Ibrahimy, S. M. A. Motakabber and M. R. Ahsan Dept. of Electrical and Computer Engineering

More information

A Framework for Asynchronous Circuit Modeling and Verification in ACL2

A Framework for Asynchronous Circuit Modeling and Verification in ACL2 A Framework for Asynchronous Circuit Modeling and Verification in ACL2 Cuong Chau 1, Warren A. Hunt, Jr. 1, Marly Roncken 2, and Ivan Sutherland 2 {ckcuong,hunt}@cs.utexas.edu, marly.roncken@gmail.com,

More information

Tutorial on VHDL and Verilog Applications

Tutorial on VHDL and Verilog Applications Second LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCEI 2004) Challenges and Opportunities for Engineering Education, Research and Development 2-4 June

More information

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS Contents i SYLLABUS osmania university UNIT - I CHAPTER - 1 : BASIC VERILOG HDL Introduction to HDLs, Overview of Digital Design With Verilog HDL, Basic Concepts, Data Types, System Tasks and Compiler

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

Pipelined MIPS processor with cache controller using VHDL implementation for educational purpose

Pipelined MIPS processor with cache controller using VHDL implementation for educational purpose Journal From the SelectedWorks of Kirat Pal Singh Winter December 28, 203 Pipelined MIPS processor with cache controller using VHDL implementation for educational purpose Hadeel Sh. Mahmood, College of

More information

HW SW Partitioning. Reading. Hardware/software partitioning. Hardware/Software Codesign. CS4272: HW SW Codesign

HW SW Partitioning. Reading. Hardware/software partitioning. Hardware/Software Codesign. CS4272: HW SW Codesign CS4272: HW SW Codesign HW SW Partitioning Abhik Roychoudhury School of Computing National University of Singapore Reading Section 5.3 of textbook Embedded System Design Peter Marwedel Also must read Hardware/software

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic CAD.

Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic CAD. HARDWARE DESCRIPTION Mehran M. Massoumi, HDL Research & Development, Averant Inc., USA Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic

More information

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM Janetta Culita, Simona Caramihai, Calin Munteanu Politehnica University of Bucharest Dept. of Automatic Control and Computer Science E-mail: jculita@yahoo.com,

More information

Part I: Preliminaries 24

Part I: Preliminaries 24 Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................

More information

Programmable Logic Devices II

Programmable Logic Devices II São José February 2015 Prof. Hoeller, Prof. Moecke (http://www.sj.ifsc.edu.br) 1 / 28 Lecture 01: Complexity Management and the Design of Complex Digital Systems Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br

More information

Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems

Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems Valentin Gies and Thierry M. Bernard ENSTA, 32 Bd Victor 75015, Paris, FRANCE, contact@vgies.com,

More information

The SpecC System-Level Design Language and Methodology, Part 1. Class 309

The SpecC System-Level Design Language and Methodology, Part 1. Class 309 Embedded Systems Conference San Francisco 2002 The SpecC System-Level Design Language and Methodology, Part 1 Class 309 Rainer Dömer Center for Embedded Computer Systems Universitiy of California, Irvine,

More information

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Bradley F. Dutton, Graduate Student Member, IEEE, and Charles E. Stroud, Fellow, IEEE Dept. of Electrical and Computer Engineering

More information

Modular Petri Net Processor for Embedded Systems

Modular Petri Net Processor for Embedded Systems Modular Petri Net Processor for Embedded Systems Orlando Micolini 1, Emiliano N. Daniele, Luis O. Ventre Laboratorio de Arquitectura de Computadoras (LAC) FCEFyN Universidad Nacional de Córdoba orlando.micolini@unc.edu.ar,

More information

Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol.

Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. 6937, 69370N, DOI: http://dx.doi.org/10.1117/12.784572 ) and is made

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

Chapter 1 Overview of Digital Systems Design

Chapter 1 Overview of Digital Systems Design Chapter 1 Overview of Digital Systems Design SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 8, 2017 Why Digital Design? Many times, microcontrollers

More information

Fusing Dataflow with Finite State Machines

Fusing Dataflow with Finite State Machines May 3, 1996 U N T H E I V E R S I T Y A O F LE T TH E R E B E 1 8 6 8 LIG H T C A L I A I F O R N Fusing Dataflow with Finite State Machines Department of Electrical Engineering and Computer Science Bilung

More information

Controller Synthesis for Hardware Accelerator Design

Controller Synthesis for Hardware Accelerator Design ler Synthesis for Hardware Accelerator Design Jiang, Hongtu; Öwall, Viktor 2002 Link to publication Citation for published version (APA): Jiang, H., & Öwall, V. (2002). ler Synthesis for Hardware Accelerator

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL 1 SAAB BOFORS DYNAMICS Anders Eriksson Senior Software Systems Engineer

More information

Design Issues in Hardware/Software Co-Design

Design Issues in Hardware/Software Co-Design Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

FSM-based Digital Design using Veriiog HDL

FSM-based Digital Design using Veriiog HDL FSM-based Digital Design using Veriiog HDL Peter Minns lan Elliott Northumbria University, UK John Wiley & Sons, Ltd Contents Preface Acknowledgements xi xv 1 Introduction to Finite-State Machines and

More information

Hardware, Software and Mechanical Cosimulation for Automotive Applications

Hardware, Software and Mechanical Cosimulation for Automotive Applications Hardware, Software and Mechanical Cosimulation for Automotive Applications P. Le Marrec, C.A. Valderrama, F. Hessel, A.A. Jerraya TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble France fphilippe.lemarrec,

More information

DISCRETE-event dynamic systems (DEDS) are dynamic

DISCRETE-event dynamic systems (DEDS) are dynamic IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory

More information

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE Guoping Wang Indiana University Purdue University Fort Wayne, Indiana; Email:wang@engr.ipfw.edu 1. INTRODUCTION Computer Architecture is a common

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

More information