39,639 research outputs found

    PGPG: An Automatic Generator of Pipeline Design for Programmable GRAPE Systems

    Get PDF
    We have developed PGPG (Pipeline Generator for Programmable GRAPE), a software which generates the low-level design of the pipeline processor and communication software for FPGA-based computing engines (FBCEs). An FBCE typically consists of one or multiple FPGA (Field-Programmable Gate Array) chips and local memory. Here, the term "Field-Programmable" means that one can rewrite the logic implemented to the chip after the hardware is completed, and therefore a single FBCE can be used for calculation of various functions, for example pipeline processors for gravity, SPH interaction, or image processing. The main problem with FBCEs is that the user need to develop the detailed hardware design for the processor to be implemented to FPGA chips. In addition, she or he has to write the control logic for the processor, communication and data conversion library on the host processor, and application program which uses the developed processor. These require detailed knowledge of hardware design, a hardware description language such as VHDL, the operating system and the application, and amount of human work is huge. A relatively simple design would require 1 person-year or more. The PGPG software generates all necessary design descriptions, except for the application software itself, from a high-level design description of the pipeline processor in the PGPG language. The PGPG language is a simple language, specialized to the description of pipeline processors. Thus, the design of pipeline processor in PGPG language is much easier than the traditional design. For real applications such as the pipeline for gravitational interaction, the pipeline processor generated by PGPG achieved the performance similar to that of hand-written code. In this paper we present a detailed description of PGPG version 1.0.Comment: 24 pages, 6 figures, accepted PASJ 2005 July 2

    Configurable Verification of RISC Processors

    Get PDF
    The Verification methodology of modern processor designs is an enormous challenge. As processor design complexity increases, an elaborate and sophisticated verification environment has to be employed to identify, assist in debug, and document design bugs. This paper presents a configurable verification environment for RISC processors. The verification environment is developed in SystemVerilog, an IEEE standard that bridges the gap between design and verification by delivering a single language and environment for both. The verification environment will validate the performance of the RISC processors with a micro-architectural model developed in SystemC. The system also comprises of an intelligent Instruction Generator that generates random sequences of instructions. All verification system components are configured using a common RISC processor architecture configuration control file

    Microprocessor system IP core generator

    Get PDF
    Diplomová práce se týká programovacího jazyku VHDL, návrhového systému ISE Webpack a mikroprocesoru PicoBlaze. Popisuje základy jazyka VHDL a jeho použití. Dále je v práci popsán způsob práce s programem ISE Webpack. V práci jsou popsány nejběžnější periferie a je zde popsán také Picoblaze procesor s jeho parametry a realizace. Na konec je zde popsán IP generátor pro generaci komplexního FPGA návrhu s procesorem Picoblaze.This master’s thesis deal’s with VHDL programming language, ISE Webpack design system and PicoBlaze microprocessor. The thesis describes essentials of VHDL programming language and its application. A simple introduction to ISE Webpack design environment is given. The thesis describes common peripherals and the PicoBlaze processor is described too, including its parameters and implementation aspects. Finally the thesis describes IP generator for generating complex FPGA design including Picoblaze processor.

    XAGra - an XML dialect for attribute grammars

    Get PDF
    Attribute Grammars (AG) are a powerful and well-known formalism used to create language processors. The meta-language used to write an AG (to specify a language and its processor) depends on the compiler generator tool chosen. This fact can be an handicap when it is necessary to share or transfer information between language-based systems; this is, we face an interchangeability problem, if we want to reuse the same language specification (the AG) on another development environment. To overcome this interoperability flaw, we present in this paper XAGra - an XML dialect to describe attribute grammars. XAGra was precisely conceived aiming at adapting the output of a visual attribute grammar editor (named VisualLISA) to any compiler generator tool. Based on the formal definition of Attribute Grammar and on the usual requirements for the generation of a language processor, XAGra schema is divided into five main fragments: symbol declarations, attribute declarations, semantic productions (including attribute evaluation rules, contextual conditions, and translation rules), import, and auxiliary functions definitions. In the paper we present those components, but the focus will be on the systematic way we followed to design the XML schema based on the formal definition of AG. To strength the usefulness of XAGra as a universal AG specification, we show at a glance XAGraAl, a tool taking as input an AG written in XAGra, is a Grammar Analyzer and Transformation system that computes dependencies among symbols, various metrics, slices and rebuilds the grammar

    An Ada programming support environment

    Get PDF
    The toolset of an Ada Programming Support Environment (APSE) being developed at North American Aircraft Operations (NAAO) of Rockwell International, is described. The APSE is resident on three different hosts and must support developments for the hosts and for embedded targets. Tools and developed software must be freely portable between the hosts. The toolset includes the usual editors, compilers, linkers, debuggers, configuration magnagers, and documentation tools. Generally, these are being supplied by the host computer vendors. Other tools, for example, pretty printer, cross referencer, compilation order tool, and management tools were obtained from public-domain sources, are implemented in Ada and are being ported to the hosts. Several tools being implemented in-house are of interest, these include an Ada Design Language processor based on compilable Ada. A Standalone Test Environment Generator facilitates test tool construction and partially automates unit level testing. A Code Auditor/Static Analyzer permits the Ada programs to be evaluated against measures of quality. An Ada Comment Box Generator partially automates generation of header comment boxes

    The language parallel Pascal and other aspects of the massively parallel processor

    Get PDF
    A high level language for the Massively Parallel Processor (MPP) was designed. This language, called Parallel Pascal, is described in detail. A description of the language design, a description of the intermediate language, Parallel P-Code, and details for the MPP implementation are included. Formal descriptions of Parallel Pascal and Parallel P-Code are given. A compiler was developed which converts programs in Parallel Pascal into the intermediate Parallel P-Code language. The code generator to complete the compiler for the MPP is being developed independently. A Parallel Pascal to Pascal translator was also developed. The architecture design for a VLSI version of the MPP was completed with a description of fault tolerant interconnection networks. The memory arrangement aspects of the MPP are discussed and a survey of other high level languages is given

    Design and implementation of an asynchronous version of the MIPS R3000 microprocessor

    Get PDF
    The goal of this thesis is to demonstrate the feasibility of converting a synchronous general purpose microprocessor design to one using an asynchronous methodology. This thesis is one of three parts that details the entire design of an asynchronous version of the MIPS R3000 microprocessor. The design excludes all of the memory support features of the processor for two reasons. First, the memory is already handled asynchronously and second, the size of the project must be limited. This design has implemented the entire set of instructions from the original synchronous version with the exception of certain memory instructions. The three participants in this project are Paul Fanelli, Kevin Johnson, and Scott Siers. Paul Fanelli has developed a Very High Speed Integrated Circuit Hardware Description Language (VHDL) model for the processor. Kevin Johnson has designed the register bank, arithmetic logic unit, and shifter, including schematic diagrams and layouts. Scott Siers has designed the pipeline stages, the multiplier/divider, the exception handler, and the completion signal generator, including schematic diagrams and layout. Each of the participants has written a separate thesis that covers one part of the total design

    The use of model-checking for the verification of concurrent algorithms

    Get PDF
    The design of concurrent algorithms tends to be a long and difficult process. Increasing the number of concurrent entities to realistic numbers makes manual verification of these algorithms almost impossible. Designers normally resort to running these algorithms exhaustively yet can never be guaranteed of their correctness. In this report, we propose the use of a model-checker (SMV) as a machine-automated tool for the verification of these algorithms. We present methods how this tool can be used to encode algorithms and allow properties to be guaranteed for uni-processor machines running a scheduler or SMP machines. We also present a language-generator allowing the designer to use a description language that is then automatically converted to the model-checker’s native language. We show how this approach was successful in encoding a concurrent algorithm and is able to verify the desired properties.peer-reviewe

    A finite element based design tool for point fixed laminated glass

    Get PDF
    In this master’s project, a design tool for bolt fixed laminated glass was developed, based on linear-elastic finite element theory. The program produces images of the deflections and stress distributions in bolted glass panes. A two-dimensional triangular mesh, created by an external mesh generator, was extended to a three-dimensional mesh comprising 15-node wedge elements. A least-square method was adopted for extrapolating stresses from Gaussian sample points to the element nodes. A simple graphical user interface was developed in the programming language Python, as well as a simple post-processor employing the graphics library OpenGL
    corecore