博客
关于我
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/

你可能感兴趣的文章
PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
查看>>
php商店管理系统,基于PHP的商店管理系统.doc
查看>>
PHP四大主流框架的优缺点总结
查看>>
PHP图片处理—PNG透明缩放并生成灰图
查看>>
php在liunx系统中设置777权限不起作用解决方法
查看>>
PHP基于openssl实现的非对称加密操作
查看>>
php基本符号大全
查看>>
php基础篇-二维数组排序 array_multisort
查看>>
php基础配置环境变量
查看>>
php增删改查封装方法
查看>>
springboot之jar包Linux后台启动部署及滚动日志查看且日志输出至文件保存(超级详细)
查看>>
php多条件筛选功能的实现
查看>>
php多线程
查看>>
PHP大数组循环-避免产生Notice或者是Warning
查看>>
PHP大数组过滤元素、修改元素性能分析
查看>>
PHP大文件切片下载代码
查看>>
PHP如何下载远程文件到指定目录
查看>>
php如何优化压缩的图片
查看>>
php如何做表格,新手怎么制作表格
查看>>
RabbitMQ高级特性
查看>>