打印

遇到一奇怪问题

[复制链接]
1481|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 | 只看该作者
不影响,只会报警告。

使用特权

评论回复
5
sxhhhjicbb| | 2011-4-12 21:17 | 只看该作者
语法是对的,没有用到的信号,比如:RCVTest 相关的线路会被优化掉..

使用特权

评论回复
6
lacewood_jesse| | 2011-4-13 13:48 | 只看该作者
看编译的提示!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

250

帖子

1

粉丝