4 research outputs found

    VIP-komponentin käyttö SystemVerilog-testipenkissä

    Get PDF
    Tiivistelmä. Digitaalipiirien kasvava kompleksisuus asettaa entistä korkeammat vaatimukset myös mallin varmentavalle testipenkille. Yksi menetelmä vähentää varmennuksen kuormitusta on käyttää eri väyläprotokollille kehitettyjä valmiita varmennuskomponentteja, joita kutsutaan VIP-komponenteiksi (engl. Verification Intellectual Property). Tässä työssä perehdytään Siemens EDA:n I2C Questa VIP-komponentin (QVIP) käyttöön ja varmennetaan tämän avulla äärellisen impulssivasteen (engl. Finite Impulse Response, FIR) suodattimen I2C-väylän toimivuus. Työssä kehitetään testipenkki, jossa VIP-komponentti vastaa I2C-väylän ohjauksesta ja väylän herätteen generoinnista. Joukko testejä luodaan simuloimaan suodattimen eri käyttötilanteita ja väylän virheskenaarioita. Varmennettavat väylän ominaisuudet on kerätty QVIP:iin kuuluvaan varmennussuunnitelmaan, josta seurataan testeissä saavutettua funktionaalista kattavuutta. Suodatinpiiri läpäisee testit, ja valituissa ominaisuuksissa saavutetaan yli 95 prosentin kattavuus. Johtopäätöksenä voidaan todeta, että QVIP:n avulla varmennettiin suodatinpiirin väylän toimivuus. QVIP:n valmiit testipenkkikomponentit ja testisekvenssit säästivät vaivaa testipenkin ja testien kehityksessä, ja sen väyläprotokollan noudattamista seuraavat assertiot paransivat varmennuksen laatua. Lista varmennettavista ominaisuuksista oli myös helppo laatia valmiin varmennussuunnitelman pohjalta. VIP-komponenttien käsittelyn lisäksi työ sisältää lyhyen katsauksen SystemVerilog-varmennuskieleen ja järjestelmäpiirien varmennusteknologioihin kuuluviin assertiopohjaiseen varmennukseen ja universaaliin varmennusmenetelmään.The use of verification ip component in a SystemVerilog testbench. Abstract. The growing complexity of digital integrated circuits sets increasingly higher requirements for the testbenches that verify the design. One method to ease the burden of verification is to use premade verification components developed for various bus protocols. These components are called Verification Intellectual Properties (VIP). In this work, Siemens EDA’s I2C Questa VIP (QVIP) is used to verify the functionality of the I2C bus in a finite impulse response (FIR) filter design. A testbench is developed where QVIP controls the I2C bus and generates test stimulus. A group of test cases are created to simulate different FIR filter use cases and I2C bus error scenarios. The verified features of the I2C bus are collected in a verification plan. The plan is part of QVIP and is used to follow the total functional coverage achieved with the tests. The filter design passes all the tests and over 95 percent functional coverage is reached in the selected features. In conclusion, the functionality of the I2C bus in the filter was successfully verified using QVIP. The premade testbench components and test sequences of QVIP saved effort in testbench and test development, and its protocol assertions improved verification quality. In addition to VIPs, the work includes a brief overview of the verification language SystemVerilog and two system-on-chip (SoC) verification methodologies: Universal Verification Methodology (UVM) and assertion-based verification

    Comparison of multi-layer bus interconnection and a network on chip solution

    Get PDF
    Abstract. This thesis explains the basic subjects that are required to take in consideration when designing a network on chip solutions in the semiconductor world. For example, general topologies such as mesh, torus, octagon and fat tree are explained. In addition, discussion related to network interfaces, switches, arbitration, flow control, routing, error avoidance and error handling are provided. Furthermore, there is discussion related to design flow, a computer aided designing tools and a few comprehensive researches. However, several networks are designed for the minimum latency, although there are also versions which trade performance for decreased bus widths. These designed networks are compared with a corresponding multi-layer bus interconnection and both synthesis and register transfer level simulations are run. For example, results from throughput, latency, logic area and power consumptions are gathered and compared. It was discovered that overall throughput was well balanced with the network on chip solutions, although its maximum throughput was limited by protocol conversions. For example, the multi-layer bus interconnection was capable of providing a few times smaller latencies and higher throughputs when only a single interface was injected at the time. However, with parallel traffic and high-performance requirements a network on chip solution provided better results, even though the difference decreased when performance requirements were lower. Furthermore, it was discovered that the network on chip solutions required approximately 3–4 times higher total cell area than the multi-layer bus interconnection and that resources were mainly located at network interfaces and switches. In addition, power consumption was approximately 2–3 times higher and was mostly caused by dynamic consumption.Monitasoisen väyläarkkitehtuurin ja tietokoneverkkomaisen ratkaisun vertailua. Tiivistelmä. Tutkielmassa käsitellään tärkeimpiä aihealueita, jotka tulee huomioida suunniteltaessa tietokoneverkkomaisia väyläratkaisuja puolijohdemaailmassa. Esimerkiksi yleiset rakenteet, kuten verkko-, torus-, kahdeksankulmio- ja puutopologiat käsitellään lyhyesti. Lisäksi alustetaan verkon liitäntäkohdat, kytkimet, vuorottelu, vuon hallinta, reititys, virheiden välttely ja -käsittely. Lopuksi kerrotaan suunnitteluvuon oleellisimmat välivaiheet ja niihin soveltuvia kaupallisia työkaluja, sekä käsitellään lyhyesti muutaman aiemman julkaisun tuloksia. Tutkielmassa käytetään suunnittelutyökalua muutaman tietokoneverkkomaisen ratkaisun toteutukseen ja tavoitteena on saavuttaa pienin mahdollinen latenssi. Toisaalta myös hieman suuremman latenssin versioita suunnitellaan, mutta pienemmillä väylänleveyksillä. Lisäksi suunniteltuja tietokoneverkkomaisia ratkaisuja vertaillaan perinteisempään monitasoiseen väyläarkkitehtuuriin. Esimerkiksi synteesi- ja simulaatiotuloksia, kuten logiikan vaatimaa pinta-alaa, tehonkulutusta, latenssia ja suorituskykyä, vertaillaan keskenään. Tutkielmassa selvisi, että suunnittelutyökalulla toteutetut tietokoneverkkomaiset ratkaisut mahdollistivat tasaisemman suorituskyvyn, joskin niiden suurin saavutettu suorituskyky ja pienin latenssi määräytyivät protokollan käännöksen aiheuttamasta viiveestä. Tutkielmassa havaittiin, että perinteisemmillä menetelmillä saavutettiin noin kaksi kertaa suurempi suorituskyky ja pienempi latenssi, kun verkossa ei ollut muuta liikennettä. Rinnakkaisen liikenteen lisääntyessä tietokoneverkkomainen ratkaisu tarjosi keskimäärin paremman suorituskyvyn, kun sille asetetut tehokkuusvaateet olivat suuret, mutta suorituskykyvaatimuksien laskiessa erot kapenivat. Lisäksi huomattiin, että tietokoneverkkomaisten ratkaisujen käyttämä pinta-ala oli noin 3–4 kertaa suurempi kuin monitasoisella väyläarkkitehtuurilla ja että resurssit sijaitsivat enimmäkseen verkon liittymäkohdissa ja kytkimissä. Lisäksi tehonkulutuksen huomattiin olevan noin 2–3 kertaa suurempi, joskin sen havaittiin koostuvan pääosin dynaamisesta kulutuksesta

    Formal methods for functional verification of cache-coherent systems-on-chip

    Get PDF
    State-of-the-art System-on-Chip (SoC) architectures integrate many different components, such as processors, accelerators, memories, and I/O blocks. Some of those components, but not all, may have caches. Because the effort of validation with simulation-based techniques, currently used in industry, grows exponentially with the complexity of the SoC, this thesis investigates the use of formal verification techniques in this context. More precisely, we use the CADP toolbox to develop and validate a generic formal model of a heterogeneous cache-coherent SoC compliant with the recent AMBA 4 ACE specification proposed by ARM. We use a constraint-oriented specification style to model the general requirements of the specification. We verify system properties on both the constrained and unconstrained model to detect the cache coherency corner cases. We take advantage of the parametrization of the proposed model to produce a comprehensive set of counterexamples of non-satisfied properties in the unconstrained model. The results of formal verification are then used to improve the industrial simulation-based verification techniques in two aspects. On the one hand, we suggest using the formal model to assess the sanity of an interface verification unit. On the other hand, in order to generate clever semi-directed test cases from temporal logic properties, we propose a two-step approach. One step consists in generating system-level abstract test cases using model-based testing tools of the CADP toolbox. The other step consists in refining those tests into interface-level concrete test cases that can be executed at RTL level with a commercial Coverage-Directed Test Generation tool. We found that our approach helps in the transition between interface-level and system-level verification, facilitates the validation of system-level properties, and enables early detection of bugs in both the SoC and the commercial test-bench.Les architectures des systèmes sur puce (System-on-Chip, SoC) actuelles intègrent de nombreux composants différents tels que les processeurs, les accélérateurs, les mémoires et les blocs d'entrée/sortie, certains pouvant contenir des caches. Vu que l'effort de validation basée sur la simulation, actuellement utilisée dans l'industrie, croît de façon exponentielle avec la complexité des SoCs, nous nous intéressons à des techniques de vérification formelle. Nous utilisons la boîte à outils CADP pour développer et valider un modèle formel d'un SoC générique conforme à la spécification AMBA 4 ACE récemment proposée par ARM dans le but de mettre en œuvre la cohérence de cache au niveau système. Nous utilisons une spécification orientée contraintes pour modéliser les exigences générales de cette spécification. Les propriétés du système sont vérifié à la fois sur le modèle avec contraintes et le modèle sans contraintes pour détecter les cas intéressants pour la cohérence de cache. La paramétrisation du modèle proposé a permis de produire l'ensemble complet des contre-exemples qui ne satisfont pas une certaine propriété dans le modèle non contraint. Notre approche améliore les techniques industrielles de vérification basées sur la simulation en deux aspects. D'une part, nous suggérons l'utilisation du modèle formel pour évaluer la bonne construction d'une unité de vérification d'interface. D'autre part, dans l'objectif de générer des cas de test semi-dirigés intelligents à partir des propriétés de logique temporelle, nous proposons une approche en deux étapes. La première étape consiste à générer des cas de tests abstraits au niveau système en utilisant des outils de test basé sur modèle de la boîte à outils CADP. La seconde étape consiste à affiner ces tests en cas de tests concrets au niveau de l'interface qui peuvent être exécutés en RTL grâce aux services d'un outil commercial de génération de tests dirigés par les mesures de couverture. Nous avons constaté que notre approche participe dans la transition entre la vérification du niveau interface, classiquement pratiquée dans l'industrie du matériel, et la vérification au niveau système. Notre approche facilite aussi la validation des propriétés globales du système, et permet une détection précoce des bugs, tant dans le SoC que dans les bancs de test commerciales

    UVM based STBUS verification IP for verifying SoC architectures

    No full text
    corecore