Vhdl lpm_常数存在的原因

Vhdl lpm_常数存在的原因,vhdl,verilog,fpga,intel-fpga,Vhdl,Verilog,Fpga,Intel Fpga,我目前正在分析一个给定的FPGA Verilog程序,我偶然发现了Altera提供的lpm_常量IP核。 它唯一能做的就是为总线提供一个常量值。 我的问题是,为什么要使用这个IP核,而不是一个具有常量值的导线,或者一个初始块初始化的reg,或者重置周期。 我也不认为原因是为了提高性能(无论如何实现,装配工都应该注意这一点)或与其他设计的兼容性(Verilog/VHDL语言是标准化的,为什么这会是一个问题)。 感谢您的澄清。正如@JHBonarius所说,如果您以图解的方式描述您的项目,即使用块设

我目前正在分析一个给定的FPGA Verilog程序,我偶然发现了Altera提供的lpm_常量IP核。
它唯一能做的就是为总线提供一个常量值。
我的问题是,为什么要使用这个IP核,而不是一个具有常量值的导线,或者一个初始块初始化的reg,或者重置周期。
我也不认为原因是为了提高性能(无论如何实现,装配工都应该注意这一点)或与其他设计的兼容性(Verilog/VHDL语言是标准化的,为什么这会是一个问题)。

感谢您的澄清。

正如@JHBonarius所说,如果您以图解的方式描述您的项目,即使用块设计文件(*.bdf),则使用lpm_常量(Altera Megafunction)的唯一原因是。如果使用类似HDL的方法,请使用常量使代码CAD工具独立。

可以使用系统内存内容编辑器在设计运行时更改“常量”的值,以帮助调试和测试设计。如果我们在RTL中硬编码一个值,我们将失去这一功能。

这是一个遗留块,Altera现在甚至建议使用
常量。这是从“基于构建块的开发”是理想的时候开始的。由于有额外的实体,解析实际上会更慢。但总体而言,影响不会很大。顺便说一下,这些构建块仍然被GUI设计工具使用,比如xilinx IP integrator。