281 research outputs found

    Programmiersprachen und Rechenkonzepte

    Get PDF
    Seit 1984 veranstaltet die GI-Fachgruppe "Programmiersprachen und Rechenkonzepte" regelmĂ€ĂŸig im FrĂŒhjahr einen Workshop im Physikzentrum Bad Honnef. Das Treffen dient in erster Linie dem gegenseitigen Kennenlernen, dem Erfahrungsaustausch, der Diskussion und der Vertiefung gegenseitiger Kontakte. In diesem Forum werden VortrĂ€ge und Demonstrationen sowohl bereits abgeschlossener als auch noch laufender Arbeiten vorgestellt, unter anderem (aber nicht ausschließlich) zu Themen wie - Sprachen, Sprachparadigmen, - Korrektheit von Entwurf und Implementierung, -Werkzeuge, -Software-/Hardware-Architekturen, -Spezifikation, Entwurf, - Validierung, Verifikation, - Implementierung, Integration, - Sicherheit (Safety und Security), - eingebettete Systeme, - hardware-nahe Programmierung. In diesem Technischen Bericht sind einige der prĂ€sentierten Arbeiten zusammen gestellt

    UVM testbench in Python:feature and performance comparison with SystemVerilog implementation

    Get PDF
    Abstract. Python is emerging as a new language for functional verification of digital integrated circuits (ICs). With the Python verification framework cocotb enabling to write testbenches in Python, new libraries are being developed for various verification techniques and methodologies, such as functional coverage, constrained random verification and Universal Verification Methodology (UVM). Python testbenches have been used in some research and product development, but there is little information available on their performance, and no studies about applying UVM in Python have been published. In this thesis, a Python UVM testbench was developed using pyuvm and other Python verification libraries for an AHB-Lite slave IP, and a matching testbench in SystemVerilog was also built to examine the differences in their implementations. Testbench codebase sizes, simulation execution times, memory use and coverage accumulation were compared. The Python testbench had 30% less lines of code, suggesting that testbench development may be faster in Python than SystemVerilog. The execution times of the Python testbench on commercial simulators were 8 to 21 times longer than those of the SystemVerilog testbench in tests with AHB-Lite write operations and random stimulus. In conclusion, given the performance gap and the UVM Register Abstraction Layer (RAL) being at an early stage of development in pyuvm, the studied Python libraries are not competitive with SystemVerilog and its UVM implementation for verifying complex designs like systems-on-chip (SoCs) at this stage. Nevertheless, pyuvm enables Python programmers and users of open-source simulators without support for SystemVerilog UVM to start using the methodology. A Python UVM testbench based on pyuvm is currently viable for verifying simple designs, and it opens new avenues of research in digital IC verification.TiivistelmĂ€. Python on nousemassa uudeksi kieleksi digitaalisten integroitujen piirien varmennukseen. Cocotb-viitekehys mahdollistaa testipenkkien kirjoittamisen Pythonilla, ja uusia Python-kirjastoja kehitetÀÀn eri varmennusmenetelmille, kuten funktionaaliselle kattavuudelle, rajoitetulla satunnaisherĂ€tteellĂ€ verifioinnille ja universaalille varmennusmenetelmĂ€lle (engl. Universal Verification Methodology, UVM). Python-testipenkkejĂ€ on pienissĂ€ mÀÀrin kĂ€ytetty tutkimuksissa ja tuotekehityksessĂ€, mutta niiden suorituskyvystĂ€ on hyvin vĂ€hĂ€n tietoa, ja UVM:n kĂ€ytöstĂ€ Pythonilla ei ole julkaistu tutkimuksia. TĂ€ssĂ€ työssĂ€ kehitettiin UVM-testipenkki Pythonilla AHB-Lite-orjana toimivalle IP-lohkolle kĂ€yttĂ€en pyuvm:ÀÀ ja muita Python-verifiointikirjastoja, ja vastaava testipenkki luotiin myös SystemVerilogilla toteutusten vertailua varten. TestipenkeistĂ€ verrattiin koodikannan kokoa, suoritusaikaa, muistin kĂ€yttöÀ ja kattavuuden kertymistĂ€. Python-testipenkissĂ€ oli 30 % vĂ€hemmĂ€n koodirivejĂ€, mikĂ€ voi merkitĂ€, ettĂ€ testipenkkien kehittĂ€minen Pythonilla on nopeampaa kuin SystemVerilogilla. Suoritusajat kaupallisilla simulaattoreilla oli Python-testipenkillĂ€ 8–21 kertaa pidempiĂ€ kuin SystemVerilog-testipenkillĂ€ testeissĂ€, joissa ajettiin AHB-Lite -kirjoitusoperaatioita ja satunnaisherĂ€tettĂ€. Koska suorituskykyero oli nĂ€in merkittĂ€vĂ€, ja koska UVM:n rekisteriabstraktiotaso (engl. Register Abstraction Layer, RAL) on vasta alkutekijöissÀÀn pyuvm:ssĂ€, voidaan todeta, ettĂ€ tutkitut Python-kirjastot eivĂ€t ole vielĂ€ nykyisellĂ€ tasollaan kilpailukykyisiĂ€ SystemVerilogin ja sen UVM-implementaation kanssa monimutkaisten piirien kuten jĂ€rjestelmĂ€piirien varmennukseen. SiitĂ€ huolimatta pyuvm mahdollistaa UVM:n kĂ€ytön Python-ohjelmoijille ja avoimen lĂ€hdekoodin simulaattoreissa, joissa ei ole vielĂ€ SystemVerilog UVM:lle tukea. Pyuvm-pohjainen Python UVM-testipenkki soveltuu tĂ€llĂ€ hetkellĂ€ yksinkertaisten mallien varmennukseen ja avaa uusia tutkimussuuntia digitaalisten integroitujen piirien varmennukseen

    Event-driven industrial robot control architecture for the Adept V+ platform

    Get PDF
    Modern industrial robotic systems are highly interconnected. They operate in a distributed environment and communicate with sensors, computer vision systems, mechatronic devices, and computational components. On the fundamental level, communication and coordination between all parties in such distributed system are characterized by discrete event behavior. The latter is largely attributed to the specifics of communication over the network, which, in terms, facilitates asynchronous programming and explicit event handling. In addition, on the conceptual level, events are an important building block for realizing reactivity and coordination. Eventdriven architecture has manifested its effectiveness for building loosely-coupled systems based on publish-subscribe middleware, either general-purpose or robotic-oriented. Despite all the advances in middleware, industrial robots remain difficult to program in context of distributed systems, to a large extent due to the limitation of the native robot platforms. This paper proposes an architecture for flexible event-based control of industrial robots based on the Adept V+ platform. The architecture is based on the robot controller providing a TCP/IP server and a collection of robot skills, and a high-level control module deployed to a dedicated computing device. The control module possesses bidirectional communication with the robot controller and publish/subscribe messaging with external systems. It is programmed in asynchronous style using pyadept, a Python library based on Python coroutines, AsyncIO event loop and ZeroMQ middleware. The proposed solution facilitates integration of Adept robots into distributed environments and building more flexible robotic solutions with eventbased logic

    A study of the simula 67 language.

    Get PDF
    • 

    corecore