加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > EDA技术

modelsim仿真ROM

时间:2013-08-27  来源:123485.com  作者:9stone

一、主要环境参数是
modelsim SE 6.1b+Quartus II 5.1 SP2
HDL 是verilog。
器件是Stratix II EP2S90F1020
采用两种方法设计ROM,ROM的容量是1000×2×16bit。因为需要COS 和SIN 两种数据。
第一种采用Altera 的LPM 生成ROM,ROM 的内容也是利用Quartus 生成hex 文件,之所以不采用mif 文件的原因是因为在modelsim不支持。
第二种是使用VC 编写一个小程序,采样case 语句来生成COS.v 和SIN.v 文件。

二、modelsim环境设置
    在modelsim 的安装目录下把modelsim.ini 文件的只读属性去掉,在[vsim]字样下面添加
Veriuser = D:/Programs/altera/quartus51/eda/mentor/modelsim/convert_hex2ver.dll
    有些网友说convert_hex2ver.dll 文件无法找到,是因为目录不对,不是什么dll directory,在自己quartus 的安装目录中搜索就可以找到的。另外注意要使用/代替。
     新建一个名称为Altera 的库,注意名称不能是别的。至于放哪里看个人的喜好,因为这是放置Altera 仿真库的地方。然后按照下图编译quartusedasim_lib 下两个.v 文件,因为我只用verilog HDL。
 
    下面就可以在modelsim 里面做仿真了。在编译完文件后,在命令行里面输入vsim,然后在Design 的work 选择要仿真的实体,在libraries 里面选择生成的Altera 库,如下图。
 

三、两种设计ROM 的方法比较
    第一种资源占用32000bit 和13ALU。这和1000×2×16bit 的设计容量一致。
    第二种则占用34816bit 和13ALU,相当于每个ROM多了1024bit,如果把case 中default输入从高阻态(z)改为0,则占用32768bit,即8 个M4K。
    结论,Altera 的LPM 能最大程度优化自己器件资源,但移植性很差,使用case 生成的方法移植性好,向其他平台比如xilinx 的器件上移植不需要修改代码,但多占资源。
    最后说一下,在modelsim 里面仿真的时候,如果采用计数器产生地址,计数器一定要赋初值,定义的时候就可以赋,尽管综合的时候被优化,但没初值,modelsim 默认是高阻,计数器可能不动作,导致仿真无法进行。


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->EDA技术
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门