We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
官方预定义的模块,其method是有调度注解来约束的。rule也可以用调度Attribute来约束。
但是我在定义一个模块时,不知道如何来表示对其method的约束: 比如我定义了一个模块,有两个method,我期望这两个method不能在同一周期调用(类似调度注解中的C); 或者两个method,我期望同时有rules想要调用时,其中一个的urgency更高(类似rule的descending_urgency); 或者我想规定某个method的urgency永远高于模块内的某个rule。
我发现好像没有办法在定义模块的时候就定义这些约束,好像只能在更高层模块实例化时,规定调用这些method的rule的约束。 但是这样没法在模块定义package中表现出想要的约束,并且每次调用都要写一个attribute。
想请教一下,有没有什么好的解决方法?或者我的理解和使用方式是否有误?
The text was updated successfully, but these errors were encountered:
你好,有一个我也觉得不太优雅的方法:在模块内部署一些没有数据含义、只起到调度控制作用的子模块。
比如你想让 method1 和 method2 冲突(可能本来你想用调度注解 preempt,但发现用不了),那么你可以在模块内定义一个 mkWire ,让 method1 和 method2 都去写这个 Wire ,这样可能能达到让它俩 conflict 的效果。
Sorry, something went wrong.
No branches or pull requests
官方预定义的模块,其method是有调度注解来约束的。rule也可以用调度Attribute来约束。
但是我在定义一个模块时,不知道如何来表示对其method的约束:
比如我定义了一个模块,有两个method,我期望这两个method不能在同一周期调用(类似调度注解中的C);
或者两个method,我期望同时有rules想要调用时,其中一个的urgency更高(类似rule的descending_urgency);
或者我想规定某个method的urgency永远高于模块内的某个rule。
我发现好像没有办法在定义模块的时候就定义这些约束,好像只能在更高层模块实例化时,规定调用这些method的rule的约束。
但是这样没法在模块定义package中表现出想要的约束,并且每次调用都要写一个attribute。
想请教一下,有没有什么好的解决方法?或者我的理解和使用方式是否有误?
The text was updated successfully, but these errors were encountered: