Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] VHDL - what is vmode? A keyword I've never heard of?

Status
Not open for further replies.

wtr

Full Member level 5
Joined
May 1, 2014
Messages
299
Helped
29
Reputation
58
Reaction score
25
Trophy points
1,308
Activity points
4,108
VHDL - what is vmode ? a keyword i've never heard of?

See picture below
legacy code used vmode & as you can see it not identify as identifier. In addition npp applies syntax highlighting to it
vmode.PNG

- - - Updated - - -

Turns out it's a new syntax added in 2008 - Relates to PSL.

Can I reword this question. What is psl and will I ever need it?
 

Re: VHDL - what is vmode ? a keyword i've never heard of?

It stands for Property Specification Language and if you plan on working on ASICs or verification you will likely need to learn it.
 

Re: VHDL - what is vmode ? a keyword i've never heard of?

It stands for Property Specification Language and if you plan on working on ASICs or verification you will likely need to learn it.

Maybe, but you're probably better off learning SVA.

To the OP: why oh why all the shared variables? They are clearly not intended for write-before-read inferred rams - so why are you using them?
 

Re: VHDL - what is vmode ? a keyword i've never heard of?

Shared variables in VHDL -2008 are required to be protected types accessed by methods. Your shared variables won't work in -2008, also shared variables as protected types introduced in -2000 are not supported for synthesis. It would seem you should be using compatibility modes for an earlier version of VHDL (-1993).

See IEEE Standard VHDL Language Reference Manual, Amendment 1: Procedural Language Application Interface, IEEE Std 1076c-2007 for the introduction of PLI support in the VHDL standard, folded into the IEEE Std 1076-2008 revision.
 
  • Like
Reactions: wtr

    wtr

    Points: 2
    Helpful Answer Positive Rating
Re: VHDL - what is vmode ? a keyword i've never heard of?

Shared variables in VHDL -2008 are required to be protected types accessed by methods. Your shared variables won't work in -2008, also shared variables as protected types introduced in -2000 are not supported for synthesis. It would seem you should be using compatibility modes for an earlier version of VHDL (-1993).

See IEEE Standard VHDL Language Reference Manual, Amendment 1: Procedural Language Application Interface, IEEE Std 1076c-2007 for the introduction of PLI support in the VHDL standard, folded into the IEEE Std 1076-2008 revision.

This is true, but both modelsim and quartus ignore this rule by default for the sake of backwards compatability.
Shared variables are also a method that Quartus uses to infer write-before-read rams. So again, they will likely keep ignoring the LRM on this.
 

Re: VHDL - what is vmode ? a keyword i've never heard of?

@ #3 If it was legacy, I wouldn't advocate doing it this way.

@ #4 You are correct. It was designed for 93. I was being lazy, setting my vendor tool to have -2008 handle which is used to generate the run.do script and subsequently the "vcom -2008" was causing the problem. The projects a bit of a cluster mine with lots of different flavours of vhdl. Some needing to be compiled in 2008, some not. I will most likely edit the run.do file to compile this do file differently.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top