遇到一奇怪问题

[复制链接]
2230|5
 楼主| wxfxwk1986 发表于 2011-4-12 10:29 | 显示全部楼层 |阅读模式
在看代码的过程中,遇到这样一问题:顶层模块要调用某一子模块,但在顶层的代码中例化的子模块的输入输出信号与子模块的输入输出信号不一致:不一致体现在我的子模块里多了一个输出信号(此输出信号在子模块中没有用到,只是在entity中定义了这么一个输出而已)。当我综合时竟然成功了,我一直认为当顶层的调用与子模块不一致时,应该报错的呀。
 楼主| wxfxwk1986 发表于 2011-4-12 10:34 | 显示全部楼层
不知我描述清楚没,还是用代码表示吧:
component control
        Port (  RXDATA : in  STD_LOGIC_VECTOR (7 downto 0);
                      RXEMPTY : in  STD_LOGIC;
                     IISOUT : out  STD_LOGIC_VECTOR (31 downto 0));
                   end component;
而我的子模块实体定义为:
entity control  is
    Port ( RXDATA : in  STD_LOGIC_VECTOR (7 downto 0);
               RXEMPTY : in  STD_LOGIC;
        RCVTest : out std_logic;
           IISOUT : out  STD_LOGIC_VECTOR (31 downto 0));
end RCV_TOP;
而实体中定义的这个rcvtest在子模块是没有用到的。
xiaoyuan_ly 发表于 2011-4-12 15:09 | 显示全部楼层
那个可能要参看编译器规则了,编译器对子模块调用的处理规则了。 我用的是VERILOG的,帮不上忙了。你自己再用最简单的例子论证下编译器的这种情况,还有最好和你实际的硬件执行对应看看了。。。。。
gavin_m 发表于 2011-4-12 18:53 | 显示全部楼层
不影响,只会报警告。
sxhhhjicbb 发表于 2011-4-12 21:17 | 显示全部楼层
语法是对的,没有用到的信号,比如:RCVTest 相关的线路会被优化掉..
lacewood_jesse 发表于 2011-4-13 13:48 | 显示全部楼层
看编译的提示!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

250

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部