当前位置:文档之家› Matlab_Simulink和EDA仿真工具

Matlab_Simulink和EDA仿真工具

–例
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仿真器
相关主题