1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00
No description
Find a file
Niklas Eiling e20bcd3d1e fpga: add lowLatencyMode setting
This setting improves latency by remove various checks.
Use with caution! Requires read cache in FPGA design!
The common use case in VILLASfpga is that we have exactly
one write for every read and the number of exchanged signals
do not change. If this is the case, we can reuse the buffer
descriptors during reads and write, thus avoidng freeing,
reallocating and setting them up.
We set up the descriptors in start, and in write or read,
we only reset the complete bit in the buffer descriptor and
write to the tdesc register to start the DMA transfer.
Improves read/write latency by approx. 40%.

Signed-off-by: Niklas Eiling <niklas.eiling@eonerc.rwth-aachen.de>
2024-04-18 10:35:12 +02:00
.devcontainer Fix REUSE warnings 2024-03-27 17:22:07 +01:00
.reuse Fix REUSE warnings 2024-03-27 17:22:07 +01:00
clients Remove trailing whitespace 2024-02-29 23:18:47 +01:00
cmake Use spaces for indention of CMake files 2024-02-29 23:18:47 +01:00
common stats: Indent histogram output 2024-04-10 14:31:58 +02:00
doc Remove trailing whitespace 2024-02-29 23:18:47 +01:00
etc fpga: update ips json in fpga.conf 2024-04-18 10:35:12 +02:00
fpga fpga: expose methods for finer control over DMA data path 2024-04-18 10:35:12 +02:00
include/villas fpga: add lowLatencyMode setting 2024-04-18 10:35:12 +02:00
lib fpga: add lowLatencyMode setting 2024-04-18 10:35:12 +02:00
LICENSES Remove unused license 2024-02-29 20:04:32 +01:00
lua/hooks Add NEW_FRAME to SampleFlags 2023-09-19 19:07:22 +02:00
packaging nix: Reformat with nixfmt 2024-04-10 08:50:04 +02:00
plugins Apply clang-format changes 2023-09-08 11:37:42 +02:00
python python: Rename package and bump version 2024-04-09 10:51:17 +02:00
src Remove superfluous includes 2024-04-10 18:56:28 +02:00
tests test_rtt: Fix integration test 2024-04-10 14:31:58 +02:00
tools Remove obsolete villas-test-rtt CLI application 2024-04-10 14:31:58 +02:00
web Remove trailing whitespace 2024-02-29 23:18:47 +01:00
.clang-format Add missing REUSE headers 2023-09-08 11:37:42 +02:00
.clangd Add missing REUSE headers 2023-09-08 11:37:42 +02:00
.dockerignore Make project REUSE compliant 2023-09-07 11:16:04 +02:00
.editorconfig Use spaces for indention of .conf files 2024-02-29 23:18:47 +01:00
.envrc nix: Move flake to top-level path 2024-02-28 02:33:22 +01:00
.git-blame-ignore-revs Consollidate misc files from former common sub-module 2024-02-29 18:58:07 +01:00
.gitignore gitignore: add compile_commands.json to gitignore 2024-03-14 16:07:45 +01:00
.gitlab-ci.yml Update .gitlab-ci.yml 2024-04-15 07:52:03 +02:00
.gitmodules Merge project files, scripts and CMake files of VILLASfpga 2024-02-29 19:33:23 +01:00
.mailmap Add missing REUSE headers 2023-09-08 11:37:42 +02:00
CMakeLists.txt cmake: Fix check for rtp node-type 2024-03-26 13:01:15 +01:00
CODEOWNERS Update CODEOWNERS 2024-03-28 12:42:27 +01:00
CONTRIBUTING.md Update contribution guide 2023-09-08 11:37:42 +02:00
flake.lock nix: Replace our ethercat package which the one packaged in nixpkgs 2024-04-10 08:50:04 +02:00
flake.nix nix: Reformat with nixfmt 2024-04-10 08:50:04 +02:00
LICENSE Make project REUSE compliant 2023-09-07 11:16:04 +02:00
README.md Merge project files, scripts and CMake files of VILLASfpga 2024-02-29 19:33:23 +01:00

VILLASnode

build status

This is VILLASnode, a gateway for processing and forwardning simulation data between real-time simulators. VILLASnode is a client/server application to connect simulation equipment and software such as:

  • OPAL-RT RT-LAB,
  • RTDS GTFPGA cards,
  • RTDS GTWIF cards,
  • Simulink,
  • LabView,
  • and FPGA models

by using protocols such as:

  • IEEE 802.2 Ethernet / IP / UDP,
  • ZeroMQ & nanomsg,
  • MQTT & AMQP
  • WebSockets
  • Shared Memory
  • Files
  • IEC 61850 Sampled Values / GOOSE
  • Analog/Digital IO via Comedi drivers
  • Infiniband (ibverbs)

It's designed with a focus on very low latency to achieve real-time exchange of simulation data. VILLASnode is used in distributed- and co-simulation scenarios and developed for the field of power grid simulation at the EON Energy Research Center in Aachen, Germany.

Documentation

User documentation is available here: https://villas.fein-aachen.org/docs/

License

This project is released under the terms of the Apache 2.0 license.

We kindly ask all academic publications employing components of VILLASframework to cite one of the following papers:

For other licensing options please consult Prof. Antonello Monti.

  • SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
  • SPDX-FileCopyrightText: 2023 OPAL-RT Germany GmbH
  • SPDX-FileCopyrightText: 2022-2023 Niklas Eiling niklas.eiling@eonerc.rwth-aachen.de
  • SPDX-FileCopyrightText: 2018-2023 Steffen Vogel post@steffenvogel.de
  • SPDX-FileCopyrightText: 2018 Daniel Krebs dkrebs@eonerc.rwth-aachen.de
  • SPDX-License-Identifier: Apache-2.0

Contact

EONERC ACS Logo

Institute for Automation of Complex Power Systems (ACS) EON Energy Research Center (EONERC) RWTH University Aachen, Germany