m-kru / fsva

FuseSoc Verification Automation
MIT License
21 stars 3 forks source link

Would like some OSVVM Examples #4

Open faberc opened 3 years ago

faberc commented 3 years ago

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

JimLewis commented 3 years ago

@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.

m-kru commented 3 years ago

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

m-kru commented 3 years ago

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.

JimLewis commented 3 years ago

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.

m-kru commented 3 years ago

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.

JimLewis commented 3 years ago

@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.

m-kru commented 3 years ago

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