博客
关于我
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 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>