SystemVerilog如何实现该语言的动态功能?

时间:2018-02-18 20:42:48

标签: hardware fpga system-verilog hdl

我已经开始学习SystemVerilog了,我正在阅读有关新类型的内容,例如:

  • 的字符串

  • 动态/关联数组

  • 队列

我想知道这些是如何在硬件中实现的,因为它们具有动态特性;它们仅用于测试/模拟目的,因此它们实际上从未在硬件中实例化过吗?

如果是这样,如果必须更改为普通数组以在硬件上运行设计,为什么还要使用这些类型的数组呢?

1 个答案:

答案 0 :(得分:0)

Verilog和现在的SystemVerilog包含分为两类的功能:可综合不可综合。没有固定的标准来定义每个类别中的哪些功能。理想情况下,如果可以模拟功能,则可以找到一种综合功能的方法。

根据使用方式的不同,某些功能会同时出现在这两个类别中。例如,如果您可以静态确定(例如,在编译时而不是在运行时)它有多少次迭代,那么for循环是可以合成的。队列或动态数组也是如此-如果您可以定义最大大小,则可以在硬件中实现它们。