All Projects → ZipCPU → Wbscope

ZipCPU / Wbscope

A wishbone controlled scope for FPGA's

Projects that are alternatives of or similar to Wbscope

Zipcpu
A small, light weight, RISC CPU soft core
Stars: ✭ 640 (+1180%)
Mutual labels:  verilog, fpga
Rsyocto
🤖 SoCFPGA: Open Source embedded Linux developed for Intel (ALTERA) SoC-FPGAs (Cyclone V & Arria 10)
Stars: ✭ 41 (-18%)
Mutual labels:  verilog, fpga
Platformio Vscode Ide
PlatformIO IDE for VSCode: The next generation integrated development environment for IoT
Stars: ✭ 676 (+1252%)
Mutual labels:  verilog, fpga
Mips Cpu
A MIPS CPU implemented in Verilog
Stars: ✭ 38 (-24%)
Mutual labels:  verilog, fpga
Clash Compiler
Haskell to VHDL/Verilog/SystemVerilog compiler
Stars: ✭ 958 (+1816%)
Mutual labels:  verilog, fpga
Uhd
The USRP™ Hardware Driver Repository
Stars: ✭ 544 (+988%)
Mutual labels:  verilog, fpga
Hdl
HDL libraries and projects
Stars: ✭ 727 (+1354%)
Mutual labels:  verilog, fpga
Open Fpga Verilog Tutorial
Learn how to design digital systems and synthesize them into an FPGA using only opensource tools
Stars: ✭ 464 (+828%)
Mutual labels:  verilog, fpga
Icestudio
❄️ Visual editor for open FPGA boards
Stars: ✭ 958 (+1816%)
Mutual labels:  verilog, fpga
Iroha
Intermediate Representation Of Hardware Abstraction (LLVM-ish for HLS)
Stars: ✭ 30 (-40%)
Mutual labels:  verilog, fpga
Hrm Cpu
Human Resource Machine - CPU Design #HRM
Stars: ✭ 43 (-14%)
Mutual labels:  verilog, fpga
Higan Verilog
This is a higan/Verilator co-simulation example/framework
Stars: ✭ 35 (-30%)
Mutual labels:  verilog, fpga
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (+850%)
Mutual labels:  verilog, fpga
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+10978%)
Mutual labels:  verilog, fpga
Vtr Verilog To Routing
Verilog to Routing -- Open Source CAD Flow for FPGA Research
Stars: ✭ 466 (+832%)
Mutual labels:  verilog, fpga
Spinalhdl
Scala based HDL
Stars: ✭ 696 (+1292%)
Mutual labels:  verilog, fpga
Apio
🌱 Open source ecosystem for open FPGA boards
Stars: ✭ 366 (+632%)
Mutual labels:  verilog, fpga
Cascade
A Just-In-Time Compiler for Verilog from VMware Research
Stars: ✭ 413 (+726%)
Mutual labels:  verilog, fpga
Zbasic
A bare bones, basic, ZipCPU system designed for both testing and quick integration into new systems
Stars: ✭ 27 (-46%)
Mutual labels:  verilog, fpga
Image Processing
Image Processing Toolbox in Verilog using Basys3 FPGA
Stars: ✭ 31 (-38%)
Mutual labels:  verilog, fpga

A Wishbone Controlled Scope for FPGA's

This is a generic/library routine for providing a bus accessed 'scope' or (perhaps more appropriately) a bus accessed logic analyzer for use internal to an FPGA. The general operation is such that this 'scope' can record and report on any 32 bit value transiting through the FPGA that you have connected to the scope. Once started and reset, the scope records a copy of the input data every time the clock ticks with the circuit enabled. That is, it records these values up until the trigger. Once the trigger goes high, the scope will record for bw_holdoff more counts before stopping. Values may then be read from the buffer, oldest to most recent. After reading, the scope may then be reset for another run.

In general, therefore, operation happens in this fashion:

  1. A reset is issued.
  2. Recording starts, in a circular buffer, and continues until
  3. The trigger line is asserted. The scope registers the asserted trigger by setting the o_triggered output flag.
  4. A counter then ticks until the last value is written. The scope registers that it has stopped recording by setting the o_stopped output flag.
  5. The scope recording is then paused until the next reset.
  6. While stopped, the CPU can read the data from the scope
  • oldest to most recent
  • one value per bus clock
  1. Writes to the data register reset the address to the beginning of the buffer

Tutorials

The Wishbone scope was featured on zipcpu.com as a conclusion to the discussion of the example debugging bus. That example discussed how to hook up the scope to your logic, as well as how to employ the scope software to create a VCD file that could then be viewed in GTKWave. The scope was also mentioned as a means of capturing traces of button bounces, with the short discussion of how to set it up for that task here.

Interfaces supported

  1. Wishbone B4/pipelined
  2. AXI lite
  3. Avalon
  4. Memory backed scope, using AXI. This is great for when your data capture can't git in the on-chip RAM of a device. Using this core, you can store your capture in an off-chip SDRAM. Beware, an SDRAM can hold a LOT of data.
  5. Compressed Memory backed scope, using AXI. This uses the same basic run-length compression scheme as the original compressed Wishbone scope, only this time with the AXI memory back end.

Commercial Applications

Should you find the GPLv3 license insufficient for your needs, other licenses can be purchased from Gisselquist Technology, LLC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].