为什么IEEE vhdl标准库不是STL?
IEEE vhdl语言参考手册只定义了有限的一组标准包。并且没有定义标准类型上的功能,例如STD_LOGIC。因此没有标准的AND2、INV组件/运算符。
看来Altera的MAX+Plus II不支持AND2、INV组件(如果有,请随时纠正我),但Xilinx Foundation支持。
为什么IEEE vhdl标准库不能成为C++世界中的STL那样的东西?
谢谢。
IEEE vhdl language reference manual only defined a limited set of standard packages.And it do not defined the functionalities on the standard types,such as STD_LOGIC.So there are no standard AND2, INV components/operator.
It seems that Altera's MAX+Plus II do not support AND2, INV component(if there are,please feel free to correct me),but Xilinx Foundation does.
Why IEEE vhdl standard library could not become something like STL in the C++ world?
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
IEEE 库支持 std_logic 类型的 Invert、And、Or、...:
您的综合工具将自动将这些表达式转换为适合您的目标技术(Xilinx FPGA、Altera FPGA、ASIC、 ...)。无需显式实例化特定于技术的组件。实例化特定于技术的组件甚至可能会阻碍优化。
您应该始终尝试独立于技术编写 VHDL 代码。这允许您重用代码。
Invert, And, Or,... for std_logic types are supported by IEEE libraries:
Your synthesis tool will automatically translate these expressions to the best implementation for your target technology (Xilinx FPGA, Altera FPGA, ASIC, ...). There is no need to explicitly instantiate technology specific components. Instantiating technology specific components might even obstruct optimizations.
You should always try to write your VHDL code technology independent. This allows you to reuse code.
您要求的“组件”是 VHDL 中的运算符。
您还可以直接实例化 AND2 和 INV 组件等组件,但您需要构建这些库(或使用为您提供的库)。
The "components" you are asking for are operators in VHDL.
You can also directly instantiate things like AND2 and INV components, but you will need to build these libraries (or use libraries provided for you).
由于fpga设计软件与目标芯片关联度较高,有能力开发此类软件的企业只有两家。Altera的Max+PlusII只能支持Altera出货的芯片,Xilinx也一样。这些厂商控制着fpga设计的整个进度,从软件到硬件。然后他们倾向于开发针对自己平台的特定功能。因此IEEE标准库不可能像C++世界中的STL那样。
AND2
是Altera Max+PlusII的primitive
,但它不是Xilinx Webpack的primitive
。实际上我们可以设计自己的组件AND2
(Xilinx 选择在 unisim 包中提供它,但我们选择不加载此包)。INV
不是 Altera Max+PlusII 的原始
,也不是 Xilinx WebPack。Because fpga design software is high related to the targeted chip and there are only two enterprise capable to develop such software.Altera's Max+PlusII could only support chips ship from Altera,so does Xilinx.These vendor control the whole progress of fpga design,from software to hardware.Then they tends to develop specific feature targeted on they own platform.So IEEE standard library could not be something like STL in the C++ world.
AND2
isprimitive
of Altera Max+PlusII,but it is notprimitive
of Xilinx Webpack.Actually we could desing our own componentAND2
(which Xilinx choose to provide it within unisim package,but we choose not to load thi package).INV
is notprimitive
of Altera Max+PlusII,neither Xilinx WebPack.