博客
关于我
ModelSim-Altera版本仿真流程
阅读量:751 次
发布时间:2019-03-23

本文共 1623 字,大约阅读时间需要 5 分钟。

ModelSim-Altera版本仿真流程

1. ModelSim-Altera工作环境的设置

ModelSim-Altera是Altera公司提供的一个综合性仿真工具,支持从设计输入到时序分析的全流程仿真。以下是设置工作环境的主要步骤:

1.1 ModelSim版本信息
  • ModelSim-Altera OEM版本 6.4a
  • Quartus II版本 9.0
  • 该版本支持所有Quartus II支持的Altera器件
1.2 设置EDA工具
  • 为了使用第三方EDA工具(如ModelSim),需在Tools菜单->Options中找到EDA Tool Options选项。
  • 确保ModelSim的可执行文件路径已正确配置。

2. ModelSim-Altera工程的创建

2.1 文件准备
  • 避免直接使用ازیاد_BUFFER或其他Altera特有语言。
  • 如果需要进行时序仿真,需先编译Verilog(.vo)或VHDL(.vho)输出文件。
2.2 工作库的创建
  • 在File->New->Library中创建新的工库。
  • 如果希望ModelSim独立运行,库名需为“work”;如果由Quartus II自动运行,则库名为ModelSim_work。
2.3 工作目录的设置
  • 项目目录应包含设计文件(.vo/.vho等)。
  • 时序仿真时,需包含IMAG/vc/trento/...等目录下IMAG文件。

3. 功能仿真流程

3.1 文件编译
  • 使用ModelSim的Compile菜单进行编译。
  • 选择work库,并上传需要仿真的Verilog或VHDL文件。
  • 如果使用已经编译过的输出文件,需重新运行Start EDA Netlist Writer以生成新的.sdo文件。
3.2 加载设计
  • 在Simulate菜单中启动仿真。
  • 添加search libraries中ModelSim的预编译库。
  • 在Name列表中选择work库并定位顶层测试模块。
3.3仿真过程
  • 需要在test bench中定义全局复位和上电信号。
  • ModelSim自动解析且调用相应的仿真库。

4.时序仿真流程

4.1文件准备
  • 确保Verilog/HDL文件中定义全局复位和上电信号。
  • 根据信号类型(例如全局复位)添加相应代码。
4.2仿真设置
  • 在Simulate菜单中手动设置或根据QuartusII自动生成的参数。
  • 使用.sdo文件添加延迟信息。
  • 对于VHDL设计,需手动调用force命令。
4.3 仿真运行
  • 确保在Pulse Options中设置合适的误差和拒绝限值(Verilog仿真),并添加.sdo文件(VHDL仿真)。
  • 设置时序缩放因子,默认情况下为1ps。

5. 与Quartus II合作

5.1 自动运行ModelSim
  • 需要配置Native Link settings。
  • 在EDA Tool Settings中设置仿真工艺和最终输出形式。
5.2 仿真结果导出
  • 提取.vcd文件用于PowerPlay功耗分析。
  • 导出波形数据文件和时间域分析结果。

个人使用心得

RTL仿真

  • 仅需设计文件和test bench文件,无需综合或布局步骤。
  • 使用适当的RTL仿真库,以适应不同器件familia。

综合仿真(功能仿真)

  • 依赖于测试模块和Verilog或VHDL输出文件。
  • 使用门级仿真库,需添加LPM、IP核等 مappings。

时序仿真

  • 需要处理全局信号和超时。
  • VHDL仿真需要额外的force命令。
  • 设置合理的时序缩放因子,避免性能问题。

提示与注意事项

  • 路径正确性:确保所有路径无汉字,避免程序出错。
  • 文件冲突:如果多次仿真,请确保前一次ModelSim已退出。
  • 依赖项:添加LPM或IP核时,需保留其预编译库路径。
  • 波形文件导出:仅导入输入信号,避免仿真冲突。

通过以上步骤,可以顺利完成ModelSim-Altera的仿真流程并获取准确的仿真结果。

转载地址:http://kquzk.baihongyu.com/

你可能感兴趣的文章
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>