Skip to content

Commit

Permalink
Blog updates: ROHD Wave Viewer, LATTE'24 (#62)
Browse files Browse the repository at this point in the history
  • Loading branch information
mkorbel1 authored May 8, 2024
1 parent ba4cfbf commit 0810a4d
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 10 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@
This repository hosts a website for the [Rapid Open Hardware Development (ROHD) framework](https://github.com/intel/rohd) and it's ecosystem.

The main ROHD ecosystem includes:
| Repository | Description |
|----------------------------------------------------|----------------------------------------------------------------------------------|
| [rohd](https://github.com/intel/rohd) | The Rapid Open Hardware Development Framework (ROHD), the main repo |
| [rohd-vf](https://github.com/intel/rohd-vf) | The ROHD Verification Framework (ROHD-VF), like UVM but for ROHD |
| [rohd-cosim](https://github.com/intel/rohd-cosim) | ROHD Co-simulation (ROHD Cosim) for interacting with other simulators |
| [rohd-hcl](https://github.com/intel/rohd) | The ROHD Hardware Component Library (ROHD-HCL), reusable configurable components |
| Repository | Description |
|---------------------------------------------------------------|----------------------------------------------------------------------------------|
| [rohd](https://github.com/intel/rohd) | The Rapid Open Hardware Development Framework (ROHD), the main repo |
| [rohd-vf](https://github.com/intel/rohd-vf) | The ROHD Verification Framework (ROHD-VF), like UVM but for ROHD |
| [rohd-cosim](https://github.com/intel/rohd-cosim) | ROHD Co-simulation (ROHD Cosim) for interacting with other simulators |
| [rohd-hcl](https://github.com/intel/rohd) | The ROHD Hardware Component Library (ROHD-HCL), reusable configurable components |
| [rohd-wave-viewer](https://github.com/intel/rohd-wave-viewer) | ROHD Wave Viewer, a flexible waveform viewer |

Generally, this website repository does *not* directly contain documentation covering the entire ecosystem. Rather, it hosts general website infrastructure and references documentation content from the other repositories. This repo can host some additional documentation that isn't directly related to the APIs of individual projects (e.g. meeting minutes).

Expand All @@ -27,5 +28,5 @@ The ROHD Logo is created by a public contributor under the name *Ruby Artstyle*.

----------------

Copyright (C) 2023 Intel Corporation
Copyright (C) 2023-2024 Intel Corporation
SPDX-License-Identifier: BSD-3-Clause
4 changes: 2 additions & 2 deletions docs/_blog/2024-02-23-announcing-rohd-devtool-extension.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "A Flutter UI Debugger for ROHD"
permalink: /blog/announcing-rohd-devtool-extension/
last_modified_at: 2024-02-23
last_modified_at: 2024-05-08
author: "Yao Jing Quek"
---

Expand All @@ -12,7 +12,7 @@ When you hear the term "Flutter", your mind might instantly associate it with na
ROHD, or Rapid Open Hardware Development Framework (<https://intel.github.io/rohd-website/>), is a framework for hardware generation and design using the Dart programming language. Yes, you read that right - Dart, the same language used by Flutter for development. ROHD offers the flexibility to develop your hardware using modern languages and software practices, resulting in a cleaner and more powerful library.
But why did ROHD choose Dart? The answer lies in Dart's potential and the features it offers. Dart's Futures allow for efficient simulation, and its low learning curve means you can become proficient in less than a week. Furthermore, Dart's object-oriented design, excellent community support, and the ability to build EDA tools on top of it make it an ideal choice for ROHD. The results and testing shown that efficiency, performance, and engineer productivity have achieved significant gains by using ROHD, as detailed in the <https://woset-workshop.github.io/WOSET2022.html>. You can watch the video explaining this at <https://www.youtube.com/watch?v=ahF6MRJKLVw> as well!

## Flutter VS ROHD: A powerful combination
## Flutter + ROHD: A powerful combination

At the time of writing this article, ROHD has adopted a beta version of a debugger built using Flutter. The full capabilities and proposal of the debugger are detailed in this discussion <https://github.com/intel/rohd/discussions/418>, which started with the hierarchy viewer as the proof of concept (POC) for the development.
This implementation allows for a seamless experience where users can design and debug simultaneously. Users can step through the VSCode debug points and instantly see the value changes over time in each clock cycle. This feature serves as the foundation for other tools to be designed and built using Flutter.
Expand Down
13 changes: 13 additions & 0 deletions docs/_blog/2024-05-07-rohd-hcl-at-latte-24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: "ROHD-HCL at LATTE'24"
permalink: /blog/rohd-hcl-at-latte-24/
last_modified_at: 2024-05-08
author: "Max Korbel"
---

ROHD-HCL was presented at [LATTE'24](https://capra.cs.cornell.edu/latte24/#session-6)! The full paper is available at the conference site for free.

You can view the recorded presentation (less than 7 minutes long) on YouTube [here](https://youtu.be/P0WK6FSUjbg?si=3zzS7cSi84WGJvmI).

The abstract for the paper is included below:
> The ROHD Hardware Component Library (ROHD-HCL) is a free and open-source library of high-quality, configurable, well-documented design and verification components developed using the Rapid Open Hardware Development (ROHD) framework. The library aims to address the challenges of hardware reuse across the industry and provide examples and a foundation for hardware developers to build upon. The library also includes a configuration methodology and web-app to make components even to easier to use.
33 changes: 33 additions & 0 deletions docs/_blog/2024-05-08-announcing-rohd-wave-viewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: "Announcing ROHD Wave Viewer"
permalink: /blog/announcing-rohd-wave-viewer/
last_modified_at: 2024-05-08
author: "Max Korbel"
---

The ROHD Wave Viewer is now open-source and available at <https://github.com/intel/rohd-wave-viewer>! The project is still a work in progress, but development will happen in the open, and contributors are more than welcome.

## Motivation

The ROHD Wave Viewer was initiated for a handful of reasons:

- Most of the best wave viewers were expensive and proprietary. The available open source and/or free wave viewers were okay, but not great. [GTKWave](https://gtkwave.sourceforge.net/) is one of the most popular free waveform viewers. [Surfer](https://surfer-project.org/) started gaining popularity around the same time as ROHD Wave Viewer was being developed and seems to have some overlap on motivations and goals and also appears to be heading in a great direction.
- The ROHD ecosystem needs some improved debug capabilities. The [ROHD Devtools Extension](https://intel.github.io/rohd-website/blog/announcing-rohd-devtool-extension/) is a great step in that direction, and including a waveform viewer within it would really boost its capabilities.
- There are not a lot of great options (especially free and open-source) for inserting a waveform into some other app or website, or for parsing and analyzing waveform files.

## Features and Goals

The ROHD Wave Viewer is going to be **modular** so that different pieces can be easily reused in different contexts. For example, the parsers for different waveform file formats (e.g. VCD) will be independently usable utilities from the GUI, and the wave viewer GUI will be a stand-alone Flutter widget so that anyone can drop in a wave viewer to their app or website.

ROHD Wave Viewer will also be released in multiple contexts:

- A package (or packages) on [pub.dev](https://pub.dev) for the Flutter widgets and parsing utilities.
- A stand-alone binary utility that can be run natively on your computer, parsing various waveform file formats.
- Integrated into the ROHD Devtools Extension, enabling viewing of waves as the simulation is executing/being debugged.
- A Flutter web-app version, with no installation or download required.

## Current State and Looking Ahead

As of this writing, the front-end GUI for ROHD Wave Viewer has a great well-architected start upon which to build. The parsers are not yet implemented, so it's not yet ready for hardware debug usage.

This is open-sourced *early* so that it can be developed in the open in collaboration with the community! There are a lot of things that need implementing, so if this sounds interesting to you, it's a great time to get involved. The [ROHD Discord server](https://discord.com/invite/jubxF84yGw) is a friendly place to ask questions and start out.
2 changes: 1 addition & 1 deletion docs/_data/authors.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Max Korbel:
name: "Max Korbel"
bio: "Hardware Engineer at Intel"
bio: "Principal Engineer at Intel"
avatar: "assets/images/authors/max_korbel_avatar.jpg"
links:
- label: "Email"
Expand Down

0 comments on commit 0810a4d

Please sign in to comment.