gpt4 book ai didi

verilog - 括号在用于包裹参数时有什么特殊意义吗?

转载 作者:行者123 更新时间:2023-12-02 03:23:57 25 4
gpt4 key购买 nike

我有一段 Verilog 代码,由不再在我工作的公司工作的程序员编写。摘录如下:

parameter mstrobe = 10;
.
.
.
assign #(mstrobe) sclk=iclk;

(sclk是一根线,iclk被赋予系统时钟的值)

我还有一个单独的 Perl 脚本,用于对现有 Verilog 文件进行一些操作。该脚本在解析 #(mstrobe) 时出现阻塞,因为 mstrobe 包含在括号内。虽然我可以轻松解决这个问题,但我想知道上面的 assign 语句和

之间是否存在根本区别
assign #mstrobe sclk=iclk;

我想确定这两个语句是否等效,或者 Verilog 版本(Verilog-2001、Verilog-2005、SystemVerilog)之间在这方面的语法是否存在任何差异。

最佳答案

在您的简单情况下,括号是可选的;无论 Verilog 版本如何,这两种情况都是有效的语法。

如果您有更复杂的表达式,则需要括号,例如:

assign #(mstrobe/2) sclk=iclk;

顺便说一句,由于您正在使用 Perl 解析 Verilog,您是否知道 Verilog-Perl

关于verilog - 括号在用于包裹参数时有什么特殊意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com