在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7859|回复: 10

[求助] modelsim #Error loading design

[复制链接]
发表于 2012-6-12 16:25:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人菜鸟一枚,今天用modelsim仿真时出现如题问题,编译时全部通过了。请各位大侠知道一下
下面是代码
module rwt
(
  rst_n,
  clk,//
     s1,//
     s2,
     oe//
);

input clk,rst_n;

output s1,s2;
output  oe;


wire [15:0] s1,s2;

reg oe;
reg  [15:0] a;  
reg  [15:0] a_reg;
reg  [15:0] pre_a_reg;
reg  [15:0] pre2_a_reg;

reg  [15:0] d;
reg  [15:0] d_reg;
reg  [15:0] pre_d_reg;
reg  [15:0] pre2_d_reg;
  
reg  [15:0] sum1;  
reg  [15:0] sum2;  
reg  [15:0] s01;  
reg  [15:0] s01_per;
reg  [15:0] s02;
  
  reg [12:0] i;
//reg [12:0] j;
reg [14:0] data_mem_c[0:8192];

reg [12:0] m;
//reg [12:0] j;
reg [14:0] data_mem_d[0:8192];

initial
begin
   $readmemh("c1.txt",data_mem);
end

always @(negedge rst_n or posedge clk)
begin
   if(!rst_n)
     begin
       //j<=13'd0;
       i<=13'd0;
     end
   else
     begin
       a<=data_mem_c[i];
       i<=i+13'd1;
       //j<=i>>1;
     end
end

initial
begin
   $readmemh("d1.txt",data_mem);
end

always @(negedge rst_n or posedge clk)
begin
   if(!rst_n)
     begin
       //j<=13'd0;
       m<=13'd0;
     end
   else
     begin
       d<=data_mem_d[i];
       m<=m+13'd1;
       //j<=i>>1;
     end
end


always @(negedge rst_n or posedge clk)
if (!rst_n)
   oe=1;
else     
begin
  oe=~oe;
  if(oe)
  begin
   pre2_a_reg=pre_a_reg;
   pre_a_reg=a_reg;   
   a_reg=a;
  end
  else
   begin
   pre2_d_reg=pre_d_reg;
   pre_d_reg=d_reg;
   d_reg=d;
   end
end  

//
always @(negedge rst_n or posedge oe)
if (!rst_n)
   begin
   sum1=0;
   s01=0;
   end
   else
begin  
  sum1=pre_a_reg+a_reg+2'd2;
  sum1=sum1>>2;
  sum1[14]=sum1[13]; sum1[15]=sum1[13];
  s01_per=s01;
  s01=d_reg-sum1;
end
  
//
always @(negedge rst_n or posedge oe)
  if (!rst_n)
    begin
   sum2=0;
   s02=0;
   end
   else
begin  
  sum2=s01+s01_per;
  sum2=sum2>>1;
  sum2[15]=sum2[14];
  s02=sum2+pre2_a_reg;
end

  
assign  s1=s01;//
assign  s2=s02; //

endmodule

testbench:
`include "rwt.v"
//`timescale 1ns/1ns
module t_rwt;
       reg clk;
       reg rst_n;
       wire [15:0] s1,s2;
       wire oe;
rwt     DUT
(
.rst_n        (rst_n),
. clk         (clk),
. s1      (s1),
. s2      (s2),
.oe   (oe)
);
initial begin
        clk=0;
        rst_n=0;
        end
        
initial  #15 rst_n=1;
always #5 clk=~clk;
   
        
initial #163840 $stop;//13600
endmodule
发表于 2012-6-12 22:46:36 | 显示全部楼层
敢把错误贴上来?
 楼主| 发表于 2012-6-13 10:09:47 | 显示全部楼层
虽然很低级,但确实纠结了很久了
发表于 2012-6-13 10:36:53 | 显示全部楼层
……沙发的意思是让LZ把error信息贴出来,只不过用的是卖萌的口气……
 楼主| 发表于 2012-6-13 10:47:18 | 显示全部楼层
sorry,理解错误
# Compile of rwt.v was successful.
# Compile of t_rwt.v was successful.
# 2 compiles, 0 failed with no errors.
vsim -voptargs=+acc work.t_rwt
# vsim -voptargs=+acc work.t_rwt
# Error loading design

我是直接在modelsim中进行仿真的,其他的程序可以仿真出来,就这个有问题,而且也没有说明错误的地方
发表于 2012-6-13 11:15:31 | 显示全部楼层
这句话, `include "rwt.v"

注释掉先
 楼主| 发表于 2012-6-13 11:19:56 | 显示全部楼层
回复 6# yx.yang


    3q,但还是不行,追问一下,注释掉有什么作用呢
发表于 2012-6-13 15:10:43 | 显示全部楼层
你仿真的时候没有inc这种参量能找到include 的东西么?(很少用modelsim)
 楼主| 发表于 2012-6-13 15:46:29 | 显示全部楼层
错误已找出
$readmemh("d1.txt",data_mem);
$readmemh("c1.txt",data_mem);
应改为
$readmemh("d1.txt",data_mem_d);
$readmemh("d1.txt",data_mem_c);

还是很感谢各位啦!
发表于 2013-1-10 15:57:04 | 显示全部楼层
$readmemh("d1.txt",data_mem);
$readmemh("c1.txt",data_mem);
应改为
$readmemh("d1.txt",data_mem_d);
$readmemh("d1.txt",data_mem_c);
请问你的这个在哪儿改啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 20:01 , Processed in 0.053903 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表