From a3815caa0aae9f14b535126ccbaaec03230086fc Mon Sep 17 00:00:00 2001 From: Nikolay Puzanov Date: Tue, 13 Jun 2023 16:35:18 +0300 Subject: [PATCH] Add XSIM --- README.md | 2 ++ test-xsim/.dir-locals.el | 1 + test-xsim/.gitignore | 4 ++++ test-xsim/__build.sh | 13 +++++++++++++ test-xsim/__run.sh | 4 ++++ test-xsim/top.sv | 7 +++++++ 6 files changed, 31 insertions(+) create mode 100644 test-xsim/.dir-locals.el create mode 100644 test-xsim/.gitignore create mode 100755 test-xsim/__build.sh create mode 100755 test-xsim/__run.sh create mode 100644 test-xsim/top.sv diff --git a/README.md b/README.md index ee61138..6b6ce44 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ Результаты для 200 знаков на том же процессоре: ``` test-iverilog: 3257116 + test-xsim: 938296 test-modelsim: 359562 test-verilator: 20816 ``` @@ -53,6 +54,7 @@ test-xcelium: 1 test-vcs: 1.37 test-modelsim: 5.95 + test-xsim: 15.5 test-iverilog: 58 ``` diff --git a/test-xsim/.dir-locals.el b/test-xsim/.dir-locals.el new file mode 100644 index 0000000..5621d3a --- /dev/null +++ b/test-xsim/.dir-locals.el @@ -0,0 +1 @@ +((verilog-mode . ((flycheck-verilator-include-path . ("../source"))))) diff --git a/test-xsim/.gitignore b/test-xsim/.gitignore new file mode 100644 index 0000000..20d30dc --- /dev/null +++ b/test-xsim/.gitignore @@ -0,0 +1,4 @@ +webtalk* +xsim.* +xelab.* +xvlog.* diff --git a/test-xsim/__build.sh b/test-xsim/__build.sh new file mode 100755 index 0000000..493a018 --- /dev/null +++ b/test-xsim/__build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -e + +FFILE=../source/sources.f +SOURCES=$(cat $FFILE | sed -ze 's/\n/ /g') + +rm -rf xsim.dir +rm -rf webtalk* +rm -rf xvlog.* xelab.* xsim.* +rm -rf top.wdb + +xvlog -work work --sv top.sv $SOURCES +xelab --O3 -L work top diff --git a/test-xsim/__run.sh b/test-xsim/__run.sh new file mode 100755 index 0000000..b5b82ed --- /dev/null +++ b/test-xsim/__run.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +#vsim -c -batch -voptargs=+acc=npr -do "run -all" -quiet -lib testbench top +xsim top --runall diff --git a/test-xsim/top.sv b/test-xsim/top.sv new file mode 100644 index 0000000..9dc38d8 --- /dev/null +++ b/test-xsim/top.sv @@ -0,0 +1,7 @@ +`timescale 1ps/1ps + +module top; + logic clock = 1'b0; + initial forever #(10ns/2) clock = ~clock; + testbench testbench (clock); +endmodule