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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3601|回复: 6

[求助] 关于modelsim和testbench的问题,请教了

[复制链接]
发表于 2010-11-14 23:38:51 | 显示全部楼层 |阅读模式

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

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

x
关于modelsim和testbench的问题,请教了1,modelsim管理加入的工程里的文件,能否像ISE那样,很清晰的显示某个模块被某个模块调用呢?(就是ISE里,上一层下包含哪些子层,都有很清晰的分层"+"号)
2,仿真时,为了验证我的模块功能,我要导入一批由matlab产生的数据,用$readmemh,读到寄存器组吗?之后呢,如何在一个时钟给出一个数吗?或者fopen?,总之就是我想在每个时钟的上升沿给我需要验证的模块datain送一个由matlab产生的数据。另外能否在每个时钟的上升沿,保存被测模块的dataout到数据文件中呢。就是系统任务能在always@()块中写吗?
3,定义一个寄存器组和一个ram意义不同的意义是什么,谢谢啦
发表于 2010-11-15 13:16:47 | 显示全部楼层
关于1,工程里面是平铺的,但是开始仿真以后的sim窗口下,就是层次化的路径了。
关于3,虽然能够实现类似的功能,但是寄存器组就是用寄存器搭建的,而RAM你可以选择用寄存器搭建,也可以使用内部的IP来搭建。
 楼主| 发表于 2010-11-15 19:54:41 | 显示全部楼层
谢谢啦,我另外我在ise中启动modelsim就可以正常仿真,但是用modelsim建立工程,添加.V文件,仿真时报很多错,库我使用ise提供的工具编译的。关于2能解答一下吗 谢谢啦
发表于 2010-11-16 09:01:54 | 显示全部楼层
本帖最后由 AmoiBB 于 2010-11-16 09:08 编辑

报什么错误呢?是不是modelsim中没有加载库文件?

关于2,可以这样:

parameter DATA_WIDTH= 8;
parameter MAX_SAMPLE = 256;

reg [DATA_WIDTH-1:0] sample[MAX_SAMPLE-1:0];
reg [7:0] counter;

initial $readmemh("matlab.dat", sample);

always @ (posedge clk)
begin
    datain <= dample[counter];
    counter <= counter + 1;
end

当然counter的初值为0.

将dout写入到文件中有相应的系统函数:$fwrite
发表于 2010-11-16 11:59:57 | 显示全部楼层
应该是没有把编译好的库映射到modelsim的工作目录中,同时还要在modelsim.ini文件里留下痕迹。
 楼主| 发表于 2010-11-16 12:46:08 | 显示全部楼层
谢谢了
库的问题ok了,是因为没有选择search lib。还要请教
写到数据文件的时候可以在always块中,每一个时钟写一个数到文件中吗?
发表于 2010-11-16 14:00:56 | 显示全部楼层
可以每一个时钟写一个数

这个自己试试不就知道了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-28 18:56 , Processed in 0.018708 second(s), 7 queries , Gzip On, MemCached On.

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