Porting Choices to ARM Architecture Based Platforms Francis M

Total Page:16

File Type:pdf, Size:1020Kb

Porting Choices to ARM Architecture Based Platforms Francis M Porting Choices to ARM Architecture Based Platforms Francis M. David, Ellick M. Chan, Jeffrey C. Carlyle, Roy H. Campbell Department of Computer Science University of Illinois at Urbana-Champaign ffdavid,emchan,jcarlyle,[email protected] http://choices.cs.uiuc.edu/ Draft of 2007/01/12 15:12 Abstract initial code base for the ARM port. We chose to start with the SPARC port of Choices because it was the most Choices, an object-oriented operating system, has been used and tested port of Choices. All of the SPARC ported to the ARM architecture. The porting effort was code was copied to an ARM directory and names were based on the exising code-base for the SPARC pro- changed from SPARC to ARM. Machine dependent cessor based SPARCStation 1. Choices supports two code was copied and renamed from SS1 (SPARCStation ARM-based machine configurations: the Texas Instru- 1) to OMAP. All code that did not compile correctly was ments OMAP 1610 and the ARM Integrator as emulated excluded from the build using preprocessor #ifdef state- by QEMU. Choices on ARM supports virtual memory, ments and placing an Assert(NOTREACHED) state- write-back data caching and interrupt management with ment which, when executed, causes Choices to stop and support for serial I/O and timers. An environment con- display an error message with the filename and line num- sisting of X10-based remote power control devices, net- ber where the Assert was encountered. The porting worked serial ports and comprehensive build scripts en- effort proceeded by repeatedly booting Choices and fix- able short development cycles with the OMAP hard- ing excluded code whenever we encountered the corre- ware. The QEMU based virtual hardware presented sponding Assert statement. powerful debug capabilities useful for developing an op- Apart from porting SPARC code to ARM, we also erating system for the ARM. re-wrote parts of Choices for enhancements and clarity. Kernel debugging support was revamped and extended 1 Introduction to support core functionality from the current version of Choices is an object-oriented operating system devel- the remote GDB protocol [6]. The original GDB func- oped at the University of Illinois at Urbana-Champaign. tionality in Choices was confined to processor dependent The components of the system are encapsulated in code for SPARC. This was split into processor depen- classes and present a flexible design for management dent and processor independent parts. Processor depen- and extensibility. Choices originally supported National dent GDB stub code was added for the ARM. Semiconductor NS32332 based Encore Multimax ma- We also re-wrote the framework for handling proces- chines, Sun SPARC machines [1] and Intel Pentium pro- sor interrupts. A machine and processor independent cessor based machines [2]. InterruptManager is used to handle and dispatch inter- The ARM architecture has become tremendously rupts. A machine dependent class subclasses the Inter- popular in the embedded devices market space, includ- ruptManager and provides methods to interact with the ing the booming mobile device market. The modularity hardware. and extensibility inherent in Choices is a perfect match Pre-emptive context switching was also re-written for for the needs of a mobile device in a dynamic envi- ARM. In the original design, when handling a time-slice ronment. This paper describes our efforts in porting interrupt, the interrupt thread would directly switch con- Choices to two ARM-based platforms: the Texas In- text to the new process. This interfered with proper func- struments OMAP1610 based H2 development boards [3] tioning of the InterruptManager. So, the implementa- and the ARM Integrator CP platform [4] emulated by tion was re-written so that the context switch only oc- QEMU [5]. We first ported Choices to the OMAP hard- curs when the interrupt thread returns back through the ware; experience from the OMAP port and the conve- normal interrupt return mechanism. nience of the QEMU emulator allowed the later Integra- During the porting process, we added support for the tor port to be completed in a short time period. compressed ROM file system (cramfs) to Choices be- We decided to use the SPARC port of Choices as the cause all of the existing Choices file system drivers were 1 unusable. This is a read-only file system that was de- and interrupts. signed for simplicity and space efficiency. The cramfs The ARM architecture has 37 registers as shown in ta- file system is currently used as the root file system for ble 2. 31 of these registers are general purpose registers both the Choices ARM ports. We discuss file system including a program counter and 6 are status registers. support in more detail in section 8. Some of these registers are banked and are hidden ex- One of the challenges encountered with porting cept when executing in specific processor modes. These Choices to the ARM platform was the lack of a suit- registers such as the stack pointer are automatically able secondary storage device that we could use. The switched when entering a different processor mode. This Choices source base includes hard disk drivers; however, design allows fast processing of interrupts as the handler our target ARM platforms do not include a hard disk code does not need to manually switch to a new stack. drive. The OMAP and Integrator platforms include flash An application normally has access to 16 general pur- devices that could be used for secondary storage; how- pose registers (R0-R15) and one current program sta- ever, Choices does not have a flash device driver. For the tus register (CPSR). The following registers have spe- purposes of an initial port, we created a pseudo RAM cial meaning: R15 is the program counter (PC), R14 is disk device which stores all its data in volatile SDRAM. the link register (LR). By convention, the other general Choices expects a root file system to exist on this device purpose registers are assigned meanings as well: R13 is and mounts this file system during the boot process. The the stack pointer (SP), R12 is the scratch register (IP), file system image is pre-loaded into RAM by the boot- R11 is the frame pointer (FP) and R10 is the stack limit loader. (which is currently unused). Registers R4-R9 are callee- The remainder of this paper is organized as follows. preserved. Registers R0-R3 are used to pass arguments A brief overview of the ARM architecture is presented and return values when performing function calls. These in section 2. Some standards that are used for ARM soft- register usage conventions are defined by an Application ware development are discussed in section 3. Section 4 Binary Interface (ABI); the ABI is discussed in more de- is a high-level introduction to the Choices kernel archi- tail in section 3. tecture and organization. The computing environment A special set of banked registers, namely, saved pro- used to develop the Choices ARM ports is described in gram status registers (SPSR) are used to save a copy section 5. Section 6 describes ARM processor depen- of CPSR when switching modes and are not accessible dent changes that were required. OMAP and Integra- from the ARM SYS or ARM USR modes. tor machine dependent changes are documented in sec- The ARM processor enters special interrupt han- tion 7.1. We discuss the file system implementations in dling modes when certain events occur. These events Choices in section 8. Section 9 documents the develop- and modes are shown in table 3. When an in- ment time-line for the porting effort. Section 10 has a terrupt is received, the PC register is set to either short performance evaluation of the Choices ARM port. 0x00000000+offset or 0xFFFF0000+offset depending Section 11 summarizes our work and draws conclusions. on whether the processor is configured to use low or high In this paper, words in italics, such as InterruptMan- interrupt vectors. ager refer to Choices classes. The ARM processor supports address translation via an MMU (Memory Management Unit). The MMU uses 2 ARM Architecture Overview a two-level page table to map virtual to physical ad- ARM is a 32 bit RISC architecture. It supports a na- dresses. Each first level page table entry can directly tive full-fledged 32-bit instruction set. ARM also spec- specify a mapping for a 1MB memory region. A first ifies two other instruction sets: a 16-bit compressed level entry may also indirect to a second level page ta- RISC set called Thumb, and an 8-bit instruction set for ble, which maps memory in increments of either 16 KB, Java byte-codes called Jazelle. These are only available 4 KB, or 1 KB. Both first level and second level entries on selected versions of the ARM processor core. The include bits that determine access permissions based on ARM926EJ-S processor in the TI OMAP1610 H2 board processor mode. The entries also include bits that de- and the ARM1026EJ-S processor in the Integrator con- termine the caching policy used for the covered virtual form to the ARMv5 architecture generation and support memory region. both these extended instruction sets. Newer processors The ARMv5 architecture uses a split (Harvard) cache use ARMv6 and ARMv7. Choices only has support for architecture with separate instruction and data caches. ARMv5 but does not use Thumb or Jazelle. The cache can be disabled, configured for write-through The ARM processors in both the OMAP and the In- or write-back for individual pages. An on-chip write tegrator support seven modes of operation. There are buffer can be used to queue writes to memory. It also shown in table 1.
Recommended publications
  • SPARC/IOBP-CPU-56 Installation Guide
    SPARC/IOBP-CPU-56 Installation Guide P/N 220226 Revision AB September 2003 Copyright The information in this publication is subject to change without notice. Force Computers, GmbH reserves the right to make changes without notice to this, or any of its products, to improve reliability, performance, or design. Force Computers, GmbH shall not be liable for technical or editorial errors or omissions contained herein, nor for indirect, special, incidental, or consequential damages resulting from the furnishing, performance, or use of this material. This information is provided "as is" and Force Computers, GmbH expressly disclaims any and all warranties, express, implied, statutory, or otherwise, including without limitation, any express, statutory, or implied warranty of merchantability, fitness for a particular purpose, or non−infringement. This publication contains information protected by copyright. This publication shall not be reproduced, transmitted, or stored in a retrieval system, nor its contents used for any purpose, without the prior written consent of Force Computers, GmbH. Force Computers, GmbH assumes no responsibility for the use of any circuitry other than circuitry that is part of a product of Force Computers, GmbH. Force Computers, GmbH does not convey to the purchaser of the product described herein any license under the patent rights of Force Computers, GmbH nor the rights of others. CopyrightE 2003 by Force Computers, GmbH. All rights reserved. The Force logo is a trademark of Force Computers, GmbH. IEEER is a registered trademark of the Institute for Electrical and Electronics Engineers, Inc. PICMGR, CompactPCIR, and the CompactPCI logo are registered trademarks and the PICMG logo is a trademark of the PCI Industrial Computer Manufacturer’s Group.
    [Show full text]
  • LSU EE 4720 Homework 1 Solution Due: 3 March 2006
    LSU EE 4720 Homework 1 Solution Due: 3 March 2006 Several Web links appear below and at least one is long, to avoid the tedium of typing them view the assignment in Adobe reader and click. Problem 1: Consider these add instructions in three common ISAs. (Use the ISA manuals linked to the references page, http://www.ece.lsu.edu/ee4720/reference.html.) # MIPS64 addu r1, r2, r3 # SPARC V9 add g2, g3, g1 # PA RISC 2 add r1, r2, r3 (a) Show the encoding (binary form) for each instruction. Show the value of as many bits as possible. Codings shown below. For PA-RISC the ea, ec, and ed ¯elds are labeled e1, e2, and e3, respectively in the instruction descriptions. There is no label for the eb ¯eld in the instruction description of the add and yes it would make sense to use e0 instead of e1 but they didn't for whatever reason. opcode rs rt rd sa func MIPS64: 0 2 3 1 0 0x21 31 26 25 21 20 16 15 11 10 6 5 0 op rd op3 rs1 i asi rs2 SPARC V9: 2 1 0 2 0 0 3 31 30 29 25 24 19 18 14 13 13 12 5 4 0 OPCD r2 r1 c f ea eb ec ed d t PA-RISC 2: 2 3 2 0 0 01 1 0 00 0 1 0 5 6 10 11 15 16 18 19 19 20 21 22 22 23 23 24 25 26 26 27 31 (b) Identify the ¯eld or ¯elds in the SPARC add instruction which are the closest equivalent to MIPS' func ¯eld.
    [Show full text]
  • Ross Technology RT6224K User Manual 1 (Pdf)
    Full-service, independent repair center -~ ARTISAN® with experienced engineers and technicians on staff. TECHNOLOGY GROUP ~I We buy your excess, underutilized, and idle equipment along with credit for buybacks and trade-ins. Custom engineering Your definitive source so your equipment works exactly as you specify. for quality pre-owned • Critical and expedited services • Leasing / Rentals/ Demos equipment. • In stock/ Ready-to-ship • !TAR-certified secure asset solutions Expert team I Trust guarantee I 100% satisfaction Artisan Technology Group (217) 352-9330 | [email protected] | artisantg.com All trademarks, brand names, and brands appearing herein are the property o f their respective owners. Find the Ross Technology RT6224K-200/512S at our website: Click HERE 830-0016-03 Rev A 11/15/96 PRELIMINARY Colorado 4 RT6224K hyperSPARC CPU Module Features D Based on ROSS’ fifth-generation D SPARC compliant — Zero-wait-state, 512-Kbyte or hyperSPARC processor — SPARC Instruction Set Architec- 1-Mbyte 2nd-level cache — RT620D Central Processing Unit ture (ISA) Version 8 compliant — Demand-paged virtual memory (CPU) — Conforms to SPARC Reference management — RT626 Cache Controller, Memory MMU Architecture D Module design Management, and Tag Unit — Conforms to SPARC Level 2 MBus — MBus-standard form factor: 3.30” (CMTU) Module Specification (Revision 1.2) (8.34 cm) x 5.78” (14.67 cm) — Four (512-Kbyte) or eight D Dual-clock architecture — Provides CPU upgrade path at (1-Mbyte) RT628 Cache Data Units module level (CDUs) Ċ CPU scaleable up to
    [Show full text]
  • SPARC Assembly Language Reference Manual
    SPARC Assembly Language Reference Manual 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. A Sun Microsystems, Inc. Business 1995 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX Systems Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party software, including font technology in this product, is protected by copyright and licensed from Sun’s Suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, OpenWindows, DeskSet, ONC, ONC+, and NFS are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OPEN LOOK is a registered trademark of Novell, Inc.
    [Show full text]
  • Solaris Powerpc Edition: Installing Solaris Software—May 1996 What Is a Profile
    SolarisPowerPC Edition: Installing Solaris Software 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. A Sun Microsystems, Inc. Business Copyright 1996 Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. UNIX is a registered trademark in the United States and other countries and is exclusively licensed by X/Open Company Ltd. Third-party software, including font technology in this product, is protected by copyright and licensed from Sun’s suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. Sun, Sun Microsystems, the Sun logo, Solaris, Solstice, SunOS, OpenWindows, ONC, NFS, DeskSet are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
    [Show full text]
  • V850 Series Development Environment Pamphlet
    To our customers, Old Company Name in Catalogs and Other Documents On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took over all the business of both companies. Therefore, although the old company name remains in this document, it is a valid Renesas Electronics document. We appreciate your understanding. Renesas Electronics website: http://www.renesas.com April 1st, 2010 Renesas Electronics Corporation Issued by: Renesas Electronics Corporation (http://www.renesas.com) Send any inquiries to http://www.renesas.com/inquiry. Notice 1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website. 2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples.
    [Show full text]
  • Unit 2: Instruction Set Architectures
    Computer Architecture Unit 2: Instruction Set Architectures Slides'developed'by'Milo'Mar0n'&'Amir'Roth'at'the'University'of'Pennsylvania'' with'sources'that'included'University'of'Wisconsin'slides' by'Mark'Hill,'Guri'Sohi,'Jim'Smith,'and'David'Wood' Computer Architecture | Prof. Milo Martin | Instruction Sets 1 Instruction Set Architecture (ISA) Application • What is an ISA? OS • A functional contract Compiler Firmware • All ISAs similar in high-level ways • But many design choices in details CPU I/O • Two “philosophies”: CISC/RISC Memory • Difference is blurring Digital Circuits • Good ISA… Gates & Transistors • Enables high-performance • At least doesn’t get in the way • Compatibility is a powerful force • Tricks: binary translation, µISAs Computer Architecture | Prof. Milo Martin | Instruction Sets 2 Readings • Suggested reading: • “The Evolution of RISC Technology at IBM” by John Cocke and V. Markstein Computer Architecture | Prof. Milo Martin | Instruction Sets 3 Execution Model Computer Architecture | Prof. Milo Martin | Instruction Sets 4 Program Compilation int array[100], sum;! void array_sum() {! for (int i=0; i<100;i++) {! sum += array[i];! }! }! • Program written in a “high-level” programming language • C, C++, Java, C# • Hierarchical, structured control: loops, functions, conditionals • Hierarchical, structured data: scalars, arrays, pointers, structures • Compiler: translates program to assembly • Parsing and straight-forward translation • Compiler also optimizes • Compiler itself another application … who compiled compiler? Computer Architecture | Prof. Milo Martin | Instruction Sets 5 Assembly & Machine Language • Assembly language • Human-readable representation • Machine language • Machine-readable representation • 1s and 0s (often displayed in “hex”) • Assembler • Translates assembly to machine Example is in “LC4” a toy instruction set architecture, or ISA Computer Architecture | Prof.
    [Show full text]
  • Evaluation of Synthesizable CPU Cores
    Evaluation of synthesizable CPU cores DANIEL MATTSSON MARCUS CHRISTENSSON Maste r ' s Thesis Com p u t e r Science an d Eng i n ee r i n g Pro g r a m CHALMERS UNIVERSITY OF TECHNOLOGY Depart men t of Computer Engineering Gothe n bu r g 20 0 4 All rights reserved. This publication is protected by law in accordance with “Lagen om Upphovsrätt, 1960:729”. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the authors. Daniel Mattsson and Marcus Christensson, Gothenburg 2004. Evaluation of synthesizable CPU cores Abstract The three synthesizable processors: LEON2 from Gaisler Research, MicroBlaze from Xilinx, and OpenRISC 1200 from OpenCores are evaluated and discussed. Performance in terms of benchmark results and area resource usage is measured. Different aspects like usability and configurability are also reviewed. Three configurations for each of the processors are defined and evaluated: the comparable configuration, the performance optimized configuration and the area optimized configuration. For each of the configurations three benchmarks are executed: the Dhrystone 2.1 benchmark, the Stanford benchmark suite and a typical control application run as a benchmark. A detailed analysis of the three processors and their development tools is presented. The three benchmarks are described and motivated. Conclusions and results in terms of benchmark results, performance per clock cycle and performance per area unit are discussed and presented. Sammanfattning De tre syntetiserbara processorerna: LEON2 från Gaisler Research, MicroBlaze från Xilinx och OpenRISC 1200 från OpenCores utvärderas och diskuteras.
    [Show full text]
  • Jamaicavm Provides Hard Realtime Guarantees for Most Common Realtime Operating Systems Are Sup- All Primitive Java Operations
    ��������� Java-Technology for Critical Embedded Systems ��������� �������� ���������� ����������� ������� ���������� ������� ������� ���������� ����������� ���������� ������ ��������� Java-Tools for developers of critical software applications. Key Technologies Interoperability Hard realtime execution Ported to standard RTOSes The JamaicaVM provides hard realtime guarantees for Most common realtime operating systems are sup- all primitive Java operations. This enables all of Java’s ported by JamaicaVM, ports for VxWorks, QNX, Linux- features to be used for your hard realtime tasks. Fea- variants, RTEMS, etc. exist. The supported architectures tures essential to object-oriented software develop- include SH4, PPC, x86, ARM, XScale, ERC32, and many ment like dynamic allocation of objects, inheritance, more. To support your specific system, we can provide and dynamic binding become available to the real- you with the required porting service. time developer. ROMable code Realtime Garbage Collection Class files and the Jamaica Virtual Machine may be The JamaicaVM provides the only Java implementa- linked into a standalone binary for execution out of tion with an efficient hard realtime garbage collector. ROM. A filesystem in not necessary for running Java It operates in small increments of only a few machine code. instructions and guarantees to recycle all garbage memory, to avoid memory fragmentation, and to Library and JNI Native Code bound the execution time for allocations. Existing library code or low level performance critical code for hardware access can be embedded into Fast & Small your realtime application using the Java Native Inter- A highly optimizing static compiler ensures best runtime face. performance. A profiling tool gathers information for providing the best trade-off between runtime perfor- mance and code size. Jamaica Toolset Sophisticated automatic class file compaction, dead- � � � � � � � � � � code elimination and profile-guided partial compila- tion techniques reduce the code footprint to the bare ���������� minimum.
    [Show full text]
  • LSU EE 4720 Homework 1 Due: 3 March 2006
    LSU EE 4720 Homework 1 Due: 3 March 2006 Several Web links appear below and at least one is long, to avoid the tedium of typing them view the assignment in Adobe reader and click. Problem 1: Consider these add instructions in three common ISAs. (Use the ISA manuals linked to the references page, http://www.ece.lsu.edu/ee4720/reference.html.) # MIPS64 addu r1, r2, r3 # SPARC V9 add g2, g3, g1 # PA RISC 2 add r1, r2, r3 (a) Show the encoding (binary form) for each instruction. Show the value of as many bits as possible. (b) Identify the ¯eld or ¯elds in the SPARC add instruction which are the closest equivalent to MIPS' func ¯eld. (A ¯eld is a set of bits in an instruction's binary representation.) (c) Identify the ¯eld or ¯elds in the PA-RISC add instruction which are the closest equivalent to MIPS' func ¯eld. Hint: Look at similar PA-RISC instructions such as sub and xor. (d) The encodings of the SPARC and MIPS add instructions have unused ¯elds: non-opcode ¯elds that must be set to zero. Identify them. Problem 2: Read the Overview section of the PA-RISC 2.0 Architecture manual, http://h21007.www2.hp.com/dspp/files/unprotected/parisc20/PA_1_overview.pdf. (If that link doesn't work ¯nd the overview section from the course references page, http://www.ece.lsu.edu/ee4720/reference.html.) A consequence of the unused ¯elds in MIPS and SPARC add instructions and RISC's ¯xed- width instructions is that the instructions are larger than they need to be.
    [Show full text]
  • Using Vhdl Cores in System-On-A-Chip Developments
    USING VHDL CORES IN SYSTEM-ON-A-CHIP DEVELOPMENTS Sandi Habinc European Space Agency European Space Research and Technology Centre (ESTEC) Postbus 299, NL-2200 AG Noordwijk, The Netherlands Tel. +31 71 565 4722 Fax. +31 71 565 4295 [email protected] ABSTRACT Very high integration levels of microelectronics will be required to fulfil the ever-increasing demands on performance in terms of processing speed, mass and power. With an increasing number of available gates on silicon, the functionality being implemented will move away from the use of traditional components to more advanced and complex systems within a single device. To develop such complex circuits the design methodology will have to change from being gate-level oriented to the integration of complex building blocks. The designers will have to rely on preexisting building blocks with already verified functionality, with documentation and production test vectors being available, and which have ultimately been validated on silicon. I. INTRODUCTION This paper will concentrate on how building blocks for microelectronics are developed in VHDL and how they are purchased, distributed and used in the scope of European Space Agency (ESA) activities, ranging from in-house developments to contractor work and targeting simple Field Programmable Gate Arrays (FPGAs) to complex System-On- a-Chip (SOC) designs. This will be followed by a discussion on how VHDL cores are developed in ESA contracts, giving a listing of cores available or under development. Different aspects related to the purchase of Intellectual Property (IP) products will be discussed, giving a listing of commercial cores available through ESA or currently under negotiation.
    [Show full text]
  • Solaris, HP9000 Series 700
    To our customers, Old Company Name in Catalogs and Other Documents On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took over all the business of both companies. Therefore, although the old company name remains in this document, it is a valid Renesas Electronics document. We appreciate your understanding. Renesas Electronics website: http://www.renesas.com April 1st, 2010 Renesas Electronics Corporation Issued by: Renesas Electronics Corporation (http://www.renesas.com) Send any inquiries to http://www.renesas.com/inquiry. Notice 1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website. 2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples.
    [Show full text]