Matlab_Simulink和EDA仿真工具
合集下载
MATLAB的仿真工具箱Simulink模型的建立与仿真学习教程优秀PPT课件(基本库原件、搭建

•
Ignore limit and reset when linearizing:若勾选此选项,则表示当系统为线性化系统时,前
面的积分上下线限制和触发事件无效,默认缺省值为不勾选;
•
Enable zero-crossing detection:使系统通过零点检验,默认勾选。
• 搭建Integrator模块如图3-35所示。
•
Pulse Generator其模块属性如图3-19所示。
• 如图3-19所示Pulse Generator模块,对于其属性窗口:
• Amplitude:脉冲信号的振幅,指定为标量或矢量,默认值为1。
• Period(secs):脉冲数字采样周期,默认值为10。
• Pulse width:脉冲宽度,输入为矢量或标量,默认值为5。
• External reset:设置信号的触发事件(rising, falling, either, level, level hold, none),默认设置为 none,保持系统原态。
• Initial condition source:参数输入的状态,分为外部输入external和内部输入internal,通常默认设 置为internal。
3.3.3 Transfer Fcn模块
• Transfer Fcn其模块属性如图3-37所示。
• 如图3-37所示Transfer Fcn模块,对于其属性窗口:
• Numerator coefficients:传递函数分子系数,系统默认值为[1];
• Denominator coefficients:传递函数分母系数,系统默认值为[1,1];
• Derivative模块,表示微分环节,Derivative其模块属性如图3-31所示。 • 如图3-31所示Derivative模块,对于其属性窗口: • 搭建Derivative模块如图3-32所示。
Matlab系列之Simulink仿真教程

Simulink中的所有功 能都通过模块来实现, 用户可以通过组合不 同的模块来构建复杂 的系统模型。
交互式仿真
Simulink支持交互式 仿真,用户可以在仿 真运行过程中进行实 时的分析和调试。
可扩展性
Simulink具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
交互式仿真
Simulink支持交互式 仿真,用户可以在仿 真运行过程中进行实 时的分析和调试。
可扩展性
Simulink具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
MATLAB的仿真工具箱Simulink常用命令库分析学习教程优秀PPT课件

Simulink常用命令库分析
Simulink模型库包含的模块很庞大,然而充分的利用每一个模块,并且 熟练的了解和掌握每一个模块的属性显得尤为重要,Simulink模型代码 抒写有利于用户更加好的掌握每一个模块的属性和参数值的含义。 Simulink命令代码属于底层代码调试过程,没有直接在Simulink模型库 中搭建模型更加直观,然而Simulink程序代码能够内嵌到很多可视化界 面下,从而简化显示的界面,特别是GUI界面下的调用Simulink仿真, Simulink命令代码表现一定的优势。 学习目标: (1)熟练掌握Simulink命令的表示方法; (2)熟练运用Simulink命令代码建模;
• 具体的find_system使用如下:
• find_system
•
运行程序输出结果如下:
• ans =
•
'ysw4_7'
•
'ysw4_7/Scope'
•
'ysw4_5'
•
'ysw4_5/Integrator'
•
'ysw4_5/Mux'
•
'ysw4_5/Scope'
•
'ysw4_5/Sine Wave'
产生一个常量值;
Digital Clock
在特定的采样间隔产生仿真时间;
Ground
将未连接的输入端口接地等。
(3)连续(Continuous)模块库:包括线性函数模型。包括有微分单元(Derivative)、积分单 元(Integrator)、线性状态空间系统单元(State-Space)、线性传递函数单元(Transfer Fen)、延时单元(Transport Delay)、可变传输延时单元(Variable Transport Delay)、指定 零极点输入函数单元(Zero-Pole)。
Simulink模型库包含的模块很庞大,然而充分的利用每一个模块,并且 熟练的了解和掌握每一个模块的属性显得尤为重要,Simulink模型代码 抒写有利于用户更加好的掌握每一个模块的属性和参数值的含义。 Simulink命令代码属于底层代码调试过程,没有直接在Simulink模型库 中搭建模型更加直观,然而Simulink程序代码能够内嵌到很多可视化界 面下,从而简化显示的界面,特别是GUI界面下的调用Simulink仿真, Simulink命令代码表现一定的优势。 学习目标: (1)熟练掌握Simulink命令的表示方法; (2)熟练运用Simulink命令代码建模;
• 具体的find_system使用如下:
• find_system
•
运行程序输出结果如下:
• ans =
•
'ysw4_7'
•
'ysw4_7/Scope'
•
'ysw4_5'
•
'ysw4_5/Integrator'
•
'ysw4_5/Mux'
•
'ysw4_5/Scope'
•
'ysw4_5/Sine Wave'
产生一个常量值;
Digital Clock
在特定的采样间隔产生仿真时间;
Ground
将未连接的输入端口接地等。
(3)连续(Continuous)模块库:包括线性函数模型。包括有微分单元(Derivative)、积分单 元(Integrator)、线性状态空间系统单元(State-Space)、线性传递函数单元(Transfer Fen)、延时单元(Transport Delay)、可变传输延时单元(Variable Transport Delay)、指定 零极点输入函数单元(Zero-Pole)。
第九章 MATLAB simulink仿真软件

Discrete Zero-Pole:以零极点表示 的离散传递函数模型
First-Order Hold:一阶采样和保 持器 Zero-Order Hold:零阶采样和保 持器 Unit Delay:一个采样周期的延时
16
数学运算模块( Math Operations)
数学运算模块(
标注连线:在线上双击鼠标,出现文本编辑框,输入标记文本
线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者 按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。 删除连线:单击该连线,按delete键即可
保存模型
– 模型创建完成后,从模型编辑窗口的File菜单项中选择Save或Save As命 令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。
修改模型
– 如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件
» 在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。 » 在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择 或输入欲编辑模型的名字 » 单击模块库浏览器窗口工具栏上的Open a model命令按钮或模型编辑窗口工 具栏上的Open model命令按钮
Math Operations)
Sum:求和运算 Product:乘运算 Dot Product:点乘运算
Gain:比例运算
Math Function:包括指数函数、对数 函数、求平方、开根号等常用数学函数 Trigonometric Function:三角函数, 包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数 Logical Operator:逻辑运算 Relational Operator:关系运算
matlab simulink仿真

③设置模块参数并进行连接各模块组成仿
真系统。双击Fcn模块,打开对话框,在 Expression栏中输入u*log(1+u),如下图 所示。其余模块参数不用设置。 设置模块参数后,用线将各模块连接起来 组成仿真模型,如下图
④设置系统仿真参数。单击模型窗口中的 Simulation菜单中的Simulation Parameters选项,打开仿真参数设置对话 框,选择Solver选项。在Start time和Stop time两个框中分别设置起始为0,停止为1s。 把算法选择中的Type设为Fixed-step,并 在具体算法选择框中选择ode5(DormandPrince),再把Fixed step size设为0.001s。 (固定步长)
Simulink模块库简介
• 在Matlab的命令窗口中键入Simulink或 在Matlab的工具栏中单击 按钮 , 可以打开Simulink的模块库,其界面又 称为模块库浏览器。
模 块 库
信 号 源 模 块 组
Sources
连 续 模 块 组
Continuous
离 散 模 块 组
Discrete
Simulink模型举例
• 例1 设系统的微分方程为:
x1 x 2 t 0 .5 t x2 x2 e
• 试建立系统仿真模型。
• 微分方程中的系统是时间t的函数,t由信号 源模块库(Sources)中的时钟模块(Clock)提 供,用数学运算模块库(Math Operation)中 的数学函数模块(Math Function)产生,再配 合以Sources库中的常数模块(Constant)、 Math Operations库中的乘积模块(Product) 和连续系统模块库(Continuous)中的积分模 块(Integrator)等,就可以建立系统模型。关 于输出可以用输出模块库(Sinks)中的输出端 口模块(Out),也可以用Scope模块等等。
第六章 matlab工具箱与Simulink仿真1

help specmat compan - Companion matrix. gallery - Several small test matrices. hadamard - Hadamard matrix. hankel - Hankel matrix. hilb - Hilbert matrix. invhilb - Inverse Hilbert matrix. magic - Magic square. pascal - Pascal matrix. toeplitz - Toeplitz matrix. vander - Vandermonde matrix.
elmat —— 初等矩阵和时间函数库 funfun —— 函数功能和数学分析函数库 general —— 通用命令函数库 graphics —— 通用图形函数库 iofun —— 底层输入输出函数库 lang —— 语言结构函数库 matfun —— 矩阵线性代数函数库 ops —— 运算符和逻辑函数库 plotxy —— 二维绘图函数库 plotxyz —— 三维绘图函数库
• 非线型方程求解
信号处理工具箱
• 数字和模拟滤波器设计、应用及仿真
• 谱分析和估计 • FFT、DCT等变换 • 参数化模型
学科前沿最新的工具箱
模糊控制逻辑工具箱
友好的交互设计界面,自适应神经模糊学习、聚类以及Sugeno推理 神经网络工具箱 神经网络系统具有集体运算的能力 和自适应的学习能力。具有很强的容错 性和鲁棒性,善于联想、综合和推广。
第六讲 matlab工具箱与Simulink仿真
matlab工具箱已经成为一 个系列产品,matlab主工具箱 和各种工具箱(toolbox )。
一、工具箱简介
MATLABSimulink仿真(最精简)

7.颜色设定:
Format--Foreground Color改模块前景 颜色;
Format--Background Color改模块背景 颜色;
Format-- Screen Color改模型窗口的颜 色。
19
8.3.3 simulink功能模块的处理
8.参数设定:双击模块, 从而对模块进行参 数设定。 9.属性设定:选中模块,Edit--Block Properties
1.将仿真结果信号输入到输出模块
(1)“Scope”示波器
(2)“XY Graph”二维X-Y图形显示器
(3)“Display”数字显示器中,直接查看。
34
6.5 观察Simulink的仿真结果
2.将仿真结果信号输入到“To Workspace”模
块中,再用绘图命令在MATLAB命令窗口里
绘制出图形。
8
8.3.1 SIMULINK的模块库
1. 常用元件模块
9
8.3.1 SIMULINK的模块库
2. 连续模块
10
8.3.1 SIMULINK的模块库
3. 离散模块
11
8.3.1 SIMULINK的模块库
4. 数学模块
12
8.3.1 SIMULINK的模块库
5.输入源模块
13
8.3.2 simulink模型的建立
本章目标
了解Simulink基本模块的性质
掌握系统仿真的方法
1
主要内容
8.1 Simulink与系统仿真
8.2 Simulink的使用 8.3 Simulink的基本模块 8.4 功能模块的处理 8.5 设置仿真参数
8.6 观察Simulink的仿真结果
Format--Foreground Color改模块前景 颜色;
Format--Background Color改模块背景 颜色;
Format-- Screen Color改模型窗口的颜 色。
19
8.3.3 simulink功能模块的处理
8.参数设定:双击模块, 从而对模块进行参 数设定。 9.属性设定:选中模块,Edit--Block Properties
1.将仿真结果信号输入到输出模块
(1)“Scope”示波器
(2)“XY Graph”二维X-Y图形显示器
(3)“Display”数字显示器中,直接查看。
34
6.5 观察Simulink的仿真结果
2.将仿真结果信号输入到“To Workspace”模
块中,再用绘图命令在MATLAB命令窗口里
绘制出图形。
8
8.3.1 SIMULINK的模块库
1. 常用元件模块
9
8.3.1 SIMULINK的模块库
2. 连续模块
10
8.3.1 SIMULINK的模块库
3. 离散模块
11
8.3.1 SIMULINK的模块库
4. 数学模块
12
8.3.1 SIMULINK的模块库
5.输入源模块
13
8.3.2 simulink模型的建立
本章目标
了解Simulink基本模块的性质
掌握系统仿真的方法
1
主要内容
8.1 Simulink与系统仿真
8.2 Simulink的使用 8.3 Simulink的基本模块 8.4 功能模块的处理 8.5 设置仿真参数
8.6 观察Simulink的仿真结果
各种EDA软件对比

关于Cadence
Cadence公司成立于1988年5月,总部位于 美国加州圣荷塞市。Cadence公司的电子设 计自动化产品涵盖了电子设计的整个流程, 包括系统级设计,功能验证,IC综合及布局 布线,模拟、混合信号及射频IC设计,全定 制集成电路设计,IC物理验证,PCB设计和 硬件仿真建模等。1992年进入中国大陆及香 港市场,然后陆续建立了北京、上海、深圳、 香港四个办事处以及北京研发中心、上海研 发中心。
Saber-专业的电源设计软件
Saber在电源设计中的特点: 具有大量的电源专用器件和功率电子器件,
提供高精度的电路仿真模型单元库; 三种方法有效解决变压器模型的设计:器件
模型法、磁路结构模型法、MCT模型法; 提供多种补偿电路解决方案; 顺序使用5种强大算法,有效控制开关电源
Proteus
Proteus软件是英国Labcenter electronics公司 出版的EDA工具软件。从原理图布图、代码 调试到单片机与外围电路协同仿真,一键切 换到PCB设计,真正实现了从概念到产品的 完整设计。是目前世界上唯一将电路仿真软 件、PCB设计软件和虚拟模型仿真软件三合 一的设计平台。
Multisim适合学习模拟数字电路设计 Pspice专业的电路参数分析,以及模拟数字
电路设计 Saber专业的电源设计,模拟数字电路设计 MATLAB很强大,适合各种数值分析、电气
系统分析、数字图像处理
Altium Protel 系列
Protel是PROTEL(现为Altium)公司在1985 年推出的PCB设计软件,从最初的Protel fo DOS,再升级为Protel for Windows,然后在 1998年,推出protel 98,在1999年推出了划 时代的protel 99及其升级版protel 99 se,在 2002年推出protel DXP……此后Altium从定点 软件产品发布向连续流发布方式转移,基本 上每年都有新版本发布,后有发布以Altium Designer+季节命名的版本,最新版本是 2013年4月新发布的Altium Designer 2013。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
–例
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos\vhdl\modsimrand 该目录下有VHDL文件
MATLAB连接ModelSim流程例
•4
执行ModelSim命令
vlib work 创建工作库 vmap work work 映射工作库到物理目录 vcom modsimrand 选择一个HDL文件进行编译
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协同仿真
• 选用ModelSim 6.1~6.3
• 如选用ModelSim AE
– 可以用 相应ModelSim Se的 License. 例如: 最新版本的ModelSim AE 6.4 可以使用 ModelSim Se 6.4的License
– 验证电路结构是否符合设计要求,估算电路的 门延迟, 不考虑布线的延迟
• 布局布线后仿真(时序仿真)
– 验证是否存在时序违规。电路已经映射到具体 的工艺环境,综合考虑电路的门延迟和路径延 迟
ModelSim仿真
• • • • 设置断点 单步运行 查看当前信号值 从仿真波形回溯源代码
ModelSim的安装
MATLAB连接ModelSim流程例
• 8 重新仿真
ModelSim: restart 重复步骤7, 输入激励信号,运行仿真。
MATLAB连接ModelSim流程例
• 9 结束仿真
– ModelSim
quit 退出仿真 quit 结束ModelSim
– Matlab
hdldaemon(‘kill’) 关闭连接
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\')
Simulink Link ModelSim
Simulink 连接 HDL 仿真器
Simulink 与HDL仿真器协同仿真流程
1. ModelSim
– 建库 – 编译
2. Simulink
– 建模 – 使用/配置协同仿真模块
• Matlab
– 建立连接
3. ModelSim
– 加载仿真器
4. Simulink
时钟周期=10ns
总的仿真时 间=50us
时间比例设置-真实时间
10e-9=10ns
真实时间仿真 例 真实时间 例
50000 ns = 50us = 50x10-6 s, 其中有5000个clock
配置协同仿真模块—脚本命令
例1-modsimrand-建模
例1-modsimrand-模块端口
Altera的仿真库
• 仿真库
– IP Core 仿真库
• 如果设计中包含了MegaWizard 生成的IP Core 或 直接调用了LPM, 则必须制定Altera 仿真库
– 器件族仿真库
Altera仿真库
为ModelSim SE添加Altera的仿真库三种方法
1. 从ModelSim AE版中复制Altera的仿真库 – 1安装ModelSim AE版 – 2在ModelSim AE的安装目录下的Altera目录 就是所要的仿真库
ModelSim exe具体安装路径
MATLAB连接ModelSim流程例
• 3 设置MATLAB当前目录
例
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos 该目录下有modsimrand_plot.m文件
• 设置MODELSIM当前目录
1. 运行setup,安装程序。选择“Full product”选项 。当询问security key的时候,选择 NO。 当看 见“ License Wizard”对话框时候,选择“close” 。 2. 运行keygen,生成license.dat, 把它拷贝到新建的 c:\flexlm 目录中。 3. 设置环境变量: LM_LICENSE_FILE = c:\flexlm\license.dat (选择“我的电脑” 按右键 ,选“属性”,再选“高级”,可以看到环境变 量按钮) 4. 运行ModelSim,OK
matlabtb modsimrand mfunc modsimrand_plot -rising /modsimrand/clk -socket portnum
仿真
仿真结果可视化
用ModelSim 仿真例
仿真数据来自ModelSim, 由Matlab绘图
MATLAB连接ModelSim流程例 1. 建立连接通道 MATLAB
Matlab/Simulink 和EDA仿真工具
ModelSim
Links
Cadence HDL simulator Incisive Mentor Graphics Simulators ModelSim
仿真
• 功能仿真(前仿真)
– 验证电路功能是否符合设计要求,不考虑电路 的门延迟
• 综合后仿真
– 运行仿真
使用Simulink 协同仿真模块
Simulink 建模
配置协同仿真模块--端口设置
端口名称与ModelSim 信号命名相同,删除不 合适的端口 对输出端口设采样时间
配置协同仿真模块--端口设置
• 自动填入端口信息:
– 在modelsim中关联:vsimulink 实体名 – 在simulink 协同仿真模块中删除已有端口,点 击 Auto Fill – 删除不必要的端口,如clk(clk信息应在clocks 选项卡中设置)
1. 建立库
vlib <库名> 缺省值是 work工作库
2. 映射库到物理目录
vmap <logical_name> <directory_path> 例 vmap work work
3. 编译源代码
vcom <file1>.vhd <file2>.vhd vlog <file1>.v <file2>.v
Altera仿真库
2 从Altera 官方网站下载预编译的仿真库
/support/software/do wnload/eda_software/modelsim/msmindex.jsp
Altera仿真库-从Quartus 中提取
3. 从Quartus 中提取
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
MATLAB连接ModelSim流程例
在ModelSim仿真过程中, MATLAB 绘 制输出信号
Altera仿真库-从Quartus 中提取
• 还可以再编译其他器件系列的库 • 修改ModelSim 安装目录下的 ModelSim.ini文件只读属性为可写,以便 记录仿真库的路径及映射关系
ModelSim用户界面
库文件视图
命令控制台
ModelSim> 设计加 载前的提示符
VSIM> 设计加载后 的提示符
MATLAB连接ModelSim流程例
• 5关联HDL设计与MATLAB函数 ,执行ModelSim
命令
vsimmatlab xxx xxx为设计名 例 vsimmatlab modsimrand
• 6加载仿真器,执行vsim命令
matlabtb xxx -mfunc yyy -rising zzz -socket 端口号 xxx为实例名, yyy为m函数名, zzz为时钟激励信号
例1-modsimrand-模块时钟端口
例1-modsimrand-模块时钟比例
例1-modsimrand-模块连接
例1-modsimrand-模块脚本
求解器设置
例1-modsimrand-modelsim命令
设置工作目录、建库、编译等按 常规执行. 启动仿真器: vsimulink work.modsimrand
add wave sim:/modsimrand/*
例1-modsimrand-HDL仿真
例1-modsimrand-simulink仿真
例2-Simulink 建模
Simulink ModelSim 协同仿真流程
1. Matlab 启动Link
– Hdldaemon 或 – hdldaemon(‘socket’, 端口号)
Matlab/Simulink ModelSim仿真
Matlab Link ModelSim
MATLAB 连接HDL仿真器
MATLAB 连接HDL仿真器
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos\vhdl\modsimrand 该目录下有VHDL文件
MATLAB连接ModelSim流程例
•4
执行ModelSim命令
vlib work 创建工作库 vmap work work 映射工作库到物理目录 vcom modsimrand 选择一个HDL文件进行编译
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协同仿真
• 选用ModelSim 6.1~6.3
• 如选用ModelSim AE
– 可以用 相应ModelSim Se的 License. 例如: 最新版本的ModelSim AE 6.4 可以使用 ModelSim Se 6.4的License
– 验证电路结构是否符合设计要求,估算电路的 门延迟, 不考虑布线的延迟
• 布局布线后仿真(时序仿真)
– 验证是否存在时序违规。电路已经映射到具体 的工艺环境,综合考虑电路的门延迟和路径延 迟
ModelSim仿真
• • • • 设置断点 单步运行 查看当前信号值 从仿真波形回溯源代码
ModelSim的安装
MATLAB连接ModelSim流程例
• 8 重新仿真
ModelSim: restart 重复步骤7, 输入激励信号,运行仿真。
MATLAB连接ModelSim流程例
• 9 结束仿真
– ModelSim
quit 退出仿真 quit 结束ModelSim
– Matlab
hdldaemon(‘kill’) 关闭连接
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\')
Simulink Link ModelSim
Simulink 连接 HDL 仿真器
Simulink 与HDL仿真器协同仿真流程
1. ModelSim
– 建库 – 编译
2. Simulink
– 建模 – 使用/配置协同仿真模块
• Matlab
– 建立连接
3. ModelSim
– 加载仿真器
4. Simulink
时钟周期=10ns
总的仿真时 间=50us
时间比例设置-真实时间
10e-9=10ns
真实时间仿真 例 真实时间 例
50000 ns = 50us = 50x10-6 s, 其中有5000个clock
配置协同仿真模块—脚本命令
例1-modsimrand-建模
例1-modsimrand-模块端口
Altera的仿真库
• 仿真库
– IP Core 仿真库
• 如果设计中包含了MegaWizard 生成的IP Core 或 直接调用了LPM, 则必须制定Altera 仿真库
– 器件族仿真库
Altera仿真库
为ModelSim SE添加Altera的仿真库三种方法
1. 从ModelSim AE版中复制Altera的仿真库 – 1安装ModelSim AE版 – 2在ModelSim AE的安装目录下的Altera目录 就是所要的仿真库
ModelSim exe具体安装路径
MATLAB连接ModelSim流程例
• 3 设置MATLAB当前目录
例
cd D:\MATLAB\toolbox\edalink\extensions\modelsim\modelsim demos 该目录下有modsimrand_plot.m文件
• 设置MODELSIM当前目录
1. 运行setup,安装程序。选择“Full product”选项 。当询问security key的时候,选择 NO。 当看 见“ License Wizard”对话框时候,选择“close” 。 2. 运行keygen,生成license.dat, 把它拷贝到新建的 c:\flexlm 目录中。 3. 设置环境变量: LM_LICENSE_FILE = c:\flexlm\license.dat (选择“我的电脑” 按右键 ,选“属性”,再选“高级”,可以看到环境变 量按钮) 4. 运行ModelSim,OK
matlabtb modsimrand mfunc modsimrand_plot -rising /modsimrand/clk -socket portnum
仿真
仿真结果可视化
用ModelSim 仿真例
仿真数据来自ModelSim, 由Matlab绘图
MATLAB连接ModelSim流程例 1. 建立连接通道 MATLAB
Matlab/Simulink 和EDA仿真工具
ModelSim
Links
Cadence HDL simulator Incisive Mentor Graphics Simulators ModelSim
仿真
• 功能仿真(前仿真)
– 验证电路功能是否符合设计要求,不考虑电路 的门延迟
• 综合后仿真
– 运行仿真
使用Simulink 协同仿真模块
Simulink 建模
配置协同仿真模块--端口设置
端口名称与ModelSim 信号命名相同,删除不 合适的端口 对输出端口设采样时间
配置协同仿真模块--端口设置
• 自动填入端口信息:
– 在modelsim中关联:vsimulink 实体名 – 在simulink 协同仿真模块中删除已有端口,点 击 Auto Fill – 删除不必要的端口,如clk(clk信息应在clocks 选项卡中设置)
1. 建立库
vlib <库名> 缺省值是 work工作库
2. 映射库到物理目录
vmap <logical_name> <directory_path> 例 vmap work work
3. 编译源代码
vcom <file1>.vhd <file2>.vhd vlog <file1>.v <file2>.v
Altera仿真库
2 从Altera 官方网站下载预编译的仿真库
/support/software/do wnload/eda_software/modelsim/msmindex.jsp
Altera仿真库-从Quartus 中提取
3. 从Quartus 中提取
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
MATLAB连接ModelSim流程例
在ModelSim仿真过程中, MATLAB 绘 制输出信号
Altera仿真库-从Quartus 中提取
• 还可以再编译其他器件系列的库 • 修改ModelSim 安装目录下的 ModelSim.ini文件只读属性为可写,以便 记录仿真库的路径及映射关系
ModelSim用户界面
库文件视图
命令控制台
ModelSim> 设计加 载前的提示符
VSIM> 设计加载后 的提示符
MATLAB连接ModelSim流程例
• 5关联HDL设计与MATLAB函数 ,执行ModelSim
命令
vsimmatlab xxx xxx为设计名 例 vsimmatlab modsimrand
• 6加载仿真器,执行vsim命令
matlabtb xxx -mfunc yyy -rising zzz -socket 端口号 xxx为实例名, yyy为m函数名, zzz为时钟激励信号
例1-modsimrand-模块时钟端口
例1-modsimrand-模块时钟比例
例1-modsimrand-模块连接
例1-modsimrand-模块脚本
求解器设置
例1-modsimrand-modelsim命令
设置工作目录、建库、编译等按 常规执行. 启动仿真器: vsimulink work.modsimrand
add wave sim:/modsimrand/*
例1-modsimrand-HDL仿真
例1-modsimrand-simulink仿真
例2-Simulink 建模
Simulink ModelSim 协同仿真流程
1. Matlab 启动Link
– Hdldaemon 或 – hdldaemon(‘socket’, 端口号)
Matlab/Simulink ModelSim仿真
Matlab Link ModelSim
MATLAB 连接HDL仿真器
MATLAB 连接HDL仿真器