[tracking] Completion of VHPI support in Questa

This issue has been created since 2021-12-09.

Questa is working on supporting VHPI in addition to FLI (which continues to work and is fully supported).

The current 2021.4 release shows the following test failures in the cocotb test suite:

Failure in testsuite: 'all' classname: 'test_vhdl_access' testcase: 'check_objects' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_array' testcase: 'test_gen_loop' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_array' testcase: 'test_discover_all' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_vhdl_zerovector' testcase: 'test_long_signal' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_vhdl_zerovector' testcase: 'test_read_zero_signal' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_vhdl_zerovector' testcase: 'test_write_zero_signal_with_0' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_vhdl_zerovector' testcase: 'test_write_zero_signal_with_1' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_force_release' testcase: 'test_force_release' with parameters 'all'
Failure in testsuite: 'all' classname: 'test_iteration' testcase: 'recursive_discovery' with parameters 'all'

Plus #2749, which is expected to be fixed by Questa 2022.1 (to be confirmed), but will also be fixed by #2750 on the cocotb side.

Let's use this issue to track progress towards a full VHPI implementation (as far as cocotb needs it), and then remove the experimental label (https://github.com/cocotb/cocotb/blob/master/documentation/source/simulator_support.rst#mentorsiemens-eda-questa).

Steps to reproduce these failures:

git clone https://github.com/cocotb/cocotb.git
git checkout cb876412fdaee249407619c1d4e34d3c04241754 # at the time of writing, but also try master!
VHDL_GPI_INTERFACE=vhpi SIM=questa TOPLEVEL_LANG=vhdl tox -e py3
raysalemi wrote this answer on 2021-12-09

I've shared these with Ritesh.

@imphil, could you open a Service Request to track this?

marlonjames wrote this answer on 2021-12-11

Is the vhpiCbRepStartOfPostponed callback on the Questa roadmap?

I know they are planning on being more permissive in vhpiCbRepEndOfTimeStep callbacks, but I would rather be VHPI compliant if possible.

raysalemi wrote this answer on 2021-12-11

Is the vhpiCbRepStartOfPostponed callback on the Questa roadmap?

I know they are planning on being more permissive in vhpiCbRepEndOfTimeStep callbacks, but I would rather be VHPI compliant if possible.

Is this the restart issue?

raysalemi wrote this answer on 2021-12-11

I'm not sure if @imphil has opened an SR on this issue. If so, I could use the number.

marlonjames wrote this answer on 2021-12-12

Is this the restart issue?

No, this relates to #2749

raysalemi wrote this answer on 2021-12-12

@riteshmentor is driving these issues

imphil wrote this answer on 2022-03-31

I just gave Questa 2022.1 a try with VHPI and we're not quite there yet: the cocotb test suite shows a number of failures in different areas of VHPI support. I reached out to Rick White at Siemens to feed these findings back into the Questa product development.

raysalemi wrote this answer on 2022-04-01

Thanks! Are these new issues in the new version or are they simply things we haven't fixed yet?

imphil wrote this answer on 2022-04-01

Thanks! Are these new issues in the new version or are they simply things we haven't fixed yet?

I'm not fully sure, it seems to be a bit of both on first sight. But I haven't done an in-depth analysis of the fails so far.

ktbarrett wrote this answer on 2022-04-01

@raysalemi I reported this a couple months ago. It is a bug, edge triggers are not working properly.

marlonjames wrote this answer on 2022-04-01

test_vhdl_access is having an issue with for generate statements as well.

imphil wrote this answer on 2022-07-04

Status update: The remaining issues should be fixed as part of an upcoming Questa release together with #3021 on the cocotb side.

imphil wrote this answer on 2022-07-05

All code updates should be in cocotb now. Let's wait for the upcoming Questa release and close this issue if we can verify the functionality with the released version.

imphil wrote this answer on 2022-08-24

Questa 2022.3 passes the cocotb test suite on master (as of today). #3055 documents this fact.

imphil wrote this answer on 2022-08-24

cocotb CI is now also running against Questa 2022.3 and requires passing Questa VHPI tests from now on.

imphil wrote this answer on 2022-08-25

The documentation is now updated as well, let's consider this task done!

More Details About Repo
Owner Name cocotb
Repo Name cocotb
Full Name cocotb/cocotb
Language Python
Created Date 2013-06-12
Updated Date 2022-09-28
Star Count 1183
Watcher Count 107
Fork Count 388
Issue Count 401

YOU MAY BE INTERESTED

Issue Title Created Date Comment Count Updated Date
Default API Version. 0 2021-12-06 2022-05-22
Message "email - has already been taken" returned after customer_create success 0 2021-12-17 2022-09-09
How about cursor: default rather than pointer on the arrows? 1 2019-11-20 2022-08-29
Cannot use the web tool to configure SVGs 7 2021-02-20 2022-09-03
最後の人狼が処刑されても人狼勝利になる in 量子 1 2021-09-14 2022-09-23
class "int" not found 4 2021-02-20 2022-09-16
lld-link -r not supported 7 2020-06-07 2022-08-12
missing feed api for create new feed in group 0 2021-01-18 2022-09-18
make loop device more reliable 0 2022-01-05 2022-08-07
Suneditor.css 미적용 문의 1 2021-10-12 2022-09-16
How to return error on mismatch of route param 3 2021-04-07 2022-09-03
Script editor seems broken, no syntax highlight 2 2022-07-14 2022-09-02
Compatibility with acme-vault 1 2022-09-06 2022-09-15
Custom behavior for the situation when the service has no healthy instances 2 2022-07-26 2022-09-15
[basic.def.odr] p12 Is the definition domain isolated or union 4 2022-07-12 2022-09-01
EL8 with selinux: package tomcatjss is filtered out by modular filtering 2 2021-04-23 2022-07-22
Nested Actions if Variable meets Condition... & Matrix of Custom Variables 1 2022-08-18 2022-09-13
callback OrderAttributesRector 3 2022-05-05 2022-09-17
[Routing] Encode qubits into integers to replace dictionary lookups with array indexing. 2 2022-09-07 2022-09-30
canonical sandbox is broken 6 2021-10-07 2022-09-28
webp images are not working correctly on firefox 8 2021-02-16 2022-09-25
Replace alt_id annotation with owl:deprecated/replaced_by? 10 2022-06-20 2022-09-09
screenshotBox doesn't update if method getPageSource execute longer 10sec 1 2021-11-05 2022-08-27
online代码生成器提示非admin用户无权限操作 3 2022-08-20 2022-09-19
Support custom search directories 9 2021-08-26 2022-09-02
The web application not compatible with Macbook 1 2022-07-06 2022-09-22
Next / Prev buttons doesnt enable on first or last item in the slide list 1 2021-10-01 2022-09-28
Null safety 3 2021-01-20 2022-01-12
"Process exited before completing request" for large payloads 10 2019-09-02 2022-09-29
Update Sega - Mega Drive - Genesis.dat 1 2021-09-14 2022-04-25
[question] Notify backend worker a new channel has been opened 3 2021-08-19 2022-09-15
Rex::Proto::SMB::Exceptions::LoginError Login Failed: undefined method `force_encoding' for nil:NilClass 7 2021-11-29 2022-09-16
Text must be changed before loading mappacks 0 2022-08-20 2022-09-18
Incorrect displaying of "non-calculated scores" 6 2022-08-21 2022-09-18
Add a setting to prevent previous names from being displayed 1 2022-08-28 2022-09-18
Major Bug regarding TensorPoints 2 2020-08-17 2022-09-10
Switch publish-release-build.yml to CAR 3 2021-09-06 2022-08-10
Performance issues with 1.31.0 (Layout/FirstHashElementIndentation and Layout/FirstArrayElementIndentation) 5 2022-06-28 2022-07-24
Error on "covid19_and_economic_simulation.ipynb" 1 2021-10-14 2022-09-09
Jenkins: Performance data upload from Compy, Cori 10 2020-05-28 2022-06-08
Set max depth when cloning a git repository 1 2021-04-01 2022-07-30
alexa not using matrix creator mic 0 2018-05-09 2022-08-23
Inline function should inline simple identifiers 0 2021-12-10 2022-07-11
Inlining corrupts the scope of variables 0 2021-12-10 2022-09-05
proxy 5.1.1 Problems related to database fragmentation 0 2022-06-18 2022-06-15
Is it possible to detect unmatched DATANODES and DATABASE_STRATEGY / TABLE_STRATEGY for tables rule 0 2022-06-19 2022-09-21
When use SS & openGaussDB , exception occur. 2 2022-06-18 2022-08-21
links to web pages do not works 7 2016-02-03 2022-09-21
Update two_factor_confirmed_at after successful prompt 1 2022-05-09 2022-09-21
Java RocksDB 6.4.6 returning -24 for rocksdb.estimate-num-keys 6 2020-03-09 2022-09-27