m-kru / fsva

FuseSoc Verification Automation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Would like some OSVVM Examples

faberc opened this issue · comments

commented

Hi. I was hoping I could get some examples of fsva use, particularly using xsim/Vivado using some of the features listed on the ReadMe, such as OSVVM.

Also I was wondering if this tool could ouput reports in Junit format to work with most CI systems like Gitlab CI: https://docs.gitlab.com/ee/ci/unit_test_reports.html

@faberc
WRT OSVVM and xsim/Vivado. Here is the current update (July 2021):
I compiled all files on 2021.1. That was momentary good news. However, some packages do not work yet in simulation. In particular, AlertLogPkg. It needs a deep dive into root cause like I did for the AXI verification components in GHDL. It worked well in GHDL since I could find one blocking issue. Submit it and then get an update (worst case was 4 days). Some things I could work around, so I worked around them and ignored the root cause. I have offered to do the same with Xilinx. I have someone there checking to see if they can connect me with the developers - as that is really what it takes to get the job done. Waiting to hear back at this point.

I am optimistically hopeful.

I should note that OSVVM works well with the Intel/Altera modelsim tools.

commented

@faberc
Regarding Junit, it is currently not supported. However, this is simply another orthogonal output format, so there should be no problem adding it.

commented

OSVVM example with GHDL is provided in the repository https://github.com/m-kru/fsva/tree/master/dummy_fusesoc_lib/osvvm. You just need to compile OSVVM with compile-osvvm.sh script provided in the GHDL repository. After installing GHDL in the default destination the full path is /usr/local/lib/ghdl/vendors/compile-osvvm.sh. First you need to set proper path to OSVVM in /usr/local/lib/ghdl/vendors/config.sh.

For OSVVM examples that may not have been integrated into the fsva flow yet, see: https://github.com/OSVVM/OsvvmLibraries (make sure to use --recursive when you clone it as everything is in submodules).

If you take a look at the AXI4/Axi4/testbenches. Directions on running these are in Documentation/Axi4_VC_user_guide.pdf

p.s. OSVVM was born and raised in Portland.

commented

fsva supports all OSVVM features that the simulator supports. The sentence

For OSVVM examples that may not have been integrated into the fsva flow yet

makes no sense.

@m-kru Sorry I was not trying to imply that - as I don't know what scripts you do and do not have for running simulations.

What I meant is that OSVVM provides scripts for compiling and running OSVVM testbenches that are included with the distribution.

Does fsva also provide the ability to run the OSVVM testbenches? I had just noted that you pointed to a small example when there are much more significant examples provided with the OSVVM library.

commented

fsva -> FuseSoc -> Edalize -> {Simulator} if you can run it with particular simulator, then you can run it with fsva.