# Tools and Utilities

* [1. Tools](#1-tools)
  * [1.1. Performance Analysis](#11-performance-analysis)
  * [1.2. Profiling](#12-profiling)
  * [1.3. Benchmarking](#13-benchmarking)
  * [1.4. Simulators](#14-simulators)
    * [1.4.1. System](#141-system)
    * [1.4.2. Architectural](#142-architectural)
    * [1.4.3. Hardware Accelerator (incl. GPU) simulators](#143-hardware-accelerator-incl-gpu-simulators)
    * [1.4.4. Micro-architecture/ISA simulators](#144-micro-architectureisa-simulators)
    * [1.4.5. Memory Simulators](#145-memory-simulators)
    * [1.4.6. Interconnect Simulators](#146-interconnect-simulators)
  * [1.5. Open Source Tools for Digital Design](#15-open-source-tools-for-digital-design)
    * [1.5.1. Digital/Analog Simulators](#151-digitalanalog-simulators)
  * [1.6. Emulators](#16-emulators)
* [2. Utilities](#2-utilities)
  * [2.1. Hardware Design](#21-hardware-design)
* [3. Misc](#3-misc)

## 1. Tools

### 1.1. Performance Analysis

* [VTune™ Profiler Performance Analysis Cookbook](https://software.intel.com/content/www/us/en/develop/documentation/vtune-cookbook/top.html)
* [nanoBench](http://www.uops.info) - A tool for running small microbenchmarks on recent Intel and AMD x86 CPUs using hardware performance coutners. [Github](https://github.com/andreas-abel/nanoBench)
* [kerncraft](https://github.com/RRZE-HPC/kerncraft) - This tool allows automatic analysis of loop kernels using the Execution Cache Memory (ECM) model, the Roofline model and actual benchmarks. kerncraft provides a framework to investigate the data reuse and cache requirements by static code analysis. In combination with the Intel IACA tool kerncraft can give a good overview of both in-core and memory bottlenecks and use that data to apply performance models.
* [TAU Performance System](https://www.cs.uoregon.edu/research/tau/home.php) - A portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, UPC, Java, Python.
* [WhyProfiler](https://github.com/robusta-dev/WhyProfiler) - WhyProfiler is a CPU profiler for Jupyter notebook that not only identifies hotspots but can suggest faster alternatives.
* [CPU Benchmark results](https://www.anandtech.com/bench/CPU-2019/2605)
* [Cost of GPUs in the cloud](https://cloud-gpus.com/) - Estimate the cost of running deep learning workloads on cloud GPUs
* [Comparison of GPU Cloud Providers: Pricing and Features](https://www.gpucloudpricing.com) - Up-to-date information on the features and pricing of GPU cloud providers.
* [ARM SPE](https://developer.arm.com/documentation/101136/latest/MAP/Arm-Statistical-Profiling-Extension--SPE-) - Hardware-assisted CPU profiling mechanism that offers detailed profiling capabilities.
* [LLVM MCA](https://llvm.org/docs/CommandGuide/llvm-mca.html) - a performance analysis tool that uses information available in LLVM (e.g. scheduling models) to statically measure the performance of machine code in a specific CPU.

### 1.2. Profiling

* [CacheGrind](https://valgrind.org/docs/manual/cg-manual.html) - Cachegrind is a high-precision tracing profiler. It runs slowly, but collects precise and reproducible profiling data. Cachegrind can also simulate how your program interacts with a machine's cache hierarchy and branch predictor.
* [Utility for Core to Core latency measurements](https://github.com/nviennot/core-to-core-latency)
* [Intel Memory latency checker](https://www.intel.com/content/www/us/en/developer/articles/tool/intelr-memory-latency-checker.html) - measure memory latencies and b/w, and how they change with increasing load on the system
* [gprof](https://sourceware.org/binutils/docs/gprof/) – User-space CPU profiler to answer: *“Which functions in my program are slow?”*
* [ftrace](https://www.kernel.org/doc/html/latest/trace/ftrace.html) – Linux kernel tracing framework to answer: *“What is the kernel doing while my system is slow?”*

Memory profilers:

* [Scalene](https://github.com/plasma-umass/scalene) - A high-performance CPU, GPU and memory profiler for Python
* [memray](https://github.com/bloomberg/memray) – Python memory profiler for tracking allocations, leaks, and peak memory usage with low overhead and detailed call stacks
* [heaptrack](https://github.com/KDE/heaptrack) – Heap memory profiler for C/C++ applications that records allocations, identifies leaks, and attributes memory usage to call paths over time
* [guppy3](https://github.com/zhuyifei1999/guppy3) – Python heap analysis and profiling tool that provides heap snapshots, object graphs, and memory growth analysis for debugging memory usage

### 1.3. Benchmarking

* [Pointer chasing](https://curiouscoding.nl/posts/cpu-benchmarks/) - Curious Coding's walkthrough on pointer chasing and other memory optimizations
* [Multichase](https://github.com/google/multichase) - Pointer chase to reveal memory bandwidth and loaded-latency
* [PARAM](https://github.com/facebookresearch/param) - Repository of communication and compute micro-benchmarks as well as full workloads for evaluating training and inference platforms
* [Google Workload Traces](https://dynamorio.org/google_workload_traces.html) - Warehouse scale traces captured using DynamoRIO's drmemtrace. The traces are records of instruction and memory accesses as described at Trace Format
* [MLPerf](https://mlcommons.org/en/training-normal-07/) - Consistent measurements of accuracy, speed, and efficiency on hardware for ML workloads
* [tp-parsec](https://github.com/massivethreads/tp-parsec) - Task-Parallel PARSEC
* [CHAI](https://chai-benchmarks.github.io/) - Chai is a benchmark suite of Collaborative Heterogeneous Applications for Integrated-architectures. The Chai benchmarks are designed to use the latest features of heterogeneous architectures such as shared virtual memory and system-wide atomics to achieve efficient simultaneous collaboration between host and accelerator devices.
* [MachSuite](https://github.com/breagen/MachSuite) - MachSuite is a benchmark suite intended for accelerator-centric research.

### 1.4. Simulators

#### 1.4.1. System

* [ASTRA-Sim](https://astra-sim.github.io/) - Distributed Deep Learning Training simulator, developed in collaboration between Georgia Tech, Meta and Intel.
* [SST](https://sst-simulator.org/) - Structural Simulation Toolkit - Using the supercomputers of today to build the supercomputers of tomorrow

#### 1.4.2. Architectural

* [gem5](http://gem5.org/Main_Page) - The gem5 simulator is a modular platform for computer-system architecture research, encompassing system-level architecture as well as processor microarchitecture.
  * [Lapidary](https://github.com/efeslab/lapidary) - Tool to enable more efficient gem5 simulations
  * [SLICC Tutorial](https://gitlab-beta.engr.illinois.edu/ejclark2/gem5i/-/blob/5f0eea97e42cc845f650d0118447b19fd3ace0d6/src/mem/slicc/doc/tutorial.tex) - Documentation on SLICC
* [CPULator](https://cpulator.01xz.net/) - CPUlator Computer System Simulator designed as a tool for learning assembly-language programming and computer organization
* [ESESC](https://github.com/masc-ucsc/esesc) - A fast multiprocessor simulator with detailed power, thermal, and performance models for modern out-of-order multicores.
* [Multi2Sim](http://www.multi2sim.org/) - Multi2Sim is a heterogeneous system simulator of CPUs and GPUs, used to test and validate new hardware designs before they are physically manufactured.
* [SniperSim](https://snipersim.org//w/The_Sniper_Multi-Core_Simulator) - A multi-core, parallel, high-speed and accurate x86 simulator.
* [ZSim](https://github.com/s5z/zsim) - zsim is a fast x86-64 simulator with a focus on simulating memory hierarchies and large, heterogeneous systems
* [MacSim](https://github.com/gthparch/macsim) - A heterogeneous architecture timing model simulator.
* [CACTI](https://github.com/HewlettPackard/cacti) - An analytical tool that takes a set of cache/memory parameters as input and calculates its access time, power, cycle time, and area.
* [WATTCH](http://www.eecs.harvard.edu/~dbrooks/wattch-form.html) - Architectural simulator that estimates CPU power consumption. [Example](http://www.ecs.umass.edu/ece/koren/architecture/ETCache/tools_used.html)
* [HotSpot](http://lava.cs.virginia.edu/HotSpot/) - An accurate and fast thermal model suitable for use in architectural studies.
* [SESC](http://sesc.sourceforge.net/) - SuperScalar simulator is a cycle accurate architectural simulator that models a very wide set of architectures: single processors, CMPs, PIMs, and thread level speculation.

**Full-system simulators and their popularity in conferences** (table from 2015) ![simulators](/files/zY7L6YvLfGDjDFas5oe2)

#### 1.4.3. Hardware Accelerator (incl. GPU) simulators

* [Accel-Sim](https://accel-sim.github.io/) - Simulation framework for simulating and validating programmable accelerators like GPUs
* [GPGPU Sim](https://github.com/rajesh-s/computer-engineering-resources/blob/master/area_specific/gpgpu-sim.org) - GPGPU-Sim provides a detailed simulation model of a contemporary GPUs
* [FireSim](https://fires.im) - FireSim is an open-source cycle-accurate FPGA-accelerated full-system hardware simulation platform that runs on cloud FPGAs
* [MPGPUSim](https://gitlab.com/akita/mgpusim/-/tree/master) - MGPUSim is a Go based AMD GCN3 GPU simulator based-on the Akita framework.
* [SCALESim](https://github.com/ARM-software/SCALE-Sim) - SCALE sim is a CNN accelerator simulator, that provides cycle-accurate timing, power/energy, memory bandwidth and trace results for a specified accelerator configuration and neural network architecture.
* [STONNE](https://github.com/stonne-simulator/stonne) - Simulation TOol of Neural Network Engines, a cycle-level, highly-modular and highly-extensible simulation framework that can plug into any high-level DNN framework as an accelerator device and perform end-to-end evaluation of flexible accelerator microarchitectures with sparsity support, running complete DNN models.

#### 1.4.4. Micro-architecture/ISA simulators

* [ChampSim](https://github.com/ChampSim/ChampSim) - ChampSim is a trace-based simulator for a microarchitecture study.
* [Mastik](https://cs.adelaide.edu.au/~yval/Mastik/) - A Micro-Architectural Side-Channel Toolkit
* [Venus](https://github.com/kvakil/venus) - Venus is a RISC-V instruction set simulator built for education.
* [Ripes](https://github.com/mortbopet/Ripes) - Ripes is a visual computer architecture simulator and assembly code editor built for the RISC-V ISA.
* [WinMIPS64](http://indigo.ie/~mscott/) - WinMIPS64 is an instruction set simulator, and is designed as a replacement for the popular Microsoft Windows utility WinDLX
* [Whisper](https://github.com/chipsalliance/SweRV-ISS) - RISCV instruction set simulator (ISS) developed for the verification of the Swerv micro-controller. It allows the user to run RISCV code without RISCV hardware.
* [CompilerExplorer](https://godbolt.org/)
* [The uops.info Code Analyzer](https://uica.uops.info/)
* [SIMD Giraffe](https://pmntang.github.io/SIMDGiraffe/#/) - Break down x86 SIMD instructions

#### 1.4.5. Memory Simulators

* [PyCacheSim](https://github.com/RRZE-HPC/pycachesim) - Accurately simulate the caching (allocation/hit/miss/replace/evict) behavior of all cache levels found in modern processors
* [VANS](https://github.com/TheNetAdmin/VANS) - A validated NVRAM simulator
* [LENS](https://github.com/TheNetAdmin/LENS) - A Low-level NVRAM Profiler
* [NVMain](https://github.com/SEAL-UCSB/NVmain) - An Architectural Level Main Memory Simulator for Emerging Non-Volatile Memories
* [Cache simulator](https://github.com/CoffeeBeforeArch/cache_simulator) - A simple trace-based cache simulator
* [DRAMSim2](https://github.com/umd-memsys/DRAMSim2) - A cycle accurate DRAM simulator
* [ARM Consistency Memory Model](https://developer.arm.com/architectures/cpu-architecture/a-profile/memory-model-tool) - The herd tool allows the user to execute the model with a specific question about the possible final states of the program using ARM consistency memory model.
* [MQSim](https://github.com/CMU-SAFARI/MQSim) - A Simulator for Modern NVMe and SATA SSDs
* [VAMPIRE](https://github.com/CMU-SAFARI/VAMPIRE) - Variation-Aware model of Memory Power Informed by Real Experiments is an open-source DRAM power model based on an extensive experimental characterization of the power consumption of real DRAM modules.
* [RAMulator](https://github.com/CMU-SAFARI/ramulator) - Ramulator is a fast and cycle-accurate DRAM simulator \[1] that supports a wide array of commercial, as well as academic, DRAM standards
* [Intel TSX MESI Cache simulator](https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/TSX.htm) - Animations to illustrate cache behavior

#### 1.4.6. Interconnect Simulators

* [BookSim](https://github.com/thats-all-forks/booksim2) - A cycle-accurate interconnection network simulator
* [NetTrace](http://www.cs.utexas.edu/~netrace/) - Dependency-Tracking Trace-Based Network-on-Chip Simulation. [Source code](https://github.com/thats-all-forks/netrace)
* [Noxim](https://github.com/davidepatti/noxim) - Network-on-Chip Simulator
* [NIRGAM](http://nirgam.ecs.soton.ac.uk/) - A Simulator for NoC Interconnect Routing and Application Modeling

### 1.5. Open Source Tools for Digital Design

* [Verilator](https://www.veripool.org/projects/verilator/) - Verilator is the fastest free Verilog HDL simulator, and outperforms most commercial simulators
* [Icarus Verilog](https://github.com/steveicarus/iverilog) - Icarus Verilog is not aimed at being a simulator in the traditional sense, but a compiler that generates code employed by back-end tools.
* [SymbiFlow](https://symbiflow.github.io) - Open source FPGA tooling available under [YosysHQ](https://github.com/YosysHQ)
* [GTKWave](http://gtkwave.sourceforge.net/) - GTKWave is a fully featured GTK+ based wave viewer.
* [Wavedrom](https://wavedrom.com/) - WaveDrom draws your Timing Diagram or Waveform from simple textual description.
* [SymbiYosys](https://github.com/YosysHQ/SymbiYosys) - Front-end for Yosys-based formal verification flows
* [Upscale Project](http://upscale.stanford.edu/) - Formal tools for OSH
* [Yosys](http://www.clifford.at/yosys/) - Yosys is a framework for Verilog RTL synthesis.
* [Open Timer](https://github.com/OpenTimer/OpenTimer) - A High-Performance Timing Analysis Tool for VLSI Systems
* [Glade](https://peardrop.co.uk/) - Fast IC layout and schematic editor capable of reading and writing common EDA formats
* [OpenRAM](https://openram.soe.ucsc.edu) - An [open-source](https://github.com/VLSIDA/OpenRAM) static random access memory (SRAM) compiler.
* [Open Circuit Design Flow](http://opencircuitdesign.com/) - A suite of tools including Qflow covering various aspects of digital design
  * [Magic](http://opencircuitdesign.com/magic/index.html) - the VLSI layout editor, extraction, and DRC tool.
  * [XCircuit](http://opencircuitdesign.com/xcircuit/index.html) - the circuit drawing and schematic capture tool.
  * [IRSIM](http://opencircuitdesign.com/irsim/index.html) - the switch-level digital circuit simulator.
  * [Netgen](http://opencircuitdesign.com/netgen/index.html) - the circuit netlist comparison (LVS) and netlist conversion tool.
  * [Qrouter](http://opencircuitdesign.com/qrouter/index.html) - the over-the-cell (sea-of-gates) detail router.
  * [Qflow](http://opencircuitdesign.com/qflow/index.html) - a complete digital synthesis design flow using open-source software and open-source standard cell libraries.
  * [PCB](http://opencircuitdesign.com/pcb/index.html) - the printed circuit board layout editor.
* [ngspice](http://ngspice.sourceforge.net/) - open source spice simulator
* [gnucap](http://gnucap.org/dokuwiki/doku.php?id=gnucap:start) - open source mixed-signal simulator supporting Spice and Verilog syntax, also see [GnuCap GitBook](https://mulder-patrick.gitbook.io/gnucap/)
* [The Open Road Project](https://github.com/The-OpenROAD-Project) - Includes [OpenSTA](https://github.com/The-OpenROAD-Project/OpenSTA), [RePlAce](https://github.com/The-OpenROAD-Project/RePlAce), [OpenDB](https://github.com/The-OpenROAD-Project/OpenDB), [ioPlacer](https://github.com/The-OpenROAD-Project/ioPlacer), [FastRoute4](https://github.com/The-OpenROAD-Project/FastRoute4-lefdef) and other tools. [Start here](https://github.com/The-OpenROAD-Project/OPENROAD_USERS_READ_ME_FIRST)
* [Open Register Design](https://github.com/Juniper/open-register-design-tool) - Tool to generate register RTL, models, and docs using SystemRDL or JSpec input
* [LibrePCB](https://librepcb.org/) - A powerful, innovative and intuitive EDA tool for everyone!
* [ACT Tools Suite](http://avlsi.csl.yale.edu/act/doku.php) - Asynchronous Circuit Design Toolkit to support the design and implementation of asynchronous logic
* [PyMTL](https://github.com/cornell-brg/pymtl) - PyMTL is an open-source, Python-based framework for multi-level hardware modeling.
* [OpenFPGA](https://github.com/LNIS-Projects/OpenFPGA) - FPGA IP generator supporting highly-customizable homogeneous FPGA architectures
* [LibSystemCTLM](https://github.com/Xilinx/libsystemctlm-soc/blob/master/README.md) - This library contains various SystemC/TLM-2.0 modules that enable co-simulation of Xilinx QEMU, SystemC/TLM-2.0 models and RTL.
* [Fully autonomous SoC Synthesis](https://github.com/idea-fasoc/fasoc) - focused on developing a complete system-on-chip (SoC) synthesis tool from user specification to GDSII.
* [EDALIZE](https://github.com/olofk/edalize) - Edalize is a Python Library for interacting with EDA tools.
* [Open Source (FOSS) FPGA (EDA) Tooling Interchange Formats + Toolchain parts](https://j.mp/openfpga-diagram)
* [nMigen](https://github.com/m-labs/nmigen) - A refreshed Python toolbox for building complex digital hardware
* [Cascade](https://github.com/vmware/cascade) - Just-in-time compiler for Verilog
* [PyRTL](http://ucsbarchlab.github.io/PyRTL/) - A collection of classes for pythonic register-transfer level design, simulation, tracing, and testing suitable for teaching and research.
* [myHDL](http://www.myhdl.org/) - MyHDL turns Python into a hardware description and verification language
* [LLHD](http://www.llhd.io/) - is an intermediate representation for digital circuit descriptions, together with an accompanying simulator and SystemVerilog/VHDL compiler.
* [TerosHDL](https://github.com/TerosTechnology/terosHDL) - It is a open source IDE to make FPGA development easier
* [OpenLane](https://github.com/efabless/openlane) - Automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen, Fault and custom methodology scripts for design exploration and optimization.
* [DREAMPlace](https://github.com/limbo018/DREAMPlace) - Deep learning toolkit-enabled VLSI placement
* [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) - A modular build system for hardware ("make for silicon"). The project philosophy is to "make the complex possible while keeping the simple simple".

#### 1.5.1. Digital/Analog Simulators

* [DigitalJS](https://github.com/tilk/digitaljs) - Visualize and simulate digital logic using HDL
* [Digital](https://github.com/hneemann/Digital) - Digital is a easy-to-use digital logic designer and circuit simulator designed for educational purposes.
* [EDA Playground](https://www.edaplayground.com/) - Run HDL/HVL code in your browser
* [Electronic Circuit Simulator](https://www.falstad.com/circuit/) - Falstad circuit simulator
* [ASMBits](https://asmbits.01xz.net/wiki/Main_Page) - Assembly Practice
* [HDLBits](https://hdlbits.01xz.net/wiki/Main_Page) - Verilog Practice
* [8bit Workshop](http://8bitworkshop.com/redir.html?platform=verilog) - Verilog to waves instantly
* [Logic Design and Circuit Simulator](https://github.com/hneemann/Digital)
* [LogicEmu](https://lodev.org/logicemu/) - Logic simulator in your browser
* [Transistor level 6502 Hardware Simulation in Javascript](https://github.com/trebonian/visual6502) - [Visual6502](https://floooh.github.io/visual6502remix/)
* [Xyce](https://xyce.sandia.gov/) - open source, SPICE-compatible, high-performance analog circuit simulator, capable of solving extremely large circuit problems by supporting large-scale parallel computing platforms.
* [Micro Cap 12](http://www.spectrum-soft.com/download/download.shtm) - Micro-Cap 12 is an integrated schematic editor and mixed analog/digital simulator that provides an interactive sketch and simulate environment for electronics engineers. Now Open Source.
* [Logisim](http://www.cburch.com/logisim/) - Logisim is an educational tool for designing and simulating digital logic circuits.
* [LogisimITA](http://www.logisim.altervista.org/) - An independently developed fork of logisim that's preferred by many
* [Logisim-Evolution](https://github.com/reds-heig/logisim-evolution/) - Another flavour of Logisim after the development of original version was stopped
* [Antares](https://www.antarescircuit.io/) - Digital Circuit Learning Platform. A free, powerful platform for designing, simulating and explaining digital circuits
* [MakerChip](https://www.makerchip.com/) - In-browser Verilog design environment

### 1.6. Emulators

* [TinyEMU](https://bellard.org/tinyemu/) - TinyEMU is a system emulator for the RISC-V and x86 architectures.
* [Unicorn](https://www.unicorn-engine.org/) - Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework.
* [Emulator for Ben Eater's 8bit computer](https://fizzgig.itch.io/8-bit-breadboard-computer)
* [8bit Chip Emulator](https://github.com/floooh/chips) - A toolbox of 8-bit chip-emulators, helper code and complete embeddable system emulators
* [Little Man Computer](https://peterhigginson.co.uk/lmc/) - Very simple Von Neumann Architecture Computer. Similar [RISC](https://peterhigginson.co.uk/RISC/)
* [Blinken Lights](https://justine.lol/blinkenlights/) - a command line debugger that focuses on visualizing how software changes memory. It's able to emulate statically linked i8086 and x86\_64-pc-linux-gnu programs

## 2. Utilities

### 2.1. Hardware Design

* [Data sheet scrubber](https://github.com/idea-fasoc/datasheet-scrubber) - The FASoC Datasheet Scrubber is a utility that scrubs through large sets of PDF datasheets/documents in order to extract key circuit information.
* [SystemVerilog Unit Test (SVUT)](https://github.com/damofthemoon/svut) - SVUT is a very simple flow to create a Verilog/SystemVerilog unit test.
* [AirHDL](https://airhdl.com) - Create register maps and headers
* [BitBench](http://triq.net/bitbench) - Visually dissect and analyze bit strings.
* [Bitfield](https://github.com/drom/bitfield) - BitField diagram Renderer
* [Diagrammer](https://github.com/freechipsproject/diagrammer) - Provides dot visualizations of chisel/firrtl circuites
* [VCD2Wavedrom](https://github.com/Toroid-io/vcd2wavedrom) - Handy for getting from simulation to spec quickly.
* [ipyxact](https://github.com/olofk/ipyxact) - Python-based IP-XACT parser
* [sv2v](https://github.com/zachjs/sv2v) - SystemVerilog to Verilog conversion
* [svlint](https://github.com/dalance/svlint) - System Verilog lint using rust
* [Wavedrom to Verilog](https://github.com/wavedrom/verilog)
* [HDL Checker](https://github.com/suoto/hdl_checker/blob/master/README.md) - HDL Checker is a language server that wraps VHDL/Verilg/SystemVerilog tools that aims to reduce the boilerplate code needed to set things up.
* [Wavedrom to ASCII converter](https://github.com/Wren6991/asciiwave) - README embeddable waveforms!
* [RgGen](https://github.com/rggen/rggen) - RgGen is a code generation tool for ASIC/IP/FPGA/RTL engineers. It will automatically generate soruce code related to configuration and status registers (CSR)
* [System RDL Compiler](https://github.com/SystemRDL/systemrdl-compiler) - The systemrdl-compiler module implements a generic compiler front-end for Accellera's SystemRDL 2.0 register description language.
* [Verismith](https://github.com/ymherklotz/verismith) - Verilog Fuzzer to test the major simulators and sythesisers by generating random, valid Verilog.
* [Jeff's ASIC tools](http://www.kwcpa.com/tools/) - Useful tools for working with HDL
* [Static Timing Analysis Diagram Renderer](https://github.com/drom/sta) - Altera Quartus/ Icestorm report parser
* [Bitfield/Register representations](https://observablehq.com/@drom/bitfield-testbox) - Editable examples of registers
* [Verible](https://github.com/google/verible) - Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, and formatter.
* [svinst](https://github.com/sgherbst/svinst) - This tool takes a SystemVerilog file as input and produces as output the module(s) declared in that file, along with the module(s) instantiated in each one of those module declarations. It uses sv-parser and is adapted from svlint.

## 3. Misc

* [Online ARM Assember](https://azm.azerialabs.com/)
* [Hexyl](https://github.com/sharkdp/hexyl) - A command-line hex viewer
* [Scastie](https://scastie.scala-lang.org/) - Playground for Chisel 3: A Modern Hardware Design Language
* [vcdMaker](https://vcdmaker.org/) - Open application for translating text log files into the VCD (Variable Change Dump) format files. It is supposed to help you to debug your applications and systems
* [ImHex](https://github.com/WerWolv/ImHex) - A Hex Editor for Reverse Engineers, Programmers


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rajesh-s.gitbook.io/comparchsys/area_specific/tools_and_utils.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
