Repository navigation
Expand file tree
/
Copy pathsetup.cfg
More file actions
34 lines (28 loc) · 2 KB
/
Copy pathsetup.cfg
File metadata and controls
34 lines (28 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[metadata]
name = verime
version = 2.0.0
author = Charles Momin, Gaëtan Cassiers
author_email = charles.momin@uclouvain.be, gaetan.cassiers@uclouvain.be
url = https://github.com/simple-crypto/verime
license = GPLv3
description = Python binding generator for veriltor-based simulators of verilog designs.
long_description_content_type = text/markdown
long_description =
Python binding generator for veriltor-based simulators of verilog designs.
In the context of the side-channel analysis of hardware implementations, an evaluator usually requires to have access to the internal values of a target circuitry. For this purpose, a circuit oracle simulating these values is implemented, which may turn out to be time consuming to do manually (e.g., each probed internal value should be modeled and any modification of the original circuitry implies to rewrite the circuit oracle) and/or achieve poor performances (e.g., spawning a simulator process for each simulation).
The Verime tool is proposed to tackle these issues. In particular, it automatically generates a prediction library of a circuit (described in Verilog). More precisely, it performs behavioral verilog simulations during an arbitrary amount of clock cycles thanks to a Verilator backend. Verilator is a powerful tool, but requires some expertise and predicting certain internal states using the `\* verilator public *\` pragma can be challenging and time consuming to setup for a non-experienced user. Based on that, the Verime tools acts as a wrapper for verilator and aims to (significantly) reduce the evaluator work: it automatically generates the C++ Verilator backend code and generates a user friendly python package thant can be easily integrated and used.
[options]
package_dir =
= src
packages = find_namespace:
python_requires = >=3.11
include_package_data = True
install_requires =
build >= 1.0.0
[options.packages.find]
where = src
[options.package_data]
verime.data = *.*
[options.entry_points]
console_scripts =
verime = verime.verime:main