diff --git a/fpga/lib/ips/axis_cache.cpp b/fpga/lib/ips/axis_cache.cpp index 3d24676d1..9e80bf1ff 100644 --- a/fpga/lib/ips/axis_cache.cpp +++ b/fpga/lib/ips/axis_cache.cpp @@ -17,7 +17,10 @@ using namespace villas::fpga::ip; AxisCache::AxisCache() : Node() {} -bool AxisCache::init() { return true; } +bool AxisCache::init() { + invalidate(); + return true; +} bool AxisCache::check() { @@ -47,6 +50,11 @@ bool AxisCache::check() { return true; } +void AxisCache::invalidate() { + setRegister(0, 1U << 31); + logger->info("invalidated AXIS cache."); +} + void AxisCache::setRegister(size_t reg, uint32_t value) { if (reg >= registerNum) { logger->error("Register index out of range: {}/{}", reg, registerNum); diff --git a/tools/hwdef-parse.py b/tools/hwdef-parse.py index 510ef0e48..d2a32e2b2 100755 --- a/tools/hwdef-parse.py +++ b/tools/hwdef-parse.py @@ -50,6 +50,7 @@ whitelist = [ ["xilinx.com", "module_ref", "dinoif_dac"], ["xilinx.com", "module_ref", "axi_pcie_intc"], ["xilinx.com", "module_ref", "registerif"], + ["xilinx.com", "module_ref", "axi_read_cache"], ["xilinx.com", "hls", "rtds2gpu"], ["xilinx.com", "hls", "mem"], ["acs.eonerc.rwth-aachen.de", "user", "axi_pcie_intc"], @@ -69,6 +70,7 @@ axi_converter_whitelist = [ ["xilinx.com", "ip", "axis_register_slice"], ["xilinx.com", "ip", "axis_data_fifo"], ["xilinx.com", "ip", "floating_point"], + ["xilinx.com", "module_ref", "prepend_seqnum"], ] opponent = {