/英文/
/中文/
/英文/
/中文/
/中文/
/英文/
/中文/
/中文/
/中文/
/中文/
软件Tags:
ModelSim破解版是一款仿真模拟软件,可以通过这款软件模拟设计流程,可以在软件部署设计方案和配置硬件内容,为用户开发新的设备提供模拟分析方案,软件提供资源库,资源库通常是静态的,用作设计的零件源,您可以创建自己的资源库,也可以由其他设计团队或第三方(例如,硅供应商)提供这些库,ModelSim无需每次仿真都编译所有设计数据,而是利用安装树中提供的预编译资源库,这些库有助于最小化编译和仿真启动期间的错误,另外如果对给定库中的单个Verilog模块进行更改,则ModelSim仅重新编译该模块,而不重新编译设计中的所有模块,软件提供设计库、VHDL模拟、VerilogSystemVerilog和仿真、SystemC仿真、混合语言模拟、先进的仿真技术,如果你需要这款软件就下载吧!
1、高级代码覆盖率
ModelSim的高级代码覆盖功能和易用性降低了利用此宝贵的验证资源的障碍。
ModelSim高级代码覆盖功能为系统验证提供了宝贵的指标。所有险种信息都存储在统一险种数据库(UCDB)中,该数据库用于在高效数据库中收集和管理所有险种信息。提供了用于分析代码覆盖率数据(例如合并和测试排名)的覆盖率实用程序。可以交互地,在模拟后或合并多个模拟运行后查看覆盖率结果。可以按实例或按设计单位报告代码覆盖率指标,从而在管理覆盖率数据方面提供了灵活性。
支持的承保范围包括:
声明范围:
运行期间执行的语句数
分行覆盖:
影响HDL执行控制流程的表达式和case语句
条件覆盖:
将分支上的条件分解为使结果为真或假的元素
表达范围:
与条件覆盖范围相同,但覆盖并发信号分配而不是分支决策
集中表达:
在确定覆盖率结果时考虑表达式的每个独立输入的方式显示表达式覆盖率数据
增强的切换范围:
在默认模式下,计数从低到高和从高到低的转换;在扩展模式下,计算与X之间的转换
有限状态机覆盖:
州和州过渡范围
2、混合HDL模拟
ModelSim将仿真性能和容量与代码覆盖率和调试功能相结合,以模拟多个模块和系统并获得ASIC门级签核。对Verilog,SystemVerilog for Design,VHDL和SystemC的全面支持为单语言和多语言设计验证环境提供了坚实的基础。ModelSim易于使用的统一调试和仿真环境为当今的FPGA设计人员提供了他们日益增长的需要的高级功能,以及使工作变得高效的环境。
3、有效的调试环境
ModelSim调试环境针对Verilog,VHDL和SystemC的广泛直观功能集使其成为ASIC和FPGA设计的选择。
通过智能设计的调试环境,ModelSim简化了查找设计缺陷的过程。ModelSim调试环境可有效显示设计数据,以分析和调试所有语言。
ModelSim允许在保存后的结果以及实时仿真运行过程中使用许多调试和分析功能。例如,覆盖率查看器使用代码覆盖率结果分析和注释源代码,包括FSM状态和转换,语句,表达式,分支和切换覆盖率。
信号值可以在源窗口中注释,并在波形查看器中查看,从而简化了调试导航,在对象及其声明之间以及在访问的文件之间具有超链接导航。
竞赛条件,变化量和事件活动可以在列表和波形窗口中进行分析。可以轻松定义用户定义的枚举值,以更快地了解仿真结果。为了提高调试效率,ModelSim还具有图形和文本数据流功能。
ModelSim与Mentor的旗舰模拟器Questa®共享一个公共前端和用户界面。如果需要更高的性能和对高级验证功能的支持,这可使客户轻松升级到Questa。
1、统一的混合语言仿真引擎,易于使用和性能
2、ñative支持的Verilog,SystemVerilog的设计,VHDL和SystemC对复杂的设计环境的有效核查
3、快速调试时间,易于使用的多语言调试环境
4、先进的代码覆盖率和分析工具,可快速缩短覆盖范围
5、提供了交互式调试和后期模拟调试,因此可使用相同的调试环境
6、强大的波形比较功能,可轻松分析差异和错误
7、统一的覆盖数据库,具有完整的交互式和HTML报告和处理功能,可了解和调试整个项目的覆盖范围
8、结合HDL Designer和HDL Author进行完整的设计创建,项目管理和可视化功能
1、打开modelsim-win64-2020.4-se.exe软件直接安装,点击下一步
2、提示软件的安装地址C:\modeltech64_2020.4
3、提示软件的安装协议内容,点击下一步
4、提示软件的安装进度条,等待主程序安装结束
5、弹出提示您想要将Modelsim可执行目录添加到您的路径吗? 这对于从DO框中运行批处理编译和模拟非常有用,可以点击是
6、弹出Key Driver安装,点击否
7、提示安装完毕,点击完成
1、打开patch,解压里面的破解文件,将MentorKG.exe和patch64_dll.bat复制到软件安装地址C:\modeltech64_2020.4\win64
2、双击patch64_dll.bat等待一段时间会弹出许可文件LICENSE.TXT,将其保存
3、在C盘建立flexlm文件夹,将许可证LICENSE.TXT复制到该文件夹保存
4、点击此电脑-属性-高级系统设置添加变量内容
5、新建一个系统变量
LM_LICENSE_FILE
C:\flexlm\LICENSE.TXT
6、打开crack1文件夹,将win64文件夹下的mgcld64.exe和mgls64.dll复制到安装目录中替换
7、如图所示,替换目标文件就可以激活
8、启动软件就可以正常使用
什么是交易?
事务是对设计在仿真运行期间一次与另一次之间所做的陈述。
“交易”一词由于与事务级别建模(TLM)相关联而可能造成混淆。在TLM中,设计单元跨接口传递消息,这些消息通常称为事务。
在ModelSim中,事务是记录在WLF文件中的抽象语句,该语句声明设计在特定时间的工作。设计人员用源代码编写一个事务,然后在仿真过程中将其记录到WLF文件中。通常,事务表示在设计对象之间移动的数据包。事务允许用户在任何抽象级别上调试和监视设计。
事务至少应包括:名称,开始时间和结束时间。仅此一项,您就可以记录状态机的转换或总结总线上的活动。但此外,事务可以具有用户定义的属性,例如地址,数据或状态。
关于交易的源代码
您可以通过放置在设计源代码中的Verilog / VHDL或SystemC API调用来创建/记录事务。
Verilog / SystemVerilog和VHDL事务—使用专门为要通过ModelSim模拟器验证的设计而开发的自定义API编写。除非另有说明,否则本章通篇使用“ Verilog”一词来表示该语言的两种形式(Verilog和SystemVerilog)。
SystemC事务—与SystemC验证(SCV)库一起编写。
有关记录事务的信息,请参阅SystemC验证标准规范,版本1.0e中的SystemC API语法。
随着仿真的进行,单个事务会记录到WLF文件中,并且可以在交互式调试和仿真后调试中用于设计调试和性能分析。
关于交易流
ModelSim记录流上的交易,就像它记录电线和信号上的值一样。流是可调试的对象,可以将其添加到GUI窗口,例如“对象”或“波形”窗口。
当您一次在一个流上记录多个事务时,这些事务是“并发的”。模拟器根据需要创建子流,以便流上的并发事务保持不同(请参见图1)。
并发事务在“ Wave”窗口中显示为:
并行事务—重叠但在两个事务之间不存在内在联系的事务。
阶段交易-并发交易实际上是初始交易的子交易。
您可以指定在记录期间并发事务是阶段事务还是并行事务。
模拟器会自动记录交易记录,使它们可立即在GUI中查看。 Wave窗口可提供最佳的交易视图。例如,图1显示了多个事务的Wave窗口视图
交易查看共性
模拟器在所有调试窗口和窗格中始终显示事务。
当流上有事务实例时,模拟器会将事务记录在WLF文件中,并在调试窗口中显示它们。
流有子流,并且在以下情况下可扩展:
上面已经定义了带有属性的交易
交易流重叠
当未扩展时,可扩展流的值包括所有当前活动事务的名称;例如“ {busRetry busWrite}”。仅当您扩展流以显示它们时,任何属性的值才可用。
图1显示了几个流,其中一个具有八个子流。
图1. Wave窗口中的事务流
如果在特定流上未定义任何事务,或者没有事务具有属性,则该流是一个简单信号,以当前事务的名称为其值。
值在以下情况下出现:
当流上没有事务处于活动状态时。
存在元素(属性和/或子流)但未被事务使用的元素。
在ModelSim中,属性和子流是加性的。模拟器将这些添加到流的基本定义中,并从该点开始将其保留为流定义的一部分。即使未在某些事务中使用属性,该属性仍是流的一部分
SystemC验证(SCV)允许设计在begin和end属性上设置显式的,未定义的值。模拟器将这些显示为“ ”。
事务流是在设计控制下的动态对象。在仿真过程中,设计可以定义新的流,定义新的事务种类,重叠事务或创建阶段事务,添加各种特殊属性等等。作为响应,模拟器会在GUI中主动重新创建对象以反映最新更改。
动态更改始终是累加的:将元素添加到流中后,它将保留在所有视图中。在仿真后调试中,GUI将显示所有元素,就好像它们从仿真运行开始就存在。对于交互式调试和仿真后调试,仿真器都显示在特定仿真时间不存在的元素,就像使用了nolog命令一样。它们的值为“ No_Data”。
结构窗口中的事务对象
使用“结构”窗口可以浏览设计中的区域,这与在命令行模式下使用env命令类似。
交易对象在“结构”窗口的设计层次结构中看起来很像信号或网络。当您导航到包含流的区域时,该流在“对象”窗口中可见。
在Wave窗口中查看事务
在Wave窗口中,可以最有效地查看事务。
先决条件
要在Wave窗口中查看事务,必须在事务开始时的模拟时启用日志记录。该模拟器自动启用对以SCV,Verilog和VHDL编写的事务进行日志记录的功能。
注意:
可以使用nolog命令禁用日志记录。
程序
在包含事务的设计上运行模拟。
vsim上衣;全部运行
通过执行以下任一操作,将事务添加到Wave窗口:
从“对象或结构(sim)”窗口拖放到“波形”窗口。 (add wave命令将反映在“成绩单”窗口中。)
当光标位于事务上方时,单击鼠标中键。
选择事务,然后选择“添加”>“至”窗口。
在命令行中输入以下内容:
添加wave -expand top / *
选择在其下方具有对象的流旁边的加号图标以显示子流和/或任何属性。
结果
交易流的图标是一个四点星形。星形的颜色表示在其中找到流的区域的源语言:SystemC为绿色,Verilog为浅蓝色,VHDL为深蓝色。
在波形窗格中,事务显示为该事务的所有可见值周围的框。图1显示了一个只有一个子流的流上的事务的示例,其中该流以其展开和折叠形式显示。
图1.查看事务和属性
每个框代表流上交易的“实例”。在第一笔交易和第二笔交易之间绘制的水平线表示没有活动的时间段,或者禁用了日志记录的时间段;没有办法知道是哪种情况。
当存在并行并行事务时,该流显示并行值,这些值绘制为垂直偏移重叠,以便可以看到每个实例。如图2所示,扩展流显示子流,将事务整齐地分开,每个子流可以扩展以显示属性或阶段子流。当您选择一个事务实例,所有的关联交易都还强调,如图2所示。
图2.并行并行事务
图3显示了一个简单的事务流,其中包括简单的用户定义的地址和数据属性。
图3. Wave窗口中的事务-查看
交易的第一行是交易的名称。如图3所示,当扩展事务流时,其他行将显示事务的属性。
小费
对于SystemC的begin / end属性-如果生成器声明了begin end属性,但未定义该值,则该值在GUI中显示为“未定义”。
追溯记录和交易显示
追溯记录是指交易的记录,其开始和/或结束时间发生在当前模拟时间之前。
与追溯交易记录和显示有关的两个最重要的问题是Wave窗口中追溯交易的外观,以及已记录的交易和追溯记录。
Wave窗口中追溯交易的外观
在Wave窗口中绘制追溯交易时,可能会显示比预期更多的子流。这是由于这样的事实,即使两个事务之间可能存在足够长的空间来进行追溯事务,该工具也会创建一个额外的子流来绘制该事务。
记录的事务和追溯记录
在仿真时启用日志记录时,当设计调用:: begin_transaction()(SystemC),$ begin_transaction()(Verilog)或begin_transaction()(VHDL)时,将在WLF文件中记录一个事务。事务的有效开始时间(换句话说,设计作为开始事务的参数所经过的时间)无关紧要。
例如,流可能在T1和T2之间禁用了日志记录,并且仍在该时间段内使用时间T2之后的追溯日志记录事务。事务始终完全记录或不记录。
在Wave窗口中选择交易或流
您可以在Wave窗口中选择交易或流;或者,如果交易是通过关联记录的,则从弹出菜单中进行。
程序
使用这些方法中的任何一种在wave窗口中选择交易信息。
使用鼠标选择交易信息
左键单击鼠标以选择单个事务以及该事务的任何子流。
用Shift键单击鼠标左键以选择多个事务及其子流。
使用弹出菜单选择相关交易
右键单击以显示带有以下选项的弹出菜单:
选择相关—选择当前交易指向的交易。
选择关联—选择指向当前交易的交易。
选择链—选择当前交易的所有相关交易。使用它来选择整个因果链。
选择元—选择当前交易的所有相关交易。使用它来选择该关系的任何现有分支。
选择这些项目中的任何一个都会弹出一个子菜单,其中列出了所有适用的关系名称。
如果选择了多个事务,则这些弹出菜单项将显示为灰色。
有关如何记录关系的信息,请参见“ 9”(SC)和“ 5”(Verilog / VHDL)。
自定义交易外观
您可以自定义事务实例的外观,或在调试时更改整个事务流的外观。您可以将这些自定义设置应用于当前的Wave窗口或所有Wave窗口。
自定义属性的外观
您可以使用GUI(或tr order命令)来更改事务属性的顺序并在流中隐藏/显示属性。
程序
右键单击事务或流名称以打开弹出菜单。
选择“事务属性”以打开“事务流属性”对话框。
选择Order选项卡(图1)。
图1.事务流属性对话框
从可见属性列表中选择属性,然后选择:
显示—显示流中当前隐藏的属性
隐藏-在流中从视图隐藏属性
向上—在流中向上移动属性
向下—向下移动
默认值—恢复原始视图
请执行以下任一操作:
单击“应用”进行更改,并使对话框保持打开状态。
单击确定以应用更改并关闭对话框。
在列表窗口中查看交易
当您不需要查看事务关系时,可以使用“列表”窗口查看事务。
先决条件
您的设计代码必须记录事务,以便它们在GUI中可见。
有关事务记录的说明,请参见“在SystemC中记录事务”或“在Verilog和VHDL中记录事务”。
程序
在包含事务的设计上运行仿真。
vsim上衣;全部运行
通过执行以下任一操作,将事务对象(事务流,子流,属性和属性元素)添加到“列表”窗口:
从“对象或结构(sim)”窗口中拖放。
选择“选择事务”,然后在“标准”工具栏中选择“将所选内容添加到窗口”菜单。从工具栏中选择添加到列表。
菜单选择—添加>至列表。
结果
如果“列表”窗口中存在事务,则每当事务状态更改时,新行就会写入“列表”窗口。具体来说,当事务开始或结束以及任何属性更改状态时,将打印行。状态更改可能在时间步长或增量之间发生。
图1.列表窗口中的事务
本示例显示了显示两种事务类型的流的List输出。每个都有一个SCV样式的begin属性,特殊属性和end属性。
在此示例中,您可以看到与更改事务相同的重复时间/增量。例如,在1(0)处,busRead以begin属性设置为值“ 1”开始。在时间3(0),结束属性值“ 100”到达。在下一行,也是在时间3(0),特殊属性的值“ 10”到达。在下一行中,交易已结束。这之后是几行,显示了“ ”状态,因为各种属性在内部发生了变化。
2020.4中的基本产品规格
[支持的平台]
Linux RHEL 6 x86 / x86-64
Linux RHEL 7 x86 / x86-64
Linux RHEL 8 x86 / x86-64
Linux SLES 11 x86 / x86-64
Linux SLES 12 x86 / x86-64
Windows 10 x86 / x64
[受支持的GCC编译器(用于SystemC)]
gcc-7.4.0-linux / gcc-7.4.0-linux_x86_64
gcc-5.3.0-linux / gcc-5.3.0-linux_x86_64
gcc-4.7.4-linux / gcc-4.7.4-linux_x86_64
gcc-4.2.1-mingw32vc12
[OVL(产品附带)]
v2.8.1
[VHDL OSVVM(产品附带)]
v2014.07
[VHDL UVVM(产品附带)]
UVVM v2019.11.25
[授权]
FLEXnet v11.16.4.0
MSL v2019_3
MGLS v9.22_3.1.0
PCLS v9.22.3.1.0
2020.4中修复了SystemVerilog缺陷
QSIM-64132-Vlog有时会给出错误的错误,例如:
**错误:解析文件test.sv(50)时:在范围'tpkg'中找不到名称'get_type'
对于'pkg :: typename :: get_type( ),其中“ typename”是解析为类的typedef名称。
QSIM-64922-Vlog报告了错误:
**错误:test.sv(7)在Implements子句中非法引用了接口类型C :: Intf。
如果“ C”是参数化的类类型,而“ Intf”是引用接口类的typedef名称。
2020.4中修复的VHDL缺陷
QSIM-63590-如果在元素不受约束的数组类型上发生串联,Vopt可能会崩溃。
QSIM-65962-在使用-autoorder和-quiet开关进行编译期间,如果在刷新阶段遇到语义错误,则不会打印该错误。此行为是不正确的,尽管已禁止其他编译日志记录消息,但现在将打印所有错误。
QSIM-66278-如果使用默认的初始化,则占用2GB空间的大型数据结构将崩溃。为此,数据结构中所有字段的默认值必须为0或NULL。明确初始化对象将解决此问题。
QSIM-65639-design.bin的信号范围可能不正确。如果信号范围取决于函数调用,则会发生这种情况。这些函数使用std.textio。
QSIM-63680-在某些情况下,vhdl文件是使用不同的VHDL版本编译的,某些逻辑运算会产生内部错误。该问题已解决
2020.4中的文档修订历史
修订-更改-状态/日期
5.3-进行修改以提高内容的可读性和理解性。经蒂姆·皮克(Tim Peeke)批准。本文档中列出了此版本中所有产品的所有技术增强功能,更改和修补程序。经布莱恩·拉米雷斯(Bryan Ramirez)批准。-发行/ 2020年10月
5.2-修改以提高内容的可读性和理解性。经蒂姆·皮克(Tim Peeke)批准。本文档中列出了此版本中所有产品的所有技术增强功能,更改和修补程序。经布莱恩·拉米雷斯(Bryan Ramirez)批准。-发行/ 2020年7月
5.1-进行修改以提高内容的可读性和理解性。经蒂姆·皮克(Tim Peeke)批准。本文档中列出了此版本中所有产品的所有技术增强功能,更改和修补程序。经布莱恩·拉米雷斯(Bryan Ramirez)批准。-发行/ 2020年4月
作者:内部程序和工作惯例要求文档的多个作者。在文档源中跟踪了此文档中每个主题的所有相关作者。