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

Equation variables in subcomponents do not resolve #163

kfhoech opened this Issue Jul 31, 2018 · 2 comments


None yet
1 participant

kfhoech commented Jul 31, 2018

Reported by @janetlj. Thanks!

@kfhoech kfhoech added bug AGREE labels Jul 31, 2018

@kfhoech kfhoech self-assigned this Jul 31, 2018


This comment has been minimized.


kfhoech commented Jul 31, 2018

Duplicated by the following example:

package Issue_163_Pkg

	with Base_Types;

	system Inner
			xx : in data port Base_Types::Integer;
			yy : out data port Base_Types::Integer;
		annex agree {**
			eq vv : int = xx + 1;
	end Inner;

	system implementation Inner.Impl
		annex agree {**
			eq ww : int = vv + 1;
			assign yy = ww + 1;
	end Inner.Impl;

	system Outer
		annex agree {**
			guarantee "Trivial" : true;
	end Outer;

	system implementation Outer.Impl
			inner : system Inner;
			inner_impl : system Inner.Impl;
		annex agree {**
			eq ovv1 : int = inner.vv;
			eq oxx1 : int = inner.xx;
			eq oww1 : int = inner.ww; -- ww should not resolve in the type
			eq ovv2 : int = inner_impl.vv;
			eq oww2 : int = inner_impl.ww;
			eq oyy2 : int = inner_impl.yy;
	end Outer.Impl;

end Issue_163_Pkg;

After further investigation, looks like AGREE elements introduced by are missing. Need to add call to collect these in scope provider.


This comment has been minimized.


kfhoech commented Aug 21, 2018

Resolved by #166.

@kfhoech kfhoech closed this Aug 21, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment