Matlab_Simulink和modelsim联合仿真
AMESim与Simulink联合仿真设置步骤与实例

1. 联合仿真环境设置:软件环境:AMESimR10VC++6.0MA TLAB/Simulink2010a1.将VC++中的"vcvar32.bat"文件从Microsoft Visual C++目录(通常是. \Microsoft Visual Studio\VC98\Bin中)拷贝至AMESim目录下。
2.环境变量确认:1) 选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”;在弹出的“系统属性”窗口中选择“高级”页,选择“环境变量”;2) 在弹出的“环境变量”窗口中找到系统变量“AME”,它的值就是你所安装AMESim的路径,选中改环境变量;比如AMESim10安装目录(即AMESim10安装文件的存储目录)是:C:\AMESim\v1000(D:\AMESim就是错误的),那么“AME”的值就是C:\AMESim\v1000, 点击“确认”按键,该变量就会加到系统中;3) 按上述步骤设置系统变量“MATLAB”,该值为MA TLAB文件所安装的路径,例如Matlab 2010a按照文件的存储路径为:D:\Program Files\MATLAB\R2011a,那么“MA TLAB”的值就是D:\Program Files\MATLAB\R2010a,点击“确认”按键,该变量就会加到系统中;4) 同样的方式定义系统变量LM_LICENSE_FILE,值为C:\AMESim\v1000\licensing\license.dat,值就是AMESim软件许可文件的存储路径。
即LM_LICENSE_FILE=C:\AMESim\v1000\licensing\license.dat。
3. 在AMESim中选择VC作为编译器。
具体操作在AMESim->Opions-> AMESimPreferences->Compilation中;进去后选择Microsoft Visual C++项,然后点击OK确认。
Simulink_modelsim联合仿真

simulink/modelsim联合仿真XX学生的师傅2016年5月13日Simulink/Modelsim 联合仿真操作步骤本人使用的matlab版本为:matlab R2014a ; modelsim版本为:Modelsim SE-64 10.1c。
以下内容是参考自matlab帮助文档,结合自己第一次联合仿真的经验得出,如有不到之处,不能帮助解决问题还请原谅。
第一次使用markdown,如阅读体验不好,你咬我啊以下正文1.新建目录2.在matlab中配置cosimulation block1.在matlab中运行cosimWizard。
2.按要求配置。
3.在simulink或matlab中搭建仿真模型4.从matlab或simulink中启动modelsim两种方法:•在matlab中运行vism或vism('socketsimulink'),4449 ,其中4449为端口号,根据实际情况确定。
之后需在modelsim中加载verilog文件,并输入vsimulink work.uq_pmsm ,其中uq_pmsm为实体名,根据实际情况替换。
•双击simulink中的Launch HDL Simulator块启动modelsim。
以下两种情况: - 方法一启动实体仿真、方法二modelsim加载实体完成后,若一直显示loading。
- 直接在simulink中运行仿真时出现错误,提示change port。
可进入任务管理器结束lmutil.exe进程。
黑科技,不确保有效。
5.在simulink中启动仿真,此时modelsim会同步进行仿真。
AMEsim与Matlab_simulink联合仿真技术

目录摘要 (1)0 引言 (1)1 联合仿真技术 (2)1.1 联合仿真技术的特点与应用 (2)1.2 联合仿真技术的实现途径 (2)2 联合仿真接口技术 (3)2.1 系统环境配置 (3)2.2 系统编译器配置 (3)3 联合仿真应用举例 (5)4 结论 (8)致谢 (8)参考文献 (9)AMESim与Matlab_Simulink联合仿真技术机械电子系0802班李敏M200870228摘要:根据AMESim与Matlab/Simulink软件各自的特点,对两者联合仿真技术进行了研究,解决了联合仿真的接口与实现问题,并把该技术应用于电液位置伺服系统的仿真,取得了良好的效果。
关键词:AMESim;Matlab/Simulink;联合仿真;接口Abstract:United Matlab/Simulink technique with AMESim and Matlab/Simulink was discussed based on their own characteristics. The problem of their interface and realization were solved. As an applied example, Matlab/Simulink of electro hydraulic servo-system was shown. Good results were achieved.Keywords:AMESim;Matlab/Simulink;United simulation;Interface0 引言传统的设计方法往往是通过反复的样品试制和试验来分析该系统是否达到设计要求,结果造成大量的人力和物力投入在样品的试制和试验上。
随着计算机仿真技术的发展,在工程系统的软件设计开发中,大量地采用了数值成型的方法,即通过建立系统的数值模型,利用计算机仿真使得大量的产品设计缺陷在物理成型之前就得到了处理,从而可以使企业在最短的时间、以最低的成本将新产品投放到市场。
Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。
SimMechanics——机械系统建模和仿真SimMechanics 扩展Simscape™ 在三维机械系统建模的能力。
用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。
自动化3-D动画生成工具可做到仿真的可视化。
用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。
Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。
SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。
用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。
特点:∙提供了三维刚体机械系统的建模环境∙包含了一系列分析机械运动和设计机械元件尺寸的仿真技术∙三维刚体可视化仿真∙SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口∙能够把模型转化为C代码(使用Real-Time Workshop)∙由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。
强大功能:搭建机械系统模型使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。
使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。
这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。
用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。
simulink和modelsim联合仿真的简单例子

使用Link for ModelSim ,你可以建立一个有效的环境来进行联合仿真、器件建模、以及分析和可视化。
进行如下的实例的开发。
1 :可以在MA TLAB或Simulink 中针对HDL实体开发软件测试基准(test bench) 。
2 :可以在Simulink 中对包含在大规模系统模型的HDL 模型进行开发和仿真。
3 :可以生成测试向量进行测试、调试,以及同MA TLAB/Simulink下的规范原形进行HDL 代码的验证。
4 :提供在MA TLAB/Simulink下的对HDL行为级的建模能力。
5 :可以在MA TLAB/Simulink下对HDL的实现进行验证、分析、可视化。
Link for ModelSim中MA TLAB与ModelSim 接口和Simulink与ModelSim 接口是独立的。
这使得你可以单独使用一个接口或同时使用两个。
使用ModelSim和MATLAB的接口使用Link for ModelSim后,你可以使用MA TLAB和它提供的工具箱,比如设计和仿真信号处理,或者其他的数值计算算法。
你还可以用HDL来取代算法和系统设计中的器件模型,并直接完成HDL器件和MA TLAB中剩余算法的联合仿真。
使用ModelSim和Simulink的接口你可以通过Simulink和相关的Blockset创建一个关于信号处理方面或者通信系统方面的系统级设计。
你也可以把HDL 器件合并到设计中或者用HDL模块来取代相应的子系统,并借此来创建软件测试基准来验证你的HDL实现。
ModelSim 中联合仿真模块的参数对话框可以让你很容易的设置输入输出端口,二者连接的属性,时钟,以及TCL命令。
本图显示了在MATLAB和ModelSim的接口关系。
把在MATLAB 中获得的测试基准代码输出作为输入输入到VHDL实体中,并把经过ModelSim的输出输入到MATLAB函数中Link for ModelSim还提供一个模块来生成VCD的文件格式,可以用来:1 :观察在HDL仿真环境下的Simulink仿真波形2 :使用相同或不同的仿真环境来比较多个不同仿真运行的结果。
simulink与AMESim联合仿真

Simulink与AMSIM联合仿真的方法虽然随着新材料、电机技术、控制学和先进制造技术等的发展,出现了用以取代目前所依赖的功率液压传动的功率电传技术,但是在现阶段,液压伺服作动系统仍然占据航空作动系统的主导地位。
主要原因是液压伺服作动系统具有其它伺服作动系统无法比拟的优势,具有容易得到大功率输出、高功率/重量比、响应快和低俗特性好的特点。
航空液压作动系统是目前飞机上最成熟的液压作动方式,大多直接采用飞机的中央液压源提供的恒压油,通过(伺服)阀来控制执行机构的双腔流量完成指令动作,精度高、响应快。
航空也要作动系统根据其发展历程一般分为以下四类:液压助力器、电液指令作动器、复合式伺服作动器和直接驱动阀式伺服作动器。
本文将主要对其关键技术进行深入分析,并提出关键技术的解决途径。
1 建模仿真技术由于对航空液压作动系统自身结构比较复杂,对其自身的性能要求比较高,需要满足包括输出载荷、中立位置、额定行程、最大行程、行程余量、额定速度、最大速度、极限载荷、主控阀剪切力、门限、位置精度和滞环等的静态特性,满足包括频率响应和阶跃响应的动态特性,以及稳定性和阻抗特性要求。
银次,在研制航空液压作动系统的过程中,对其进行建模仿真非常重要。
通过仿真,可以对所设计的作动器性能有全面的了解,便于改进和完善设计。
传统的建模仿真分析手短一般采用数学推到加Simulink仿真的方式进行。
Simulink是美国Match Works公司开发的MA TLAB软件的可视化仿真环境,具有丰富的线性/非线性、连续/离散等控制系统仿真功能模块,具备神经网络、模糊控制等一系列先进的智能控制工具箱,非常适合进行航空液压作动系统的建模与分析,但其前提是基于用户建立的数学模型和其自身提供的结构参数化的功能模块。
而这已无法满足现在对仿真高精度和高准确度的要求。
而且Simulink本身没有专门针对液压流体仿真的工具箱,用户使用时要自己建立模型。
AMESim是法国Imagine公司推出的基于功率键合图的液压/机械系统建模、仿真机动力学分析软件,采用图形化的物理建模方式,具有复杂液压元件结构参数化的功能模块,也同样非常适合进行航空液压作动系统的结构参数化建模与分析,但是他的控制系统仿真功能模块相对较少,不具备神经网络、模糊控制等一系列先进的智能控制工具箱。
Matlab和modelsim联合仿真

• ModelSim
– 利用hdl coder生成的批命令和测试平台,然 后用Modelsim进行单独仿真
– Matlab/Simulink和Modelsim协同仿真
Matlab/Simulink ModelSim仿真
Matlab Link ModelSim
1. 建立连接通道 MATLAB
1. hdldaemon('socket',端口号)
in TCP/IP socket mode端口号,0表示由系 统分配可用端口
或 2 Hdldaemon
in shared memory mode
MATLAB连接ModelSim流程例
• 2 从MATLAB环境启动ModelSim vsim 或 vsim('vsimdir','D:\Modeltech_6.1f\win32\')
Altera仿真库-从Quartus 中提取
• 还可以再编译其他器件系列的库 • 修改ModelSim 安装目录下的
ModelSim.ini文件只读属性为可写,以便 记录仿真库的路径及映射关系
ModelSim用户界面
库文件视图
命令控制台
ModelSim> 设计加 载前的提示符
VSIM> 设计加载后 的提示符
• 布局布线后仿真(时序仿真)
– 验证是否存在时序违规。电路已经映射到具体 的工艺环境,综合考虑电路的门延迟和路径延 迟
ModelSim仿真
• 设置断点 • 单步运行 • 查看当前信号值 • 从仿真波形回溯源代码
ModelSim的安装
1. 运行setup,安装程序。选择“Full product”选项 。当询问security key的时候,选择 NO。 当看 见“ License Wizard”对话框时候,选择“close” 。
Modelsim与MATLAB联合仿真技术研究及应用

随着系统规模和复杂度的提升,产品规范的制 定难度成倍增加,缺陷问题日益突出。只有到了设 计的后期缺陷才能被发现,工程师们急需一种能够 支持系统开发的方法。
基于 MATLAB 平台的 Simulink 是动态系统仿真 领域中著名的仿真集成环境,它在众多领域得到广 泛应用。Simulink 仿真库里提供的 link for modelsim
首先,在 MATLAB 中产生仿真所需要的输入信 号(信号加噪声),以十六进制的形式存放在数据文 件中;其次,在 ModelSim 中用 VHDL 编写仿真测试文 件(TestBench)[2],用 IEEE 的 TEXTIO 库中的 READ 和 RESDLINE 函数将上述仿真数据文件中的测试向量 读入,在 ModelSim 中做布局布线后的仿真(时序仿 真),并调用 WRITE 和 HWRITE 函数将仿真结果写入 另外一个数据文件中;最后,在 MATLAB 中将 Model⁃ Sim 仿真输出数据文件中的数据读入一个数组中,可 以 做 图 分 析 ,或 做 进 一 步 的 误 差 分 析 。 还 可 以 将 ModelSim 中的仿真结果与 MATLAB 中做出的理论结 果相比较来验证设计的正确性。这样可以比直接用 人工方法将输入数据通过波形输入,再用人工方法 通过对比输出波形中的数据来验证设计的正确性要 直观、方便的多。
1 联合仿真系统搭建
Link for modelsim 是一个联合仿真的接口,它将 Mathwoks 工具整合到 EDA 工作环境中,使其应用于 FPGA 和 ASIC 的开发。这个接口在 HDL 仿真器 Mod⁃ elSim SE/PE 和 MathWorks 的产品 MATLAB 和 Simu⁃ Link 间提供了一个双向连接,以指导硬件的设计验 证和联合仿真。这种整合可以分别充分发挥 MAT⁃ LAB/SimuLink 和 ModelSim 各自的优势。图 1 显示 了在 MATLAB/SimuLink 和 ModelSim 的接口关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Altera仿真库 从Quartus 中提取 仿真库-从 仿真库
3. 从Quartus 中提取
1. 改变工作目录到存放仿真库的目录下 2. 创建新的库 3. 编译库
Altera仿真库 从Quartus 中提取 仿真库-从 仿真库
• 编译库
–对新创建的库进行编译 对新创建的库进行编译——选择源文件: 选择源文件: 对新创建的库进行编译 选择源文件 Quartus安装目录 安装目录\eda\sim_lib\220pack.vhd 安装目录 altera_mf_components.vhd 选择编译余下的6 再选择编译余下的6个文件
ModelSim仿真 仿真
• • • • 设置断点 单步运行 查看当前信号值 从仿真波形回溯源代码
ModelSim的安装 的安装
1. 运行setup,安装程序。选择“Full product”选项 。当询问security key的时候,选择 NO。 当看 见“ License Wizard”对话框时候,选择“close” 。 2. 运行keygen,生成license.dat, 把它拷贝到新建的 keygen license.dat, c:\flexlm 目录中。 3. 设置环境变量: LM_LICENSE_FILE = c:\flexlm\license.dat (选择“我的电脑” 按右键 ,选“属性”,再选“高级”,可以看到环境变 量按钮) 4. 运行ModelSim,OK
Matlab Link ModelSim
MATLAB 连接 连接HDL仿真器 仿真器
MATLAB 连接 连接HDL仿真器 仿真器
• MATLAB test bench function wraps around and communicates with the HDL simulator during a test bench simulation session.
MATLAB连接 连接ModelSim流程例 连接 流程例
在ModelSim仿真过程中, MATLAB 绘 制输出信号
MATLAB连接 连接ModelSim流程例 连接 流程例
• 8 重新仿真
ModelSim: restart 重复步骤7, 输入激励信号,运行仿真。 重复步骤 , 输入激励信号,运行仿真。
Altera仿真库 从Quartus 中提取 仿真库-从 仿真库
• 还可以再编译其他器件系列的库 • 修改ModelSim 安装目录下的 修改 ModelSim.ini文件只读属性为可写,以便 文件只读属性为可写, 文件只读属性为可写 记录仿真库的路径及映射关系
ModelSim用户界面 用户界面
MATLAB连接 连接ModelSim流程例 连接 流程例
• 9 结束仿真
– ModelSim
quit 退出仿真 quit 结束ModelSim
– Matlab
hdldaemon(‘kill’) 关闭连接
Simulink Link ModelSim
Simulink 连接 HDL 仿真器
Simulink 与HDL仿真器协同仿真流程 仿真器协同仿真流程
1. ModelSim
– 建库 – 编译
2. Simulink
– 建模 – 使用/配置协同仿真模块
• Matlab
– 建立连接
3. ModelSim
– 加载仿真器
4. Simulink
– 运行仿真
使用Simulink 协同仿真模块 使用
Simulink 建模
配置协同仿真模块--端口设置 配置协同仿真模块 端口设置
• 仿真库
– IP Core 仿真库
• 如果设计中包含了 如果设计中包含了MegaWizard 生成的 Core 或 生成的IP 直接调用了LPM, 则必须制定Altera 直接调用了LPM, 则必须制定Altera 仿真库
– 器件族仿真库
Altera仿真库 仿真库
添加Altera的仿真库三种方法 为ModelSim SE添加 添加 的仿真库三种方法
vcom <file1>.vhd <file2>.vhd vlog <file1>.v <file2>.v
4. 启动仿真器
vsim top_entity
ModelSim基本 基本 仿真步骤
5. 添加信号到 添加信号到Wave窗 窗 add wave /* 6. 添加激励 运行仿真 添加激励,
force run <time_step> <time_units>
连接ModelSim流程例modsimrand.m 流程例 连接
Matlab启动 server in shared memory mode: ModelSim仿真
hdldaemon
modsimrand_plot.m function [iport,tnext] = modsimrand_plot(oport, tnow, portinfo)
1. hdldaemon('socket',端口号)
in TCP/IP socket mode端口号,0表示由系 端口号, 表示由系 端口号 统分配可用端口
或 2 Hdldaemon
in shared memory mode
MATLAB连接 连接ModelSim流程例 连接 流程例
• 2 从MATLAB环境启动ModelSim vsim 或 vsim('vsimdir','D:\Modeltech_6.1f\win32\')
端口名称与ModelSim 信号命名相同,删除不 合适的端口 对输出端口设采样时间
配置协同仿真模块--端口设置 配置协同仿真模块 端口设置
• 自动填入端口信息:
– 在modelsim中关联:vsimulink 实体名 – 在simulink 协同仿真模块中删除已有端口,点 击 Auto Fill – 删除不必要的端口,如clk(clk信息应在clocks 选项卡中设置)
1. 从ModelSim AE版中复制 版中复制Altera的仿真库 版中复制 的仿真库 – 1安装 安装ModelSim AE版 安装 版 – 2在ModelSim AE的安装目录下的 在 的安装目录下的Altera目录 的安装目录下的 目录 就是所要的仿真库
Altera仿真库 仿真库
2 从Altera 官方网站下载预编译的仿真库 /support/software/do wnload/eda_software/modelsim/msmindex.jsp
ModelSim exe具体安装路径 具体安装路径
MATLAB连接 连接ModelSim流程例 连接 流程例
• 3 设置MATLAB当前目录
例
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos 该目录下有modsimrand_plot.m文件
• 设置MODELSIM当前目录
–例
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos\vhdl\modsimrand 该目录下有VHDL文件
MATLAB连接 连接ModelSim流程例 连接 流程例 •4 执行ModelSim命令
vlib work 创建工作库 vmap work work 映射工作库到物理目录 库到物理目录 vcom modsimrand 选择一个 择一个HDL文件进行编译 文件进行编译 择一个
MATLAB连接 连接ModelSim流程例 连接 流程例
• 5关联HDL设计与MATLAB函数 ,执行ModelSim
ModelSim版本 版本
• ModelSim AE
– Altera OEM 版,功能有限,速度较慢。有厂 功能有限,速度较慢。 家仿真库
• ModelSim PE • ModelSim SE
– 专业版, 性能最强 专业版, 性能最强。
Altera和ModelSim 和
• ModelSim 的版本
– ModelSim AE 要有License 要有 – ModelSim AE Free 发行速度跟不上SE 版和 版和Quartus 的 发行速度跟不上 速度 – ModelSim SE 不带FPGA/CPLD厂家的仿真库 不带 厂家的仿真库
ModelSim版本 版本
• 如用于Matlab/Simulink协同仿真
matlabtb modsimrand mfunc modsimrand_plot -rising /modsimrand/clk -socket portnum
仿真
仿真结果可视化
用ModelSim 仿真例
仿真数据来自ModelSim, 由Matlab绘图 仿真数据来自 绘图
MATLAB连接 连接ModelSim流程例 连接 流程例 1. 建立连接通道 MATLAB
MATLAB连接 连接ModelSim流程例 连接 流程例
• 7执行Vsim命令,输入激励信号,运行仿真。 输入激励信号, 输入激励信号 运行仿真。 例
force /modsimrand/clk 0 0 ns, 1 5 ns -repeat 10 ns force /modsimrand/clk_en 1 force /modsimrand/reset 1 0, 0 50 ns run 80000
• 选用ModelSim 6.1~6.3
• 如选用ModelSim AE
– 可以用 相应 相应ModelSim Se的 License. 例如 例如: 的 最新版本的ModelSim AE 6.4 可以使用 最新版本的 ModelSim Se 6.4的License 的
Altera的仿真库 的仿真库