2013 年 4 月 2 日

72
浙浙浙浙浙 2013 年 4 年 2 年 年年年年 Matlab 年年年年年 年年

Upload: ann

Post on 04-Jan-2016

110 views

Category:

Documents


0 download

DESCRIPTION

系统仿真软件 Matlab 及数模混合仿真. 2013 年 4 月 2 日. 内容. 系统仿真软件 Matlab 数模混合仿真 演示. 一、系统仿真软件 Matlab. VLSI 数字集成电路设计. 模拟集成电路设计. 为什么需要系统级设计?. 系统级仿真是用来指导电路设计,原因如下: 电路的规模越来越大,系统构成越来越复杂。 晶体管级电路仿真消耗很长时间,效率低下。 采用系统级描述电路将降低仿真时间。. IC 设计过程中系统工程师的地位. 系统工程师一般是工作经验丰富的 IC 设计工程师。其承担的工作:. 产品功能的定义和模块的划分 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2013 年 4 月 2 日

浙大微电子

2013年 4月 2日

系统仿真软件 Matlab 及数模混合仿真

Page 2: 2013 年 4 月 2 日

浙大微电子

内容 系统仿真软件 Matlab 数模混合仿真 演示

2/72

Page 3: 2013 年 4 月 2 日

浙大微电子

一、系统仿真软件一、系统仿真软件 MatlabMatlab

3/72

Page 4: 2013 年 4 月 2 日

浙大微电子

VLSI 数字集成电路设计 模拟集成电路设计

4/72

Page 5: 2013 年 4 月 2 日

浙大微电子

为什么需要系统级设计?

系统级仿真是用来指导电路设计,原因如下:

电路的规模越来越大,系统构成越来越复杂。 晶体管级电路仿真消耗很长时间,效率低下。 采用系统级描述电路将降低仿真时间。

5/72

Page 6: 2013 年 4 月 2 日

浙大微电子

IC 设计过程中系统工程师的地位

产品功能的定义和模块的划分 设计并验证系统的可行性 分配各个模块的性能指标 整个解决方案中芯片设计环节的组织者

系统工程师一般是工作经验丰富的 IC 设计工程师。其承担的工作:

6/72

Page 7: 2013 年 4 月 2 日

浙大微电子

系统级建模工具 ----Matlab

Matlab 简介 Matlab 基本知识 Matlab 的编程 Matlab 动态仿真工具 Simulink

7/72

Page 8: 2013 年 4 月 2 日

浙大微电子

Matlab 简介 MATLAB 是一种科学计算软件,专门以矩阵的形式

处理数据。 MATLAB 被广泛地应用于科学计算、控制系统、信

息处理等领域的分析、仿真和设计工作 Matlab 最重要的特点是易于扩展,它允许用户自行

建立完成指定功能的 M 文件,从而构成适合于其他领域的工具箱。

包括 Toolbox 的各类应用问题的求解工具。

8/72

Page 9: 2013 年 4 月 2 日

浙大微电子 9/72

Page 10: 2013 年 4 月 2 日

浙大微电子

Matlab 基本知识

1 、命令窗口 在 matlab 提示符“ >>” 下,键入 matlab 命令。例如输入一个 3X3 的矩阵: a=[1,2,3;4,5,6;7,8,9] (行与行间分号间隔,数值间空格或逗号间隔。)

Matlab 语言是与大小写有关的语言,即变量 A 和 a是两个完全不同的变量。

10/72

Page 11: 2013 年 4 月 2 日

浙大微电子

Matlab 的编程 MATLAB Compiler 是能够将 M 语言编译生成为函

数库、可执行文件 COM 组件等等。 通过 M 文件可以扩展 MATLAB 功能,使 MATLAB

能够同其他高级编程语言例如 C/C++ 语言进行混合应用。

利用 M 语言还开发了相应的 MATLAB 专业工具箱函数供用户直接使用。

More resource: http://www.mathworks.com/matlabcentral/fileexchange/loadCategory.do

11/72

Page 12: 2013 年 4 月 2 日

浙大微电子

M 文件语法简介

Matlab 提供近 20 类基本命令函数

包括:通用函数、基本数学函数、矩阵操作函数,绘图函数等

充分使用 help

12/72

Page 13: 2013 年 4 月 2 日

浙大微电子

Matlab 的 toolbox 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理 数字信号处理 通讯系统设计与仿真 财务与金融工程 滤波器设计 Link For ModelSim

13/72

Page 14: 2013 年 4 月 2 日

浙大微电子

Simulink 仿真基础 工程中的控制系统需要专用的系统建模软件,准确地

建模,对其进行进一步的分析与仿真。

1990 年, Matlab加入新的控制系统模型图输入与仿真工具 , 1992 年正式将该软件更名为 Simulink 。

Simulink 的两个含义: Simu (仿真)和 Link (连接),可以在模型窗口上绘制出所需要的控制系统模型,然后利用 SIMULINK 提供的功能来对系统进行仿真和分析。

14/72

Page 15: 2013 年 4 月 2 日

浙大微电子 15/72

Page 16: 2013 年 4 月 2 日

浙大微电子

Simulink 的公共模块库 信源模块( Source ) 信宿模块( Sinks ) 连续模块库( Continuous ) 信号路由( Signal Routing ) 离散模块库( Discrete ) 数学运算模块库( Math operations ) 端口及子系统库( Ports and Subsystems ) 查表模块库( Look-Up Table ) 用户定义函数模块( User-Defined Functions ) 非线性模块库( Discontinuities )

16/72

Page 17: 2013 年 4 月 2 日

浙大微电子

CDMA参考模块 通讯电路模块 控制系统工具 DSP 模块 TI DSP 应用箱 Motorola DSP 模块 模糊逻辑模块 S参数模型 More resource :

http://www.mathworks.com/web_downloads/

Simulink 的专业模块库

17/72

Page 18: 2013 年 4 月 2 日

浙大微电子

Simulink 的仿真系统

18/72

Page 19: 2013 年 4 月 2 日

浙大微电子

1.抽取滤波器 --18 位音频模数转化芯片( ADC )数字电路部分。功能:

•低通滤波器•降低信号采样频率

2.插值滤波器 --18 位音频数模转化芯片( DAC )数字电路部分。功能:

•低通滤波器•提高信号采样频率

利用 Simulink 设计滤波器

19/72

Page 20: 2013 年 4 月 2 日

浙大微电子

抽取滤波器原理图

Simulink 图

20/72

Page 21: 2013 年 4 月 2 日

浙大微电子

梳状滤波器的幅频曲线放大图

21/72

补偿后

的曲线

Page 22: 2013 年 4 月 2 日

浙大微电子

抽取滤波器 Simulink 仿真结果输入信号

第一级半带滤波器

第二级半带滤波器

CIC 滤波器

CIC补偿滤波器

22/72

Page 23: 2013 年 4 月 2 日

浙大微电子

Filter Design&Analysis也可用命令: filterbuilder

23/72

Page 24: 2013 年 4 月 2 日

浙大微电子

滤波器系数

24/72

Page 25: 2013 年 4 月 2 日

浙大微电子

生成 HDL代码

25/72

Page 26: 2013 年 4 月 2 日

浙大微电子

生成 HDL代码参数设置

26/72

Page 27: 2013 年 4 月 2 日

浙大微电子

Verilog 类型滤波器代码

27/72

Page 28: 2013 年 4 月 2 日

浙大微电子

生成对应的 Testbench

28/72

Page 29: 2013 年 4 月 2 日

浙大微电子

插值滤波器

第一级半带滤波器

2倍插值

第二级半带滤波器

2倍插值

CIC 滤波器

16倍插值

29/72

Page 30: 2013 年 4 月 2 日

浙大微电子

插值滤波器 Simulink 仿真结果

输入信号

第一级半带滤波器

第二级半带滤波器

CIC 滤波器

30/72

Page 31: 2013 年 4 月 2 日

浙大微电子

二、数模混合仿真二、数模混合仿真

31/72

Page 32: 2013 年 4 月 2 日

浙大微电子

SpectreVerilog 仿真技术

Mixed-Signal Simulator 的基本结构 以模拟电路仿真器为核心

同时包含模拟和数字两个仿真核 :

Specter 仿真器 Ncverilog 仿真器

32/72

Page 33: 2013 年 4 月 2 日

浙大微电子

软件启动 source /opt/demo/cdsmmsim7_cal11.env source /opt/demo/ldv4.env icfb&

33/72

Page 34: 2013 年 4 月 2 日

浙大微电子

数模混合仿真流程 创建模拟电路 symbol 创建数字电路 symbol 创建数模混合电路图 创建数模混合仿真配置文件 打开仿真配置文件设置数模接口电平 打开仿真器并设置 仿真

34/72

Page 35: 2013 年 4 月 2 日

浙大微电子

创建模拟电路 symbol 1/4

35/72

1.添加输入输出管脚

2.创建symbol

Page 36: 2013 年 4 月 2 日

浙大微电子

创建模拟电路 symbol 2/4

36/72

Page 37: 2013 年 4 月 2 日

浙大微电子

创建模拟电路 symbol 3/4

37/72

管脚位置

Page 38: 2013 年 4 月 2 日

浙大微电子

创建模拟电路 symbol 4/4

38/72

Page 39: 2013 年 4 月 2 日

浙大微电子

创建数字电路 symbol

写代码时摁键盘上的 insert 键;

代码输入完成摁 esc 键;

然后输入 :wq

摁回车键即可

名称要一样

39/72

Page 40: 2013 年 4 月 2 日

浙大微电子

创建数模混合电路图

模拟模块

数字模块

40/72

Page 41: 2013 年 4 月 2 日

浙大微电子

创建数模混合仿真配置文件 1/4

41/72

Page 42: 2013 年 4 月 2 日

浙大微电子

创建数模混合仿真配置文件 2/4

42/72

Page 43: 2013 年 4 月 2 日

浙大微电子

创建数模混合仿真配置文件 3/4

43/72

Page 44: 2013 年 4 月 2 日

浙大微电子

创建数模混合仿真配置文件 4/4

44/72

确认无误后保存

Page 45: 2013 年 4 月 2 日

浙大微电子

打开仿真配置文件

45/72

Page 46: 2013 年 4 月 2 日

浙大微电子

打开 mix-signal选项

46/72

Page 47: 2013 年 4 月 2 日

浙大微电子

设置 Partition选项

47/72

Page 48: 2013 年 4 月 2 日

浙大微电子

设置数模接口电平

低电平高电平

48/72

Page 49: 2013 年 4 月 2 日

浙大微电子

设置数模接口电平

下降时间

上升时间

49/72

Page 50: 2013 年 4 月 2 日

浙大微电子

打开仿真器并设置 1/3

50/72

Page 51: 2013 年 4 月 2 日

浙大微电子

打开仿真器并设置 2/3

51/72

Page 52: 2013 年 4 月 2 日

浙大微电子

打开仿真器并设置 3/3

52/72

Page 53: 2013 年 4 月 2 日

浙大微电子

仿真结果

数字结果

模拟结果

53/72

Page 54: 2013 年 4 月 2 日

浙大微电子

三、 演示三、 演示

54/72

Page 55: 2013 年 4 月 2 日

浙大微电子

Modelsim 仿真步骤 准备阶段 建立新的编译库 FileNewlibrary 建立新的工程 FileNewproject添加 .v 文件到新的 project, 包括测试激励

testbench 编译 仿真

55/72

Page 56: 2013 年 4 月 2 日

浙大微电子

准备阶段— Linux 下启动软件

创建启动软件的目录 mkdir sim 进入到启动软件的目录 cd sim启动 Modelsim

source /opt/demo/modelsim.env(注意空格 )

vsim&

56/72

Page 57: 2013 年 4 月 2 日

浙大微电子

准备阶段— Linux 下文本编辑

启动命令 gedit&

57/72

Page 58: 2013 年 4 月 2 日

浙大微电子

Linux 文本编辑器 gedit

58/72

Page 59: 2013 年 4 月 2 日

浙大微电子

建立新的工作库

59/72

Page 60: 2013 年 4 月 2 日

浙大微电子

建立新的工程 1/2

60/72

Page 61: 2013 年 4 月 2 日

浙大微电子

建立新的工程 2/2

存放 verilog代码的目录

61/72

Page 62: 2013 年 4 月 2 日

浙大微电子

编译

编译前状态

编译后状态

62/72

Page 63: 2013 年 4 月 2 日

浙大微电子

编译状态刷新状态刷新很慢的情况下 在主窗口下鼠标右键 弹出来的选项中选择 Update

63/72

Page 64: 2013 年 4 月 2 日

浙大微电子

编译错误查看绿色对号表示编译无误。红色叉号表示有错误。黄色感叹号表示有警告。错误查看:双击红色叉号。

数字表示错误代码行数,比如这里的 16 ,表示代码第 16 行有错误,双击这行可以直接定位到错误

处。

64/72

Page 65: 2013 年 4 月 2 日

浙大微电子

错误修改错误修改后需要保存,保存后代码状态又变成

问号,需要重新编译。

65/72

Page 66: 2013 年 4 月 2 日

浙大微电子

仿真 1/2

启动仿真方法一

选择的这个模块一定要是testbench 的模块

66/72

Page 67: 2013 年 4 月 2 日

浙大微电子

仿真 2/2

启动仿真方法二

选中 testbench 模块后鼠标右键

67/72

Page 68: 2013 年 4 月 2 日

浙大微电子

波形查看

变量

过程块

68/72

Page 69: 2013 年 4 月 2 日

浙大微电子

波形查看

选中要查看的模块,鼠标右键

69/72

Page 70: 2013 年 4 月 2 日

浙大微电子

波形查看

跑固定时间

跑完全部

70/72

Page 71: 2013 年 4 月 2 日

浙大微电子

结束仿真

71/72

Page 72: 2013 年 4 月 2 日

浙大微电子

THANK YOU!

72/72