pre-release: Fossi Foundation meeting announcement

Please take a moment to review your details and reply with OK or edits.
Subject and below is what will go out and also will be used to title the videos.

Subject: 
ANN: Fossi Foundation at UCSB Henley Hall room 1010 Fri March 31, 1:30p


Fossi Foundation
=========================
When: 1:30 PM Friday March 31, 2023
Where: UCSB Henley Hall room 1010

https://www.fossi-foundation.org/latchup /2023

Topics
------
1. FireSim: A Scalable Platform for FPGA-Accelerated Simulation, Debugging, Profiling of RTL Designs
Sagar Karandikar

FireSim is an easy-to-use, open-source, FPGA-accelerated hardware simulation platform that runs on cloud and on-premises FPGAs, including AWS EC2 F1 and local machines with Xilinx Alveo boards. FireSim automatically instruments and transforms RTL designs into fast (10s-100s MHz), deterministic, and cycle-exact FPGA-based simulators that enable productive pre-silicon verification and performance validation. Users can plug in their own designs or harness the included Chipyard SoC design environment, which includes in-order and out-of-order RISC-V cores, uncore components, peripherals, and accelerators. In contrast with traditional FPGA prototyping, FireSim includes synthesizable and timing-accurate models for standard I/O interfaces like DRAM, Ethernet, UART, and others, allowing users to obtain accurate performance measurements for their pre-silicon design. FireSim also provides a large array of debugging and profiling features not available in FPGA prototypes, including assertion synthesis, print synthesis, out-of-band instruction trace and performance counter recording, Flame Graph integration, and co-simulation with software models. These features enable rapidly debugging and profiling designs trillions of cycles into simulation, without perturbing design behavior. By providing a framework to automate the management of FPGA infrastructure, FireSim lets hardware and software developers get a head-start on building software for novel hardware designs, by letting developers interact with the pre-silicon hardware design as they would a virtual machine. In effect, both hardware and software developers can work from a single source of truth: the RTL for the hardware design. FireSim also scales to simulating thousands of multi-core compute nodes, including the ability to simulate large clusters of networked designs over hundreds of FPGAs. By providing a consistent, user-friendly interface for managing simulations, FireSim enables easy scaling from small numbers of simulations hosted by on-premises FPGAs to massive simulations using hundreds of FPGAs on the cloud. This allows FireSim to remove the high capex traditionally involved in large-scale FPGA-based simulation, democratizing access to realistic pre-silicon hardware modeling of new designs. By defining standardized host platforms and providing a large amount of automation/tooling, FireSim drastically simplifies the process of building and deploying large-scale FPGA-based hardware simulations. To date, FireSim has been used in the development of commercial silicon and in published work from authors at over 20 academic and industrial institutions across various areas including computer architecture, systems, networking, circuits, security, and HPC.
 recording release: yes license: CC-BY-NA  

2. bsg_tag: A minimal open-source ASIC configuration bus
Dan Petrisko

Digital designs often contain a large number of configuration registers needed to bring up the chip. These may represent clock sources, resets, enable bits, global id settings, IP modes, or other static configuration. To avoid bootstrapping problems, it's necessary to be able to control these registers from outside of the chip itself. For reset and bringup procedures, designs require precise and robust sequencing. However, GPIOs can be extremely expensive in terms of area (especially on small designs in an MPW run), so controlling these registers must be done with as few pins as possible. Complex designs can have hundreds or thousands of configuration bits, so there needs to be a higher level protocol which can scale from this minimal number of actual I/Os. We present bsg_tag, which is a decentralized source-synchronous bus and protocol layer for ASIC configuration. bsg_tag creates a powerful abstraction where with a few pins, you can reach inside your chip at high bandwidth and set any register while the chip is running, no matter what clock domain that register is in. From this abstraction, we can build many more powerful mechanisms. Unlike other standard configuration methodologies, bsg_tag is non-invasive, requiring minimal RTL changes and integrates seamlessly into existing IP blocks. bsg_tag is fast, robust and gracefully handles synchronized crossing into local clock domains. bsg_tag is battle-tested has been used in many academic and commercial tapeouts, usually being the first functionality tested in a bringup procedure. This talk will discuss the physical and protocol layers of bsg_tag, as well as and demo software infrastructure built up for simple interactive debugging. Come learn how to simplify bringup of your next SoC!
 recording release: yes license: CC-BY-NA  

3. OmniXtend: coherent scaleout over commodity fabrics
Dejan Vucinic

OmniXtend is a protocol to transmit TileLink messages over Ethernet. The aim of the protocol is to enable the creation of very large, fully coherent heterogeneous systems using commodity fabrics with no IP restrictions. We present two hardware implementations of OmniXtend protocol endpoints, both licensed under Apache 2.0 and FPGA-proven. First, a disaggregated main memory endpoint, i.e. lowest point of coherence, compliant with OmniXtend 1.0.3 and 1.1, available at https://github.com/westerndigitalcorporation/OmnixtendEndpoint. Second, an OpenPiton-to-OmniXtend translation unit integrated into CVA6, available at https://github.com/lewiz-support/OmniXtend_RemoteAgent_RISC-V. Together these provide a complete off-the-shelf solution to multi-socket RISC-V with disaggregated main memory, and a wonderful starting point for development of coherent accelerators or novel caching hierarchies.
 recording release: yes license: CC-BY-NA  

4. Hammer: A Modular and Reusable Physical Design Flow Tool
Nayiri Krzysztofowicz

Process technology scaling and hardware architecture specialization have vastly increased the need for chip design space exploration, while optimizing for power, performance, and area. Hammer is an open-source, reusable physical design flow generator that reduces design effort and increases portability by enforcing a separation among design-, tool-, and process technology-specific concerns via a modular software architecture. In this talk, we will outline Hammer's structure and highlight recent extensions that support both physical chip designers and hardware architects evaluating the merit and feasibility of their proposed designs. An evaluation of chip designs in process technologies ranging from 130nm down to 12nm across a series of RISC-V-based chips shows how Hammer-generated flows are reusable and enable efficient optimization for diverse applications. We will then highlight a fully-open-source RTL-to-GDS case study: using Hammer to implement a tapeout-ready Chipyard-generated RISC-V SoC in the Skywater 130nm process using the open-source EDA tools Yosys and OpenROAD.
 recording release: yes license: CC-BY-NA  

5. CIRCT: Open Source Circuit IR Compilers and Tools
Mike Urbach

The CIRCT project applies MLIR and the LLVM development methodology to the domain of hardware design tools. Many of us dream of having reusable infrastructure that is modular, uses library-based design techniques, is more consistent, and builds on the best practices in compiler infrastructure and compiler design techniques. This talk will introduce the CIRCT project, explain its current and upcoming capabilities, and frame how CIRCT can benefit the broader open source silicon ecosystem.
 recording release: yes license: CC-BY-NA  

6. Accelerating Chisel Development
Jack Koenig

For over a decade, Chisel has made designers more productive through the power of parametrizable generators. Chisel 3 introduced the FIRRTL compiler and a period of measured development with strong backwards compatibility guarantees. While the many users of Chisel across academia and industry show the success of this approach, there is a growing need for Chisel to move beyond its historical focus on designer productivity. The Chisel developers are taking a more holistic view of the design process to better capture the needs of other stakeholders including verification and physical design. To this end, we are introducing a new compiler built in CIRCT and a faster development process.
 recording release: yes license: CC-BY-NA  

7. Open-Source HW Commercial Adoption
Rick O'Connor

Open-Source HW Commercial Adoption This talk will provide a brief overview of Open-Source HW activity across the industry, barriers to adoption of Open-Source HW and challenges associated with SoC design. Lessons learned related to the OpenHW Group Governance model and adoption of CORE-V Family of open source RISC-V cores will also be presented. The CORE-V family is an OpenHW Group project to develop, deploy, and execute pre-silicon functional verification and SoC based development kits of the CORE-V family of open-source RISC-V cores. Written in SystemVerilog, CORE-V open-source IP cores match the quality of IP offered by established commercial providers and are verified with state-of-the-art, auditable flows.
 recording release: yes license: CC-BY-NA  

8. A UCSC Professor's path through Open-Source Hardware
Jose Renau

Talk about the challenges and opportunities of embracing open-source hardware projects as a University of California professor.
 recording release: yes license: CC-BY-NA  

9. So You Want to be an Open Sourcerer?
Dustin Richmond

How accessible are the tools to non-experts?

This talk will discuss experiences from a class using the open source hardware tools: Simulation, Verification, IP, Synthesis, and Implementation. The obvious benefits of switching are numerous (cost, ease of installation, introspection), and are matched by the potential pitfalls (No technical support, per-user customizations, too much introspection). In this talk I will attempt to answer two questions: What should open-source-curious instructors consider when designing, or re-designing a course? And, what does this experience mean for hardware design for non-experts?

This talk will relay experiences of teaching a upper-division undergraduate course using open source design tools, good, bad, and pleasantly surprising. 
The title is inspired by a combination of Open “Sourcery”, and a young adult series regarding “Wizardry" as a balance between good and evil.
 recording release: yes license: CC-BY-NA  

10. If You Build It, Who Will Come?
Scott Beamer

To maximize an open-source hardware project's utility, it is worth understanding its user community and how they use it. In this talk, I will reflect on experiences on how things such as automation, documentation, and support can effect a project's use, and when to recognize the community is different than you expected, and it is time to pivot. These concerns are especially important when the project has limited development resources.
 recording release: yes license: CC-BY-NA  

11. Yet Another UCSC Professor’s path through Open-Source Hardware
Matt Guthaus

This talk discusses one Professor's pathway from a new user to full professor and what they learned about open source software and hardware along the way. A key takeaway is to embrace the community by working together, staying positive, and sharing the mentorship of potential new contributors.
 recording release: yes license: CC-BY-NA  

12. Tapeout-in-a-Semester: The Organization of Berkeley's Tapeout Course
Jerry Zhao

Over the past ~5 years, UC Berkeley has taught a practical project-based course on the tapeout process to undergraduate students. This talk will discuss the structure of the Spring 2022 offering of the course, from the perspective of a course TA.
 recording release: yes license: CC-BY-NA  

13. Fearless Hardware Design
Rachit Nigam

Effective hardware design requires a developer to understand the temporal and structural constraints of hardware: Questions such as "What is the latency of a module?" and "How often can be reused?" need to be answered before a user can figure out how to integrate a module into their system. While these constraints are fundamental to hardware design, they are not explicitly represented in the existing HDLs or modern alternatives like Chisel. This talk presents Filament, a low-level HDL with a type system that expresses temporal constraints and checks them to ensure that hardware modules can be composed efficiently and correctly. Similar to modern systems languages like Rust, Filament uses a type system to enable developers to fearlessly design complex pipelined hardware and be certain that the resulting hardware is fast and efficient.
 recording release: yes license: CC-BY-NA  

14. Minimax - a Compressed-First, Microcoded RISC-V CPU
Graeme Smecher

RISC-V's compressed instruction (RVC) extension is intended as an add-on to the regular instruction set. Thought experiment: can a RISC-V CPU directly execute only the RVC instructions, and emulate the uncompressed instruction set in microcode? The result is Minimax: the smallest¹, fastest² RV32IC core available - with the weasel words hidden in the fine print. In this presentation, I will show how Minimax fits in with the other excellent open-source RISC-V cores already available.
 recording release: yes license: CC-BY-NA  

15. Open Source Brain-Inspired Neuromorphic Software and Hardware
Jason Eshraghian

The brain is the perfect place to look for inspiration to develop more efficient neural networks. One of the main differences with modern deep learning is that the brain encodes and processes information as spikes rather than continuous, high-precision activations. This presentation will dive into how the open-source ecosystem has been used to develop brain-inspired neuromorphic accelerators, from our development of a Python training library for spiking neural networks (snnTorch, >60,000 downloads), to compiling these next-generation deep learning models on custom ASICs submitted for tape-out in the Sky130 process. The open-source silicon movement has the potential to impact how we adopt principles from neuroscience to improving deep learning and hardware acceleration.
 recording release: yes license: CC-BY-NA  

16. Gdsfactory, an Open Source python flow for circuit design, verification and validation
Joaquin Matres

For efficient design, verification and validation of integrated circuits and components it is important to have an easy to customize and extend workflow. Python has become the standard programming language for machine learning, scientific computing and engineering.

Gdsfactory is a python library to build chips (Photonics, Analog, Quantum, MEMs, …) that provides you a common syntax for design (KLayout, Ansys Lumerical, tidy3d, MEEP, MPB, DEVSIM, SAX, …), verification (Klayout DRC, LVS, netlist extraction, connectivity checks, fabrication models) and validation (JAX neural network model extraction, pandas, SQL database).

In this talk we describe the gdsfactory design automation tool. Gdsfactory provides you an end to end workflow that combines layout, verification and validation using an extensible, open source, python driven flow for turning your chip designs into validated products.
 recording release: yes license: CC-BY-NA  

17. RISu064 - An in-order non-blocking dual-issue RISC-V 64 processor
Wenting Zhang

Brief introduction of my recent project of building a RV64 processor core, which features an in-order non-blocking dual-issue pipeline, and taped out at SKY130.
 recording release: yes license: CC-BY-NA  

18. SimCommand: A High-Performance RTL Testbench API with Fork/Join Support
Vighnesh Iyer

Simulation threads in RTL testbenches are essential for writing modular, scalable, and reusable verification IPs. Ideally one could write testbenches in a general-purpose programming language, instead of SystemVerilog, to take advantage of the language's standard library, package managers, testing frameworks, and IDE support. Existing RTL testbench libraries that support the fork/join construct suffer significant performance penalties caused by the implementation of fork/join in the host language. We propose an RTL testbench API implemented in Scala that enables high performance fork/join using continuations, and outperforms cocotb and chiseltest. Source code: https://github.com/vighneshiyer/simcommand
 recording release: yes license: CC-BY-NA  

19. A radically simple 1-bit single-die "supercomputer"
James Bowman

Investigating the feasibility and attractiveness of a 1-bit SIMD computer implemented in SKY130. The architecture is a radically simplified version of the Connection Machines CM1.
 recording release: yes license: CC-BY-NA  

20. All Your OSS Codebase Are Belong To Us
Oron Port

The accessibility of open source EDA (Electronic Design Automation) tools is a topic of interest for many individuals in the industry. While these tools are freely available to anyone, using them can often prove challenging due to a variety of reasons. These may include limited operating system support, complex installation processes, dependencies on other tools, inconsistent versioning schemes, and more. In contrast, commercial EDA tools typically integrate many small tools seamlessly, making them easier to use. This presentation aims to explore potential solutions to improve the accessibility of open source EDA tools. To achieve this goal, we propose a cloud-based platform that can be used by tool creators and users alike. This platform would enable collaboration, making it easier to integrate different tools and ensure that they work together seamlessly. By doing so, we hope to nullify the installation process and make open source EDA tools more accessible to a wider audience. We will discuss the pros and cons of different approaches to improving accessibility, such as containerization using Docker or one-size-fits-all installers. Ultimately, we believe that a common cloud-based platform will enable tool creators and users to work together more effectively, improving the accessibility of open source EDA tools for everyone.
 recording release: yes license: CC-BY-NA  

21. A Modular Approach to Variable Pipeline Depth Designs
Peter Herrmann

Designing pipelined circuits with optimal performance requires a careful balancing of trade-offs between latency, throughput, power, and hazards. However, achieving this balance is challenging as it involves a complex interaction between these factors. We propose a modular approach to variable pipeline depth designs that decouples hazards, stage grouping, pipeline depth, and logic by separating designs into three separate layers. By separating these factors, our approach enables easier modification of the pipeline depth without affecting hazard detection and resolution logic and vice versa. This modularity makes it easier to optimize the design for different performance metrics, and it provides a clear separation of concerns that simplifies design and verification.
 recording release: yes license: CC-BY-NA  

22. Open-source Hardware for Real-Time Applications
Francisco Wilken

Many IoT and edge applications increasingly have real-time constraints. In this talk, we describe a simple custom open platform built for running a Real-Time Operating System (RTOS). This platform includes support for interrupt-based programming, multithreading, and dynamic memory allocation, enabling applications that require multiple complex and time-sensitive tasks. The platform is also designed to be easily customized and integrated with application-specific hardware acceleration techniques. Finally, we will describe our implementation of the approach to an aerial drone application, that includes navigation, control, and vision focused hardware acceleration.
 recording release: yes license: CC-BY-NA  

23. An open-source robotics applications interface
Nikita Klimov

Robotics and autonomous systems are at the core of a wide range of emerging applications and industries. Systems designers may include a variety of control and sensing peripherals into custom system-on-chip designs. Integrating diverse peripherals may be challenging for domain experts, especially when optimizing for real-time constraints. We propose a system interface and standard template for building custom SoCs for robotics applications. The interface intends to simplify the development of integrating custom I/O for robotics applications. Moreover, the interface integrates common control kernels (i.e. S-curve generator, stepper motor driver) that can be gainfully offloaded from the general purpose processing system.
 recording release: yes license: CC-BY-NA  

24. DSAGEN: Democratizing Domain-Specific Accelerator Generation for FPGA Overlays
Dylan Kupsh

Because of the slowing of technology scaling, recent research has shifted from general-purpose processors to specialized architectures, which can provide orders of magnitude acceleration and energy savings. However, developing new specialized architectures is engineering intensive --- besides the architecture itself, it is also important to have an accessible software stack which enables productive application development. In this presentation, I will describe an open-sourced hardware/software stack and programming paradigm that is a step towards automated accelerator codesign called DSAGEN (Domain-Specific Accelerator Generator). Our framework seeks to represent hardware as a rich graph design space of simple components with composable semantics. A modular compiler and performance/area model, robust to the presence of hardware/software features, together enable automated codesign. Using this free and open-sourced software, users are able to rapidly codesign domain specific accelerator for specified workloads.
 recording release: yes license: CC-BY-NA  

25. Educational Framework for Functional Verification
Matthew Michilot

With designs becoming increasingly complex, time-to-market decreasing, and more features being demanded, the need for design verification is greater than ever. Today more than 60% of the design effort is dedicated to verification, demanding the need for efficient verification techniques. To that end, there is a plethora of educational resources regarding functional verification, particularly for SystemVerilog. However, many of these resources necessitate the use of language features that aren't supported by open source tools. Therefore, I propose an educational framework that specifically targets open-source tools such as Cocotb, Verilator, and SymbiYosys. While these tools are not as mature as their commercial counterparts, their biggest appeal from an educational standpoint is their accessibility. By providing this educational framework, I seek to enable future researchers and students to learn about modern verification techniques so that they can incorporate such techniques into their designs and develop more robust systems.
 recording release: yes license: CC-BY-NA  

26. Using CVA6 in Architecture Education
Ethan Sifferman

Computer architecture students now have an incredible breadth of cores to learn from because of the ever-increasing list of open-source cores that are well-structured, are synthesizable, use modern SystemVerilog, and have good documentation. Of the most popular open-source RISC-V cores, CVA6, is the perfect candidate for an advanced architecture course because of its 6-stage pipeline, dynamic branch predictor, L1 cache, scoreboard unit, and virtual memory support. UC Santa Barbara has created a set of advanced architecture labs with questions ranging from locating where certain behaviors are implemented in CVA6’s code, to adding additional features to CVA6, and to writing and running assembly files through a CVA6 simulation. We also provide several CVA6-compatible example assembly files and gcc commands that demonstrate how to set up the FPU, benchmark the branch predictor, switch between RISC-V privilege levels, and enable virtual memory with a basic OS. Open-source hardware’s growing popularity has helped UC Santa Barbara tremendously in offering hands-on experiences to students.
 recording release: yes license: CC-BY-NA  

27. Open tools for an open standard: Control/status register automation using SystemRDL
Alex Mykyta

We've all had the harrowing experience of hand-coding our register file RTL, manually updating the documentation, and then painstakingly transcribing it to software header files. What could possibly go wrong? If only we could automate this! Fortunately there is a growing ecosystem of highly-customizable open-source tools centered around SystemRDL - a register description design-entry language [published by Accellera](https://www.accellera.org/downloads/standards/systemrdl). SystemRDL lets you describe countless types of registers containing various access policies, counters, interrupts, and other commonly used CSR constructs. Using this language, you can build an information-rich single source of truth for all your register automation needs. This presentation will introduce a set of open-source tools developed specifically around SystemRDL. At the core is the [SystemRDL compiler front-end](https://systemrdl-compiler.readthedocs.io) that handles the RDL language processing and provides an intuitive Python API for register automation developers. Also featured is the toolchain called [PeakRDL](https://peakrdl.readthedocs.io), which uses this compiler to generate [various outputs](https://peakrdl.readthedocs.io/en/latest/gallery.html) such as rich HTML documentation, UVM register models, IP-XACT, as well as fully synthesizable SystemVerilog RTL. --- Alex is a principal FPGA/ASIC design engineer at SpaceX. This [collection of open-source SystemRDL tools](https://github.com/SystemRDL) started as a hobby project that "got slightly out of hand."
 recording release: no  

28. Goodbye Make, Hello SiliconCompiler!
Andreas Olofsson

SiliconCompiler is a modern replacement of "make" that leverages the cloud and modern programming frameworks to lower the barrier to hardware development. (https://github.com/siliconcompiler/). The project has been successfully used in sky130 shuttle run designs and in multiple SoCs at advanced FinFET nodes. This session will give an overview of the project, followed by a set of short demos showing interesting use cases.
 recording release: yes license: CC-BY-NA  

29. Chipyard: An Open-Source RISC-V SoC Design Framework
Abraham Gonzalez

We present Chipyard - an open-source integrated system-on-chip (SoC) design, simulation, and implementation environment for specialized RISC-V compute systems. Chipyard includes parameterized, composable, open-source, generator-based IP blocks that can be used across multiple stages of the hardware development flow while maintaining design intent and integration consistency. Through FPGA simulation and rapid ASIC implementation, this framework allows for continuous validation of physically realizable customized systems. Through integration with the Rocket Chip generator ecosystem, Chipyard provides a large number of easily composable and extensible open-source digital IP blocks including Linux-capable cores, accelerators, and system components. Chipyard contains mainstream energy-efficient and high-performance processor cores (Rocket, SonicBOOM, CVA6, Ibex, Sodor), domain specific accelerators (Hwacha/Gemmini/NVDLA vector/ML, SHA3/FFT/Mempress misc.), memory systems (caches, scratchpads, DRAMSim2), on-chip interconnects (Constellation) and additional peripherals to help create a fully featured SoC. Chipyard enables customization through intra-core and inter-core configuration, as well as custom extensions using the Rocket Custom Co-processor (RoCC) interface and MMIO-based devices. Chipyard also allows users to seamlessly integrate their own SystemVerilog custom IPs. Additionally, Chipyard provides software workload management tooling (FireMarshal) and toolchains for users to generate custom baremetal and Linux-based workloads for generated custom SoCs. As the SoC is co-designed for a specific use case, Chipyard enables pushing the entire SoC through automated ASIC flows (e.g. Hammer), software simulation (e.g. Verilator), FPGA prototyping flows (e.g. Vivado), and FPGA-accelerated simulation flows (e.g. FireSim). This allows the user to measure their workloads of interest in a fully automated way. Harnessing the integration with the Hammer ASIC physical design framework, users can run power-analysis simulation, go from gates to a GDSII, and more, in a minimal amount of time in both commercial and open-source process technologies (SKY130) and tooling (OpenRoad). For pre-silicon simulation and prototyping, users can use Verilator or FPGA prototyping for quick design/test cycle. For even faster continuous and simultaneous development for higher-quality verification and validation, users can use the FireSim FPGA-accelerated simulation platform for additional scale, accuracy, and debuggability. In this talk, we cover how the open-source Chipyard “one-stop shop” SoC framework enables users to create, integrate, test, and measure their own hardware designs. To date Chipyard has enabled end-to-end computer architecture research and development in over 15 academic and industrial institutions across all domains.
 recording release: yes license: CC-BY-NA  

30. SVA based Checker IP in Verilator
Balram, Srinivasan Venkataramanan

Checkers are a critical part of the design verification process. With the advent of constrained-random techniques, a lot of stimulus-generation capabilities are supported by languages, methodologies, and supporting tools. Ensuring that a design behaves as per the specification is achieved using various forms of checkers. The term “checker” at times means different things to different people. With SystemVerilog 2009 standard making “checker” as a keyword in the language itself, we would like to use that for temporal checks using assertions. Verilator is a free and open-source simulator that can convert SystemVerilog code into a cycle-accurate executable model. Assertions are statements that specify properties or constraints that the design should satisfy. In this paper, we present our experience in porting some of our Checker IPs (APB, AHB, etc.) developed and used in production to Verilator. Given the SVA support is still maturing in Verilator, our team had to adapt the code to be restricted to what the tool supports. We also developed unit tests to verify these properties in Verilator. We will share our findings, potential areas to improve, etc. Our intention is to make this code base available as part of GO2UVM library.
 recording release: yes license: CC-BY-NA  

31. Quality of Life with Virtual Prototypes - Open Source Tools in the Ecosystem of the RISC-V VP
Pascal Pieper

This presentation will talk about the open source ecosystem around the RISC-V Virtual Prototype (VP) and how to apply virtual prototyping techniques to boost the design process. Besides architecture level modeling tools like the VP itself, there will be introductions into an off-chip environment GUI, a Hardware-in-the-Loop system for physical peripherals, as well as several software and (virtual) hardware verification tools. The focus of the talk will be on understanding the principles and decreasing the distance of the average designer to these academic sounding tools; to improve both the flexibility in design space exploration and the quality of the end product.
 recording release: yes license: CC-BY-NA  

32. Constellation: A Open-Source Chisel Generator for Network-on-Chip Interconnects
Jerry Zhao

In response to growing application diversity, System-on-Chip (SoC) architectures have become increasingly heterogeneous, with diverse cores and accelerators, as well as non-uniform memory systems. However, existing open-source design frameworks for SoCs and NoCs (Network-on-Chips) have been unable to facilitate design exploration of heterogeneous SoC architectures with irregular NoCs. We present Constellation, a new NoC RTL generator framework designed from the ground up to support integration in a heterogeneous SoC and evaluation of highly irregular NoC architectures. Constellation implements a highly decoupled specification system that allows an architect to specify an exponentially large design space of irregular virtual-channel wormhole-routed NoC architectures. Additionally, Constellation provides a diverse set of systems, regression tests, and evaluation tools to provide confidence in the correctness and performance of the generated hardware. Constellation is open-sourced and integrated into the Chipyard SoC design framework, allowing full-system exploration of heterogeneous SoC architectures with irregular memory fabrics.
 recording release: yes license: CC-BY-NA  

33. SystemVerilog-Style Constraints and Functional Coverage in Python
Matthew Ballance

While SystemVerilog is the most widely-used language for creating functional verification testbench environments, many different language are used as well. In the past decade or so, Python has risen in popularity as a verification language. The open-source Python ecosystem for functional verification provides many of the expected elements of any other functional verification flow, such as libraries for connecting Python to simulators, frameworks for structuring testbench environments, and bus functional models for specific protocols. However, until recently, the it did not provide support for specifying data-randomization constraints and functional coverage metrics in a way that SystemVerilog users would find familiar. This presentation will introduce PyVSC, an open-source Python library for modeling SystemVerilog-style data randomization constraints and functional coverage metrics in Python. It will describe the constraint and coverage features that can be modeled with PyVSC, and describe how PyVSC leverages existing SMT solvers to generate random data from complex sets of constraints. It will describe how functional coverage data collected by PyVSC can be exported to support manipulation by external flows and toolchains.
 recording release: yes license: CC-BY-NA  

34. OpenROAD - Turning Designs into Optimized Silicon
Matt Liberty

OpenROAD is a modern open-source tool that automates physical implementation of optimized chips. You will see the steps to produce a chip. Learn how users, from beginners to experts, can use get involved with using or developing OpenROAD. This project has been used in numerous tape outs from older 180nm processes down to advanced 12nm designs. Building an ecosystem of academic, hobbyist, and proprietary users is our goal. (https://github.com/The-OpenROAD-Project/OpenROAD)
 recording release: yes license: CC-BY-NA  

35. Space - Opportunities, Challenges for Open Source Community
CHINH LE

Space applications present special challenges to open source technologies including high reliability and harsh environment. LeWiz Communications published several open source IP cores including Ethernet, RISC-V with network protocols and providing complete verification suites, design examples, etc. These are now targeted for space applications with specific space mission targets. This talk presents potential opportunities for space usage, the available open source technologies, challenges to space applications and uses actual applications to provide examples. Finally, it will call on the open source community to contribute to areas still lacking support for FPGA and ASIC implementations targeted for space applications.
 recording release: yes license: CC-BY-NA  

36. Online Waveform viewer. Why do we need one?
Aliaksei Chapyzhenka

Waveform viewer is a very important UI tool for Digital IC designer second only to text editor. With the exception of GTKwave, most waveform viewers are bundled with proprietary simulators. GitHub / Lab, CI / CD, remote simulation runs – modern HDL design and verification is moving to the cloud. VCDrom is a waveform viewer that requires zero install time to view simulation results using WebGL and modern browser tech. It can be embedded in VSCode, Electron apps and other web applications. WaveQL is the waveform query language that helps organize a signal list, formats, markers, transactions and other view elements.
 recording release: yes license: CC-BY-NA  



Location
--------
UCSB Henley Hall room 1010
https://iee.ucsb.edu/henley-hall

Henley Hall, Institute for Energy Efficiency,
552 University Rd, Isla Vista,
CA 93117, United States 

https://goo.gl/maps/SaahhgwrXcHUpV4EA


https://engineering.ucsb.edu/people/reyna-murillo
https://www.fossi-foundation.org/latchup/#venue

https://www.fossi-foundation.org/2023/01/01/conferences23

About the group
---------------
The FOSSi Foundation is proud to announce Latch-Up, a conference dedicated to free and open source silicon.

Latch-Up: a weekend of presentations and networking for the open source silicon community, much like its European sister conference ORConf.