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

你可能感兴趣的文章
Objective-C实现activity selection活动选择问题算法(附完整源码)
查看>>
Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
查看>>
Objective-C实现adaboost算法(附完整源码)
查看>>
Objective-C实现Adler32算法(附完整源码)
查看>>
Objective-C实现AES算法(附完整源码)
查看>>
Objective-C实现AffineCipher仿射密码算法(附完整源码)
查看>>
Objective-C实现aliquot sum等分求和算法(附完整源码)
查看>>
Objective-C实现all combinations所有组合算法(附完整源码)
查看>>
Objective-C实现all permutations所有排列算法(附完整源码)
查看>>
Objective-C实现all subsequences所有子序列算法(附完整源码)
查看>>
Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
查看>>
Objective-C实现alternate disjoint set不相交集算法(附完整源码)
查看>>
Objective-C实现alternative list arrange备选列表排列算法(附完整源码)
查看>>
Objective-C实现An Armstrong number阿姆斯特朗数算法(附完整源码)
查看>>
Objective-C实现anagrams字谜算法(附完整源码)
查看>>
Objective-C实现ApproximationMonteCarlo蒙特卡洛方法计算pi值算法 (附完整源码)
查看>>
Objective-C实现area under curve曲线下面积算法(附完整源码)
查看>>
Objective-C实现argmax函数功能(附完整源码)
查看>>
Objective-C实现arithmetic算术算法(附完整源码)
查看>>
Objective-C实现armstrong numbers阿姆斯壮数算法(附完整源码)
查看>>