verilog 顶层模块调用子模块 子模块调用子模块的疑问

[复制链接]
17944|8
 楼主| XLDZZ 发表于 2011-8-4 16:58 | 显示全部楼层 |阅读模式
本帖最后由 XLDZZ 于 2011-8-4 17:00 编辑

verilog 顶层模块调用子模块 子模块调用子模块的疑问
问题是这样的 我写了3个模块 M1 M2 M3
其中M1,2是子模块 M3是顶层模块
设计思想是想把输入信号SYSCLK,JDL(顶层模块定义的输入端口)通过M1模块产生CLK,JDL_N_O,
JDL_P_O,的输出信号(M1的输出信号 即通过内部wire连接到M2的输入端口,产生M2的输出信号
ST,在把ST通过内部wire连接到顶层模块M3的输出口
顶层模块的输入(即综合编译后的模块)口是SYSCLK,JDL(SYSCLK,JDL是子模块M1的输入端口)
输出口是ST(ST是子模块M2的输出端口).
子模块M1的输入口的信号是SYSCLK,JDL. 输出信号是CLK,JDL_N_O,JDL_P_O;
M1输出信号是子模块M2的输入信号(M2的输入信号是CLK,N1,P1) M2的输出信号
是顶层模块的输出信号ST

M1 I_M1                    
(
.SYSCLK (SYSCLK),  //此信号在顶层模块信号列表中定义  在内部定义为wire
.JDL    (JDL),     //此信号在顶层模块信号列表中定义  在内部定义为wire
.CLK    (CLK),     //此信号在顶层模块信号列表中没有定义  
                           //在内部定义为wire 用于驱动M2模块的时钟

        .JDL_N_O (N),      //此信号在顶层模块信号列表中没有定义 内部信号  
                           //在内部定义为wire 用于M2模块的输入信号激励
        
        .JDL_P_O (P)       //此信号在顶层模块信号列表中没有定义 内部信号  
                           //在内部定义为wire 用于M2模块的输入信号激励
);

M2 I_M2
   (
  
.CLK (CLK),     //内部信号
.N1 (N1  ),    //内部信号
.P1 (P1  ),    //内部信号
.ST     (ST )      //M3顶层模块的输出
);
现在编译报错Error: Node instance "I_M2" instantiates undefined entity "M2"
以上还请高手指点 本人比较笨也比较菜鸟
 楼主| XLDZZ 发表于 2011-8-7 11:21 | 显示全部楼层
木有人回答??
xiaoyuan_ly 发表于 2011-8-7 21:46 | 显示全部楼层
模块之间的连接,需要顶层或高层模块中定义其信号(也包括模块层次之间的连接),就相当于你自己在画电路连接线,所以说FPGA很是“猥琐”。
hbicecream 发表于 2011-8-8 12:59 | 显示全部楼层
wire N1;
wire P1;

你的N和N1应该是同一个信号吧?
 楼主| XLDZZ 发表于 2011-8-10 18:19 | 显示全部楼层
哦 原来是这样

也就是说 M1 M2模块之间的互联线也要在主模块中的端口列表中声明

那么 如果M1的输出是A 是REG量  M2的输入是B是wire量 那么可以直接相连吗
echenlf 发表于 2011-8-11 15:36 | 显示全部楼层
把整个程序贴出来看看
 楼主| XLDZZ 发表于 2011-8-11 16:43 | 显示全部楼层
6# echenlf

太长了 而且是几个模块分开写的 我自己慢慢摸索吧

得知答案后告诉大家
liuzenglong 发表于 2011-8-13 22:56 | 显示全部楼层
inout  用定义wire或reg?
 楼主| XLDZZ 发表于 2011-8-14 11:23 | 显示全部楼层
inout口到不难理解 这个看看单片机的双向口结构就理解了

大把资料的  

就是有些地方感觉fpga不太符合人的正常思维

比如说 设计另个模块U1 U2

U1的输入是UA1 UB1 输出是UC1 UD1
U2的输入时UA2 UB2 输出是UC2

其中U1的输出是U2的输入 也就是不对外输出的  也就是内部连线wire
真正和外部链接的是UA1 UB1(输入)UC2(输出)

按我的理解只要输入输出端口声明UA1 UB1 UC2就可以了 干嘛还要声明UC1 UD1 UA2 UB2这些
内部连线呢 ?????

以上只是本菜鸟的想法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

182

帖子

0

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