array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Matlab和Modelsim联合仿真 - 爱码网

软件版本:

Matlab R2012a x64

Modelsim SE-64 10.2c

安装好以上版本的软件后,不用做其他设置,直接进行下面的步骤。如果matlab使用到S-function函数的话,需要安装和设置相应编译器等,在此不再详细描述。

操作步骤

1.     在matlab工作空间中输入cosimWizard,回车后弹出如下对话框:

Matlab和Modelsim联合仿真

 

如上图,如果正确安装了Modelsim软件,Matlab会自动识别出,请确认上面红色方框中的选择和图中一致。

2.     点击Next后,弹出如下对话框:

 

Matlab和Modelsim联合仿真

点击上图中Add按钮,将工程中的HDL文件添加进来,请注意工程文件中的顺序需要仔细考虑,如果次序错误,可能导致编译通不过(对于我们的工程需要先添加xxx.vhd,然后再添加其他文件,因为此文件中主要定义了一些常量和数据类型,需要被其他文件调用)。添加文件后的界面如下:

 

Matlab和Modelsim联合仿真

点击Next按钮后,会显示如下对话框:

 

Matlab和Modelsim联合仿真

再次点击Next,Status窗口中会显示“CompilingHDL files. Please wait ...”,matlab会对添加进去的文件进行编译(当然是调用了modelsim进行编译),如果没有任何问题会直接进入下一步,如果有问题,Status窗口会给出提示,返回去修改正确后重新按照上面的步骤操作即可。

3.     正确编译后,matlab会进入下一步,显示如下对话框:

 

Matlab和Modelsim联合仿真

在红色圈出的编译框中输入仿真的顶层模块名字xxx,其他不用更改,输入后点击Next按钮,matlab会弹出一个DOS窗口,进行一些文件生成和操作,不用管,完成后DOS窗口会自动关闭。

4.     然后会进入下一个步骤,设置输入输出端口。这里需要注意的,如果有时钟和复位信号的话,而且这两个信号在simulink工作空间中不单独给输入信号,就需要在此进行单独设置,设置后生成的仿真模块不在包含这两个引脚,但是会依据设置的情况内部直接给定激励。如下图,在此我们将clk_sys_s设置为时钟信号,并在随后弹出的对话框中对其进行设置。复位信号rst_sys我们在simulink中给出激励,在此不再进行设置。

 

Matlab和Modelsim联合仿真

5.     点击上图Next后进入下一步,设置输出信号的采样周期,在此我们将输出信号的采样周期设置为xxx(s),如下图:

 

需要注意,此处的采样周期需要填写数字,单位s,填写工作空间中定义好的变量名字有时会出错。

Matlab和Modelsim联合仿真

 

6.     点击Next按钮后,进入下一步,设置系统时钟信号,在此我们将系统时钟周期设置为xxxns,请注意时间的单位需要在下拉框中单独设置。如下图:

Matlab和Modelsim联合仿真

 

7.     点击Next按钮,进入下一步,如下图:

 

Matlab和Modelsim联合仿真

8.     上图中不用进行任何设置,直接点击Next按钮,进入下一步,如下图:

 

Matlab和Modelsim联合仿真

9.     上图中依然不用做任何设置,直接点Finish完成设置。完成后matlab会自动新建一个simulink模型文件,并在里面包含如下图所示三个文件。其中左边的一个是模型对应的接口文件;右上方的是模型的编译快捷方式,双击即可自动调用modelsim命令,完成模型对应的所有HDL文件的自动编译;右下方的是启动仿真器的快捷方式,双击即可自动启动modelsim,并完成simulink和modelsim的链接。可以将此三个文件拷贝到搭建好的simulink模型中即可使用。

 

 

Matlab和Modelsim联合仿真

 

10.     需要补充说明一点的是,正常情况下到上面第9步就可以结束了,但是因为我们的系统时钟周期为xx5ns,为奇数,在仿真时,时钟的占空比是50%,会产生带小数点的高电平和低电平周期,影响仿真速度,且容易出问题,我们需要双击上图中的matlab模块,对其进行手动修改。双击后弹出如下对话框:

Matlab和Modelsim联合仿真

 

选择Simulation选项卡,如下图

Matlab和Modelsim联合仿真

 

将图中的xxx2.5改为xxx3即可,如下图

Matlab和Modelsim联合仿真

 

点击Apply按钮和OK按钮即可。

 

上文用到的图,均因本人从事的是商业项目,不便透漏与项目有关的信息,因此涂抹掉了与项目相关的部分信息,如有不明白的,可以留言或发邮件,我会尽量全部答复。

相关文章:

  • 2021-08-05
  • 2021-08-05
  • 2021-08-05
  • 2022-01-02
  • 2021-08-05
  • 2021-10-05
  • 2021-08-05
  • 2021-07-21
猜你喜欢
  • 2021-08-05
  • 2021-08-05
  • 2021-08-05
  • 2021-10-05
  • 2018-05-07
  • 2018-05-17
  • 2021-08-05
  • 2021-08-05
相关资源
相似解决方案