当前位置:文档之家› Matlab_Simulink和modelsim联合仿真

Matlab_Simulink和modelsim联合仿真


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的仿真库 的仿真库
相关主题