设计的是三个层次的模块,顶层模块topcpu.v,中间模块cpu.v,底层模块adr.v 
我在topcpu.v中调用adr的端口信号pc_addr,仿真的时候出错:Unresolved reference to 'm_adr' in t_cpu.m_adr. 
 
这是我的调用语句 while(test==1) 
                       @(t_cpu.m_adr.pc_addr)//fixed 
                       if((t_cpu.m_adr.pc_addr%2==1)&&(t_cpu.m_adr.fetch==1)) 
                    begin 
                        #60  PC_addr<=t_cpu.m_adr.pc_addr-1; 
                             IR_addr<=t_cpu.m_adr.pc_addr; 
                        #340  $strobe("%t   %h    %s    %h   %h",$time,PC_addr,mnemonic,IR_addr,data); 
                    end 
 
以下是各模块中的实例化 
 
在topcpu.v中:   cpu  t_cpu(.clk(clock),.reset(reset),.halt(halt),.rd(rd),.wr(wr),.addr(addr),.data(data)); 
 
在cpu.v中:adr m_adr(.fetch(fetch),.ir_addr(ir_addr),.pc_addr(pc_addr),.addr(addr)); 
 
实在找不到原因,很头痛~~~ |