2 Field-Programmable Gate Arrays 8 2.1 Background

Total Page:16

File Type:pdf, Size:1020Kb

2 Field-Programmable Gate Arrays 8 2.1 Background Research Collection Doctoral Thesis Hades: fast hardware synthesis tools and a reconfigurable coprocessor Author(s): Ludwig, Stefan Hans-Melchior Publication Date: 1997 Permanent Link: https://doi.org/10.3929/ethz-a-001859409 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library Hades — Fast Hardware Synthesis Tools and a Reconfigurable Coprocessor Diss. ETH No. 12276 Hades — Fast Hardware Synthesis Tools and a Reconfigurable Coprocessor A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH (ETH ZURICH¨ ) for the degree of Doctor of Technical Sciences presented by Stefan Hans-Melchior Ludwig Dipl. Informatik-Ing. ETH born May 21, 1966 citizen of Schiers, Graub¨unden accepted on the recommendation of Prof. Dr. N. Wirth, examiner Prof. Dr. H. Eberle, co-examiner 1997 c Stefan H.-M. Ludwig, 1997 Fur¨ Irene, Vanessa und Cyril. Fur¨ meine Eltern. Acknowledgments I would like to express my appreciation and gratitude to my advisor Prof. Niklaus Wirth. His striving for simplicity and understandability are unparalleled. If Hades is fast, it is because of the constant “fear” of spending a cycle too much here or a byte too much there. He is a fabulous teacher and it was a pleasure to work under his supervision. I thank Prof. Hans Eberle for being my co-examiner. His knowledge in hardware design was very welcomed during the development of the Hades hardware and his constant skepticism of the feasibility of reconfigurable coprocessors was a driving force behind this work. Many thanks go to my colleague, collaborator and office mate for the past four years, Stephan Gehring, for his excellent Trianus framework, for the discussions and feedback, for the criti- cism and for his willingness to enhance or alter Trianus almost instantly. It was fun to work with you! Thanks to Immo Noack for many things, especially for being who you are. Thanks and acknowledgments go to • all of my colleagues at the Institute for Computer Systems for a stimulating and enjoy- able working environment. Remember, there is only one true “Ludwig-of-the-day”. • Erwin Oertli for tips regarding the details of the Hades board and many other things. • Marco Sanvido for the provision of a timing analyzer. • Beat Heeb for helping with the Ceres-2 and Cuno Pfister for having produced CALLAS, a good tool to measure my own work against. • Wolfgang Weck and Clemens Szyperski for discussions on various issues. • Tom Kean for the chip and much more. • Bill Wilkie for answering my endless questions and for never stopping to appreciate my corrections to the data sheet. • the remaining people at Xilinx Development Corp., Scotland, for their openness and generosity. • Virtual Computer Corporation for distributing Hades with their board. • Dr. Roger Woods and Jean-Paul Heron of the DSP Laboratory, Queen’s University of Belfast, for their willingness to work with Hades and for their humor. • Patrick M¨uller and Reto Zimmermann for betting a term project on Hades, and for succeeding. • Chuck Thacker, Dave Conroy and Mark Shand of the Digital Systems Research Center for discussions about FPGAs and high-performance memory systems. • Monty Brekke and Steve Atkins for the Verilog code and Martin Radetzki for the VHDL code. v vi • Peter Alfke for background information on the XC4000 and the FPGA market. • David Hofmann for the logic minimizer. • my proofreaders Stephan Gehring, Taylor Hutt, Cheryl Lins and Nels Vander Zanden. I owe you a dinner in Silicon Valley. This work would have been impossible without the love and support of my beloved wife, Irene. Thank you for everything during the past nine years. I love you! Contents Acknowledgments v Kurzfassung xiii Abstract xiv 1 Introduction 1 1.1Coprocessors.................................. 2 1.2User-ConfigurableHardware.......................... 3 1.3ReconfigurableCoprocessors.......................... 3 1.4HardwareSynthesis............................... 5 1.5Contributions.................................. 5 1.6OverviewofThesis............................... 7 2 Field-Programmable Gate Arrays 8 2.1 Background . ............................. 8 2.2GeneralStructure................................ 9 2.3 The Xilinx XC6200 . ............................. 10 2.4OtherArchitectures............................... 15 2.5Evaluation.................................... 17 3 Foundations: Lola and Trianus 21 3.1 Hardware Description Languages . ..................... 21 3.2 The Hardware Description Language Lola . .............. 21 3.3Trianus..................................... 25 3.4Discussion.................................... 39 4 Hades Hardware 40 4.1Motivation.................................... 41 4.2 Design Alternatives . ............................. 41 4.3OverviewoftheHadesReconfigurableCoprocessor.............. 43 4.4ChoiceofHostWorkstation........................... 43 4.5ArchitectureoftheHadesBoard........................ 46 4.6ConstructingtheBoard............................. 52 4.7SystemSoftware................................ 54 4.8Discussion.................................... 54 5 Hades Software 55 5.1ProblemStatementandMotivation....................... 56 5.2 Programming Methodology . ......................... 60 5.3Overview.................................... 61 5.4Mapper..................................... 61 5.5 Placer and Floor Planner . ......................... 71 5.6Router...................................... 85 vii viii 5.7BitstreamGeneratorandLoader........................ 95 5.8RuntimeSystem................................. 98 5.9 Support Modules and Genericity in Oberon . .............. 100 5.10 Quantitative Issues . ............................. 101 5.11 Experiences with Our Programming Methodology and Oberon . ...... 103 5.12Discussion.................................... 104 6 Application and Evaluation 106 6.1 Applications Running in Hardware . ..................... 106 6.2PatternMatchingApplication.......................... 106 6.3 Comparison to XACT step Series 6000 ..................... 126 6.4HadesintheWorld............................... 131 6.5PossibleFutureApplications.......................... 132 6.6Discussion.................................... 133 7 Related Work 134 7.1CustomComputers............................... 134 7.2ReconfigurableCoprocessors.......................... 135 7.3ReconfigurableProcessors........................... 136 7.4High-LevelHardwareDescription....................... 137 7.5TheNeedforBetterTools........................... 138 8 Summary, Conclusions and Outlook 139 8.1WhathasbeenAccomplished?......................... 139 8.2HadesHardware................................. 139 8.3HadesSoftware................................. 139 8.4LolaandTrianus................................ 140 8.5Conclusions................................... 140 8.6Outlook..................................... 141 A Syntax of Lola 143 B Schema of Hades Coprocessor Board 145 C Photograph of Hades Coprocessor Board 147 D Components for a Hades Board 148 E Hades RC Board Decoder 150 F Wotan Microprocessor 154 F.1 ArchitectureandPrincipleofOperation.................... 154 F.2 LolaCode.................................... 156 F.3 Layout Synthesis . ............................. 164 G Resources on the Web 167 Bibliography 168 Curriculum Vitae 176 List of Figures 1.1CPUandCoprocessor.............................. 2 1.2TypicalReconfigurableCoprocessor...................... 4 1.3HardwareSynthesisFlow............................ 6 2.1GeneralFPGAStructure............................ 9 2.2PassGate.................................... 10 2.3ConfigurationStore............................... 10 2.4 XC6200 Function Unit ............................. 11 2.5 Mux Implementation of the AND and XOR Functions............. 12 2.6 XC6200 Neighbor Routing . ......................... 13 2.7 XC6200 Length-4 FastLANEs ......................... 14 2.8 XC6200 Logic Symbol ............................. 14 2.9CALFunctionUnit............................... 15 2.10 AT6000 Function Unit ............................. 16 2.11 AT6000 Routing Network . ......................... 17 2.12 XC4000EX Function Unit (Simplified) ..................... 18 2.13 XC4000EX Routing (Simplified) . ..................... 18 3.1DifferentViewsinTrianus........................... 28 3.2LolaandTrianusPartinDesignFlowfromFig.1.3.............. 29 3.3TrianusTypesandLolaConstructs....................... 33 3.4 Data Structure for AddElem Type........................ 34 3.5 XC6200 Layout of AddElem .......................... 37 3.6 OBDD for Carry-Out of AddElem ....................... 38 3.7 Schema Showing an AddElem ......................... 39 4.1 Hades Hardware Part within the Design Flow of Fig. 1.3 . .......... 40 4.2 FPGA Attached to the CPU (Two Alternatives) . .............. 42 4.3 FPGA with Local Memory on Extension Card . .............. 44 4.4HadesReconfigurableCoprocessor....................... 45 4.5InterfaceTiming................................ 50 5.1 Hades Software Part within the Design Flow of Fig. 1.3 . .......... 55 5.2RoutingChannel................................ 58 5.3 Wave Expansion (1, 2, 3, 4) with Resulting Route . .............. 59 5.4 XC6200 Cell Configurations (without Registers) . .............. 63 5.5 Mapping of NOT-Gate............................. 64 5.6 Mapping of AND-Gate............................. 66 5.7MappingofLatch................................ 66 5.8MappingofRegister.............................
Recommended publications
  • Language-Level Support for Exploratory Programming of Distributed Virtual Environments
    In Proc ACM UIST ‘96 (Symp. on User Interface Software and Technology), Seattle, WA, November 6–8, 1996, pp. 83–94. Language-Level Support for Exploratory Programming of Distributed Virtual Environments Blair MacIntyre and Steven Feiner Department of Computer Science, Columbia University, New York, NY, 10027 {bm,feiner}@cs.columbia.edu http://www.cs.columbia.edu/~{bm,feiner} Abstract resulted in an unmanageable welter of client-server relation- ships, with each of a dozen or more processes needing to We describe COTERIE, a toolkit that provides language- create and maintain explicit connections to each other and to level support for building distributed virtual environments. handle inevitable crashes. COTERIE is based on the distributed data-object paradigm for distributed shared memory. Any data object in COTE- We spent a sufficiently large portion of our time reengineer- RIE can be declared to be a Shared Object that is replicated ing client-server code that it became clear to us that our fully in any process that is interested in it. These Shared implementation of the client-server model was unsuitable Objects support asynchronous data propagation with atomic for exploratory programming of distributed research proto- serializable updates, and asynchronous notification of types. The heart of the problem, as we saw it, was a lack of updates. COTERIE is built in Modula-3 and uses existing support for data sharing that was both efficient and easy for Modula-3 packages that support an integrated interpreted programmers to use in the face of frequent and unantici- language, multithreading, and 3D animation. Unlike other pated changes.
    [Show full text]
  • ETH Eidgenossische Technische Hochschule Zurich H.Eberle
    ETH Eidgenossische lnstitut Technische fur lnformatik Hochschule ZUrich H.Eberle Hardware Description of the Workstation Ceres 11nuar 1987 ,70 70 . 61 .10 ETH Eidgenossische lnstitut Technische fur lnformatik Hochschule Zurich Eidrg. ~hn. ZI!rich lrricrm!!~!~:.~~lb;i::1H1a-k ETH~Zentrum CH..oo92 Zurich H.Eberle Hardware Description of the Workstation Ceres EidQ. lechn. He:ch'?~h'Jle Zilr\J::;!-: lnforme::!':.uib~iuthek El'l I-lei ili rn 11 CH-8002 ZOrtch gl,4-,23 Address of the author: lnstitut fiJr lnformatik ETH-Zentrum CH-8092 Zurich I Switzerland © 1987 lnstitut tor lnformatik, ETH Zurich 1 Hardware Description of the Workstation Ceres H.Eberle Abstract Ceres is a single-user computer based on the 32-bit microprocessor NS32000. The processor is oriented to the use of high-level languages. The hardware design concentrates on simplicity and modularity. The key features are the arbitrated memory bus and the high resolution bitmapped graphics display which promotes the attractivity of a programming workstation. This paper documents the hardware of the Ceres computer. 2 Contents 1 Introduction 3 2 Hardware Structure 4 2.1 Processor 4 2.2 Primary Memory 4 2.3 Secondary Memory 4 2.4 Input/Output Devices 4 3 Hardware Implementation 6 3.1 Processor Board 6 3.1.1 Processor 6 3.1.2 Memory Bus Arbiter 9 3.1.3 Boot ROM and Standard Input/Output Devices 12 3.2 Memory Board 15 3.3 Display Controller Board 18 3.3.1 Display Memory 18 3.3.2 Display Refresh Controller 19 3.4 Disk Controller Board 23 3.5 Motherboard 23 4 Hardware Extensions 24 References 26 Appendices A Circuit Diagrams 28 A.1 Processor Board 28 A.2 Memory Board 35 A.3 Display Controller Board 37 B PAL Design Specifications 42 c Interface Connectors 47 C.1 Processor Board 47 C.2 Display Controller Board 48 C.3 Motherboard 48 3 1 Introduction Todays working tools of a software engineer at the lnstitut fUr lnformatik of ETH ZOrich are the programming language Modula-2 [1] and the workstation computer Lilith [2].
    [Show full text]
  • The Zonnon Project: a .NET Language and Compiler Experiment
    The Zonnon Project: A .NET Language and Compiler Experiment Jürg Gutknecht Vladimir Romanov Eugene Zueff Swiss Fed Inst of Technology Moscow State University Swiss Fed Inst of Technology (ETH) Computer Science Department (ETH) Zürich, Switzerland Moscow, Russia Zürich, Switzerland [email protected] [email protected] [email protected] ABSTRACT Zonnon is a new programming language that combines the style and the virtues of the Pascal family with a number of novel programming concepts and constructs. It covers a wide range of programming models from algorithms and data structures to interoperating active objects in a distributed system. In contrast to popular object-oriented languages, Zonnon propagates a symmetric compositional inheritance model. In this paper, we first give a brief overview of the language and then focus on the implementation of the compiler and builder on top of .NET, with a particular emphasis on the use of the MS Common Compiler Infrastructure (CCI). The Zonnon compiler is an interesting showcase for the .NET interoperability platform because it implements a non-trivial but still “natural” mapping from the language’s intrinsic object model to the underlying CLR. Keywords Oberon, Zonnon, Compiler, Common Compiler Infrastructure (CCI), Integration. 1. INTRODUCTION: THE BRIEF CCI and b) to experiment with evolutionary language HISTORY OF THE PROJECT concepts. The notion of active object was taken from the Active Oberon language [Gut01]. In addition, two This is a technical paper presenting and describing new concurrency mechanisms have been added: an the current state of the Zonnon project. Zonnon is an accompanying communication mechanism based on evolution of the Pascal, Modula, Oberon language syntax-oriented protocols , borrowed from the Active line [Wir88].
    [Show full text]
  • MODULA a Language for Modular Multiprogramming, Wirth, 1976
    Research Collection Report MODULA a language for modular multiprogramming Author(s): Wirth, Niklaus Publication Date: 1976 Permanent Link: https://doi.org/10.3929/ethz-a-000199440 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library ~ idgenöss · ische ·Institut T echnisc ~he für. Hochschule Informatik Zürich MODULA: A language formodular multiprogramming ~~8rz 1976 18 ~ ., ' , „· Eidgenössische Institut Technische für Hochschule Informatik Zürich Niklaus Wirth MODULA: A language formodular multiprogramming - 1 - N .Wirth Abstract This paper defines a language called Modula, which is intended primarily for programming dedicated computer systems, including process control systems on smaller machines. The language is largely based on Pascal, but in addition to conventional block ) structure it introduces a so - called module structure . A module is a set of procedures, data types, and variables, where the programmer has precise control over the names that are imported from and exported to the environment. Modula includes general multiprocessing facilities, namely processes , interfacp, modules, and Signals . It also allows the specification of facilities that represent a computer ' s specific peripheral devices . Those given in this paper pertain to the PDP - 11. Author ' s address: Institut für Informatik , ETH , CH-8092 Zürich - 2 - Coaten ts 1. Introduction 3 2. 0 verview 5 3. Notation for syotactic description 10 4. Language vocabulary and representation 10 5. Facilities for sequential programmiog 12 1. Constant declarations 12 2. Type declarations 12 1 • Basic types 13 2. E n um e ratio n s 13 3.
    [Show full text]
  • Niklaus Wirth—A Pioneer of Computer Science 1
    Niklaus Wirth—A Pioneer of Computer Science 1 Niklaus Wirth — a Pioneer of Computer Science Gustav Pomberger, Hanspeter Mössenböck, Peter Rechenberg Johannes Kepler University of Linz [email protected], [email protected], [email protected] Abstract Niklaus Wirth is one of the most influential scientists of the early computer age. His ideas and especially his programming languages have shaped gen- erations of programmers worldwide. This paper tries to acknowledge the scientific achievements of Niklaus Wirth and to honor him as a person. A small part of the paper is also devoted to Wirth's influence on computer sci- ence at the Johannes Kepler University of Linz. 1 Introduction Ask computer specialists anywhere—be it in Europe or America, in Asia or Australia—who the most important computer scientists in the world are, and you can bet that the name Niklaus Wirth will be on every list. Ask programming language experts about the person with the greatest influence on the development of programming languages, and they would agree on Niklaus Wirth. Ask students, teachers and computer hobbyists about the most important programming lan- guages, and you can be sure that even today Pascal will be on every list. Finally, examine the literature of computer science in the elite circle of books with the greatest number of copies printed, the widest distribution, and the most transla- tions, and you will find books by Niklaus Wirth, especially the prominent book on Pascal. These few examples show that professor Niklaus Wirth is one of the world's leading computer scientists.
    [Show full text]
  • Extensibility in the Oberon System
    Nordic Journal of Computing 1(1994), 77{93. EXTENSIBILITY IN THE OBERON SYSTEM HANSPETER MOSSENB¨ OCK¨ ∗ Institute for Computer Systems ETH Zurich¨ CH{8092 Zurich¨ Switzerland Abstract. We show how an object-oriented system-and in particular the Oberon System-can be used to write software that is extensible by end users even while the software is running. Extensibility instead of completeness may be a way out of the unpleasant situation in software industry where applications still tend to become bigger every year. Oberon is both an object-oriented programming language and an operating system with new concepts such as commands and dynamic loading. The language and the system make up an environment that is similar to Smalltalk in its flexibility but offers static type-checking and is much more efficient. CR Classification: D.2.2, D.1.5 1. Introduction Ambitious software systems with large functionality and thousands of users can hardly be designed in a form that meets all future needs from the be- ginning. It is impossible to foresee all the ways in which such systems will be used so that requests for extensions will arise naturally. Current software industry tries to cope with this problem by including as many features as possible into a software system. This leads to huge monolithic software that offers amazing functionality but still leaves some users disappointed because it typically lacks just their favorite feature. The opposite approach is to design a system only as a minimal kernel and to provide means to extend it. This allows vendors and even users to add more functionality later without bothering other users which do not need it.
    [Show full text]
  • System Construction
    System Construction Autumn Semester 2017 ETH Zürich Felix Friedrich 1 Goals . Competence in building custom system software from scratch . Understanding of „how it really works“ behind the scenes across all levels . Knowledge of the approach of fully managed lean systems A lot of this course is about detail. A lot of this course is about bare metal programming. 2 Course Concept . Discussing elaborated case studies . In theory (lectures) . and practice (hands-on lab) . Learning by example vs. presenting topics 3 Prerequisite . Knowledge corresponding to lectures Systems Programming and/or Operating Systems . Do you know what a stack-frame is? . Do you know how an interrupt works? . Do you know the concept of virtual memory? . Good reference for recapitulation: Computer Systems – A Programmer's Perspective 4 Links . SVN repository https://svn.inf.ethz.ch/svn/lecturers/vorlesungen/trunk/syscon/2017/shared . Links on the course homepage http://lec.inf.ethz.ch/syscon 5 Background: Co-Design @ ETH Languages (Pascal Family) +MathOberon Active Modula Oberon ActiveOberon Cells Oberon07 Zonnon Operating / Runtime Systems Medos Oberon Aos A2 SoC HeliOs Minos LockFree Kernel Hardware x86 / IA64/ ARM TRM Lilith Ceres Emulations on (FPGA) Unix / Linux RISC (FPGA) 1980 1990 2000 2010 6 Course Overview Part1: Contemporary Hardware Case Study 1. Minos: Embedded System . Safety-critical and fault-tolerant monitoring system . Originally invented for autopilot system for helicopters . Topics: ARM Architecture, Cross-Development, Object Files and Module Loading, Basic OS Core Tasks (IRQs, MMUs etc.), Minimal Single-Core OS: Scheduling, Device Drivers, Compilation and Runtime Support. With hands-on lab on Raspberry Pi (2) 7 Course Overview Part1: Contemporary Hardware Case Study 2.
    [Show full text]
  • Warum Unix-Ports Pascal Bis Oberon in Der Bremer Informatik
    Warum Unix-Ports Pascal bis Oberon in der Bremer Informatik Günter Feldmann Universität Bremen [email protected] 1970th, Dept. of Electrical Engineering ● 1974/75: first university computer CII-Honeywell Bull, IRIS-80 ● first Pascal port from a university in Paris. ● learned Pascal by reading the compiler sources ● engineers needed 64-bit REALS, compiler got modified accordingly ● compiling and linking the compiler took 2 days ● N. Wirth: Systematisches Programmieren Since 1981, Dept. of Mathematics and Computer Science ● first personal computers: DEC PDT 11 ● PDP11 instruction set, but some instructions were missing, these had to be emulated in software as the interpreters and compilers used them. ● UCSD Pascal and some times a Modula (not Modula-2) compiler under RT11. ● Small local area network via V24 connections Computer Science ● A series of different computers ● DEC PDP11/44, BSD Unix ● DEC VAX 750 with 8 VT100 terminals, BSD Unix ● 30 Atari 520 ST (M6800) ● 20 Sun3 Workstations (M6820) ● all machines were equipped with Pascal and/or Modula-2 compilers ● Some machines (Pascal Microengine, PERQ) were microprogrammed for Pascal (p-code, Q- code) Computer Science ● workstation pool for students ● 30 machines (1986), 100 machines today ● in the beginning of 1990th we acquired Sun4 workstations (SPARC). No Modula-2 compiler! ● ETHZ released the SPARC Oberon system hosted by SunOS. This system was used in the course “Software Projekt” until 1996. Then “Java” came … ● programming courses got replaced by courses in “internet programming” Keeping Oberon alive on our hardware ● OS change: SunOS (BSD) to Solaris (SYSVR4) ● despite binary compatibility SPARC Oberon failed. Oberon compiler used registers reserved for usage by the system.
    [Show full text]
  • A Modula-2 Oriented Operating System for the Personal Computer Lilith
    Diss. ETH No. 7346 Medos-2: A Modula-2 Oriented Operating System for the Personal Computer Lilith A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Technical Sciences presented by SVEND ERIK KNUDSEN Dipl. Phys. ETH born October 19,1947 citizen of Thalwil (Zurich) accepted to the recommendation of Prof. Dr. N. Wirth, examiner Prof. Dr. C.A. Zehnder, co-examiner Zurich 1983 C 1983 by Svend Erik Knudsen, Grundsteinstr. 2, CH-8804 Au/ZH Preface In the fall of 1977, Prof. N. Wirth started an integrated hardware and software project aiming at the construction of a modern personal computer, a highly desirable tool for the creative software engineer. The principal parts of the so-called Lilith project were the design of the programming language Modula-2 and the construction of a multipass compiler for it, the design of a suitable machine architecture for the execution of compiled programs, the design and construction of a computer capable of efficiently interpreting the defined machine architecture and equipped with the desired peripheral devices, the design and the implementation of the single-user operating system Medos-2, the development of modern text and graphic editors taking full advantage of the computer's capabilities, and the development of a whole range of utility programs and library modules supporting the preparation of documents and the development of programs. After successful prototyping a series of 20 computers was built. During the first year of the project, I was mainly involved in the programming language part of the project.
    [Show full text]
  • Towards Mathix / Math-X, a Computer Algebra Language That Can Create Its Own Operating System, and That Is Amazingly User- Friendly and Secure
    Towards Mathix / Math-x, a computer algebra language that can create its own operating system, and that is amazingly user- friendly and secure Thomas Colignatus, August 19 2009, some clarifications August 23 2009 http://www.dataweb.nl/~cool Summary Given the current supply and demand for computer languages and systems, there is a clear window of opportunity for the software community to collaborate and create Mathix and Math-x. The base would be Oberon, which itself derives from Algol / Pascal / Modula and which is better designed than Unix / Linux, and which now has the system Bluebottle / A2 at http://bluebottle.ethz.ch. Mathix is defined as Oberon/A2 extended with a suitable computer algebra language (say, CAL). Math-x is defined as Minix ported to Oberon/A2 (via Cyclone) and extended with that CAL. Mathix and Math-x thus can create their own OS. Mathix and Math-x are flexible in that they contain both a strongly typed dialect relevant for OS creation (current Oberon) and a more flexible dialect relevant for the human user (CAL, to be created). The dialects have much syntax in common but the CAL allows more flexibility. The CAL is internally translated into Oberon/A2 which allows compilation as well. 2 2009-08-23-Math-x.nb Note This paper is best understood in the context of my book Elegance with Substance on mathematics education - see http://www.dataweb.nl/~cool/Papers/Math/Index.html. My book advises that each national parliament investigates the stagnation in doing mathematics on the computer in school. This paper suggests how the software community might anticipate on common sense conclusions and start working on improvement.
    [Show full text]
  • 2004 Ieee International Solid-State Circuits Conference
    ADVANCE PROGRAM Short Course: Analog & RF Deep-Submicron ; 2004 IEEE INTERNATIONAL 2 Forums: GHz Radio; NV Memory;TUTORIALS 7 SOLID-STATE : CIRCUITS CONFERENCE 2 Forums:Telecom; Analog Circuits Microprocessor 3 SPECIAL-TOPIC SESSIONS:3 SPECIAL-TOPIC UWB Radio; BIO CMOS; Highlights of DAC FEBRUARY ALL-DAY SUNDAY 15, 16, 17, 18, 19 CONFERENCE THEME: EMBEDDED-SYSTEMS FOR A CONNECTED WORLD THURSDAY ALL-DAY: THURSDAY SAN FRANCISCO MARRIOTT HOTEL IEEE SOLID-STATE CIRCUITS SOCIETY/IEEE SAN FRANCISCO SECTION, AREA COUNCIL/UNIV.IEEE SOLID-STATE BAY OF PA. 5-DAY PROGRAM ISSCC VISION STATEMENT The International Solid-State Circuits Conference is the foremost global forum for presentation of advances in solid-state circuits and systems-on- a-chip. The Conference offers a unique opportunity for engineers working at the cutting edge of IC design and application to maintain technical currency, and to network with leading experts. CONFERENCE HIGHLIGHTS On Sunday, February 15, ISSCC 2004 offers: • A choice of up to 3 of a total of 7 Tutorials • Two ISSCC Advanced Circuit Forums: • GIRAFE Forum (Gigahertz Radio Front Ends): “RF Power Amplifiers” • Memory Design Forum: “Non-Volatile Memories—Technology and Design” The 90-minute tutorials offer background information and a review of the cur- rent state-of-the-art in specific circuit design topics. In the all-day Advanced Circuits Forums, leading experts present state-of-the-art design strategies in a workshop-like format. The Forums are targeted at designers experienced in the technical field. On Sunday evening, three Special-Topic Evening Sessions addressing next- generation circuit-design challenges will be offered starting at 7:30PM: • Communications Architectures and System Design of Ultra Wideband Radio • CMOS Meets BIO • Highlights from DAC • The Special-Topic Evening Sessions are open to all ISSCC attendees.
    [Show full text]
  • Project Oberon the Design of an Operating System and Compiler
    1 Niklaus Wirth Jürg Gutknecht Project Oberon The Design of an Operating System and Compiler Edition 2005 2 Project Oberon Preface This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and understood as a whole. In order to become confronted with all aspects, problems, design decisions and details, the authors not only conceived but also programmed the entire system described in this book, and more. Although there exist numerous books explaining principles and structures of operating systems, there is a lack of descriptions of systems actually implemented and used. We wished not only to give advice on how a system might be built, but to demonstrate how one was built. Program listings therefore play a key role in this text, because they alone contain the ultimate explanations. The choice of a suitable formalism therefore assumed great importance, and we designed the language Oberon as not only an effective vehicle for implementation, but also as a publication medium for algorithms in the spirit in which Algol 60 had been created three decades ago. Because of its structure, the language Oberon is equally well suited to exhibit global, modular structures of programmed systems. In spite of the small number of man-years spent on realizing the Oberon System, and in spite of its compactness letting its description fit a single book, it is not an academic toy, but rather a versatile workstation system that has found many satisfied and even enthusiastic users in academia and industry.
    [Show full text]