【发布时间】:2015-01-30 00:19:37
【问题描述】:
关于 SystemVerilog (SV) 被用于编程芯片和模拟 SV 代码的问题很多。这种语言结构的经济性给我带来了一些困惑:SV Reference 的第 9.2.2 节指出
“always 过程有四种形式:always、always_comb、always_latch 和 always_ff。所有形式的 always 过程在整个模拟过程中不断重复。”
当然,这些结构也指定了组合逻辑和锁存逻辑的创建。那么 SV 标准是否主要针对仿真,让芯片 OEM 来告知客户哪些 SV 构造将产生实际硬件,就像 Altera 所做的那样here?
Altera 制造 CPLD 和 FPGA,其中一些并不太贵(因此我有学习 SV 的动力)。被 Altera 支持为可综合的 SV 结构子集将在 Quartus 中编译成适合下载到芯片的形式。 Altera 将其他构造标记为“支持。忽略综合”,例如许多断言(上述参考的第 16 节)。以并发断言为例。
因此,我的结论是,在此处获得新信息之前,我可以仅对测试台模块使用并发断言,但可以在任何地方使用即时断言。
基本上,我试图了解 SV 的工作原理,以及我如何最好地解释上面引用的 SV 标准。谢谢。
【问题讨论】:
-
考虑到您的评论,@Morgan,我修改了我的问题,以更清楚地说明我如何最有利于研究 SV 标准。
-
您的答案以及您链接到的非官方指南正是我想要的。非常感谢!
-
玩得开心学习verilog,有时会很棘手。