verilog - 参数可以可变吗
问题描述
我知道我们可以使用参数来制作通用模块,并提高代码的可读性。我的问题是我们是否可以将这些参数本身作为变量。像这样的东西:
module parameterModule #(parameter p1, ...)(<ports>);
...
...
endmodule
module changingParameterModule (output [p1_width-1:0] p1);
...
...
endmodule
在这里,我希望p1
将changeingParameterModule 的端口视为parameterModulep1
的参数。这可能吗?
我使用 icarus-verilog 和 Quartus Prime Lite。
解决方案
不,这是不可能的;参数是编译时常量。模块端口输出有可能随时更改,并且在编译结束之前甚至不会计算它们的值。
推荐阅读
- flutter - 程序链接失败 -flutter
- react-native-navigation - 如何用 react-native-navigation v2 中的其他组件替换嵌套堆栈?
- python - 如何检查目录是否是有效的 Postgres 数据库
- ios - 企业分发 ios 应用程序 - 无法连接到服务器
- postgresql - 将数据从 Cassandra 传输到 Postgressql
- java - Sitebricks 控制器中请求参数的方法拦截或验证
- python - 想用成员详细信息刮掉这个链接
- controls - Autohotkey 从工具提示中获取控制权
- flutter - 颤动的 CachedNetworkImage 无法按预期工作
- c++ - 是否有任何模拟框架允许模拟 std::ifstream 和其他 I/O 库?