Chapter 1 Introduction SciTech Connect

Chapter 1 Introduction Scitech Connect-Free PDF

  • Date:09 Aug 2020
  • Views:2
  • Downloads:0
  • Pages:22
  • Size:658.28 KB

Share Pdf : Chapter 1 Introduction Scitech Connect

Download and Preview : Chapter 1 Introduction Scitech Connect


Report CopyRight/DMCA Form For : Chapter 1 Introduction Scitech Connect


Transcription:

2 CHAPTER 1 Introduction, At one level the book will address how to use Simics simulations to achieve. your development goals as a leader of an organization At another level the book. will discuss how to use Simics simulations to get actual tasks done The book. offers best practices along with real life examples to help you understand how to. get the most out of your Simics implementation Design patterns and architectures. that have been proven to work when building complex simulation systems involv. ing many separate components are described While the book is not intended to. be a user manual it is a comprehensive book on simulation using Simics and we. have tried to provide enough details for the book to be useful for someone trying. to implement the concepts described, This chapter introduces the reader to why virtual platforms and full system. simulation like Simics is a critical tool for developing today s complex computer. based systems The chapter defines the basic terminology and provides a high. level overview of why and where Simics is being applied to solve problems for. software and system developers The chapter concludes with an outline of the. remaining chapters of the book,VIRTUAL PLATFORMS, A virtual platform is a model of a hardware system that can run the same soft. ware as the hardware it models The virtual platform is simulated on a host com. puter that may be different from the hardware modeled by the virtual platform. For example a big endian Power Architecture system with a controller area net. work CAN bus and other peripherals running VxWorks can be simulated on a. typical little endian Intel Architecture PC running a Linux or Windows operat. ing system A virtual platform is not limited to modeling a single processor or. board but can represent anything from a basic board with only a processor and. memory to a complete system made up of network connected boards chassis. racks and models of physical systems, The key property of a virtual platform is its ability to run unmodified binaries. of the software that will finally run on the real system and run it fast enough to be. useful for software developers Such software includes low level firmware and. boot loaders hypervisors operating systems drivers middleware and applications. Therefore the virtual platform accurately models the aspects of the real system that. are relevant for software such as CPU instruction sets device registers memory. maps interrupts and the functionality of the different devices On the other hand. the virtual platform is typically not concerned with modeling the detailed implemen. tation of the hardware such as internal buses clocks pipelines and caches. By focusing the model on the hardware software interface and functionality. it is possible to achieve good performance and produce a virtual platform very. early in the product lifecycle two critical features required to address the afore. mentioned challenges,Virtual Platforms 3,TERMINOLOGY.
There are many terms in use for the kind of technology that Simics represents. This section defines some of the terminology the reader may come in contact with. Simulation is a very broad term used in many different fields At its core it. means that you use computer software to build a model of some phenomenon you. want to study and then run this simulator to understand the behavior of the modeled. system A simulation provides more flexibility than the real system allows para. meters to be set freely provides better insight into the internal workings and allows. for the replay and repetition of scenarios It also fundamentally avoids the need to. build physical prototypes or experiments which speeds up development Simulation. is used in every field of science and engineering Simulations are used to predict. weather crash test cars design aircraft understand economic mechanisms and find. new medicines This book is primarily concerned with the simulation of a digital. computer system the target using another digital computer system the host. Full system simulation FSS is a term commonly used to describe Simics and it. captures the fact that the simulation targets an entire target system Originally the. point of a full system was that the digital computer hardware model was sufficiently. complete to run a real operating system Magnusson et al 1998 Over time it has. grown in scope and today a full system often includes factors external to the digital. computer hardware such as models of the surrounding world and inputs and outputs. from the outside It also includes the use of the simulator to model collections of dig. ital computer systems such as multiple machines in a network or multiple boards in. a rack A simulation that cannot simulate more than a single system on chip SoC. or board is not really a FSS today, Virtual platform is the established term in the world of electronic design auto. mation EDA for a piece of software that works like a piece of hardware and is. capable of running software in lieu of the real hardware Virtual platforms are used. at many levels of abstraction from cycle accurate models that correctly emulate. all pins and signals on buses and inside devices to programmer s view PV and. transaction level models TLMs that essentially work like Simics does Virtual. platforms are considered to be development tools, Emulation is a term commonly used to indicate a software layer that lets a piece. of software run on a platform it was not initially targeted to run on Well known. examples are the Mac 68k emulator that Apple used in the migration from the. 68k family of processors to the PowerPC family and the Rosetta emulator that. allowed PowerPC binaries to run on Intel Architecture in Apple s next architec. tural transition Simulators for old videogame platforms such as the Nintendo. Entertainment System NES are also known as emulators to the public We thus. consider emulation in the software realm to mean something that runs software by. translating binaries and operating system calls where the primary use is to run. software not to develop it, Virtualization in the IT world means the use of virtual machines to run multiple. software loads on a single host Virtualization as a principle traces its beginnings. 4 CHAPTER 1 Introduction, back to the IBM System 360 line in the 1970s and today there is a wealth of vir. tualization solutions available on standard Intel hardware such as KVM VMware. Xen Hyper V Virtualbox and many others A virtual machine runs a real operat. ing system but often employs special drivers and input output I O mechanisms. to optimize performance for disks and networking The goal is to provide an iso. lated and manageable container for a particular workload A key property of virtua. lization is that it provides virtual clones of the underlying host machine a. virtualization system cannot provide a target system that is fundamentally different. from the host, In EDA some of these terms have specific meanings An emulator is a custom.
hardware system that runs the register transfer level RTL of a new design with. out having to actually manufacture a chip Emulators are optimized for execution. speed even if they also typically support some development A simulator is a. software program that simulates the RTL This is very slow but it also does not. require any special hardware and it provides very detailed insight into the execu. tion of the system For understanding and debugging a hardware design a simula. tor is the gold standard A field programmable gate array prototype synthesizes. the hardware design to run on an FPGA rather than for ASIC production The. functionality is the same but the detailed timing behavior is not Still it is much. cheaper than using an emulator and runs much faster than a simulator If seen in. software terms this is the equivalent of using the same source code but compil. ing it for a different architecture and operating system. SIMULATION AND THE SYSTEM DEVELOPMENT LIFECYCLE, Full system simulation can be applied during the complete system development. lifecycle as shown in Figure 1 1 It helps in designing and defining systems by pro. viding an executable model of the hardware interface and hardware setup FSS. supports hardware and software architecture work and it validates that the hard. ware can be efficiently used from the software stack Full system simulation is. Platform Application Test and Deploy and,development development integration maintain. Lifecycle timeline,for one product generation,FIGURE 1 1. System development lifecycle,Simulation and the System Development Lifecycle 5. used to develop low level firmware system software and application level soft. ware Testing and integration can be performed on the simulator as well as on. hardware providing increased hardware flexibility and developer agility The soft. ware development schedule can be decoupled from the availability of hardware. Using a simulator improves software development productivity by providing a bet. ter environment than hardware especially for reproducing issues debugging and. automated testing and execution, The following sections describe various ways in which virtual platforms are.
being used to make developers more efficient throughout the product lifecycle. HARDWARE DEVELOPMENT AND DESIGN, A virtual platform is a common tool in the design of new computer systems and. new SoC designs Early hardware design models tend to focus on performance. modeling without much care for the actual functionality and what is being com. puted which is not really a good match for the Simics style fast functional simu. lation Still Simics style virtual platforms are very useful during the hardware. design because Simics provides a means to define and test the functional design. of the hardware system It feeds into pre silicon software development as dis. cussed in the next section, It is also quite common to use fast virtual platforms with a few components. swapped out for detailed cycle accurate and bit accurate models to perform. component level tests with real workloads and component level verification and. validation work Chapter 9 discusses how such mixed level simulations can be. built by combining elements from multiple different simulation systems. PRE SILICON, When developing a new chip FSSs like Simics are used to develop software long. before the first silicon appears This allows the entire project to have its schedule. shift left effectively reducing the time to market and time to revenue for a new. product In the traditional product development flow hardware development soft. ware development and integration and testing more or less take place serially. Typically software developers try to start as early as possible by using different. techniques such as cross compilation to the host machine working with old revi. sions of a board or using previous generation hardware These techniques offer. significant challenges especially for low level code such as firmware and drivers. Using virtual platforms the software and hardware can be developed more or less. in parallel significantly reducing the time to a releasable product Additionally. because the schedule pressure is reduced by increased parallelism there is the. option to get more testing done before release increasing product quality These. benefits from a shift left are illustrated in Figure 1 2. It has been shown many times that by using virtual platforms the time to create. a board support package BSP for a new design can be pulled in from several. 6 CHAPTER 1 Introduction, Traditional product development Product development with simics. Resources Product,Engineering effort,Engineering effort.
Costs Quality,Risks Reduced time to market,increased revenue. Software Software,Hardware Integration,Hardware Integration. and test and test,Time and risks Time and risks,FIGURE 1 2. Product shift left, months to only days after the first hardware is available In the ideal case the hard. ware and software teams work closely together allowing the software team to pro. vide feedback to the hardware designers already before the design is frozen This. can help to avoid costly mistakes in terms of overly complex programming models. and performance bottlenecks that appear because of a lack of system optimization. The software most commonly developed on the pre silicon virtual platform are. boot loaders and basic input output systems BIOSs Carbonari 2013 silicon ver. ification and test software Veseliy and Ayers 2013 drivers firmware and oper. ating system support Even though the Simics abstraction level hides the detailed. timing and implementation of a system developing software on a functional virtual. platform has been proven to work very well Compared to not using a virtual plat. form system developers save weeks and months of time Koerner et al 2009. A variant of pre silicon development that might not be obvious is the develop. ment of software for a new board Even if a new board is based on a familiar. SoC and existing network chips memory and other functions a Simics model. can still be provided ahead of the arrival of the board and offer the same benefits. as for a new silicon chip Just like a new chip a new board needs custom boot. code and drivers to enable software to use the capabilities of the board. 2 CHAPTER 1 Introduction TERMINOLOGY There are many terms in use for the kind of technology that Simics represents This section defines some of the terminology the reader may come in contact with Simulation is a very broad term used in many different fields At its core it means that you use computer software to build a model of some phenomenon you want to study and then run this

Related Books