Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[question][help wanted] always_ff multiple procedure assignment at scr1_memory_tb_ahb.sv #63

Open
likeamahoney opened this issue Mar 2, 2024 · 0 comments

Comments

@likeamahoney
Copy link

I am using slang and VCS to analyze syntacore RISC V kernel and slang errors on multiple drivers of the static local function (which called in both always_ff blocks) variable tmp assignment during call at first_always_ff_call and second_always_ff_call but VCS not.

IEEE 1800-2017 SystemVerilog LRM says that:

The always_ff procedure imposes the restriction that it contains one and only one event control and no
blocking timing controls. Variables on the left-hand side of assignments within an always_ff procedure,
including variables from the contents of a called function, shall not be written to by any other process.
Software tools should perform additional checks to warn if the behavior within an always_ff procedure
does not represent sequential logic

The standard says nothing about conditions on drivers inside always_ff, it simply prohibits them.

Does that code written correct apply to IEEE 1800-2017 SystemVerilog LRM?

@likeamahoney likeamahoney changed the title always_ff procedure assignment at scr1_memory_tb_ahb.sv always_ff multiple procedure assignment at scr1_memory_tb_ahb.sv Mar 2, 2024
@likeamahoney likeamahoney changed the title always_ff multiple procedure assignment at scr1_memory_tb_ahb.sv [question][help wanted] always_ff multiple procedure assignment at scr1_memory_tb_ahb.sv Mar 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants