我在看这个代码片段:
module FD2 (d, cp, cd, q, qn);
input d, cp, cd;
output q, qn;
nand #1 nand_2 (n2, d_, cp_),
nand_3 (n3, n1, n4),
nand_7 (q, n5, qn);
// SJM nand #0 nand_1 (n1, d, cp_, cd),
nand nand_1 (n1, d, cp_, cd),
nand_4 (n4, n2, n3, cd),
nand_5 (n5, n3, cp),
nand_6 (n6, n4, cp),
nand_8 (qn, n6, cd, q);
// SJM not #0 inv_1 (cp_, cp),
not inv_1 (cp_, cp),
inv_2 (d_, d);
endmodule
"cp_“意味着什么?
在哪里找不到答案,所以我想在这里发帖。
发布于 2021-07-31 18:05:03
在您的代码中,cp_
是信号的名称,就像cp
是另一个信号的名称一样。下划线在名称中没有特殊意义。这是一个简单标识符的例子。参见IEEE Std 1800-2017,第5.6节标识符、关键字和系统名称。
--一个标识符被用来给一个对象一个唯一的名称,以便它可以被引用。标识符要么是简单标识符,要么是转义标识符(参见5.6.1)。一个简单的标识符应该是任何字母、数字、美元符号($ )和下划线字符(_ )的序列。
不明确宣布信号是合法的,但这是一种推荐的良好做法。最好使用以下方法来声明信号:
wire cp_;
对于尚未声明的其他信号,如d_
、n1
等,情况也是如此。
另见第6.10节隐含声明。
发布于 2021-07-31 19:30:31
下划线“_”是任何标识符的合法字符,没有特殊含义。但有些人把"_“字符称为"bar”,意思就好像你写的cp_
是
__
cp
意味着cp的否定
https://stackoverflow.com/questions/68604555
复制相似问题