为了试图理解,我在互联网上查找了一些代码,并找到了以下我认为是函数的声明,而我根本不明白。
sext #(.inwidth(1), .outwidth(32)) scc_sext_i0(
.i0(paw_0_i0_outport0[32]),
.o0(scc_sext_i0_o0));
combine2_wn #(.inwidth0(32), .inwidth1(32)) scc_combine2_wn_i0(
.i0(paw_0_i0_outport0[31 : 0]),
.i1(scc_sext_i0_o0),
.o0(scc_combine2_wn_i0_o0));
combine2_wn #(.inwidth0(32), .inwidth1(32)) scc_combine2_wn_i1(
.i0(scc_combine2_wn_i2_o0[31 : 0]),
.i1(scc_combine2_wn_i2_o0[63 : 32]),
.o0(scc_combine2_wn_i1_o0));
我的问题如下:
- 这些真的是功能映射吗?
- 如果是,则它们未在任何其他较低级别的 .v 文件中定义(并且顶级文件中也不包含任何库)。那么它们有什么用呢?
#
符号是什么意思?- 是什么
.inwidth(32)
意思?32位输入?(在网上找不到……) - 如果是,这些
combine2_wn
块应该只有 2 个输入,为什么每次都映射一个输出?
更一般地说,这些是任何类型的连接函数吗?