VUnit / vunit

VUnit is a unit testing framework for VHDL/SystemVerilog
http://vunit.github.io/
Other
722 stars 260 forks source link

Add support for Vivado XSIM #209

Open LarsAsplund opened 7 years ago

LarsAsplund commented 7 years ago

We have started to do some work but we didn't have an issue for it so I'm creating one.

schluta commented 7 years ago

Any update on this? Any help needed?

LarsAsplund commented 7 years ago

@flamebut57 This issue has been dormant awaiting more interest. Maybe we're seeing that now? There were also some tool issues the last time we made some prototyping:

We can surely use some help. Interested? Finding out if these two issues remains would be a starting point.

drizzd commented 7 years ago

I just tested both issues with Vivado 2013.1, 2016.2 and 2017.2.

LarsAsplund commented 7 years ago

@flamebut57 Is this true with all the tested versions? I can't remember what version I used to test user defined resolved types but 2013.1 should have been available at the time. What did your type look like? Was it based on std_logic?

aodling commented 6 years ago

Hi!

Any updates to this issue?

kraigher commented 6 years ago

There is no active work to add support for xsim. There have been some preliminary tests which shows it lacks enough VHDL support of even 93 standard to accept the VUnit code. Also it has a very sluggish startup time which would hinder fast feedback when running multiple small tests. The first issue can be worked arround in VUnit at least but takes effort which I am currently not willing to spend. If anyone in the community wants to give it a go fine by me.

pedronevestopic commented 6 years ago

I am not very experienced in Python, but I am in VHDL. I have some time and I would like to look into this to see if I can make it work with XSIM. Where should I start from? Is there a branch of previous attempts?

kraigher commented 6 years ago

@pedronevestopic I pushed a branch with a work in progress implementation of Python-level support. I do not know how well it works any more. The major blocker is the lack of VHDL support in particular user defined resolved types. Those limitations could be worked around though.

jklapel commented 6 years ago

@pedronevestopic Were you able to make any progress on making the VHDL work in XSIM?

schluta commented 6 years ago

I apologize as I have been very busy in the last year. I did throw together a template to use Vivado Simulator for both Verilog and VHDL. I was attempting to run the instance of Vivado in a VM and I am unsure if I was running into memory issues but if I remember correctly it just hung forever.

To clarify I believe the VHDL test stated that there was an unsupported feature ( it was a compile order issue where it stated one file changed after another compiled this may have changed in newer versions I tested on 2015.4 and 2016.4), while the Verilog test just hung forever.

I would be happy to share these templates and test cases that I added if they are of interest or use to the community.

Let me know if there is any interest.

Thanks,

On Tue, Feb 13, 2018 at 11:00 AM, jklapel notifications@github.com wrote:

@pedronevestopic https://github.com/pedronevestopic Were you able to make any progress on making the VHDL work in XSIM?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VUnit/vunit/issues/209#issuecomment-365368695, or mute the thread https://github.com/notifications/unsubscribe-auth/AM4_JHx1VF6YLxy6zRws-9ijp9-PR_3Pks5tUdvHgaJpZM4K066i .

PetterssonMagnus commented 6 years ago

I am interested in xsim support, although from a purely (system)verilog perspective. Would https://github.com/VUnit/vunit/commit/1f91ea08f7f8e56b334116374d6676544b737858 be a good starting point should I have some spare time over?

pedronevestopic commented 6 years ago

I’m sorry. I couldn’t do anything . I got a problem on my back and going to need a surgery. I haven’t been able to sit on a computer. If no one has spend any time when I’m recovered in some months , I’ll pick it up.

kraigher commented 6 years ago

@PetterssonMagnus The xsim branch contains a work in progress that you can experiment with

jklapel commented 6 years ago

@PetterssonMagnus I was able to take the xsim branch and get it working for VHDL testbenches at a very basic level with only a day or so of tinkering with it. Getting Verilog to work with xsim shouldn't be too much different I don't believe, though I haven't tried it. I ran into bigger issues with the custom resolved types in VHDL. (Take a look at the conversation I had with kraigher on February 13th on the Gitter chat.) I don't know how the Verilog side of VUnit works, but my understanding is that Xilinx doesn't have a lot of support SystemVerilog.

PetterssonMagnus commented 6 years ago

Ok, I have been able to successfully get the example user_guide through xvlog thus creating libraries vunit_lib and lib. Subsequently xelab seems to lock up, neither finish executing nor providing me with any error messages.

xelab -L vunit_lib -L lib --runall lib.tb_example --generic_top "runner_cfg=active python runner : true,enabled_test_cases : Test that a test case that takes too long time fails with a timeout,output path : C::/repo/vunit/examples/verilog/user_guide/vunit_out/test_output/lib.tb_example.f763c9dbbd826025101721b40758dfe8d596eff6/" -v 1 -O0 -mt off I get the following output: .... Starting static elaboration INFO: [VRFC 10-520] compiling module tb_example [C:/repo/vunit/examples/verilog/user_guide/tb_example.sv:12] Completed static elaboration Starting simulation data flow analysis Completed simulation data flow analysis SDG Object Count: 375, SDG Object Memory Usage: 46 KB. Time Resolution for simulation is 1ps Compiling module lib.tb_example

... and then the fun ends ... id est nothing more happens.

LarsAsplund commented 6 years ago

@PetterssonMagnus What happens if you setup the project from within XSIM? Does it fail? Does it give you more info? If not, I would start doing some divide an conquer

PetterssonMagnus commented 6 years ago

Eventually I got verilog examples "uart" and "user_guide" to work in non-gui mode. Have not verified, but I doubt xsim supports verilog-ams. Created a fork: https://github.com/PetterssonMagnus/vunit/tree/xsim .

LarsAsplund commented 6 years ago

@jklapel @kraigher @PetterssonMagnus I have pushed a VUnit version without custom types to a new branch. I'm keeping it on a branch because I need someone to test if Incisive still works. The runner signal which used to be of a custom resolved type is currently a two bit std_logic_vector but I may take that another step and make it a single std_logic. That work wouldn't affect the porting to XSIM much so you can go ahead with what I have now.

LarsAsplund commented 6 years ago

@jklapel @kraigher @PetterssonMagnus I've merged the aforementioned branch to master now such that it doesn't use any custom resolved types.

haggaie commented 5 years ago

Hi, I rebased the xsim support on master and tested the SystemVerilog examples. I had to modify the code a bit to make it work on Linux.

LarsAsplund commented 5 years ago

I'll test this. I think it's about time we get this going so any help is appreciated. @PetterssonMagnus Do you have any comments on the status of your work?

PetterssonMagnus commented 5 years ago

Hm, this was a while ago. Status, Been using vunit and xsim for sv testbenches. The only non pushed, functional, addition I have is a crude way of specifying Xsim initfile. Used to locate ips and other Xilinx libraries. At some point I had the vhdl examples compiling but ran into null pointer exceptions immediately at startup(elab). Think it was due to the order of objects (runner perhaps) being created / referenced. The vunit internal vhdl code required a few hours of transformations to get to that.

ro-ca commented 5 years ago

Hi! Is there any progress on this? What's the best way to test out what y'all have or help out? Still new to GitHub, but good at python / vhdl. Looks to my untrained eye that @haggaie and @PetterssonMagnus 's branches are identical, but both may have fallen somewhat behind the master. Is that accurate? Any thoughts on what needs to be done to get vhdl compiling?

eine commented 5 years ago

@ro-ca, I rebased their branch on top of master, so you can try it: https://github.com/1138-4EB/vunit/tree/petterssonmagnus-xsim

imd1 commented 4 years ago

Hi

I've downloaded https://github.com/1138-4EB/vunit/tree/petterssonmagnus-xsim and tried to run one of my existing testsuites (OK under Questasim and GHDL) using Vivado 2018.3. and I get the following compile error for a VUnit library file:

ERROR: [VRFC 10-1261] prefix of LENGTH attribute should be an array or array (sub)type [/usr/lib/....../vunit/vhdl/data_types/src/string_ptr_pkg-body-2002p.vhd:93]

Is this expected, anticipated? Are there any workarounds?

Regards Ian

eine commented 4 years ago

It seems to be an unsupported feature in Vivado.

Therefore, ptrs(ref) is/returns an access to a string. It might be possible to work around the issue by rewriting function length:

    impure function length (
      ref : natural
    ) return integer is
    variable s : string_access_t := ptrs(ref);
    begin
      return s'length;
    end;

Further notes:

imd1 commented 4 years ago

I'm happy to make some progress on this, but I'm not too GitHub literate, so I might need some guidance on topics such as forking and rebase in this case. Should I fork 1138-4EB/vunit and work on the xsim branch? How should I rebase?

eine commented 4 years ago

I suggest to clone this repo first:

git clone --recurse-submodules https://github.com/VUnit/vunit
cd vunit

Then, add my fork as a remote:

git remote add 1138-4EB https://github.com/1138-4EB/vunit
git fetch 1138-4EB

Now, checkout the branch:

git checkout -b xsim 1138-4EB/petterssonmagnus-xsim

Last, you can either fix this version, or rebase:

git rebase origin/master

Rebasing will require you to fix possible conflicts between existing modifications in branch xsim and recent additions to master. Likely in Pythons sources, since no VHDL sources are modified in branch xsim: https://github.com/VUnit/vunit/compare/master...1138-4EB:petterssonmagnus-xsim

If you don't know how to fix conflicts, just git rebase --abort and you will be back in xsim (1138-4EB/petterssonmagnus-xsim).

imd1 commented 4 years ago

I've applied the suggested patch to string_ptr_pkg-body-2002p.vhd and now I get an error in the file that is compiled immediately after...

ERROR: [VRFC 10-3782] `string_ptr_pkg` is not compiled into `vunit_lib` [/usr/lib/..../vhdl/logging/src/ansi_pkg.vhd:10]

The console output shows passes for string_ptr_pkg-body-2002p.vhs and string_ptr_pkg.vhd immediately before a fail for ansi_pkg.vhd

Any ideas?

eine commented 4 years ago

@imd1, on the one hand, it seems that you are trying to compile sources with vhdl_standard=08, which is likely to fail because VHDL 2008 support in Vivado is quite limited. I suggest to use vhdl_standard=93. On the other hand, bear https://github.com/VUnit/vunit/issues/209#issuecomment-335524828 in mind.

haggaie commented 4 years ago

I have a question related to Vivado & Xsim. I'm trying to use a testbench that uses Vivado's AXI Verification IP libraries. I added the IP similarly to the example in the examples/vhdl/vivado dir (skipping the compilation of the Vivado library because this is only for 3rd party simulators as far as I can see). Now I'm getting errors when building the XCI's generated SystemVerilog file saying that:

ERROR: [VRFC 10-91] axi_vip_pkg is not declared

The axi_vip_pkg.sv file is part of the Vivado library (found at /opt/Xilinx/Vivado/2018.2/data/xilinx_vip/hdl/), and I thought it should find it automatically when using xsim.

Do you think this is an issue with how xsim is run? Or should I add this file manually to the project?

haggaie commented 4 years ago
ERROR: [VRFC 10-91] axi_vip_pkg is not declared

This was solved by adding -L xilinx_vip to the compiler command line.

qarlosalberto commented 4 years ago

I would like help with Xsim support.

@eine I am really interested in common VUnit functionalities and array library. My goal is to simulate a test as this https://github.com/qarlosalberto/cordicHDL/blob/develop/tb/cordic_top_tb.vhd with Xsim What could I need?

eine commented 4 years ago

@qarlosalberto, see https://github.com/VUnit/vunit/issues/209#issuecomment-545942699. I believe that the codebase didn't change significantly in that regard during the last couple of months.

qarlosalberto commented 4 years ago

I'm working on with the setup:

I have applied some changes and now I have this error:

ERROR: [VRFC 10-3763] type error near 'arr.data' ; expected type 'natural' [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd:157]
ERROR: [VRFC 10-3340] formal 'ref' has no actual or default value [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd:157]
ERROR: [VRFC 10-3464] indexed name prefix type 'integer' is not an array type [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd:157]

I have compiled:

Compiling into src_lib:   mux.vhd                                                               passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit_vivado_example/mux.vhd" into library work
INFO: [VRFC 10-3107] analyzing entity 'mux'
Compiling into vunit_lib: ../vunit/vunit/vhdl/string_ops/src/string_ops.vhd                     passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/string_ops/src/string_ops.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/path/src/path.vhd                                 passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/path/src/path.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/logging/src/print_pkg.vhd                         passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/logging/src/print_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/types.vhd                          passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/types.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/codec_builder.vhd                  passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/codec_builder.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/codec.vhd                          passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/codec.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/string_ptr_pkg.vhd                 passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/string_ptr_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/string_ptr_pkg-body-93.vhd         passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/string_ptr_pkg-body-93.vhd" into library work
WARNING: [VRFC 10-2115] shared variables must be of a protected type [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/string_ptr_pkg-body-93.vhd:8]
WARNING: [VRFC 10-2115] shared variables must be of a protected type [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/string_ptr_pkg-body-93.vhd:9]
Compiling into vunit_lib: ../vunit/vunit/vhdl/logging/src/ansi_pkg.vhd                          passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/logging/src/ansi_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/logging/src/log_levels_pkg.vhd                    passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/logging/src/log_levels_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd         passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-93.vhd passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-93.vhd" into library work
WARNING: [VRFC 10-2115] shared variables must be of a protected type [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-93.vhd:8]
WARNING: [VRFC 10-2115] shared variables must be of a protected type [/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-93.vhd:9]
Compiling into vunit_lib: ../vunit/vunit/vhdl/logging/src/file_pkg.vhd                          passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/logging/src/file_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/integer_array_pkg.vhd              passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/data_types/src/integer_array_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/data_types/src/integer_array_pkg-body.vhd         failed
qarlosalberto commented 4 years ago

My fault, I have been a wrong change. But I have a error with:

integer_vector_ptr_pkg-body-93.vhd

  impure function length (
    ptr : ptr_t
  ) return integer is begin
    return ptrs(ptr.ref)'length;
  end;
eine commented 4 years ago

See https://github.com/VUnit/vunit/issues/209#issuecomment-545942699.

qarlosalberto commented 4 years ago

Is it correct the change?

--  impure function length (
--    ptr : ptr_t
--  ) return integer is begin
--    return ptrs(ptr.ref)'length;
--  end;

  impure function length (
    ptr : ptr_t
  ) return integer is
    variable s : string_access_t := ptrs(ptr_t.ref);
  begin
    return s'length;
  end;
eine commented 4 years ago

Worth a try.

qarlosalberto commented 4 years ago

I have compiled all libraries :)

But I don't know why Vivado say that they aren't compiled in library vunit_lib...

=== Command output: ===
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit_vivado_example/mux_tb.vhd" into library work
ERROR: [VRFC 10-2987] 'string_ops' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:16]
ERROR: [VRFC 10-2987] 'dictionary' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:17]
ERROR: [VRFC 10-2987] 'path' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:18]
ERROR: [VRFC 10-2987] 'print_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:19]
ERROR: [VRFC 10-2987] 'log_levels_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:20]
ERROR: [VRFC 10-2987] 'logger_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:21]
ERROR: [VRFC 10-2987] 'log_handler_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:22]
ERROR: [VRFC 10-2987] 'log_deprecated_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:23]
ERROR: [VRFC 10-2987] 'ansi_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:24]
library vunit_lib;
-- context vunit_lib.vunit_context;
use vunit_lib.string_ops.all;
use vunit_lib.dictionary.all;
use vunit_lib.path.all;
use vunit_lib.print_pkg.all;
use vunit_lib.log_levels_pkg.all;
use vunit_lib.logger_pkg.all;
use vunit_lib.log_handler_pkg.all;
use vunit_lib.log_deprecated_pkg.all;
use vunit_lib.ansi_pkg.all;
use vunit_lib.checker_pkg.all;
use vunit_lib.check_pkg.all;
use vunit_lib.check_deprecated_pkg.all;
use vunit_lib.run_types_pkg.all;
use vunit_lib.run_pkg.all;
use vunit_lib.run_deprecated_pkg.all;
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/dictionary/src/dictionary.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/run/src/run_types.vhd                             passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/run/src/run_types.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/run/src/runner_pkg.vhd                            passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/run/src/runner_pkg.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/run/src/run_api.vhd                               passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/run/src/run_api.vhd" into library work
Compiling into vunit_lib: ../vunit/vunit/vhdl/run/src/run.vhd                                   passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/run/src/run.vhd" into library work
qarlosalberto commented 4 years ago

With this line I compile VUnit libraries into vunit_lib, but I have the same error:

https://github.com/eine/vunit/blob/petterssonmagnus-xsim/vunit/xsim_interface.py#L103

INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/run/src/run_deprecated_pkg.vhd" into library vunit_lib
Compiling into vunit_lib: ../vunit/vunit/vhdl/check/src/check_api.vhd                           passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/check/src/check_api.vhd" into library vunit_lib
Compiling into vunit_lib: ../vunit/vunit/vhdl/check/src/check.vhd                               passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/check/src/check.vhd" into library vunit_lib
Compiling into vunit_lib: ../vunit/vunit/vhdl/check/src/check_deprecated_pkg.vhd                passed
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit/vunit/vhdl/check/src/check_deprecated_pkg.vhd" into library vunit_lib
=== Command output: ===
INFO: [VRFC 10-163] Analyzing VHDL file "/home/carlos/repo/vunit_vivado_example/mux_tb.vhd" into library tb_lib
ERROR: [VRFC 10-2987] 'string_ops' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:15]
ERROR: [VRFC 10-2987] 'dictionary' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:16]
ERROR: [VRFC 10-2987] 'path' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:17]
ERROR: [VRFC 10-2987] 'print_pkg' is not compiled in library 'vunit_lib' [/home/carlos/repo/vunit_vivado_example/mux_tb.vhd:18]
qarlosalberto commented 4 years ago

@imd1 Did you get it to work?

qarlosalberto commented 4 years ago

To use XSim with VUnit VHDL libraries isn't possible. XSim doesn't support variable access types, for example:

acc := new vav_t'(0 to acc'length + 2**16 => null);

This is a big problem, since it is used in the basic types of VUnit.

I'm woking in a very basic VUnit funcionalities in this repo:

https://github.com/softwareradiosystems/vunit

This is an example of VUnit with VHDL Xsim:

https://github.com/softwareradiosystems/vunit/tree/xsim-rebase-v2/examples/vhdl/xsim-test

Piressss commented 4 years ago

@qarlosalberto Do you have any news?

qarlosalberto commented 4 years ago

I'm using VUnit with Xsim in my job. It's a basic support:

https://github.com/softwareradiosystems/vunit/tree/xsim-rebase-v2

Although you can't use the VUnit libraries (only array). What do you want to do? I can say you if Xsim branch supports it.

Piressss commented 4 years ago

We use the ModelSim integrated with Vunit, but we have a limit of 3 licenses for that job. I would like to test the VSim integrated with Vunit for small and simples testbench, using the Vunit Check Library.

qarlosalberto commented 4 years ago

Here you can see the implemented functions of Check Library for Xsim:

https://github.com/softwareradiosystems/vunit/tree/xsim-rebase-v2/vunit/vhdl/xsim/check/src

You could add more functions.

Piressss commented 4 years ago

I'll try to use it. Thanks.

eine commented 4 years ago

We use the ModelSim integrated with Vunit, but we have a limit of 3 licenses for that job. I would like to test the VSim integrated with Vunit for small and simples testbench, using the Vunit Check Library.

Have you considered to use GHDL for this purpose instead of XSim? Since it is free and open source software, you don't have any license-related constraint; and it is very lightweight compared to Vivado.

qarlosalberto commented 4 years ago

@eine is right, if it is possible use GHDL. A simulation in Xsim can be 20 times slower than in GHDL...

I'll try to use it. Thanks.

If you have any problem ask it :)