From a9a04a5d07925178456b8d6cb089c953913c2d39 Mon Sep 17 00:00:00 2001
From: Recolic Keghart <root@recolic.net>
Date: Tue, 4 Sep 2018 01:39:02 +0800
Subject: [PATCH] update readme

---
 README.md          |  4 ++++
 vivado_cc_setup.sh | 15 +++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100755 vivado_cc_setup.sh

diff --git a/README.md b/README.md
index 0f478df..6d23ba5 100644
--- a/README.md
+++ b/README.md
@@ -79,3 +79,7 @@ vivadow gui
 This is a bash script, so it can be easily injected. `Vivadofile` and `.vwc` constraint will be directly `source`d. **Never** trust Vivadofile uploaded by others!
 
 If you give a wrong top\_module name, *silly vivado* will accept it, and generate bitstream for a **randomly-taken** module(with long time spent), then report error.
+
+## TODO
+
+Support bridging C/C++ into systemverilog via SV DPI. However my vivado 2018 failed to simulate it, saying `xsim.dir/tb_dpi_behav/xsimk: error while loading shared libraries: unexpected PLT reloc type 0x00`.
diff --git a/vivado_cc_setup.sh b/vivado_cc_setup.sh
new file mode 100755
index 0000000..ec1aed2
--- /dev/null
+++ b/vivado_cc_setup.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+function backup_var () {
+    _var_name="$1"
+    export "_vivado_wrapper_backup_$_var_name"="$$$_var_name"
+    unset "$_var_name"
+}
+function recover_var () {
+     _var_name="$1"
+    export "$_var_name"="$$_vivado_wrapper_backup_$_var_name"
+    unset "_vivado_wrapper_backup_$_var_name"
+}
+
+backup_var a
+
-- 
GitLab