Skip to main content

Fast VCD, GHW and FST wavedump reading.

Project description

Wellen Waveform Library

Crates.io Version docs.rs GitHub License DOI

wellen provides a common interface to read both FST and VCD waveform files. The library is optimized for use-cases where only a subset of signals need to be accessed, like in a waveform viewer. VCD parsing uses multiple-threads.

Overview

Overview of wellen components

The Wellen Hierarchy

All meta-data about the signals in a design is accumulated in the wellen::Hierarchy class. While all formats supported by wellen feature hierarchical scopes and variables and the associated signal data, they vary in how much additional information they provide. We thus had to make some choices on how to unify the data from various sources in a single data model.

Global Metadata

We record the following information for each file:

  • date: a string representation of when the file was created, the precise data / time format depends on the file source (VCD, FST)
  • version: a string, generally the version of the simulator that produced the file (VCD, FST)
  • timescale: time unit and factor that defines one tick of simulation time, GHW is always 1fs (ALL)
  • fileformat (ALL)

Scope

Each scope contains the following information:

  • name: the local name of the scope, ignoring its parent scopes (ALL)
  • full_name: the names of all parent scopes and the local scope, connected with a . (ALL)
  • scope_type: the kind of scope, e.g., module, function, wire (ALL)
  • component: an optional type name, e.g., the name of the module that was instantiated (FST)
  • instantiation_source_loc: optional filename and line number where the scope was instantiated; for VCDs, this information is encoded with non-standard attributes (FST, VCD)
  • source_loc: optional filename and line number where the scope was declared; for VCDs, this information is encoded with non-standard attributes (FST, VCD)
  • items: child variables and scopes
  • vars: child variables
  • scopes: child scopes

Variable

Each variables comes with the following information:

  • name: the local name of the scope, ignoring its parent scopes (ALL)
  • full_name: the names of all parent scopes and the local scope, connected with a . (ALL)
  • to be continued

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywellen-0.18.2.tar.gz (93.1 kB view details)

Uploaded Source

Built Distributions

pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pywellen-0.18.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pywellen-0.18.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp313-cp313-macosx_11_0_arm64.whl (595.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pywellen-0.18.2-cp313-cp313-macosx_10_12_x86_64.whl (608.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pywellen-0.18.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pywellen-0.18.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp312-cp312-macosx_11_0_arm64.whl (596.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pywellen-0.18.2-cp312-cp312-macosx_10_12_x86_64.whl (609.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pywellen-0.18.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pywellen-0.18.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp311-cp311-macosx_11_0_arm64.whl (601.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pywellen-0.18.2-cp311-cp311-macosx_10_12_x86_64.whl (612.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pywellen-0.18.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pywellen-0.18.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pywellen-0.18.2-cp310-cp310-macosx_11_0_arm64.whl (601.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pywellen-0.18.2-cp310-cp310-macosx_10_12_x86_64.whl (612.3 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

pywellen-0.18.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pywellen-0.18.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file pywellen-0.18.2.tar.gz.

File metadata

  • Download URL: pywellen-0.18.2.tar.gz
  • Upload date:
  • Size: 93.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for pywellen-0.18.2.tar.gz
Algorithm Hash digest
SHA256 c2a7889af4e64460c5b00e8043200514d1ed8514bcd6f09838f577c31619fb32
MD5 8d0bd9f52f34e9c8a280d5472aa4ae8d
BLAKE2b-256 e64bdcd94ce61a4f2b43e7ba434c6d76f9a9d06c82bd463d4ff3f44df41e798f

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab1ea3d4162fe7361ea2e84d95a6429dec8d8b887a95f2f09ca84d3099aba635
MD5 f47d2e123cb8fb7c528d8b7aec84de9e
BLAKE2b-256 261c17860bb54cd0eb886bab6cc323237c347a131dc71b626423bed93b6fa033

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 959bd9029d1d692006013473e2c90d1b7d6ca2938e8d751de934ad30b30e52e7
MD5 dd3574127819d1b5a333f7f1fae0494a
BLAKE2b-256 ded404d67209c6cfaaaef12b1c9192ce0df511b01ae7134bf47d4cc5ba011c00

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49b70bfe47476580660a6b8ae3fcaf35db5b387e453d95b9be152b048fb5980a
MD5 292f9c236691632e25240a825d520480
BLAKE2b-256 749d7f3c9332c17c69bc71e23de0e9c025a2dd1e4c1a91c80afbab8a066ee60a

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f882baaf831db00324031f245df380f469d1b725764d00ce2efe87e47f873a74
MD5 f7d6dee65d493b33f8e0641b0c637727
BLAKE2b-256 9fee5b75e0eab21138ab6e1e871c8fe60ddef5b0876e144cbff6219e812fbb41

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 065a8c5cce60f771e1cf875dea001d8811f75fbc0542d283606d2efff2c28f4b
MD5 efdc8c72d93627c8e9db648a6cd683ea
BLAKE2b-256 7f8d40daabe40edd823a3669c473896473280c8af5ae59ba3b271ea96b7c4320

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8455d76cf1b807734c89a542acf496de3d56f7eeb00d7b586574617a2e19dd5
MD5 4ce58bbec51220ad41628d8be652946d
BLAKE2b-256 39be65f736403ed1760ac785d280a2fd1bde9468b6bf930100ae309810a499a9

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 097b54b2c6ff54a3993522ae3ceecec005afbeb7f579994ee069c34340da697e
MD5 199575cb8cd59602bbd3db0513fdda0a
BLAKE2b-256 8f8de249181509b964f299b5cd708beefd3ed552789985d4cd1c116c00db67d4

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20a24b8eb30ee2e7be8b1d3c7dddce3e2d2f2176c01d8818ec74702fb9ea4286
MD5 80fe905c8cdaece9f0fe9005b9196372
BLAKE2b-256 72a29cd2a8eeac816ce5ef912ce3caa7a254dda195f4ede43fffb7567eff94da

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bb2a7ecf37418bb89c672c4f15e77cb7abb270b98a152367f7646c6f69e6437
MD5 9b3deb4fc2e59b331c63c1059e9af94d
BLAKE2b-256 e2fc1409743f27d0067234d501aeb0b2da31f21a61aea202203c118a5f5a4ddf

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 70e308e3c658a021a33454529dc0a6e94d47061b585c14cc1b6b93309cb388b7
MD5 2077ea24d09d4ebd7fa72aa56b215f77
BLAKE2b-256 1d671988377b42db6bc32dd4597eececc785769861b6a27d4091c906191953a3

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b41fa3221b8d7942aa623a0242cee73b772c79b49ed515fbf6affb1503174b0
MD5 5489348e110035952a7c84281aca9dbe
BLAKE2b-256 3f76492290c6448654c9a6144775dc6c429864cad44f5d4d3a43021877ee9759

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2125aa96c31680e60a06432441bf6af3f725c636b575dbe1f3ce31bbc7c2040a
MD5 5bf1572e4393114acd2b40489162a886
BLAKE2b-256 41e336f3d88b9dcb1c983df70da29869702e517939def42edf201888fa6f8b3d

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b44c497102905bd8c1b578bff9a928c0d42c0a9aa9e58bd1762823b9db32d29
MD5 c15be35040969531ef682b1b35f193ac
BLAKE2b-256 82b7d46ee3053d20c6701b4ebde0824fe9ee036eb98842ac2124b7da70b32b05

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bd698f60f44187dbb6c64e7f6e6082144e78613d4c5c076d3174b4a34dfbb826
MD5 e252fbae9799ed9b2c83ce6089483631
BLAKE2b-256 3b0a64c6cdb4455d4565462757c5a6b2e4caed0933c3047f541cf901ac9b4533

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd6b6e484a74bd50c71a79b15fef6780fda3dee1ff2f2505acc337442309edc7
MD5 3f547a901eacfb088021a95b9b79b9d4
BLAKE2b-256 7ef516ed49ebd6bd27c49108579817ab762b1a78a9fe0c936441eccf5792b5fb

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df9f1ad07f12d5b606ba8edf567df06eb307cc8a0c99415f8ebf7a899c821e40
MD5 64223541ac440b4e720042856b17be95
BLAKE2b-256 cb9071ec7c0e54fc12938fb02fdecc2929c49cda6804a2313285a86efa5b13be

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c646e74a3823c85433c0b4835aa151d98e24fdfbcdce043dced68ec580ae1923
MD5 606261f958e407c3f62172c1fcec6587
BLAKE2b-256 ddd962130aecbde1b0e30b4574432094dd9352724a5181aaf3d3d8851f0049cc

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 29fb2f8410c68636b41ed48dcb54db0fa4808ae654b63650409922f88cc064c3
MD5 4313cac5907c936103e851d07e9f9b20
BLAKE2b-256 aed20b4d4e39a4cf12bc9430fe3b65d8667e941355e2a3444e1afaa0ac128b0c

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 441ffba8afe9671c64070f330dff22081c6eff82e6a62fa7b9bf902ed8acd21f
MD5 a03235b609d0d3e1c6a12fa79517a8a7
BLAKE2b-256 10fe0b1371609e1ad6e825e11023818c01fe7f61860d5081946c9f1a4872b8ea

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a706884e609de942ec44dca8e703aae3db4709103e39caada4280b9ed303541a
MD5 b414d5e2c3662343378f3c8a24e67cbd
BLAKE2b-256 5f3bf79c7d59d2f6ca02912cd8276c40d351a597e3d30d6e9919df7c13c7fa64

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 056eb7a3f05ef5ae00c951c502ac7e0881a273833779175a33beeaf2a035b251
MD5 9ecc195ee16001e31c2c292c5756c332
BLAKE2b-256 6d4c9a6c180c383cf7785d1ef1ce6f5e2171e31ab324def7daf2bbf751198eb0

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 745b31518c0d19aac4573c307e99092b374d30a8d581022ef67fe6ca16de45ff
MD5 5f26abdf3614c7bc4efe5ed1115b73fa
BLAKE2b-256 b3b07e96193d775db573dfadc31515951df0d95bfb0a683edbb861689e76ec03

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4a0064732cd4fb1483876c0a37b7d05fc2d1b1c356b420a521ea05dd9fa2a9e
MD5 c964c51b901bce36e6bcf8b8f6c9c208
BLAKE2b-256 3ae1d7aa36b36eba4f21931a71deb0b7398f2837617f524604a7e52c42957817

See more details on using hashes here.

File details

Details for the file pywellen-0.18.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywellen-0.18.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3628bfe9b1432189021b8fd617a656df812ec5aff9ec4363ede444a9d39231a
MD5 52bc68766a5173ab8c8758b9e3d5e89d
BLAKE2b-256 723277d1c1659259b4053f28867cde2bfaac30a5b18aba65aed67d2bb69002f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page