This document provides an overview of a tutorial on getting started with RISC-V verification. The tutorial will cover issues in verifying RISC-V CPU designs, RISC-V compliance and its relationship to verification, reference model requirements, simulators for RISC-V CPUs, components for building verification testbenches, instruction stream generators, and a demonstration of a UVM testbench for a RISC-V core. It will also discuss running benchmarks and operating systems on RISC-V designs.
This document provides an overview of a training session on SystemVerilog for verification. The agenda includes verification planning, course contents on SystemVerilog basics and verification techniques, chip design flow, old verification languages, verification approaches, and a case study on verifying an arithmetic logic unit. Verification planning concepts like test plans, features and test types, specifications extraction, and measurements are also discussed.
How to create SystemVerilog verification environment?Sameh El-Ashry
Basic knowledge for the verification engineer to learn the art of creating SystemVerilog verification environment.
Starting from the specifications extraction till coverage closure.
Introduction to SOC Verification Fundamentals and System Verilog language coding. Explains concepts on Functional Verification methodologies used in industry like OVM, UVM
The document discusses CPU verification. It describes verifying at both the architecture and microarchitecture levels. Architecture verification ensures instruction set compliance through random instruction sequences. Microarchitecture verification focuses on implementation details like pipelines and caches using constrained random verification. Milestones track progress through metrics like test plan completion, regression pass rates, functional coverage, and bug trends.
Functional verification is one of the key bottlenecks in the rapid design of integrated circuits. It is estimated that verification in its entirety accounts for up to 60% of design resources, including duration, computer resources and total personnel. The three primary tools used in logic and functional verification of commercial integrated circuits are simulation (at various levels), emulation at the chip level, and formal verification.
The AXI protocol specification describes an advanced bus architecture with burst-based transactions using separate address/control and data phases over independent channels. It supports features like out-of-order transaction completion, exclusive access for atomic operations, cache coherency, and a low power interface. The AXI protocol is commonly used in System-on-Chip designs for high performance embedded processors and peripherals.
This document discusses using fuzzing to generate tests for RISC-V compliance testing. It proposes extending an LLVM-based fuzzer with custom mutators and coverage metrics tailored for RISC-V. Experimental results found bugs in several RISC-V simulators, demonstrating the effectiveness of fuzzing for negative compliance testing. The approach generates platform-independent assembly tests and filters invalid tests. It leverages an open-source RISC-V virtual prototype for test execution.
Getting started with RISC-V verification what's next after compliance testingRISC-V International
The document discusses the CPU design verification (DV) process for RISC-V processors and the challenges presented by RISC-V's open standard nature. It covers developing a verification plan, obtaining tests and models, running simulations, and verifying until coverage metrics are met. Key aspects include using a reference model for configuration and comparison, techniques like self-check, signature comparison, trace logging and step-and-compare, and test suites like riscv-compliance. The presenter demonstrates step-and-compare verification between an Imperas reference model and RISC-V RTL using open source tools and models.
This document provides an overview of a training session on SystemVerilog for verification. The agenda includes verification planning, course contents on SystemVerilog basics and verification techniques, chip design flow, old verification languages, verification approaches, and a case study on verifying an arithmetic logic unit. Verification planning concepts like test plans, features and test types, specifications extraction, and measurements are also discussed.
How to create SystemVerilog verification environment?Sameh El-Ashry
Basic knowledge for the verification engineer to learn the art of creating SystemVerilog verification environment.
Starting from the specifications extraction till coverage closure.
Introduction to SOC Verification Fundamentals and System Verilog language coding. Explains concepts on Functional Verification methodologies used in industry like OVM, UVM
The document discusses CPU verification. It describes verifying at both the architecture and microarchitecture levels. Architecture verification ensures instruction set compliance through random instruction sequences. Microarchitecture verification focuses on implementation details like pipelines and caches using constrained random verification. Milestones track progress through metrics like test plan completion, regression pass rates, functional coverage, and bug trends.
Functional verification is one of the key bottlenecks in the rapid design of integrated circuits. It is estimated that verification in its entirety accounts for up to 60% of design resources, including duration, computer resources and total personnel. The three primary tools used in logic and functional verification of commercial integrated circuits are simulation (at various levels), emulation at the chip level, and formal verification.
The AXI protocol specification describes an advanced bus architecture with burst-based transactions using separate address/control and data phases over independent channels. It supports features like out-of-order transaction completion, exclusive access for atomic operations, cache coherency, and a low power interface. The AXI protocol is commonly used in System-on-Chip designs for high performance embedded processors and peripherals.
This document discusses using fuzzing to generate tests for RISC-V compliance testing. It proposes extending an LLVM-based fuzzer with custom mutators and coverage metrics tailored for RISC-V. Experimental results found bugs in several RISC-V simulators, demonstrating the effectiveness of fuzzing for negative compliance testing. The approach generates platform-independent assembly tests and filters invalid tests. It leverages an open-source RISC-V virtual prototype for test execution.
Getting started with RISC-V verification what's next after compliance testingRISC-V International
The document discusses the CPU design verification (DV) process for RISC-V processors and the challenges presented by RISC-V's open standard nature. It covers developing a verification plan, obtaining tests and models, running simulations, and verifying until coverage metrics are met. Key aspects include using a reference model for configuration and comparison, techniques like self-check, signature comparison, trace logging and step-and-compare, and test suites like riscv-compliance. The presenter demonstrates step-and-compare verification between an Imperas reference model and RISC-V RTL using open source tools and models.
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
Introduction to System Verilog based verification methodologies - OVM and UVM concepts
For more online courses and resources follow http://verificationexcellence.in/
UVM is a standardized methodology for verifying complex IP and SOC in the semiconductor industry. UVM is an Accellera standard and developed with support from multiple vendors Aldec, Cadence, Mentor, and Synopsys. UVM 1.0 was released on 28 Feb 2011 which is widely accepted by verification Engineer across the world. UVM has evolved and undergone a series of minor releases, which introduced new features.
UVM provides the standard structure for creating test-bench and UVCs. The following features are provided by UVM
• Separation of tests from test bench
• Transaction-level communication (TLM)
• Sequences
• Factory and configuration
• Message reporting
• End-of-test mechanism
• Register layer
The document provides an overview of the ASIC design and verification process. It discusses the key stages of ASIC design including specification, high-level design, micro design, RTL coding, simulation, synthesis, place and route, and post-silicon validation. It then describes the importance of verification, including why 70% of design time and costs are spent on verification. The verification process uses testbenches, directed and constrained-random testing, and functional coverage to verify the design matches specifications. Verification of more complex designs like FPGAs, SOCs is also discussed.
The document provides an overview of the UVM configuration database and how it is used to store and access configuration data throughout the verification environment hierarchy. Key points include: the configuration database mirrors the testbench topology; it uses a string-based key system to store and retrieve entries in a hierarchical and scope-controlled manner; and the automatic configuration process retrieves entries during the build phase and configures component fields.
Basics of Functional Verification - Arrow DevicesArrow Devices
Are you new to functional verification? Or do you need a refresher? This presentation takes you through the basics of functional verification - overall scope and process with examples. Also included are some tips on do's and don'ts!
The document provides an overview of the PCI Express system architecture. It discusses the architectural perspective of PCI Express including how it maintains backwards compatibility with PCI/PCI-X while improving performance through serial point-to-point connectivity and packet-based transactions. It also covers the PCI Express transaction model and types, including memory, I/O, configuration and message transactions, as well as posted and non-posted transaction types.
The document discusses system-on-chip (SOC) architectures and designs. It covers topics like different processor types (e.g. superscalar, VLIW), on-chip storage like caches and memory, interconnects like buses and networks-on-chip, and how SOCs are customized for applications like graphics, media, and security. Examples of SOCs include the iPhone SOC with an ARM processor and AMD's Barcelona multicore processor. The document also discusses design tradeoffs involving time, area, power, and costs as SOCs increase in complexity.
CHI is an evolution of the ACE protocol and part of the AMBA architecture. It was designed to improve performance and scalability for applications in mobile, networking, automotive and data center systems. CHI uses a layered architecture with protocol, network and link layers. It supports coherency across processor clusters and memory with topologies like ring, mesh and crossbar. Key nodes include request nodes, home nodes and subordinate nodes. The system address map routes transactions between nodes using unique node IDs.
This document discusses the RISC-V instruction set architecture (ISA). It begins by providing background on how ISAs determine what processors can be used in different markets. It then describes the origins of RISC-V as a clean-slate open ISA developed at UC Berkeley to address limitations of prior proprietary ISAs. The document outlines key attributes of RISC-V that differentiate it, such as its modularity, extensibility, and support for a wide range of implementations through standard extensions.
This PPT is about the ARM processors, family of processors,significance,applications and architectural features and Instruction Set Architecture useful for beginners
2019 2 testing and verification of vlsi design_verificationUsha Mehta
This document provides an introduction to verification of VLSI designs and functional verification. It discusses sources of errors in specifications and implementations, ways to reduce human errors through automation and mistake-proofing techniques. It also covers the reconvergence model of verification, different verification methods like simulation, formal verification and techniques like equivalence checking and model checking. The document then discusses verification flows, test benches, different types of test cases and limitations of functional verification.
This document describes the Advanced Microcontroller Bus Architecture (AMBA) Advanced High-performance Bus (AHB) 2.0 specification. It details features of AHB such as burst transfers, split transactions, and single-cycle bus master handover. It also explains typical components in an AMBA AHB system including masters, slaves, arbitration, and bus operation with different transfer types.
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
Day 1 of workshop at BMS college of Engineering
Covers SystemVerilog language fundamentals - Language constructs, building blocks, Arrays, Process, Classes
This document discusses randomization using SystemVerilog. It begins by introducing constraint-driven test generation and random testing. It explains that SystemVerilog allows specifying constraints in a compact way to generate random values that meet the constraints. The document then discusses using objects to model complex data types for randomization. It provides examples of using SystemVerilog functions like $random, $urandom, and $urandom_range to generate random numbers. It also discusses constraining randomization using inline constraints and randomizing objects with the randomize method.
PCI Express Verification using Reference ModelingDVClub
This document discusses the modeling techniques used for complete verification of a PCI Express switch using reference modeling. It presents the use of Specman eRM for modeling the ingress port logic and router of the PCI Express switch at the block and chip level. The reference models are cycle-accurate and packet-accurate models that are independent of the device under test implementation. They are integrated to enable prediction and checking of runtime behavior at the chip level. Debug messages and coverage from the individual reference models are used to verify functional correctness.
The Advanced Microcontroller Bus Architecture (AMBA) specification defines interfaces for connecting processor and peripherals. It aims to standardize connections to enable modular system design. The Advanced Peripheral Bus (APB) is defined by AMBA for simple peripherals like timers and I/O. It uses few signals for non-pipelined transfers in two cycles to reduce power and complexity.
The document introduces RISC-V, an open instruction set architecture originated at UC Berkeley, outlines its design goals of being freely available and suitable for direct hardware implementation, and describes aspects of its ISA design including its load-store architecture, lack of condition codes, and support for 32, 64, and 128-bit addressing as well as its calling convention for passing arguments in registers and on the stack.
This document provides an overview of the verification strategy for PCI-Express. It discusses the PCI-Express protocol, including the physical, data link, transaction, and software layers. It outlines the verification paradigm, including functional verification using constrained random testing, assertions, asynchronous/power domain simulations, and performance verification. It also discusses compliance verification through electrical, data link, transaction, and system architecture checklists. Finally, it discusses design for verification through a modular and scalable architecture to promote reusability and reduce verification effort and complexity.
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQAware GmbH
Jfokus 2023, Februar 2023, Stockholm, Schweden, Mario-Leander Reimer (@LeanderReimer, CTO @QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Continuous delivery is everywhere. Really?! Many teams still struggle to deliver well-tested product increments on a regular basis. Usually with the same old excuse: the (non)-functional tests are too complex and too expensive to implement thoroughly. But exactly the opposite is the case! In this talk, we briefly review the importance of early and regular testing of cloud-native applications and explain why monolithic CI pipelines are a dead end. We then show how easy it is to run integration, performance, security and acceptance tests continuously using Testkube directly on your Kubernetes cluster, fully integrated with a GitOps approach.
JavaLand 2023, März 2023, Mario-Leander Reimer(@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Continuous Delivery ist allgegenwärtig. Wirklich?
Viele Teams straucheln immer noch dabei, regelmäßig gut getestete Produktinkremente zu liefern. Normalerweise mit der gleichen alten Ausrede: die (nicht)-funktionalen Tests seien zu aufwändig und zu teuer umzusetzen. Doch genau das Gegenteil ist der Fall!
In diesem Vortrag gehen wir kurz auf die Bedeutung früher und regelmäßiger (nicht)-funktionale Tests von Cloud-nativen Anwendungen ein und erläutern, warum monolithische CI-Pipelines eine Sackgasse sind.
Anschließend zeigen wir, wie einfach es ist, kontinuierliche Integrations-, Performance-, Security- und Akzeptanz-Tests mithilfe von Testkube zu integrieren und direkt im Cluster auszuführen.
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
Introduction to System Verilog based verification methodologies - OVM and UVM concepts
For more online courses and resources follow http://verificationexcellence.in/
UVM is a standardized methodology for verifying complex IP and SOC in the semiconductor industry. UVM is an Accellera standard and developed with support from multiple vendors Aldec, Cadence, Mentor, and Synopsys. UVM 1.0 was released on 28 Feb 2011 which is widely accepted by verification Engineer across the world. UVM has evolved and undergone a series of minor releases, which introduced new features.
UVM provides the standard structure for creating test-bench and UVCs. The following features are provided by UVM
• Separation of tests from test bench
• Transaction-level communication (TLM)
• Sequences
• Factory and configuration
• Message reporting
• End-of-test mechanism
• Register layer
The document provides an overview of the ASIC design and verification process. It discusses the key stages of ASIC design including specification, high-level design, micro design, RTL coding, simulation, synthesis, place and route, and post-silicon validation. It then describes the importance of verification, including why 70% of design time and costs are spent on verification. The verification process uses testbenches, directed and constrained-random testing, and functional coverage to verify the design matches specifications. Verification of more complex designs like FPGAs, SOCs is also discussed.
The document provides an overview of the UVM configuration database and how it is used to store and access configuration data throughout the verification environment hierarchy. Key points include: the configuration database mirrors the testbench topology; it uses a string-based key system to store and retrieve entries in a hierarchical and scope-controlled manner; and the automatic configuration process retrieves entries during the build phase and configures component fields.
Basics of Functional Verification - Arrow DevicesArrow Devices
Are you new to functional verification? Or do you need a refresher? This presentation takes you through the basics of functional verification - overall scope and process with examples. Also included are some tips on do's and don'ts!
The document provides an overview of the PCI Express system architecture. It discusses the architectural perspective of PCI Express including how it maintains backwards compatibility with PCI/PCI-X while improving performance through serial point-to-point connectivity and packet-based transactions. It also covers the PCI Express transaction model and types, including memory, I/O, configuration and message transactions, as well as posted and non-posted transaction types.
The document discusses system-on-chip (SOC) architectures and designs. It covers topics like different processor types (e.g. superscalar, VLIW), on-chip storage like caches and memory, interconnects like buses and networks-on-chip, and how SOCs are customized for applications like graphics, media, and security. Examples of SOCs include the iPhone SOC with an ARM processor and AMD's Barcelona multicore processor. The document also discusses design tradeoffs involving time, area, power, and costs as SOCs increase in complexity.
CHI is an evolution of the ACE protocol and part of the AMBA architecture. It was designed to improve performance and scalability for applications in mobile, networking, automotive and data center systems. CHI uses a layered architecture with protocol, network and link layers. It supports coherency across processor clusters and memory with topologies like ring, mesh and crossbar. Key nodes include request nodes, home nodes and subordinate nodes. The system address map routes transactions between nodes using unique node IDs.
This document discusses the RISC-V instruction set architecture (ISA). It begins by providing background on how ISAs determine what processors can be used in different markets. It then describes the origins of RISC-V as a clean-slate open ISA developed at UC Berkeley to address limitations of prior proprietary ISAs. The document outlines key attributes of RISC-V that differentiate it, such as its modularity, extensibility, and support for a wide range of implementations through standard extensions.
This PPT is about the ARM processors, family of processors,significance,applications and architectural features and Instruction Set Architecture useful for beginners
2019 2 testing and verification of vlsi design_verificationUsha Mehta
This document provides an introduction to verification of VLSI designs and functional verification. It discusses sources of errors in specifications and implementations, ways to reduce human errors through automation and mistake-proofing techniques. It also covers the reconvergence model of verification, different verification methods like simulation, formal verification and techniques like equivalence checking and model checking. The document then discusses verification flows, test benches, different types of test cases and limitations of functional verification.
This document describes the Advanced Microcontroller Bus Architecture (AMBA) Advanced High-performance Bus (AHB) 2.0 specification. It details features of AHB such as burst transfers, split transactions, and single-cycle bus master handover. It also explains typical components in an AMBA AHB system including masters, slaves, arbitration, and bus operation with different transfer types.
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
Day 1 of workshop at BMS college of Engineering
Covers SystemVerilog language fundamentals - Language constructs, building blocks, Arrays, Process, Classes
This document discusses randomization using SystemVerilog. It begins by introducing constraint-driven test generation and random testing. It explains that SystemVerilog allows specifying constraints in a compact way to generate random values that meet the constraints. The document then discusses using objects to model complex data types for randomization. It provides examples of using SystemVerilog functions like $random, $urandom, and $urandom_range to generate random numbers. It also discusses constraining randomization using inline constraints and randomizing objects with the randomize method.
PCI Express Verification using Reference ModelingDVClub
This document discusses the modeling techniques used for complete verification of a PCI Express switch using reference modeling. It presents the use of Specman eRM for modeling the ingress port logic and router of the PCI Express switch at the block and chip level. The reference models are cycle-accurate and packet-accurate models that are independent of the device under test implementation. They are integrated to enable prediction and checking of runtime behavior at the chip level. Debug messages and coverage from the individual reference models are used to verify functional correctness.
The Advanced Microcontroller Bus Architecture (AMBA) specification defines interfaces for connecting processor and peripherals. It aims to standardize connections to enable modular system design. The Advanced Peripheral Bus (APB) is defined by AMBA for simple peripherals like timers and I/O. It uses few signals for non-pipelined transfers in two cycles to reduce power and complexity.
The document introduces RISC-V, an open instruction set architecture originated at UC Berkeley, outlines its design goals of being freely available and suitable for direct hardware implementation, and describes aspects of its ISA design including its load-store architecture, lack of condition codes, and support for 32, 64, and 128-bit addressing as well as its calling convention for passing arguments in registers and on the stack.
This document provides an overview of the verification strategy for PCI-Express. It discusses the PCI-Express protocol, including the physical, data link, transaction, and software layers. It outlines the verification paradigm, including functional verification using constrained random testing, assertions, asynchronous/power domain simulations, and performance verification. It also discusses compliance verification through electrical, data link, transaction, and system architecture checklists. Finally, it discusses design for verification through a modular and scalable architecture to promote reusability and reduce verification effort and complexity.
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQAware GmbH
Jfokus 2023, Februar 2023, Stockholm, Schweden, Mario-Leander Reimer (@LeanderReimer, CTO @QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Continuous delivery is everywhere. Really?! Many teams still struggle to deliver well-tested product increments on a regular basis. Usually with the same old excuse: the (non)-functional tests are too complex and too expensive to implement thoroughly. But exactly the opposite is the case! In this talk, we briefly review the importance of early and regular testing of cloud-native applications and explain why monolithic CI pipelines are a dead end. We then show how easy it is to run integration, performance, security and acceptance tests continuously using Testkube directly on your Kubernetes cluster, fully integrated with a GitOps approach.
JavaLand 2023, März 2023, Mario-Leander Reimer(@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Continuous Delivery ist allgegenwärtig. Wirklich?
Viele Teams straucheln immer noch dabei, regelmäßig gut getestete Produktinkremente zu liefern. Normalerweise mit der gleichen alten Ausrede: die (nicht)-funktionalen Tests seien zu aufwändig und zu teuer umzusetzen. Doch genau das Gegenteil ist der Fall!
In diesem Vortrag gehen wir kurz auf die Bedeutung früher und regelmäßiger (nicht)-funktionale Tests von Cloud-nativen Anwendungen ein und erläutern, warum monolithische CI-Pipelines eine Sackgasse sind.
Anschließend zeigen wir, wie einfach es ist, kontinuierliche Integrations-, Performance-, Security- und Akzeptanz-Tests mithilfe von Testkube zu integrieren und direkt im Cluster auszuführen.
- SafeRiver is an independent consulting firm founded in 2005 specializing in software and formal methods for embedded systems.
- They provide functional safety and security services including static analysis, formal proof of requirements, and model-code equivalence.
- Their Carto-C static analysis tool is sound and can exhaustively detect certain classes of flaws related to buffer overflows, underflows, and other runtime errors based on the CWE classification. It has also been evaluated on the Juliet test suite.
Wind River Simics is a full system simulator that allows software developers to simulate hardware systems of any size, from single processors to large server systems. It enables developers to test and debug software on a virtual hardware platform before physical hardware is available. This allows for more agile development by enabling parallel hardware and software development. Simics also allows for complex multi-core systems to be debugged through features like synchronous stopping of the entire system, unlimited breakpoints, reverse debugging, and fault injection.
Cloud Native Engineering with SRE and GitOpsWeaveworks
1) The presentation introduced Brice Fernandes and Sebastian Bernheim from Weaveworks and discussed their roles as customer reliability engineers.
2) It provided an overview of Weaveworks' approach to enabling GitOps across the Kubernetes landscape through open source projects and consulting services.
3) Key SRE practices like embracing risk, establishing service level objectives, automating processes, and implementing deliberate release engineering were shown to be well-aligned with a GitOps model for Kubernetes management.
Demo how to efficiently evaluate nf-vi performance by leveraging opnfv testi...OPNFV
Liang Gao, Huawei, Trevor Cooper, Intel
NFV environments are highly flexible and this introduces unique challenges for testing performance of NFVI and Network Services. This presentation introduces OPNFV performance test projects and explains their role as part of the testing ecosystem. Examples from three performance testing categories will be demonstrated showing test results and their interpretation. Test cases discussed will include data-path performance, live migration performance and storage performance.
Emulators as an Emerging Best Practice for API providersPostman
"Modern applications are highly distributed. We face challenges related to the use of internal and external APIs and how to build APIs with agility in the face of software that can evolve and change at any time. The API industry proposes two common strategies to circumvent these challenges: API Mocking and Service Virtualization. Both have pros and cons.
At Cisco, we came up with the idea of API emulators has a third strategy to handle the challenges we were facing. As a result of our work, we published a reference implementation for Webex ChatBots.
In this talk, we'll explain the motivation behind API emulators in the perspective of DevOps, CI/CD, Software Development, and serverless/microservices architectures. I will elaborate on the idea of integrating emulators as part of an overall API strategy, dive into the process of building such emulators, and validating them with Postman."
Fpga Verification Methodology and case studies - Semisrael Expo2014Avi Caspi
This document discusses adopting an ASIC verification approach for FPGA verification. While ASIC verification principles like functional coverage, self-checking testbenches, and random stimulus generation should be used, FPGA verification has some differences. Interfaces may use FPGA hardware instead of VIPs and lab testing can run in parallel. CPU and memory controllers can use simpler VIPs and lab software instead of exhaustive verification. Error injection is also important for FPGA verification. Case studies show this approach found critical bugs and improved time to market over lab debugging.
Project Treble aims to modularize Android by moving hardware-related code out of the framework and into the vendor implementation. This allows for faster OTA updates by separating the framework updates from vendor updates. The key aspects of Treble include defining a vendor interface (VINTF), creating a vendor NDK (VNDK) for hardware abstraction, and requiring a vendor test suite (VTS) for quality control. The goals are to make the framework compatible across different vendor implementations and allow checking of compatibility between framework and vendor code.
- Saikishore Reddy Thiyyagura is a computer engineer with over 2.5 years of experience in digital design, ASIC design verification, and hardware design verification.
- He has expertise in programming languages like C, C++, Perl, VHDL, Verilog, and SystemVerilog and has experience using simulators like QuestaSim.
- His experience includes developing test benches, executing and debugging tests, developing RTL designs, and verifying functionality using UVM methodologies.
Preethi Nagarajan is a Senior Software Engineer at Cisco Systems with over 5 years of experience in manual and automation testing in networking, video cloud technology, and automotive domains. She has extensive experience in functional, performance, sanity, security, UAT, and regression testing. Her skills include Unix, Linux, Openstack Cloud, Selenium, scripting, and working with teams in an Agile environment.
[QCon London 2020] The Future of Cloud Native API Gateways - Richard LiAmbassador Labs
The introduction of microservices, Kubernetes, and cloud technology has provided many benefits for developers. However, the age-old problem of getting user traffic routed correctly to the API of your backend applications can still be an issue, and may be complicated with the adoption of cloud native approaches: applications are now composed of multiple (micro)services that are built and released by independent teams; the underlying infrastructure is dynamically changing; services support multiple protocols, from HTTP/JSON to WebSockets and gRPC, and more; and many API endpoints require custom configuration of cross-cutting concerns, such as authn/z, rate limiting, and retry policies.
A cloud native API gateway is on the critical path of all requests, and also on the critical path for the workflow of any developer that is releasing functionality. Join this session to learn about the underlying technology and the required changes in engineering workflows. Key takeaways will include:
A brief overview of the evolution of API gateways over the past ten years, and how the original problems being solved have shifted in relation to cloud native technologies and workflow
Two important challenges when using an API gateway within Kubernetes: scaling the developer workflow; and supporting multiple architecture styles and protocols
Strategies for exposing Kubernetes services and APIs at the edge of your system
Insight into the (potential) future of cloud native API gateways
https://qconlondon.com/london2020/presentation/future-cloud-native-api-gateways
- Atul Biradar is a project engineer with over 3 years of experience in automation and instrumentation. He has expertise in DCS, PLC, SCADA, and industrial networking systems.
- He has experience managing large automation projects within budgets and timelines. His technical skills include programming Honeywell and Siemens control systems as well as developing SCADA applications.
- His work experience includes projects for ONGC, IOCL, and other companies where he developed control logic, configured systems, and supported commissioning.
This document discusses VMware certifications, specifically the VCDX certification. It provides information on the different certification levels (VCA, VCP, VCAP, VCDX), requirements to achieve VCDX certification, how to prepare for the VCDX exam through bootcamps and resources, and the importance of virtual environment design. The document emphasizes that VCDX is an elite certification held by around 100 people worldwide, and achieving it involves obtaining lower certifications, having your design application approved, and successfully defending your design in an exam.
Yogananda Mesa is applying for an ASIC Verification Engineer role. He has 1 year of experience as a Verification Engineer using SystemVerilog and UVM methodologies. His experience includes RTL design and verification, IP verification, assertion-based verification, and coverage-driven verification. He is proficient in Verilog, SystemVerilog, UVM, C/C++, Java, and protocols like AMBA. His projects include verifying an APB protocol design, designing and verifying a dual-port RAM FIFO, and designing and verifying an arbiter. He completed an M.Tech in VLSI System Design.
This document describes an open-source framework for securing CI/CD pipelines. The framework integrates open-source testing tools like TrivyScan, Docker Bench, and OWASP Zap to scan Docker containers and report security issues. It parses AWS environment variables and EC2 metadata to customize scans for the deployment environment. The results are standardized into reports for easy monitoring and management. The architecture overview diagram shows how the various open-source tools integrate with the AWS environment. Sample outputs from the tools are displayed. Future work ideas include integrating threat detection tools like Falco. Guidelines like SAMM and NIST 800-53 Rev. 5 are recommended for leveraging the project.
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V International
This document discusses architectural exploration for AI and ML accelerators using simulation tools. It notes that current AI/ML applications require custom hardware configurations to achieve performance goals. The Imperas simulation tools allow analyzing performance on different hardware designs by running software on virtual platforms months before RTL implementation. Imperas provides virtual platforms for heterogeneous systems running full operating systems along with detailed analysis, profiling and debugging tools. It also includes a RISC-V reference model that enables developing custom instructions for architectural exploration of AI/ML accelerators.
Automatic Integration, Testing and Certification of NFV in China MobileOPNFV
Qiao Fu, China Mobile, Liang Gao, Huawei
As Operators expand their deployment of NFV, automatic integration, testing and compliance certification become more and more important. In this speech, we would like to share our experience and progress in the China Mobile OPNFV Testlab on an automatic system of integration, testing and certification. This system takes fully use of OPNFV opensource tools, including installers such as Compass, testing such as Functest and Yardstick, compliance testing such as Dovetail. Such automatic system extremely decreases the human cost of Operators when deploying and testing the NFV cloud before large scale deployment.
The document discusses continuous integration and continuous testing for SAP applications. It defines continuous integration as automatically building and testing code changes when developers commit changes to version control. Continuous testing involves running end-to-end tests on a separate schedule from the first build. The document recommends Worksoft's Certify and Execution Manager tools to help enterprises scale testing across their continuous integration and delivery processes by automating end-to-end test execution from CI servers and across environments.
One presenter discussed weaknesses found in the LLVM inliner's ability to find optimization opportunities for RISC-V code compared to other compilers, resulting in larger code size. A new approach called mutual inlining (MI) looks at the whole call graph to make inlining decisions and could provide more insights than the LLVM inliner. Integrating MI inside the LLVM inliner by replacing the current inliner with MI was suggested to address these weaknesses.
The document proposes several extensions to the RISC-V ISA to improve code size efficiency. It analyzes benchmark programs to identify optimization opportunities where common instruction sequences can be fused into single instructions. New instructions proposed include TBLJAL for table-based function calls and jumps, PUSHPOP for saving/restoring multiple registers, and MULIADD for fusing load, multiply and add instructions. Evaluation shows the proposed instructions reduce code size by up to 10% on average across benchmarks when implemented in the compiler.
This document summarizes a presentation given at the London Open Source Meetup for RISC-V on April 19, 2021. The presentation introduced the RISC-V Online Tutor, an online course for learning RISC-V fundamentals from digital logic to C programming. It provided an overview of the course structure and lessons, which take students through RISC-V assembly, processor design, and application development. It also demonstrated the online learning platform and its ability to interact with remote FPGA hardware during lessons. The goal is to invite community participation and collaboration to further develop the Online Tutor.
The document announces a London open source meetup for RISC-V on April 19th. RISC-V is a free and open instruction set architecture that enables new processor innovation through open collaboration. It provides free and extensible software and hardware freedom. RISC-V International is a nonprofit organization with over 1,000 members in more than 50 countries that was founded in 2015. The document also advertises upcoming events from the BCS Open Source Specialist Group, including an advocacy event on May 20th and an event on open source in space.
Ziptillion boosting RISC-V with an efficient and os transparent memory comp...RISC-V International
This document summarizes a presentation about ZeroPoint Technologies' memory compression technology called Ziptilion. Some key points:
1) Ziptilion uses hardware-accelerated memory compression algorithms to double effective memory capacity and bandwidth. This helps address challenges from the end of Moore's Law.
2) It provides a virtual compressed memory pool (VCP) that is transparent to the operating system. Benchmark results show it provides 20% higher performance than an uncompressed baseline.
3) An evolution called Ziptilion+ aims for over 2.5x compression of machine learning workloads.
4) ZeroPoint also develops ZSWAP+/ZRAM+, which accelerates the popular ZSWAP
This document summarizes a presentation on static partitioning virtualization for RISC-V. It discusses the motivation for embedded virtualization, an overview of static partitioning hypervisors like Jailhouse and Xen, and the Bao hypervisor. It then provides an overview of the RISC-V hypervisor specification and extensions, including implemented features. It evaluates the performance overhead and interrupt latency of a prototype RISC-V hypervisor implementation with and without interference mitigations like cache partitioning.
GlobalPlatform provides standards for trusted execution environments (TEEs) that are deployed across billions of devices. The standards define hardware and software specifications for TEEs to securely deliver digital services. GlobalPlatform is working with RISC-V to define TEE configurations for lightweight IoT devices and leverage RISC-V's secure hardware enclave capabilities. The organization's protection profiles and security certification help service providers assess risks when using TEE technologies.
SemiDynamics introduced two new RISC-V cores, AVISPADO 220 and ATREVIDO 220, both supporting the upcoming RISC-V Vector spec version 1.0. AVISPADO 220 is an in-order core with a technique called "Gazzillion Misses" that allows a high number of outstanding memory requests. ATREVIDO 220 is an out-of-order core also utilizing Gazzillion Misses. SemiDynamics also provides a customizable RISC-V Vector Processing Unit that implements the vector spec and can be integrated with the cores. Both cores and the vector unit are available for licensing.
The De-RISC initiative aims to develop the first space-amenable RISC-V based computing platform. It involves:
1) Cobham Gaisler developing a fault-tolerant multicore MPSoC based on NOEL-V RISC-V cores.
2) FentISS developing a space-qualified hypervisor called XtratuM for RISC-V.
3) The Barcelona Supercomputing Center developing an extended statistics unit to help manage multicore interference.
4) Thales assessing the platform through benchmarking, executing a satellite software stack, and evaluating a command and data handling use case.
The goal is to have an integrated and validated platform ready
This document summarizes a presentation on reverse engineering the Rocket-Chip SoC generator to develop a customized SoC called Aghaaz. The presentation covers deconstructing the Rocket-Chip software architecture, developing a Micro-Architecture and Software Specification (MASS) document, configuring an Aghaaz SoC using the MASS document, and generating the SoC from the Rocket-Chip generator. Key aspects included developing object-oriented representations of Rocket-Chip modules, flowcharts to explain the code, and configuring an RV32 core with caches and extensions.
RISC-V NOEL-V - A new high performance RISC-V Processor FamilyRISC-V International
This document summarizes the NOEL-V processor family from Cobham Gaisler. It describes the NOEL-V as a RISC-V compliant 64-bit processor with fault tolerance features. It provides details on the processor architecture, peripherals, software ecosystem, verification process, and commercial and open source availability. Examples of projects adopting the NOEL-V include the European H2020 funded De-RISC and SELENE projects for safety-critical computing.
This document proposes a no-human-in-the-loop open-source "idea to manufacturing" SoC compiler. It consists of SoCGen, which generates RTL from a JSON description, and OpenLANE, which produces a clean GDSII layout from the RTL with no human intervention. SoCGen includes a library of open-source verified IP cores and supports multiple bus architectures. OpenLANE uses carefully-curated open-source EDA tools tuned for an open PDK. The goal is to streamline and automate the entire custom SoC design process from concept to silicon to enable more widespread adoption.
This document discusses building cache-coherent scaleout systems using OmniXtend. It describes the OmniXtend architecture, which uses a fully open cache-coherence protocol that works over Ethernet. It then discusses the OmniXtend reference design, compute node architecture, address space, and hardware design. It also covers the single operating system and independent nodes system models, the unified boot process, and status of the current implementation. Lastly, it proposes ways to further develop the system through simulation, emulation, and future work.
This document discusses the challenges of building and optimizing open RAN systems for 5G networks. It describes Picocom's 5G baseband system-on-chip architecture using multiple RISC-V clusters and hardware accelerators. Maintaining performance and detecting problems is difficult due to the complex timing requirements across hundreds of users. Mentor's embedded analytics solution monitors the system non-intrusively using on-chip sensors to detect issues like timing overruns and help optimize performance both during development and over the lifetime of deployments.
MultiZone IoT Firmware provides a trusted execution environment (TEE) that shields trusted applications from untrusted third party libraries. It works with any RISC-V processor and provides up to 4 separated hardware and software execution worlds. MultiZone includes pre-integrated security libraries, an RTOS, and connectivity standards to provide a complete and secure IoT stack.
1. Manuel Offenberg of Seagate discussed securing data at the edge using RISC-V and Keystone enclaves to protect data during creation and movement.
2. OpenTitan can provide another layer of trust by securing the root of trust.
3. Endpoint security is crucial for ensuring overall data integrity and trustworthiness when significant data is being generated at billions of sensors and IoT devices.
This document summarizes the evolution of the RISC-V software ecosystem from 2015 to 2020. It describes how initial ports of key software in 2015, like GCC and Linux, have expanded to include upstream support in most open source software projects today. It outlines remaining priorities like completing support for specifications and filling gaps in programming language and application software support. The document concludes by encouraging continued collaboration to further mature the RISC-V software ecosystem.
Ripes tracking computer architecture throught visual and interactive simula...RISC-V International
Ripes is a visual processor simulator and assembly editor for RISC-V that was created to teach computer architecture concepts. It allows interactive simulation and visualization of different processor models, including single-cycle, pipelined, and models with caching. Ripes uses the Visual Simulation of Register Transfer Logic (VSRTL) framework, which generates circuit visualizations from processor descriptions. This allows Ripes to simulate various RISC-V processors and visualize their data paths during execution. Ripes has been expanded over time to support cache simulation and integration with C toolchains.
This document discusses porting the Tock operating system to the OpenTitan project. It provides background on OpenTitan and Tock, describes the status of the porting work, and highlights a deep dive into implementing USB and CTAP support on Tock running on OpenTitan hardware. Key points covered include OpenTitan using the Ibex RISC-V core, Tock being designed for small platforms without MMUs and enforcing security through Rust, the interface for Tock applications, and modules already supported through the mainline Tock project.
The document discusses porting OpenJ9 JDK to RISC-V architecture. It involves preparing the software toolchain for cross-compilation to RISC-V, preparing hardware like the HiFive Unleashed development board, and developing OpenJ9 JDK through a mix of local and cross compilation. The status shows OpenJ9 JDK can execute in interpreter mode on the RISC-V emulator and HiFive board running Debian, with future work planned on JIT support, different GC strategies, and supporting other Java versions.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
Tutorial getting started with RISC-V verification
1. Information Classification: General
December 8-10, 2020 | Virtual Event
Getting Started with RISC-V Verification
Simon Davidmann, Lee Moore
Imperas Software
info@imperas.com
#RISCVSUMMIT
Tutorial
mp
2. Information Classification: General
Getting started with RISC-V Verification 2
RISC-V Verification Tutorial
Items to be covered, main takeaways
• Overview of the issues when verifying the design of a RISC-V CPU
• Status of RISC-V compliance and its relationship to verification
• Discussion of different reference model requirements
• Introduction to simulators for RISC-V CPUs
• Use of various virtual platform components in verification
• Main components of a verification testbench
• Introduction to instruction stream generators
• Pointers to some useful architectural validation test suites
• Understanding a complete UVM testbench via a detailed walk through demonstration
3. Information Classification: General
Getting started with RISC-V Verification 3
Introduction to Imperas
Our involvement with RISC-V
• Imperas develops simulators, tools, debuggers, modelling technology, and models to help embedded systems developers get
their software running…
• and hardware developers get their designs correct
• 12+ years, self funded, profitable, UK based, team with much EDA (simulators, verification), processors, and embedded
experience
• Staff worked in Arm, Mips, Tensilica, Cadence, Synopsys
• and in verification in EDA on development of Verilog, VCS, SystemVerilog, Verisity and their methodologies
• Started work with RISC-V in 2017 customers
• Contributed to RISC-V compliance since 2018
• Our RISC-V focus is CPU verification
• We provide configurable reference models, the fastest highest quality simulators, advanced development tools and the absolute
best solution for RISC-V hardware design verification
• 20+ of the leading RISC-V CPU developers use and rely on Imperas solutions
• www.Imperas.com
• www.OVPworld.org
4. Information Classification: General
Getting started with RISC-V Verification 4
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
5. Information Classification: General
Getting started with RISC-V Verification 5
RISC-V Presents New Challenges
• RISC-V is a new ISA – an open standard ISA
• Managed by the non-profit RISC-V International (riscv.org) [a Linux foundation project]
• This means any designer can build a processor implementation
• (Oct 2020 – there are over 100 RTL designs including open source and proprietary)
• Traditionally (for CPUs)
• processor IP comes from, and is maintained by the ISA owner
• is single sourced
• comes fully verified and compliant to that specific ISA (Arm tests for 10**15 instructions)
• ‘all’ user needs to do is to verify using integration tests
• processor verification has no public ‘standard’ approach and there are few available public tools
• The RISC-V industry / eco-system needs to adopt its best practices for hardware verification and adapt them to processor
verification
• There is a lot to learn for RISC-V…
6. Information Classification: General
Getting started with RISC-V Verification 6
The CPU HW DV Process
• Source/build/hire/allocate the expert team to do the work…
• Develop Verification Plan
• Focus on what needs to be verified – develop measurement metrics
• Determine EDA tools and models and methods to be used
• Simulation: open source, commercial, bespoke, SystemVerilog, UVM, FPGA, Emulation
• Formal…
• Get tools, testbenches, models in place
• Obtain tests, create tests
• Generate huge number of (pseudo random) tests
• Verify
• … continue while measuring until functional and code coverage metrics reached
• Benchmark, soak and integration testing
7. Information Classification: General
Getting started with RISC-V Verification 7
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
9. Information Classification: General
Getting started with RISC-V Verification 9
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
10. Information Classification: General
Getting started with RISC-V Verification 10
Important Technology needed
• Reference model of RISC-V CPU
• Including all required ISA extensions and modes (e.g. Hypervisor, Debug)
• With extensibility for adding custom instructions, CSRs, accelerators
• With full configurability of ISA specification including subsets, options, and versions
• Range of simulators from free to commercial
• With verification, analysis, profiling, debug, and software development capabilities
• Collection of models to build simulation platform / testbench for device
• Other CPUs, accelerators, behavioural components
• Ability to easily add own models and extend/configure existing models
• Verification IP
• CPU reference model encapsulation, integration into SystemVerilog
• Micro-architectural synchronisation for multi-core, async interrupts, debug mode
• Tools to create functional coverage code
• Instruction Stream Generator to create (random) test suites
• Test suites covering required ISA and ISA versions and device configuration
11. Information Classification: General
Getting started with RISC-V Verification 11
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
12. Information Classification: General
Getting started with RISC-V Verification 12
Reference models and accuracy
• Reference models are different to Instruction Set Simulators (ISS)
• ISS is typically pretty simplistic and relatively inflexible and is a standalone executable (e.g. graduate student project)
• Good for some use models, but not much use for detailed advanced verification (like encapsulated step/compare)
• A useful reference model for Hardware Design Verification is very sophisticated
• Must accurately implement full ISA specification
• Must be configurable to all of the RISC-V ISA spec (Imperas reference model has 130+ detailed overrides)
• Must be configurable to all different versions of ISA specs (each subsection selectable to a different version)
• e.g. User 2.3, Priv 1.10, Debug 13.2, Vector 0.8, Bitmanip 0.93, Crypto 0.7.1 etc…
• Must include methodology and have been designed to be extendable for added instructions, state, modes, asynch. behavior
• Having source is not enough – as users do not want to modify & maintain base model, just their extension
• Ideally should be used previously by many users as a reference validating their RTL
• Must be designed to work tightly coupled into 3rd party simulation environments
• Standalone executables running independently or controlled with threads / sockets is never reliable / good enough
• Needs to be a linkable object that can seamlessly become part of 3rd party simulation. Co-simulation is not good enough
• For example Imperas models can be linked to simulators using C, C++, SystemC, SystemVerilog, proprietary, …
• Must be able to
• Control (and set model into any state and control every operation incrementally)
• Observe (all internal state and operational sequences)
• Debug (have triggers on anything, including source code / state, and be able to set state / values and send asynch. events)
• Extend (add user behaviors and state to explore)
13. Information Classification: General
Getting started with RISC-V Verification 13
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
14. Information Classification: General
Getting started with RISC-V Verification 14
Simulators and other tools
• Free GitHub riscvOVPsim – for simple runs and compliance checking
• Free OVPworld riscvOVPsimPlus - for test development and debug and some initial verification
• Imperas commercial M*SIM
• Imperas Multi-Processor Debugger
• Imperas Verification, Analysis, and Profiling (VAP) tools
• Including OS aware
• Extending tools and creating your own tools
16. Information Classification: General
Getting started with RISC-V Verification 16
Simulators and other tools
• Free GitHub riscvOVPsim – for simple runs and compliance checking
• Free OVPworld riscvOVPsimPlus - for test development and debug and some initial verification
• Imperas commercial M*SIM
• Imperas Multi-Processor Debugger
• Imperas Verification, Analysis, and Profiling (VAP) tools
• Including OS aware
• Extending tools and creating your own tools
18. Information Classification: General
Getting started with RISC-V Verification 18
Simulators and other tools
• Free GitHub riscvOVPsim – for simple runs and compliance checking
• Free OVPworld riscvOVPsimPlus - for test development and debug and some initial verification
• Imperas commercial M*SIM
• Imperas Multi-Processor Debugger
• Imperas Verification, Analysis, and Profiling (VAP) tools
• Including OS aware
• Extending tools and creating your own tools
19. Information Classification: General
Getting started with RISC-V Verification 19
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
20. Information Classification: General
Getting started with RISC-V Verification 20
RISC-V Architectural Validation & Test Suites
Directed Tests
• Collections of ‘bare metal’ test programs that utilize specific instructions in specific ways to stimulate DUT architecture
• Purpose is to explore behaviors and architectural choices for DUT
• Focus is common instruction usage, various values, and corner cases
• Often packaged targeting ISA subsets, e.g. Integer, Mathematics, Vectors, Interrupts, Debug mode, …
• Vary from simplistic to very thorough, from general ISA specification through bespoke detailed microarchitectural focus
• When evaluating effectiveness need to consider configurability, functional coverage, quality
• Configurability needed for optional ISA choices, address space relocation, …
• Functional coverage indicates focus and completeness
• Quality needs evaluating to ensure that test in fact does what is intended, and can measure results
• Validation achieved by being self checking, requiring signature compare, or requiring reference model compare
Examples
• Berkeley – original self checking tests, evolving: github.com/riscv/riscv-tests
• RISC-V Compliance Group - initial base ISA tests – phase 1 (phase 2 under development Dec. 2020), signature based
• Imperas
• Extended base ISA validation tests (RV32/64 I,M,C)
• Initial port of B-bitmanip, K-crypto (scalar) [these are a work in progress by the voluntary RISC-V Task Groups]
• V-vector tests (configurable through full spec options and versions from 0.8 -> 1.0draft) [7,00 tests]
• Bremen Fuzz Tests – explore legal and illegal ISA spec conditions [8,380 legal, 13,540 testing illegal conditions]
22. Information Classification: General
Getting started with RISC-V Verification 22
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
23. Information Classification: General
Getting started with RISC-V Verification 23
Constrained Random Instruction Stream
Test Generators (ISG)
Introduction & basic operation
randomization
constraints
DUT
specification
configuration
instructions
to be targeted
reference
model
configuration
test list
configuration
TESTS
24. Information Classification: General
Getting started with RISC-V Verification 24
Constrained Random Instruction Stream
Test Generators (ISG)
• From Google presentation 2019 RISC-V Summit
25. Information Classification: General
Getting started with RISC-V Verification 25
Constrained Random Instruction Stream
Test Generators (ISG)
Example Generation Flow
• From Google presentation 2019 RISC-V Summit
26. Information Classification: General
Getting started with RISC-V Verification 26
Constrained Random Instruction Stream
Test Generators (ISG)
• Introduction & basic operation
• Open Source
• Berkeley (Scala) riscv-torture (early)
• Google (SystemVerilog) RISCV-DV
• Chips Alliance/PerfectVIPs (python) RISCV-DV
• OpenHW (C++) FORCE-RISCV
• ISP-RAS (nML, Ruby) MicroTESK
• Commercial
• Valtrix STING
28. Information Classification: General
Getting started with RISC-V Verification 28
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
29. Information Classification: General
Getting started with RISC-V Verification 29
Verification IP & Setting up a testbench
Agenda
• Encapsulation of reference model
• Functional coverage
• Imperas simulators
• SystemVerilog (Imperas can generate and provide source for SystemVerilog covergroups / coverpoints of ISA extensions)
• Verification IP blocks needed
• Core Introspection / tracing
• Synchronizing DUT and reference model
• Comparing state of DUT and reference model
30. Information Classification: General
Getting started with RISC-V Verification 30
Example Step / Compare testbench
Unlike post simulation trace of signature compare – this testbench configuration checks each instruction as it goes – more effective
Imperas Reference
(OVP model of cpu)
SystemVerilog module
DUT: RISC-V RTL
(cpu)
DUT
memory
Ref
memory
RISC-V.S /
RISC-V.c
GCC/
LLVM/
ASM
RISC-V.elf results.log
SystemVerilog Testbench
Step
Synch
Tracer
Compare
31. Information Classification: General
Getting started with RISC-V Verification 31
Example Step / Compare testbench
Control Blocks
Comparator
• Consumer of ‘tracer’ data
• Requires consideration at start of project
Compare
Step
Synch
Tracer
Synchronizer
• DUT is in control
• Top level testbench controller
• scheduling of both DUT and Reference model
• Tracks instruction retires
• Monitors internals of RTL for async. Events
• Controls and synchronizes between DUT and
reference model
Tracer / Introspector
• In the RTL
• Developed by DUT developers
• Created in the RTL with the purpose of DV in mind
• Must be correct be every instruction boundary
• Provides data up to the testbench
32. Information Classification: General
Getting started with RISC-V Verification 32
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
• Summary
33. Information Classification: General
• Step and compare of the Imperas architecturally derived cv32e40p, against the SystemVerilog RTL microarchitectural
representation
Getting started with RISC-V Verification 33
Demo, Step and Compare
Imperas Reference
(OVP model of cpu)
SystemVerilog module
DUT: RISC-V RTL
(cpu)
DUT
memory
Ref
memory
RISC-V.S /
RISC-V.c
GCC/
LLVM/
ASM
RISC-V.elf results.log
Step
Synch
Tracer
Compare
34. Information Classification: General
• Running The Continuous Integration Check-In tests
• ci_check
Getting started with RISC-V Verification 34
Demonstration :
cv32e40p Step/Compare UVM Testbench
36. Information Classification: General
• Debug environment for Applications running in the UVM Testbench
• Software View
• Reference Model
• Hardware View
• RTL
• Reference Model
Demonstration :
cv32e40p Step/Compare UVM Testbench
Getting started with RISC-V Verification 36
37. Information Classification: General
SV - DPI Wrapper
make test SIM=<simulator> TEST=<test_case>
Instruction Set Simulator
CV RTL
Functional Coverage
SVA
GCC
compile
elf2hex
testcase.S
mm_ram
dp_ram
vp
Compiler Toolchain
Step
&
Compare
Compare all CSRs,
GPRs and PC
Demonstration :
cv32e40p Step/Compare UVM Testbench
Getting started with RISC-V Verification 37
Golden ISS Reference Model
41. Information Classification: General
• Step and compare of the Imperas architecturally derived cv32e40p, against the SystemVerilog RTL microarchitectural
representation
Getting started with RISC-V Verification 41
Imperas Reference
(OVP model of cpu)
SystemVerilog module
DUT: RISC-V RTL
(cpu)
DUT
memory
Ref
memory
RISC-V.S /
RISC-V.c
GCC/
LLVM/
ASM
RISC-V.elf results.log
Step
Synch
Tracer
Compare
Imperas Step and Compare
42. Information Classification: General
Getting started with RISC-V Verification 42
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
• Summary
43. Information Classification: General
Getting started with RISC-V Verification 43
Agenda
• Imperas Introduction – our experience in verification
• CPU verification – the challenges and process
• RISC-V and compliance (Sail & riscvOVPsim reference models)
• Required technologies
• Configuring reference models
• Simulators and other tools
• RISC-V Architectural Validation Test Suites
• Instruction Stream Generators
• Verification IP & setting up a testbench
• Walkthrough of OpenHW CORE-V-VERIF UVM testbench for CV32E40P RISC-V core
• Running benchmarks and operating systems
• Summary
45. Information Classification: General
Getting started with RISC-V Verification 45
Summary / Wrap up
Topics introduced and explored
• Methodologies, flows and challenges with RISC-V CPU verification
• Reference models and introduced the Imperas configurable RISC-V Envelope model
• Free simulators, test suites, and compliance
• RISC-V Instruction Stream Generators
• Commercial simulators and test suites
• Discussed advanced verification tools and methodologies
• Explored UVM testbench with Imperas step/compare reference simulator and OpenHW RTL core
46. Information Classification: General
Getting started with RISC-V Verification 46
Imperas RISC-V Verification Solutions
If you want to explore verification of RISC-V cores further, then please contact Imperas: info@imperas.com
Methodology
Collaboration with customers, vendor ecosystem
Tools
Leading simulation, debug, software
development tools.
Advanced HW DV tools
Models
250+ CPU models
300+ peripheral models
50+ platforms
Golden reference models for HW DV
Training
Imperas & partners
Customer customized agendas
Resources
Imperas & partners
Model development
Tool development
47. Information Classification: General
Getting started with RISC-V Verification 47
For more information:
Imperas / OVP
• www.Imperas.com
• www.OVPworld.org
Tests
• https://github.com/riscv-ovpsim/imperas-riscv-tests
• http://systemc-verification.org/risc-v (Bremen fuzz tests)
• https://github.com/riscv/riscv-tests
• https://github.com/riscv/riscv-compliance
Instruction Test Generators
• www.valtrix.in/sting
• https://github.com/google/riscv-dv
• https://github.com/openhwgroup/force-riscv
• https://forge.ispras.ru/projects/microtesk
Testbenches
• https://github.com/openhwgroup/core-v-verif
Reference Models / Simulators
• https://github.com/riscv-ovpsim
• www.OVPworld.org/riscv-ovpsim-plus
• https://github.com/rems-project/sail-riscv
Videos
• www.imperas.com/imperas-videos
• www.OVPworld.org/demosandvideos
Contact info@imperas.com for more information:
• reference models
• simulators, tools
• validation tests
• CPU verification
• software/OS bring up