Download presentation
Presentation is loading. Please wait.
1
系统仿真软件Matlab及数模混合仿真 2013年4月2日
2
内容 系统仿真软件Matlab 数模混合仿真 演示
3
一、系统仿真软件Matlab
4
VLSI数字集成电路设计 模拟集成电路设计
5
为什么需要系统级设计? 系统级仿真是用来指导电路设计,原因如下: 电路的规模越来越大,系统构成越来越复杂。
晶体管级电路仿真消耗很长时间,效率低下。 采用系统级描述电路将降低仿真时间。
6
IC设计过程中系统工程师的地位 系统工程师一般是工作经验丰富的IC设计工程师。其承担的工作: 产品功能的定义和模块的划分
设计并验证系统的可行性 分配各个模块的性能指标 整个解决方案中芯片设计环节的组织者
7
系统级建模工具----Matlab Matlab简介 Matlab基本知识 Matlab的编程 Matlab动态仿真工具Simulink
8
Matlab简介 MATLAB 是一种科学计算软件,专门以矩阵的形式处理数据。
包括Toolbox的各类应用问题的求解工具。
10
Matlab 基本知识 1、命令窗口 在matlab 提示符“>>”下,键入matlab命令。例如输入一个3X3的矩阵:
Matlab语言是与大小写有关的语言,即变量A和a是两个完全不同的变量。
11
Matlab的编程 MATLAB Compiler 是能够将M 语言编译生成为函数库、可执行文件 COM 组件等等。
通过M文件可以扩展 MATLAB 功能,使 MATLAB 能够同其他高级编程语言例如 C/C++ 语言进行混合应用。 利用 M 语言还开发了相应的 MATLAB 专业工具箱函数供用户直接使用。 More resource:
12
M文件语法简介 Matlab提供近20类基本命令函数 包括:通用函数、基本数学函数、矩阵操作函数,绘图函数等 充分使用help
13
Matlab的toolbox 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理 数字信号处理 通讯系统设计与仿真
财务与金融工程 滤波器设计 Link For ModelSim
14
Simulink仿真基础 工程中的控制系统需要专用的系统建模软件,准确地建模,对其进行进一步的分析与仿真。
1990年,Matlab加入新的控制系统模型图输入与仿真工具 ,1992年正式将该软件更名为Simulink。 Simulink的两个含义:Simu(仿真)和Link(连接),可以在模型窗口上绘制出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。
16
Simulink的公共模块库 信源模块(Source) 信宿模块(Sinks) 连续模块库(Continuous)
信号路由(Signal Routing) 离散模块库(Discrete) 数学运算模块库(Math operations) 端口及子系统库(Ports and Subsystems) 查表模块库(Look-Up Table) 用户定义函数模块(User-Defined Functions) 非线性模块库(Discontinuities)
17
Simulink的专业模块库 More resource: http://www.mathworks.com/web_downloads/
CDMA参考模块 通讯电路模块 控制系统工具 DSP模块 TI DSP应用箱 Motorola DSP模块 模糊逻辑模块 S参数模型 More resource:
18
Simulink的仿真系统
19
利用Simulink设计滤波器 1.抽取滤波器--18位音频模数转化芯片(ADC)数字电路部分。功能: 低通滤波器 降低信号采样频率
2.插值滤波器--18位音频数模转化芯片(DAC)数字电路部分。功能: 提高信号采样频率
20
抽取滤波器 原理图 Simulink图
21
梳状滤波器的幅频曲线放大图 补偿后 的曲线
22
抽取滤波器Simulink仿真结果 输入信号 CIC滤波器 CIC补偿滤波器 第一级半带滤波器 第二级半带滤波器
23
Filter Design&Analysis
也可用命令:filterbuilder
24
滤波器系数
25
生成 HDL代码
26
生成HDL代码参数设置
27
Verilog 类型滤波器代码
28
生成对应的Testbench
29
插值滤波器 第一级半带滤波器 2倍插值 第二级半带滤波器 2倍插值 CIC滤波器 16倍插值
30
插值滤波器Simulink仿真结果 输入信号 第一级半带滤波器 第二级半带滤波器 CIC滤波器
31
二、数模混合仿真
32
SpectreVerilog仿真技术 Mixed-Signal Simulator 的基本结构 以模拟电路仿真器为核心
同时包含模拟和数字两个仿真核: Specter仿真器 Ncverilog仿真器
33
软件启动 source /opt/demo/cdsmmsim7_cal11.env source /opt/demo/ldv4.env
icfb&
34
数模混合仿真流程 创建模拟电路symbol 创建数字电路symbol 创建数模混合电路图 创建数模混合仿真配置文件
打开仿真配置文件设置数模接口电平 打开仿真器并设置 仿真
35
创建模拟电路symbol 1/4 2.创建 symbol 1.添加输 入输出管脚
36
创建模拟电路symbol 2/4
37
创建模拟电路symbol 3/4 管脚位置
38
创建模拟电路symbol 4/4
39
创建数字电路symbol 名称要一样 写代码时摁键盘上的insert键; 代码输入完成摁esc键; 然后输入:wq 摁回车键即可
40
创建数模混合电路图 数字模块 模拟模块
41
创建数模混合仿真配置文件1/4
42
创建数模混合仿真配置文件2/4
43
创建数模混合仿真配置文件3/4
44
创建数模混合仿真配置文件4/4 确认无误后保存
45
打开仿真配置文件
46
打开mix-signal选项
47
设置Partition选项
48
设置数模接口电平 低电平 高电平
49
设置数模接口电平 下降时间 上升时间
50
打开仿真器并设置1/3
51
打开仿真器并设置2/3
52
打开仿真器并设置3/3
53
仿真结果 数字结果 模拟结果
54
三、 演示
55
Modelsim 仿真步骤 准备阶段 建立新的编译库 FileNewlibrary 建立新的工程 FileNewproject
添加.v文件到新的project,包括测试激励testbench 编译 仿真
56
准备阶段—Linux下启动软件 创建启动软件的目录 mkdir sim 进入到启动软件的目录 cd sim 启动Modelsim
source /opt/demo/modelsim.env(注意空格) vsim&
57
准备阶段—Linux下文本编辑 启动命令 gedit&
58
Linux 文本编辑器 gedit
59
建立新的工作库
60
建立新的工程1/2
61
建立新的工程2/2 存放verilog代码的目录
62
编译 编译前状态 编译后状态
63
编译状态刷新 状态刷新很慢的情况下 在主窗口下鼠标右键 弹出来的选项中选择 Update
64
数字表示错误代码行数,比如这里的16,表示代码第16行有错误,双击这行可以直接定位到错误处。
编译错误查看 绿色对号表示编译无误。红色叉号表示有错误。 黄色感叹号表示有警告。错误查看:双击红色叉号。 数字表示错误代码行数,比如这里的16,表示代码第16行有错误,双击这行可以直接定位到错误处。
65
错误修改 错误修改后需要保存,保存后代码状态又变成问号,需要重新编译。
66
选择的这个模块一定要是testbench的模块
仿真1/2 启动仿真方法一 选择的这个模块一定要是testbench的模块
67
仿真2/2 启动 仿真 方法二 选中testbench模块后鼠标右键
68
波形查看 变量 过程块
69
波形查看 选中要查看 的模块, 鼠标右键
70
波形查看 跑固定时间 跑完全部
71
结束仿真
72
THANK YOU!
Similar presentations