CocotbExt Wavedrom diagram generator
Project description
Cocotb Waves
Table of Contents
Introduction
This repository contains wavedrom svg generator for cocotb sims.
Installation
Installation from pip (release version, stable):
$ pip install cocotbext-waves
Usage
Example sampling AHB signals using cocotbext-ahb
.
from cocotbext.waves import waveform
...
waves = waveform(
clk=dut.hclk, name="ahb_test", hscale=3, debug=True
)
waves.add_signal(
[
dut.hsel,
dut.haddr,
dut.hburst,
dut.hsize,
dut.htrans,
dut.hwdata,
dut.hwrite,
dut.hready_in,
],
group="MOSI",
)
waves.add_signal(
[
dut.hrdata,
dut.hready,
dut.hresp,
],
group="MISO",
)
waves.start()
...
<Running sim, issuing txns>
...
waves.save_svg()
waves.save_txt()
Output:
Classes & Methods
Class waveform
class waveform:
def __init__(
self,
clk,
name,
hscale: int = 2,
is_posedge: bool = True,
debug: bool = False,
start: bool = True
) -> None:
- clk: Synchronous clock used as the sample the signals
- name: Defines the object / filename, also part of the diagram header
- hscale: Horizontal scale for the SVG
- is_posedge: Defines clock model
- debug: Enable some debug messages
- start: Starts the signal monitoring
.start()/.stop()
Optional start/stop the sampling to create the diagram.y
.add_trigger(handle, val)
Adds a trigger to start sampling the signal, starts when handle.value == val.
.add_signal(color, is_clock, is_posedge_clock, clock_period, group)
Adds a signal to be monitored in the diagram. If it is a clock, other arguments can be populated, please note that signals from the same group have to be declared in a single method call.
.set_head/foot(text, tick, every)
Set header/foot propertries of the diagram, more info on wavedrom website.
.save_svg()
Stops the sampling and convert into SVG the final diagram.
.save_txt()
Stops the sampling and convert into .txt fmt the json.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cocotbext-waves-0.1.9.tar.gz
.
File metadata
- Download URL: cocotbext-waves-0.1.9.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93e19b13072b40d4ec77204f946d5bd34708a19734a485cea4fcd1a6b01db7f5 |
|
MD5 | 81ff6c38204b6ea2a451410549712317 |
|
BLAKE2b-256 | e69991240031facf974721bf843426f6c77aebf68d250456bb1c6b24ed17e5c5 |
File details
Details for the file cocotbext_waves-0.1.9-py3-none-any.whl
.
File metadata
- Download URL: cocotbext_waves-0.1.9-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dac9bfbe9a89529e5261751bf2fc095079ad1d382c480892e94bc95f64ceaceb |
|
MD5 | 743fca3e375cf814feb896b0fb2be56e |
|
BLAKE2b-256 | 944db6ce89bff53214a2fa7580281e07d397d44db212401b16d5da6f5782381c |