Verilog 我如何知道我的代码是否可合成?[验证日志]

Verilog 我如何知道我的代码是否可合成?[验证日志],verilog,hdl,Verilog,Hdl,在verilog中使用自顶向下的方法设计电路时,我可以从电路的行为开始,然后定义每个模块中的细节,以构建可合成的结构电路。 但是我怎么知道我的代码是否可以合成呢? 在verilog中是否有支持合成的指导原则?阅读您将要使用的合成工具附带的文档。这将向您展示您可以做什么——有时您必须以非常具体的方式编写代码以获得预期的结果 不过,最终没有什么比经验更好的了——定期在代码(或代码的一小部分)上运行合成器,看看工具产生了什么。有一个“标准”,但正如Martin指出的,每个工具都支持它想要的任何东西。如

在verilog中使用自顶向下的方法设计电路时,我可以从电路的行为开始,然后定义每个模块中的细节,以构建可合成的结构电路。 但是我怎么知道我的代码是否可以合成呢?
在verilog中是否有支持合成的指导原则?

阅读您将要使用的合成工具附带的文档。这将向您展示您可以做什么——有时您必须以非常具体的方式编写代码以获得预期的结果

不过,最终没有什么比经验更好的了——定期在代码(或代码的一小部分)上运行合成器,看看工具产生了什么。

有一个“标准”,但正如Martin指出的,每个工具都支持它想要的任何东西。如果您需要免费资源,我建议您使用


此外,structural verilog通常意味着您正在创建接近网络列表的描述,在本例中,您将使用的结构是可合成结构的一小部分。

是的,有一些指导原则,它们特定于您使用的合成器。对于实际的芯片合成,我认为Synopsys的“设计编译器”(DC)是最流行的,所以你应该看看他们的用户指南。无论如何,无论您要使用什么目标平台或后端进程,您都需要阅读它们的合成规则。