DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations
|
|
- Ambrose Wheeler
- 5 years ago
- Views:
Transcription
1 DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations KIMMO KUUSILINNA, JOUNI RIIHIMÄKI, TIMO HÄMÄLÄINEN, and JUKKA SAARINEN Digital and Computer Systems Laboratory Tampere University of Technology Hermiankatu 12 C, FIN Tampere FINLAND Abstract: - This paper introduces a way to enhance digital system design, and multimedia hardware design in particular, through high-level discrete time system simulations. Towards the same end, bus based interconnection architecture is utilized for intellectual property interfacing. The emphasis is on architecture design, design space exploration, and hardware/software co-simulation. A Discrete Time Network Simulator (DTNS) is described as a novel extension to current simulators. DTNS simplifies many aspects of architecture exploration and supports technology optimization for continuous-media applications. Design re-use is facilitated by the use of a common programming language and data transmission efficiency by using the Heterogeneous IP Block Interconnection (HIBI) scheme. The fixed time increment, discrete time, approach allows rapid model development and fast simulations. Long simulations can be run to obtain statistical performance information. A video encoder (H.263) based simulation is used to demonstrate these capabilities. Key-Words: - Simulation, Modeling, Intellectual Property, Computer Aided Design, and Multimedia. 1 Introduction The paradigm shift from desktop applications to real-time, continuous-media, mobile computing is challenging contemporary digital design practices [6]. The shrinking size drives whole electronic systems into a single integrated circuit (IC). These solutions are called systems-on-a-chip (SoC). To cope with the complexity and time-to-market constraints some design objects are prepared for reuse and called intellectual property (IP). These IP blocks can be shared within an organization or obtained from external sources. Architecture exploration is a quite laborious task with current design tools. The most important decisions during the design process are made at the highest levels. However, acquiring reliable information to form a basis for these decisions is difficult. The traditional system simulation tools for signal processing applications use heavy abstractions for communication between functional blocks. These abstractions are fine for algorithm design but cannot be considered valid for hardware design in systems where the communication between blocks forms a significant portion of the complexity of the design. In addition, the lack of hardware models for processors and interconnection architectures seems to be of a paramount importance. Contemporary design tools have many other weak points as well. If the detailed models are used, simulation times for complex designs can easily become prohibitive. Hardware description languages (HDLs), like VHDL (VHSIC Hardware Description Language), and their simulators are a representative example of simulation environments that are capable of representing designs in necessary detail but they may be too slow in the architectural design phase. In addition, their expressive power is quite limited compared to contemporary object oriented programming languages like C++ or Java. Thus, describing architectures and their communications can be very time consuming. To solve the aforementioned problems, one design tool or a specific technology is not enough. Thus, we propose an interconnection based design flow. We propose an interconnection, Heterogeneous IP Block Interconnection (HIBI), which is capable of exploiting the predictable nature of continuousmedia processing [7]. Therefore, HIBI should be able to provide the same throughput with less signal lines than the conventional bus architectures. In addition, we propose a tool for architectural exploration and interconnection parameter optimization; the Discrete Time Network Simulator (DTNS). DTNS is a C (C++) language based extension to current simulators. It is intended for the highest level of design and it exploits the fact that many of contemporary multimedia algorithms are
2 specified in C language, thus bridging the oftenencountered tool flow gap between specifications and the first behavioral implementation. In addition, using standardized interconnection architectures, from a library of such components, this tool facilitates design reuse. DTNS is based on the discrete event simulation methodology, which enables fast simulations while retaining the correct logical operation of the interconnection structure. Furthermore, we describe a top-down, simulation based, design flow for SoC designs. The paper is organized as follows. Section 2 describes the design flow that is required for efficient use of simulations in SoC designs. In Section 3 the DTNS simulation details are explained. Section 4 is about applying the Discrete Time Network Simulator with the HIBI bus to a H.263 video encoder. Finally, in Section 5 the conclusions are given. 2 Simulation Based Design Flow There is no single way to classify hardware/software simulators. Our classification is based on [1] and [5], and uses the design abstraction level as the main distinguishing factor. It is usually possible and desirable to mix components from different abstraction levels to perform multi-level simulations. During different phases of the design flow, different simulation levels are used. Notable is the fact that non-trivial designs need to be simulated in several levels. Usually the contemporary simulation environments are different from one level to another. Therefore, to avoid making completely different descriptions to all simulation levels a flexible and continuous tool flow is necessary. Statistical simulations describe the problems as high-level mathematical models. This type of simulators are useful for validating generic concepts. They do not necessarily provide any detailed information about a specific system. Despite the lack of exact information, the growing complexity of SoC designs requires designers to adopt design tools, which operate at this level. However, most simulators dealing with data transfers are so called network simulators. These simulators are mainly intended for multicomputer or multiprocessor simulations, thus limiting their usability for embedded designs. Typical for simulators at this level is their use of statistical distributions and some generic simulators are heavily biased towards solving differential equations. This may be useful in modelling complex physical systems, in which the embedded design must operate. Data flow simulations are very similar to statistical simulations. However, their data flow is based on the actual application run on the system and not just statistical models of system inputs. This approach is more suitable for embedded designs because the special nature of custom computational nodes can be better accommodated. The down side is that systems can no longer be conveniently analytically analyzed. Algorithm level simulations are essentially simulations of the specifications or simulations of behavioural implementations of specifications. Communication between different components is usually abstracted as streams of information in a communication channel. The division between hardware and software parts need not have been performed. Typically, very little, if any, timing information is available. At instruction level, the design has been divided into hardware and software parts. The software part is simulated in an Instruction Set Simulator (ISS), which, at this point, typically uses very little timing information. The hardware either is in algorithm level or described in behavioural hardware description language (HDL). If component communications are deemed less important, they can still be very abstract. Otherwise, communications can be described in HDL. Approximate instruction order and clock cycle based timing information may be available. Architecture level simulations describe the functionality of the hardware in detail. This requires the design to be specified at least in behavioural HDL. Intellectual property blocks may have been instantiated. The communication between components is also specified in corresponding level. Thus, relatively accurate clock cycle based timing information should be available. Register transfer level (RTL) describes hardware that can be synthesised. Timing information is available in terms of clock cycles. Simulation times for large systems are very long. We can see four major problems with this traditional design flow. (1) The lack of timing information in algorithm level descriptions, even though it may be present in the original specifications. (2) The design description and tool gap between specifications / algorithm and the instruction / architecture level implementation. (3) The abstraction of inter-component communications to communication streams. Due to the difficulty of describing communication structures and the prohibitive simulation times the possibility for architectural exploration is limited to the highest abstraction levels. However, the communication stream abstraction makes the performance
3 evaluation of different architectures difficult. This criticism is directed to dedicated, embedded applications, where statistical load estimates cannot be considered valid. (4) Simulation times with the more accurate simulators may become prohibitive. Thus, architectural design must be performed in higher levels, typically with less information than would be available in the lower abstraction levels. 3 Discrete Time Network Simulator The Discrete Time Network Simulator can be used as a stand-alone simulator. However, it is mainly a C language function library intended to support synchronous interconnection design and analysis. DTNS supplements any C or C++ language based simulator. The actual simulator provides the framework for the simulations. In DTNS, all signal transitions are tied to the system clock, making it a fixed time increment or time driven simulator. If used with a proper simulator, this software may support event driven simulation mechanics. The discrete time and fixed time increment approximations are done to make the simulation update cycle uncomplicated and, thus, faster. However, these approximations are accurate enough for many logical simulations in systems based on a global clock. The framework for using DTNS in a stand-alone configuration is depicted in Fig. 1. The DTNS main function can also be viewed as a top-level testbench. It is responsible for keeping the simulation running and instantiating the simulation modules. A typical DTNS simulation consists of an interconnection model, one or more agents for the interconnection, a monitor object to track and preprocess simulation variables and collection of assorted support functions. The support functions perform, for example, translations between hexadecimal and binary numbers. All signalling in the interconnections is based on a signal model analogous to the IEEE std_logic signal type in VHDL. Properly designed interconnection models, agents, and other functions are re-usable in other designs and they form the DTNS Library. A pseudocode for a DTNS main() function is depicted in Fig. 2. First, the interconnection model is defined and initialized. The actual simulation occurs in a loop that is executed for the specified number of simulation cycles. One loop corresponds to half a clock cycle in the system. In the loop, first the control for the simulation is read from a file. This control can take the form of, for example, interconnection values. The current values for the interconnection are resolved. Then, all agents are run with the current interconnection values. The agents, thus, produce the interconnection values for the next phase. The values from all agents are combined together and the final signal values resolved. main() Interface signals Interface statistics Wave Window DTNS Library Interconnection Models Agent Models Mathematical Functions Other Support Functions Input Vectors Agent Monitor Objects Agents (for every Interface) Simulation Control instances: Interconnection Architecture Interface Blocks Interface Monitor Analysis Agent 1 Agent 2 Agent 3 Agent 4 Mathematical Softw are Fig. 1. DTNS simulation flow. Protocol 2 Protocol 3 Protocol 1 Protocol 1 Protocol 2 Protocol 3 Protocol Check & Analysis
4 The multi-type logic signals can conveniently be used to catch errors, such as multiple agents driving the interconnection at the same time. The clock phase count is advanced by one. Current interconnection information is saved into files. Finally, in the loop, the next phase values are assigned as the current interconnection values. When all the simulation loops are done, statistical information gathered during the simulation is saved to a file. If multiple clock signals are desirable, the methodology for such descriptions is briefly discussed in [4]. main() initialize interconnection do read testvectors and control resolve current cycle interconnection for (each interconnection agent) { run agent with current values } resolve next cycle interconnection increment clock phase count by one output interconnection info assign current values <= next values while (specified simulation cycles) output info from simulation run Fig. 2. Pseudocode for the DTNS main() function. The inputs to the simulation are either prepared testvectors or testbench modules that provide values based on the information they are given. Typically the testvectors provide the control for the simulation and the modules provide the bulk of data transferred on the interconnection. The data and its arrival rate can be based on statistical distributions or directly based on the actual application simulated. Being a fully programmable simulator, the DTNS does not limit types of outputs available from the simulation. However, we have mainly used three different kinds of outputs. The main outputs are the signals in the interconnection. These are collected to a separate file that can be viewed, for example, with a standard VHDL waveform viewer. The monitor object collects data about the simulation that is mainly statistical in nature. For example, idle cycles in the interconnection, ratios between read and write transactions, utilization, and throughput can be calculated. This information can be sent further to mathematical software for analysis and graphical representation. The third possibility is to gather detailed data from the operation of the agents in the simulation. This information is very application specific and can be used for debugging and finetuning the performance of the interconnection network. The nature of the agent descriptions is not discussed here in detail. This is due to the fact that they can be of very different abstraction level, depending on the intended application. In statistical and data flow simulations such properties as data arrival rates, service times and processor loads may suffice to model the systems. Sequential algorithms with approximate delays may be enough for algorithm level simulations; whereas strict coding style with lots of additional implementation information must be adhered if the design is to be synthezised. DTNS can conveniently be used in the three highest level simulations from our classification, namely the statistical, data flow, and algorithm simulations, combining attributes from all types. If DTNS is combined with a C or C++ based statistical level simulator, the statistical functions are usable in DTNS. Data flow level is the most natural level for DTNS simulations. The application data flow can be emulated and the analysis capabilities used for architectural exploration, performance evaluation, and interconnection and algorithm development. In some cases, the specifications of algorithms in C language can be used to provide fairly realistic data. In algorithm level, the system specification containing the rest of the algorithms, is determined. The strength of DTNS becomes apparent when changing from the algorithm descriptions to some co-simulation and design environment. Typically the algorithms have required a lot of work when converted for the co-simulation environment. The communication structure is well defined in DTNS simulations and thus both the communication structure and the C language based agents are readily usable in leading co-design environments using their C language interfaces. From there, the design flow continues according to the software vendor s tool-flow. It is conceivable that DTNS could be used in instruction level simulations if combined with a simulator that compiles the operation of the processors into the C code itself [1]. However, this concept has not been tested. Compared to typical simulation environments the difference in DTNS in all of these simulation levels is the emphasis on more accurate communication model. 4 Simulation Example The purpose of our study was to test HIBI performance in multimedia environment and to
5 illustrate the design, reuse, analysis, and representation capabilities of the DTNS simulation method. The hardware behavior of an ITU-T H.263 video encoder is analyzed in high-level simulations without actually implementing the algorithm. 4.1 Heterogeneous IP Block Interconnection A typical Heterogeneous IP Block Interconnection based system consists of several heterogeneous IP blocks connected with the HIBI interconnection. The IP blocks could be processor cores, memories, special computation accelerator units, or interfaces to other systems. A basic HIBI system is bus based. HIBI design has been based on the concept that a bus system can function without a central arbiter. This eliminates the need for dedicated control signals for each of the IP blocks. Each agent has a unique priority. In addition, time-slots are allocated, based on a priori knowledge from system operations. The HIBI specification enforces transactions that have no handshaking and a minimal number of wait states. Wait states are not allowed at all during the actual data transmission operations. HIBI signals consist of scalable Data and Address busses, Command bus, and three system control signals The HIBI time-slots offers quality of service (QoS) type of services in an on-chip environment. This is a clear improvement on traditional computer buses when such properties are required. A most important aspect in HIBI is that there is no initial or subsequent data latency. All clock cycles in an access after the arbitration has been completed should transfer data. This can be accomplished because there is no handshaking between the transmitter and the receiver. If an agent runs out of data to send, it must release the HIBI bus for other agents to use. It is theoretically conceivable to invent strategies for an agent to hold the bus without actually transmitting data, but such schemes are discouraged. These properties are important because they are usually the most important determining factors between the peak throughput and the actual achieved throughput. Efficient design with IP blocks, and HIBI based designs in particular, require a high-level design and cosimulation environment. For system level architecture exploration, it has been traditional to write a custom cycle and C/C++ based simulator. A lot of work has gone lately to enhance C/C++ based hardware simulation and synthesis [2,3]. Our effort to amend these aspirations is embodied in the Discrete Time Network Simulator. In our case the DTNS is used for initial HIBI parametrization and configuration. 4.2 The H.263 Video Encoder Environment The ITU-T video coding standard H.263 utilizes motion estimation, together with motion prediction and motion compensation to compress video data by using the temporal correlation between picture frames. Encoding and decoding are done to pixels in block by block basis. Fig. 3 depicts the H.263 encoder used in our simulations. Motion estimation is usually done by searching blocks, obtained from the current picture, from the previous frame. Also the discrete cosine transforms can be used with quantization to compress data. Memory is needed in the design to store the picture frames being processed. An external bridge is required to communicate with the off-chip components. A control processor directs the coding process and constructs the final bit-stream. 4.3 Simulation Result Analysis The block is instantiated five times in our system (Fig. 3) and every block has FIFO memories to buffer data transactions. The size of these FIFOs is an important trade-off between system performance and the consumed silicon area. Bus signals Bus statistics Motion Estimation HIBI Bus DCT / IDCT Processor core (ARM) Test Vectors Memory External Bridge H.263 System Input / Output Fig. 3. Simulation of an H.263 video encoder with the HIBI bus architecture. The functional units are modeled as servers with queues (FIFOs), response times, and instructions
6 how to respond to writes to the particular unit. Instead of the processor core, the test vectors control the simulation progress. As an example analysis the bus utilization factor and the utilization of some of the FIFOs are depicted in Fig. 4. Bus utilization is calculated in a ten clock cycle window. The usual main simulation results, the signal waveforms, are shown in Fig. 5. Utilization Clock cycles Fig. 4. Utilization of HIBI bus (solid line), ARM input FIFO (dash), and External Bridge FIFO (dash-dot). Fig. 5. HIBI bus signal waveforms. 5 Conclusion The specification planning phase needs more powerful tools to address system performance issues. Finding the most efficient configuration for the overall system is often guesswork in high-level and may be very tedious work from the lowest levels of hardware description. Thus, the high-level simulations need some practical estimations of hardware performance. System-on-a-chip designs pose a novel problem for the digital design. The complexity of designs has risen steeply. DTNS facilitates architectural exploration, design parameter optimization, and presents a tool for design partitioning based on the external communications of the partitions. In addition, the tool flow with DTNS from architectural exploration to physical design is continuous. DTNS itself does not support event based modelling, thus, accurate timing information from the time between clock cycles is not available. The IP shortage affects also DTNS; if there are no IP blocks available designing them can be a considerable effort. However, a lot of C code is available that should be adaptable to DTNS with reasonable ease. The simulations results show the power of the described method for analyzing design functionality and performance. Long simulation runs can be made with different configurations to optimize the design. DTNS present interesting future research possibilities and needs a lot of further work. The statistical functions and measures for the interconnection performance still need a closer look. The focus of the research will probably be the automatic parameter optimization with, for example, simulated annealing. A more distant research idea is to distribute the DTNS simulations to a computer cluster. This should be relatively easy because a DTNS simulation already has partitioned the design into agents that can be processed concurrently. References: [1] L. Guerra, et al., Cycle and Phase Accurate DSP Modeling and Integration for HW/SW Co- Verification, Proc. 36 th Design Automation Conference, 1999, pp [2] R. Gupta and S. Liao, Using a Programming Language for Digital System Design, IEEE Design & Test of Computers, Vol. 14, No. 2, 1997, pp [3] R. Gupta and G. De Micheli, Hardware- Software Cosynthesis for Digital Systems, IEEE Design & Test of Computers, Vol. 10, No. 3, 1993, pp [4] C. Hansen, Hardware Logic Simulation by Compilation, Proc. 25 th Design Automation Conference, 1988, pp [5] J. Hennessy and M. Heinrich, Hardware/ Software Co-Design of Processors: Concepts and Examples, Hardware/Software Co-Design, G. De Micheli and M. Sami, ed., Kluwer, [6] C. Kozyrakis and D. Patterson, A New Direction for Computer Architecture Research, IEEE Computer Vol. 31, No. 11, 1998, pp [7] K. Kuusilinna, et al., Low Latency Interconnection for IP-block Based Multimedia Chips, Proc. 2 nd IASTED International Conference Parallel and Distributed Computing and Networks, 1998, pp
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 informationContemporary 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 informationEEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools
EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction
More informationFPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)
FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC) D.Udhayasheela, pg student [Communication system],dept.ofece,,as-salam engineering and technology, N.MageshwariAssistant Professor
More informationHardware Design and Simulation for Verification
Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture
More informationHardware 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 informationMulti-level Design Methodology using SystemC and VHDL for JPEG Encoder
THE INSTITUTE OF ELECTRONICS, IEICE ICDV 2011 INFORMATION AND COMMUNICATION ENGINEERS Multi-level Design Methodology using SystemC and VHDL for JPEG Encoder Duy-Hieu Bui, Xuan-Tu Tran SIS Laboratory, University
More informationDEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE
DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE N.G.N.PRASAD Assistant Professor K.I.E.T College, Korangi Abstract: The AMBA AHB is for high-performance, high clock frequency
More informationHardware 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 informationMultimedia Decoder Using the Nios II Processor
Multimedia Decoder Using the Nios II Processor Third Prize Multimedia Decoder Using the Nios II Processor Institution: Participants: Instructor: Indian Institute of Science Mythri Alle, Naresh K. V., Svatantra
More informationParameterized System Design
Parameterized System Design Tony D. Givargis, Frank Vahid Department of Computer Science and Engineering University of California, Riverside, CA 92521 {givargis,vahid}@cs.ucr.edu Abstract Continued growth
More informationThe S6000 Family of Processors
The S6000 Family of Processors Today s Design Challenges The advent of software configurable processors In recent years, the widespread adoption of digital technologies has revolutionized the way in which
More informationBibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.
Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:
More informationCo-synthesis and Accelerator based Embedded System Design
Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer
More informationA Rapid Prototyping Methodology for Algorithm Development in Wireless Communications
A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications Abstract: Rapid prototyping has become an important means to verify the performance and feasibility of algorithms and
More informationMULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration
MULTIPROCESSORS Characteristics of Multiprocessors Interconnection Structures Interprocessor Arbitration Interprocessor Communication and Synchronization Cache Coherence 2 Characteristics of Multiprocessors
More informationA New Design Methodology for Composing Complex Digital Systems
A New Design Methodology for Composing Complex Digital Systems S. L. Chu* 1, M. J. Lo 2 1,2 Department of Information and Computer Engineering Chung Yuan Christian University Chung Li, 32023, Taiwan *slchu@cycu.edu.tw
More informationNavigating the RTL to System Continuum
Navigating the RTL to System Continuum Calypto Design Systems, Inc. www.calypto.com Copyright 2005 Calypto Design Systems, Inc. - 1 - The rapidly evolving semiconductor industry has always relied on innovation
More informationDIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING
1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation
More informationDesign and Verification of FPGA Applications
Design and Verification of FPGA Applications Giuseppe Ridinò Paola Vallauri MathWorks giuseppe.ridino@mathworks.it paola.vallauri@mathworks.it Torino, 19 Maggio 2016, INAF 2016 The MathWorks, Inc. 1 Agenda
More informationSpecC 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 informationCODING METHOD FOR EMBEDDING AUDIO IN VIDEO STREAM. Harri Sorokin, Jari Koivusaari, Moncef Gabbouj, and Jarmo Takala
CODING METHOD FOR EMBEDDING AUDIO IN VIDEO STREAM Harri Sorokin, Jari Koivusaari, Moncef Gabbouj, and Jarmo Takala Tampere University of Technology Korkeakoulunkatu 1, 720 Tampere, Finland ABSTRACT In
More informationDesign of a System-on-Chip Switched Network and its Design Support Λ
Design of a System-on-Chip Switched Network and its Design Support Λ Daniel Wiklund y, Dake Liu Dept. of Electrical Engineering Linköping University S-581 83 Linköping, Sweden Abstract As the degree of
More informationThe Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006
The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content
More information2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS
2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS 2.1 Real-Time and Control Computer based digital controllers typically have the ability to monitor a number of discrete and analog inputs, perform complex
More informationEE382V: 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 informationNetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013
NetSpeed ORION: A New Approach to Design On-chip Interconnects August 26 th, 2013 INTERCONNECTS BECOMING INCREASINGLY IMPORTANT Growing number of IP cores Average SoCs today have 100+ IPs Mixing and matching
More informationFPGA Co-Processing Architectures for Video Compression
Co-Processing Architectures for Compression Overview Alex Soohoo Altera Corporation 101 Innovation Drive San Jose, CA 95054, USA (408) 544-8063 asoohoo@altera.com The push to roll out high definition video
More informationChapter 5: ASICs Vs. PLDs
Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.
More informationHardware 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 informationCosimulation of ITRON-Based Embedded Software with SystemC
Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology
More informationThe CoreConnect Bus Architecture
The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached
More informationSystem-on-Chip Architecture for Mobile Applications. Sabyasachi Dey
System-on-Chip Architecture for Mobile Applications Sabyasachi Dey Email: sabyasachi.dey@gmail.com Agenda What is Mobile Application Platform Challenges Key Architecture Focus Areas Conclusion Mobile Revolution
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 5: Digital Camera: Software Implementation* Prof. Mingjie Lin * Some slides based on ISU CPrE 588 1 Design Determine system s architecture Processors
More informationDesign of Transport Triggered Architecture Processor for Discrete Cosine Transform
Design of Transport Triggered Architecture Processor for Discrete Cosine Transform by J. Heikkinen, J. Sertamo, T. Rautiainen,and J. Takala Presented by Aki Happonen Table of Content Introduction Transport
More informationWorst Case Execution Time Analysis for Synthesized Hardware
Worst Case Execution Time Analysis for Synthesized Hardware Jun-hee Yoo ihavnoid@poppy.snu.ac.kr Seoul National University, Seoul, Republic of Korea Xingguang Feng fengxg@poppy.snu.ac.kr Seoul National
More informationMapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience
Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware
More informationDesign and Verification of FPGA and ASIC Applications Graham Reith MathWorks
Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping
More informationHardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton
Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 19: Hardware-Software Co-Simulation* Prof. Mingjie Lin * Rabi Mahapatra, CpSc489 1 How to cosimulate? How to simulate hardware components of a mixed
More informationECE 448 Lecture 15. Overview of Embedded SoC Systems
ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded
More informationDigital Video Processing
Video signal is basically any sequence of time varying images. In a digital video, the picture information is digitized both spatially and temporally and the resultant pixel intensities are quantized.
More informationUnit 9 : Fundamentals of Parallel Processing
Unit 9 : Fundamentals of Parallel Processing Lesson 1 : Types of Parallel Processing 1.1. Learning Objectives On completion of this lesson you will be able to : classify different types of parallel processing
More informationIntroduction to ATM Technology
Introduction to ATM Technology ATM Switch Design Switching network (N x N) Switching network (N x N) SP CP SP CP Presentation Outline Generic Switch Architecture Specific examples Shared Buffer Switch
More informationData Storage Exploration and Bandwidth Analysis for Distributed MPEG-4 Decoding
Data Storage Exploration and Bandwidth Analysis for Distributed MPEG-4 oding Milan Pastrnak, Peter H. N. de With, Senior Member, IEEE Abstract The low bit-rate profiles of the MPEG-4 standard enable video-streaming
More informationTKT-2431 SoC design. Introduction to exercises
TKT-2431 SoC design Introduction to exercises Assistants: Exercises Jussi Raasakka jussi.raasakka@tut.fi Otto Esko otto.esko@tut.fi In the project work, a simplified H.263 video encoder is implemented
More informationScalable Video Coding
Introduction to Multimedia Computing Scalable Video Coding 1 Topics Video On Demand Requirements Video Transcoding Scalable Video Coding Spatial Scalability Temporal Scalability Signal to Noise Scalability
More informationVideo Compression An Introduction
Video Compression An Introduction The increasing demand to incorporate video data into telecommunications services, the corporate environment, the entertainment industry, and even at home has made digital
More informationCPU offloading using SoC fabric Avnet Silica & Enclustra Seminar Getting started with Xilinx Zynq SoC Fribourg, April 26, 2017
1 2 3 Introduction The next few slides give a short introduction of what CPU offloading is and how it can help improving system performance. 4 What is Offloading? Offloading means taking load from one
More informationDESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE
DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology
More informationCHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP
133 CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP 6.1 INTRODUCTION As the era of a billion transistors on a one chip approaches, a lot of Processing Elements (PEs) could be located
More informationDESIGN OF EFFICIENT ROUTING ALGORITHM FOR CONGESTION CONTROL IN NOC
DESIGN OF EFFICIENT ROUTING ALGORITHM FOR CONGESTION CONTROL IN NOC 1 Pawar Ruchira Pradeep M. E, E&TC Signal Processing, Dr. D Y Patil School of engineering, Ambi, Pune Email: 1 ruchira4391@gmail.com
More informationHardware-Software Codesign
Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual
More informationThe Optimization of a Design Using VHDL Concepts
The Optimization of a Design Using VHDL Concepts Iuliana CHIUCHISAN 1, Alin Dan POTORAC 2 "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava 1 iuliap@eed.usv.ro, 2 alinp@eed.usv.ro
More informationAbstraction Layers for Hardware Design
SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction
More informationFlexRay The Hardware View
A White Paper Presented by IPextreme FlexRay The Hardware View Stefan Schmechtig / Jens Kjelsbak February 2006 FlexRay is an upcoming networking standard being established to raise the data rate, reliability,
More informationSoC Design Environment with Automated Configurable Bus Generation for Rapid Prototyping
SoC esign Environment with utomated Configurable Bus Generation for Rapid Prototyping Sang-Heon Lee, Jae-Gon Lee, Seonpil Kim, Woong Hwangbo, Chong-Min Kyung P PElectrical Engineering epartment, KIST,
More informationECE 551 System on Chip Design
ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs
More informationSystem Modeling and Implementation of MPEG-4. Encoder under Fine-Granular-Scalability Framework
System Modeling and Implementation of MPEG-4 Encoder under Fine-Granular-Scalability Framework Literature Survey Embedded Software Systems Prof. B. L. Evans by Wei Li and Zhenxun Xiao March 25, 2002 Abstract
More informationReprint. Transmission Systems Prototyping based on Stateflow/Simulink Models
Reprint Transmission Systems Prototyping based on Stateflow/Simulink Models N. Papandreou, M. Varsamou, and Th. Antonakopoulos The 15th IEEE International Workshop on Rapid System Prototyping - RSP 2004
More informationEC EMBEDDED AND REAL TIME SYSTEMS
EC6703 - EMBEDDED AND REAL TIME SYSTEMS Unit I -I INTRODUCTION TO EMBEDDED COMPUTING Part-A (2 Marks) 1. What is an embedded system? An embedded system employs a combination of hardware & software (a computational
More informationSONICS, INC. Sonics SOC Integration Architecture. Drew Wingard. (Systems-ON-ICS)
Sonics SOC Integration Architecture Drew Wingard 2440 West El Camino Real, Suite 620 Mountain View, California 94040 650-938-2500 Fax 650-938-2577 http://www.sonicsinc.com (Systems-ON-ICS) Overview 10
More informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationTHANG LUONG CAO. Serial bus adapter design for FPGA. Master of Science Thesis
THANG LUONG CAO Serial bus adapter design for FPGA Master of Science Thesis Examiner: Prof. Timo D. Hämäläinen Examiner and topic approved by the Faculty Council of the Faculty of Computing and Electrical
More informationModel-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany
Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation
More informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
More informationTest and Verification Solutions. ARM Based SOC Design and Verification
Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
More informationSystem-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10
System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation
More informationThe Challenges of System Design. Raising Performance and Reducing Power Consumption
The Challenges of System Design Raising Performance and Reducing Power Consumption 1 Agenda The key challenges Visibility for software optimisation Efficiency for improved PPA 2 Product Challenge - Software
More informationAppendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.
Appendix SystemC Product Briefs All product claims contained within are provided by the respective supplying company. Blue Pacific Computing BlueWave Blue Pacific s BlueWave is a simulation GUI, including
More informationOptimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics
Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic
More informationVHDL 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 informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationReview and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding.
Project Title: Review and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding. Midterm Report CS 584 Multimedia Communications Submitted by: Syed Jawwad Bukhari 2004-03-0028 About
More informationSystem Level Design with IBM PowerPC Models
September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing
More informationSEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010
SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single
More informationIntro to High Level Design with SystemC
Intro to High Level Design with SystemC Aim To introduce SystemC, and its associated Design Methodology Date 26th March 2001 Presented By Alan Fitch Designer Challenges Design complexity System on Chip
More informationPerformance of Multihop Communications Using Logical Topologies on Optical Torus Networks
Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks X. Yuan, R. Melhem and R. Gupta Department of Computer Science University of Pittsburgh Pittsburgh, PA 156 fxyuan,
More informationUltra-Fast NoC Emulation on a Single FPGA
The 25 th International Conference on Field-Programmable Logic and Applications (FPL 2015) September 3, 2015 Ultra-Fast NoC Emulation on a Single FPGA Thiem Van Chu, Shimpei Sato, and Kenji Kise Tokyo
More informationReducing the cost of FPGA/ASIC Verification with MATLAB and Simulink
Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,
More informationAn Infrastructural IP for Interactive MPEG-4 SoC Functional Verification
ITB J. ICT Vol. 3, No. 1, 2009, 51-66 51 An Infrastructural IP for Interactive MPEG-4 SoC Functional Verification 1 Trio Adiono, 2 Hans G. Kerkhoff & 3 Hiroaki Kunieda 1 Institut Teknologi Bandung, Bandung,
More informationCHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits
More information: : (91-44) (Office) (91-44) (Residence)
Course: VLSI Circuits (Video Course) Faculty Coordinator(s) : Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Chennai 600036 Email Telephone : srinis@iitm.ac.in,
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationIntroduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation
Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationEE382 Processor Design. Processor Issues for MP
EE382 Processor Design Winter 1998 Chapter 8 Lectures Multiprocessors, Part I EE 382 Processor Design Winter 98/99 Michael Flynn 1 Processor Issues for MP Initialization Interrupts Virtual Memory TLB Coherency
More informationCycle accurate transaction-driven simulation with multiple processor simulators
Cycle accurate transaction-driven simulation with multiple processor simulators Dohyung Kim 1a) and Rajesh Gupta 2 1 Engineering Center, Google Korea Ltd. 737 Yeoksam-dong, Gangnam-gu, Seoul 135 984, Korea
More informationFPGA design with National Instuments
FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software
More informationPtolemy Seamlessly Supports Heterogeneous Design 5 of 5
In summary, the key idea in the Ptolemy project is to mix models of computation, rather than trying to develop one, all-encompassing model. The rationale is that specialized models of computation are (1)
More informationChapter 3 - Top Level View of Computer Function
Chapter 3 - Top Level View of Computer Function Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Top Level View 1 / 127 Table of Contents I 1 Introduction 2 Computer Components
More information1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.
1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals. A typical communication link between the processor and
More informationAn Efficient Multi Mode and Multi Resolution Based AHB Bus Tracer
An Efficient Multi Mode and Multi Resolution Based AHB Bus Tracer Abstract: Waheeda Begum M.Tech, VLSI Design & Embedded System, Department of E&CE, Lingaraj Appa Engineering College, Bidar. On-Chip program
More informationDesign and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA
Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA Maheswari Murali * and Seetharaman Gopalakrishnan # * Assistant professor, J. J. College of Engineering and Technology,
More informationA Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture
A Top-down / Co-Simulation Method for Embedded Systems Based Upon a Architecture Mitsuhiro YASUDA Barry SHACKLEFORD Fumio SUZUKI Katsuhiko SEO Hisao KOIZUMI Mitsubishi Electric Corporation, Hewlett-Packard
More informationDesign of Synchronous NoC Router for System-on-Chip Communication and Implement in FPGA using VHDL
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IJCSMC, Vol. 2, Issue.
More informationAnalyzing and Debugging Performance Issues with Advanced ARM CoreLink System IP Components
Analyzing and Debugging Performance Issues with Advanced ARM CoreLink System IP Components By William Orme, Strategic Marketing Manager, ARM Ltd. and Nick Heaton, Senior Solutions Architect, Cadence Finding
More informationData Model Considerations for Radar Systems
WHITEPAPER Data Model Considerations for Radar Systems Executive Summary The market demands that today s radar systems be designed to keep up with a rapidly changing threat environment, adapt to new technologies,
More informationModeling Asynchronous Communication at Different Levels of Abstraction Using SystemC
Modeling Asynchronous Communication at Different Levels of Abstraction Using SystemC Shankar Mahadevan Inst. for Informatics and Mathematical Modeling Tech. Univ. of Denmark (DTU) Lyngby, Denmark sm@imm.dtu.dk
More information