搜索
您的当前位置:首页Cadence实例教程-DSP

Cadence实例教程-DSP

来源:飒榕旅游知识分享网
经典实例1——DSP数字视频处理系统

随着科学技术的飞速发展,互动数字视频正逐渐进入人们的工作和生活,各种电子产品和嵌入式应用由于增加视频功能而提高了价值。然而数字视频的实现又是十分复杂的事情,开发人员要花很长时间来熟悉多媒体的标准,这些标准又随着技术的发展在不停地改变。已有的数字视频实现往往和特定的硬件平台和操作系统紧紧地联系在一起,使得开发人员只能使用手工编程,这是一个复杂、耗时且高成本的过程。

为了应对这种需求,2005年TI推出了DaVinci(达芬奇)技术,其应用目标就是数字视频。它将固定功能器件的高效率和可编程器件的灵活性结合在一起,支持各种数字视频的终端设备,诸如视频电话、车载信息设施、IP机顶盒、视频会议系统、便携式媒体播放器、流媒体及数码相机等应用的理想处理器。

TI通过DaVinci技术提供了新的产品开发工具和支持,第1批处理器TMS320DM6446是采用精简指令集技术的ARM926EJ-S+、高性能TMS320C64x+DSP双核和高度集成的数字媒体处理器SoC,集成了为加速数字视频开发所专门设计的协处理器引擎。它超越了传统的开发工具和应用支持,扩展到包含开发数字视频所需要的基本软件。通过应用编程接口(API),开发人员可以直接调用已经编好并符合接口标准的DSP库程序。

17.1 整体设计规划

本章将介绍基于TMS320DM6446处理器的数字视频处理系统的印刷电路板实例,综合印刷电路板设计的各个知识点。 TMS320DM6446处理器用于满足下一代嵌入式系统的网络多媒体的编解码处理应用,其编码能力是解码能力的2倍~3倍,适应各种格式的数字视频的采集和处理。该处理器采用双核架构 ARM+DSP,其中ARM处理器采用ARM926EJ-S核,工作主频为297 MHz;DSP处理器采用TI的高端DSP核C64x+,工作主频为594 MHz。

ARM926EJ-S是采用管道化流水线的32位的精简指令集处理器,可以执行32 bit/16 bit指令集,处理32 bit、16 bit和8 bit数据。ARM通过使用协处理器CP15和保护模块使体系结构得到增强,并提供数据和程序存储管理单元。为了保证内核周期的存取指令和数据,提供了独立的16 KB指令Cache和8 KB数据Cache,指令和数据Cache都是通过VIVT 四路链接。

TMS320C64x+DSP是TMS320C6000系列中最高性能的定点DSP平台,它基于第2代高性能超长指令字结构,更适合数字多媒体的应用。TMS320C64x+DSP处理器集成了64个32位通用寄存器、8个高性能独立功能单元(乘法器和6个算术逻辑单元)。

TMS320DM6446采用二级Cache结构,L1程序Cache为256 KB直接映射Cache、L1数据Cache为640 KB的双向配置Cache,L2存储/Cache包含一个512 KB的存储器空间

由程序和数据共享,L2存储空间可以配置为存储空间、Cache或者存储空间与Cache。 (1)DSP核C64x+片上的存储器  32 KB:L1P程序RAM/Cache。  80 KB:L1D数据RAM/Cache。  64 KB:L2统一映射的RAM/Cache。 (2)ARM核ARM926EJ-S片上存储器

 16 KB:指令高速缓存 Cache。  8 KB:数据高速缓存 Cache。  16 KB:RAM。  16 KB:ROM。

TMS320DM6446除了包含一个297 MHz的ARM926EJ-S核和594MHz的C64x+ DSP核外,还包含一个视频处理子系统(4个DACs、视频编码器和OSD引擎各一个);此外,TMS320DM6446有丰富的外设资源。

(1)视频处理子系统

视频处理前端支持CCD和CMOS图像采集接口、BT.601/BT.656 数字YCbCr4:2:2 接口、自动曝光、自动白均衡和自动对焦,以及1/4x~4x独立的水平/垂直控制。

视频处理后端支持OSD功能;4个54 MHz的DACs支持复合NTSC/PAL、S端子和YPbPr/RGB视频,支持8/16 bit的YVU或者24 bit RGB数字输出。

(2)外部存储器资源

 32 bit的DDR2 SDRAM存储器控制器,支持128 MB寻址空间。  16 bit位宽的异步外部存储器接口,支持128 MB寻址空间。 (3)Flash/多媒体卡接口

 多媒体存储卡(MMC)/SD卡接口。

 CompactFlash控制器支持TrueIDE模式和智能卡接口。 (4)64通道的增强型的DMA控制器(EDMA)。 (5)两个64 bit的通用定时器和一个看门狗定时器。 (6)3个UART通道、一个SPI接口和主从I2C总线。 (7)音频串行接口(ASP)  I2S和AC97音频接口。

 标准的语音解码接口(AIC12)。 (8)10/100M以太网网卡(EMAC)  符合IEEE 802.3。  介质独立接口(MII)。 (9)VLYNQ接口(FPGA接口) (10)集成物理层的USB 2.0接口。  支持USB 2.0高速/全速从设备。  支持USB 2.0高速/全速/低速主设备。 (11)3个脉宽调制输出口(PWM)。 (12)ATA/ATAPI硬盘接口。

TMS320DM6446 DaVinci处理器的功能框图如图17-1所示。

图17-1 TMS320DM6446 DaVinci处理器的功能框图

本章介绍基于TMS320DM6446处理器的数字视频处理系统是专为数字多媒体服务器应用而开发的模块,具体包含如下部分。

(1)专用于数字多媒体处理的高性能32位的双核架构处理器TMS320DM6446,可实时实现数字音频视频的编解码运算。

(2)外扩DDR2 DRAM,容量256 MB,主要用于程序和内核的运行。 (3)外扩NAND Flash,容量64 MB,主要用于内核存储。

(4)两路PAL/NTSC的标准模拟视频输入(CVBS),一路PAL/NTSC标准模拟视频输出(CVBS)支持VGA输出。

(5)一路立体声音频输入输出接口。

(6)两路UART接口分别支持RS232和RS485接口标准。 (7)RS232标准异步通信串口用于控制台控制。 (8)RS485标准异步通信接口用于工业控制等。

(9)大容量的存储:标准ATA硬盘接口,40芯的IDC针式插座,实现ATA的PIO、DMA和Ultra DMA传输模式。方便本地数据存储,实现数字视频录像机功能。

(10)SD卡接口。

(11)480 Mb/s的USB 2.0接口,支持主从模式。

(12)高速数据传输接口:10M/100M以太网接口,采用工业标准的RJ45连接器,实现数字视频服务器功能。

其功能框图如图17-2所示。

图17-2 基于TMS320DM6446处理器的数字视频处理系统的功能框图

下面介绍DM6446数字视频处理系统的原理图,本系统的原理图结构采用平坦式设计。 (1)DDR2 SDRAM与DM6446

本系统采用的DDR2 SDRAM芯片为Micron公司的MT47H64M16BT – 8 Meg X 16 X 8 Banks。DM6446芯片本身自带DDR2接口,接口电路原理如图17-3所示。

图17-3 DM6446与DDR2接口电路原理

DDR2 SDRAM芯片MT47H64M16BT的电路原理如图17-4所示。

图17-4 DDR2 SDRAM芯片MT47H64M16BT的电路原理

(2)DM6446的EMIF、NAND_FLASH,以及GPIO和ESAM接口

NAND_FLASH芯片采用三星公司的K9F1208B0B芯片64M×8 Bit NAND Flash Memory,其电路原理如图17-5所示。

图17-5 NAND_FLASH芯片电路原理

DM6446的EMIF、NAND_FLASH、GPIO和ESAM接口电路原理如图17-6所示。

图17-6 DM6446的EMIF、NAND_FLASH、GPIO和ESAM的接口电路原理

(3)DM6446的EMU和CLOCK

DM6446的EMU和CLOCK电路原理如图17-7所示。

图17-7 DM6446的EMU和CLOCK的电路原理

(4)DM6446的USB、UART、I2C和RTC接口

DM6446的USB接口电路原理如图17-8所示。

图17-8 DM6446的USB接口电路原理

IC采用TI公司的PCA9306DCTT芯片,其电路原理如图17-9所示。

2

图17-9 I2C PCA9306DCTT芯片的电路原理

UART采用MAXIM公司的MAX3221CPWR芯片,其电路连接如图17-10所示。

图17-10 UART MAX3221CPWR芯片的电路连接

DM6446的USB、UART、IC和RTC接口电路原理如图17-11所示。

2

图17-11 DM6446的USB、UART、I2C和RTC接口电路原理

(5)DM6446的ETHERNET和IO接口

ETHERNET采用Broadcom公司的BCM5221芯片,其电路连接如图17-12所示。

图17-12 DM6446的ETHERNET和IO的接口电路连接

(6)DM6446的Audio接口

视频输入芯片采用TI公司的TLV320AIC23BPW,其电路连接如图17-13所示。

图17-13 TLV320AIC23BPW的电路连接

时钟信号采用Burr-Brown公司的PLL1705DBQ芯片,其电路连接如图17-14所示。

图17-14 PLL1705DBQ时钟芯片的电路连接

DM6446的视频存储接口电路如图17-15所示,采用TI公司的SN74AVCB16245VR芯片完成电压转换。

图17-15 DM6446的视频存储接口电路

图17-15 DM6446的视频存储接口电路(续)

(7)DM6446的视频编码器电路设计电路 DM6446的视频编码器电路设计如图17-16所示。

图17-16 DM6446的视频编码器电路设计

DM6446的编码器输出驱动电路原理如图17-17所示。

图17-17 DM6446的编码器输出驱动电路原理

(8)DM6446的视频解码器电路

DM6446的视频解码器电路设计如图17-18所示,视频解码器采用TI公司的TVP5150PBS芯片。

图17-18 DM6446的视频解码器电路设计

DM6446的视频解码器接口电路原理如图17-19所示。

图17-19 DM6446的视频解码器接口电路原理

(9)DM6446的CPLD芯片电路设计

CPLD芯片采用Xilinx公司的XC2C128芯片,其电路连接设计如图17-20所示。

图17-20 DM6446的CPLD芯片电路连接设计

17.2 制作元件封装

在制作封装过程中,一定要注意封装的长度、宽度和高度,以及引线的间距、跨度和长度等尺寸的准确,避免造成芯片安装不当或引起损坏。对表面安装式的封装,必须留出引出端焊接区。特别是手工焊接的情况,该焊接区应适当大点,以保证焊接和装配质量。建议在PCB送制前将各封装图1比1打印,然后用芯片实物进行比对以确保所用封装满足焊接和装配要求。

17.2.1 利用向导制作IC封装

本节以本实例中的MAX3221CPWR器件的PCB封装为例讲述利用向导制作封装。 1.建立焊盘

建立焊盘基于器件datasheet的封装信息,MAX3221CPWR的封装信息如图17-21所示。

图17-21 MAX3221CPWR的封装信息

(1)选择“开始”→“程序”→“Cadence SPB 16.3”→“PCB Editor Utilities”→“PAD Designer”选项,弹出“PAD Designer”窗口,如图17-22所示。

图17-22 “PAD Designer”窗口

(2)根据MAX3221CPWR的封装信息设置“Parameters”和“Lays”选项卡中的焊盘参数,如图17-23和图17-24所示。

图17-23 “Parameters”选项卡

图17-24 “Lays”选项卡

(3)选择“File”→“Save As”选项,在F:\\DTK6446\\padstack目录下保存焊盘,焊盘名为“cd160x030”。

2.建立封装

(1)选择“开始”→“程序”→“Cadence SPB 16.3” →“PCB Editor”选项,选择“File”→“New”选项或单击

按钮,弹出“New Drawing”对话框。设置有关选项,如图17-25所示。

(2)单击“Browse”按钮将封装保存目录设置为F:\\DTK6446\\package。 (3)单击“OK”按钮进入编辑界面,打开如图17-26所示的选择封装类型窗口。

图17-25 设置有关选项

(2)单击“Browse”按钮将封装保存目录设置为F:\\DTK6446\\package。

(3)单击“OK”按钮进入编辑界面,打开如图17-26所示的选择封装类型窗口。

图17-26 选择封装类型窗口

(4)选择“SOIC”单选按钮,单击“Next”按钮,弹出如图17-27所示的选择模板窗口。

图17-27 选择模板窗口

(5)单击“Next”按钮,弹出设置单位及精度参数窗口,设置结果如图17-28所示。

图17-28 设置结果

(6)单击“Next”按钮,弹出设置管脚参数对话框,设置结果如图17-29所示。

图17-29 设置结果

(7)单击“Next”按钮,弹出如图17-30所示的设置焊盘窗口。

图17-30 设置焊盘窗口

(8)单击 按钮,弹出如图17-31所示的选择焊盘对话框,选中前面制作的焊盘cd160x030。如果该焊盘没有出现在列

表框中,暂时关闭创建焊盘,重新进入到PCB Editor中。

图17-31 选择焊盘对话框

(9)单击“Next”按钮,弹出如图17-32所示的设置封装原点窗口。

图17-32 设置封装原点窗口

(10)单击“Next”按钮,弹出如图17-33所示的制作封装窗口。

图17-33 制作封装窗口

(11)单击“Finish”按钮,创建两个重要文件max3221.dra和max3221.psm,创建的元件封装如图17-34所示。

图17-34 创建的元件封装

(12)为了便于识别器件方向,在管脚1附近添加标识,如图17-35所示。

图17-35 添加标识后的元件封装

(13)选择“File”→“Save”选项,保存所创建的元件封装。

17.2.2 手工建立封装

有些元件的封装不是标准的,只能手工建立,操作步骤参见6.2.4节。

在本例中的SD/MMC/MS存储卡插槽这个元件不能用向导建立,手工建立的这个封装如图17-36所示。

图17-36 手工建立的SD/MMC/MS存储卡插槽封装

17.2.3 利用封装生成工具建立封装

IPC是制定PCB封装的一个标准化组织,它提供的封装尺寸是可信且可用的。建议访问其网站www.ipc.com,下载专门用于查看或计算PCB封装尺寸的软件PCB Matix LP Viewer V2010。该软件会自动计算元件的焊盘和封装尺寸,方便好用,其界面如图17-37所示。

17.3 原理图设计

本章实例的原理图使用Cadence SPB 16.3中的Design Entry CIS软件绘制。在设计一个原理图之前,需要做一些准备工作,如创建项目,设置项目路径和制作元件库等。

17.3.1 建立项目

建立项目的操作步骤如下。

(1)在“开始”菜单中选择“程序”选项,从Cadence SPB 16.3中双击“Design Entry CIS”软件,弹出的“Cadence Product Choices”对话框如图17-38所示。

图17-38 “Cadence Product Choices”对话框

(2)选择“OrCAD Capture CIS”选项,单击“OK”按钮。弹出“OrCAD Capture CIS”窗口,如图17-39所示。

(3)选择“File”→“New”→“Project”选项,弹出“New Project”对话框,如图17-40所示。 (4)输入文件名“DTK6446”并选择路径,单击“OK”按钮,弹出项目管理器和原理图绘制界面,

如图17-41所示。

图17-39 “OrCAD Capture CIS”窗口

图17-40 “New Project”对话框

图17-41 项目管理器和原理图绘制界面

至此,新项目“DTK6446”创建完毕。

17.3.2 原理图页面的基本设置

本例原理图设计结构采用平坦式设计,原理图总共分为12页。在绘制原理图之前,需要选择图纸,操作步骤如下。

(1)在“OrCAD Capture CIS”窗口中选择“Options”→“Design Template”选项,在弹出的对话框中设置有关选项卡中的选项,分别如图17-42和图17-43所示。

图17-42 设置“Page Size”选项卡中的选项

图17-43 设置“Title Block”选项卡中的选项

(2)在项目管理器界面的DTK6446项下新建12张原理图,并且更名,如图17-44所示。

图17-44 新建12张原理图

17.3.3 创建元件库及制作元件 1.添加基本元件库

(1)右击项目管理器界面中的“Library”选项,选择“Add File”选项,添加基本元件库“Discrete.olb”。目录为Cadence\\SPB_16.3\ools\\capture\\library,如图17-45所示。

图17-45 添加基本元件库“Discrete.olb”

(2)单击原理图右侧工具栏中的 按钮,弹出“Place Part”对话框,如图17-46所示。

图17-46 “Place Part”对话框

在“Part List”下拉列表框中可以看到刚刚添加的元件库中的元件。

图17-47 创建的元件库

2.制作元件

元件库中的元件是有限的,在元件库中没有本例中的多个元件模型,所以需要自己制作元件库和元件。

(1)在“OrCAD Capture CIS”窗口中选择“File”→“New”→“Library”选项来创建新的元件库,命名为“DTK6446Library”并保存到工程目录下。在项目管理器界面的“Library”选项下可以看到刚创建的元件库“DTK6446Library.olb”,如图17-47所示。

(2)右击刚添加的元件库DTK6446Library.olb,选择“New Part”选项。弹出“New Part Properties”对话框,如图17-48所示。

图17-47 创建的元件库

图17-48 “New Part Properties”对话框

(3)创建一个MT47H64M16BT元件模型,由两个部分组成,如图17-49所示。

图17-49 MT47H64M16BT元件模型

(4)MT47H64M16BT芯片的datasheet给出的原理图如图17-50所示,完善后的元件模型如图17-51所示。

图17-50 MT47H64M16BT芯片原理图

图17-51 完善后的元件模型

(5)按照电路板的要求,制作并添加其他的元件模型到元件库DTK6446Library.olb中,如图17-54所示,完成后保存元件库。

图17-54 添加元件到元件库中

17.3.4 绘制原理图 绘制原理图的操作步骤如下。 (1)单击原理图右侧工具栏中的

按钮,弹出“Place Part”对话框。单击所需要的元件,将其

放置在绘图页面中,如图17-55和图17-56所示。

图17-55 查找并选择元件

图17-56 放置元件到原理图页面中

(2)用同样的方法将其他元件一一放置在原理图中,摆放好元件后的原理图页面如图17-57所示。

图17-57 摆放好元件后的原理图页面

(3)需要为原理图连线,使用基本功能按钮好的原理图如图17-58所示。

连线,连接

图17-58 连接好的原理图

(4)保存连接好的原理图,这样绘制完毕一张原理图。

(5)按照上述步骤,绘制所有原理图。在17.1.2节中列出了本例中重要模块的原理图,全部的原理图请参照本书免费下载资料。

17.3.5 完善原理图

绘制原理图后还需要继续完善,也就是要做如下4项工作。 1.DRC检查

(1)在项目管理器中选中原理图文件,然后选择“Tools”→“Design Rules Check”选项。弹出一个警告对话框,如图17-59所示。

(2)单击“Yes”按钮,弹出“Design Rules Check”对话框,如图17-60所示。

图17-59 警告对话框

图17-60 “Design Rules Check”对话框

(2)设置路径,单击“确定”按钮,执行DRC检查。

(3)为查看DRC检查结果,在项目管理器中选中原理图文件。然后选择

“Edit”→“Browse”→“DRC Makers”选项,弹出“DRC Makers”窗口,如图17-61所示。

图17-61 “DRC Makers”窗口

(4)其中列出原理图的DRC错误,双击提示的DRC错误进入原理图页DRC报错的位置,如图17-62

所示。

图17-62 DRC报错的位置

(5)修正DRC错误后执行DRC检查,直到没有DRC错误。 2.为元件自动编号

(1)在项目管理器中选中原理图文件,然后选择“Tools”→“Annotate”选项,弹出如图17-63所示的“Annotate”对话框。

(2)设置有关选项,一般情况下保留默认即可。单击“确定”按钮,元件将被自动编号。

图17-63 “Annotate”对话框

3.更新元件属性

(1)在项目管理器中选中原理图文件,然后选择“Tools”→“Update Properties”选项,弹出如图17-64所示的“Update Properties”对话框。

图17-64 “Update Properties”对话框

(2)修改属性或更新文件的路径,单击“确定”按钮,元件将被更新。 4.生成元件清单

(1)在项目管理器中选中原理图文件,然后选择“Reports”→“CIS Bill Of

Materials”→“Standard”选项,弹出如图17-65所示的“Standard Bill Of Materials”对话框。

图17-65 “Standard Bill Of Materials”对话框

(2)单击“OK”按钮,在工程管理项目中的Outputs目录下生成dtk6446.bom文件清单,如图17-66所示。

图17-66 dtk6446.bom文件清单

17.3.6 生成网表

Capture与Allegro之间交换电路设计信息通过网表来实现,网表文件包括电路的所有元器件、元器件参数和相互之间的连接关系。Capture可以生成多种格式的网表,以满足各种不同CAD软件的要求。

为保证网表正确无误,一定要确保元件都有序号且不重复、DRC检查无错误,并且每个元件都有PCB封装。

生成网表的操作步骤如下。

(1)在项目管理器中选中原理图文件,然后选择“Tools”→“Create Netlist”选项,弹出如图17-67所示的“Create Netlist”对话框。

图17-67 “Create Netlist”对话框

(2)设置有关选项,单击“确定”按钮。弹出提示创建网表进程对话框,如图17-68所示。

图17-68 提示创建网表进程的对话框

在生成网表过程中可能会出现一些错误和警告,错误需要处理;警告需要注意。如果不影响功能正确,可以忽略。常见的警告是元件GND管脚同名,此时系统会自动在GND后面添加编号以示区别,这是因为Allegro不允许管脚同名。这个警告不影响设计,可忽略;另外,元件名称过长,系统会自动截断。并且也会产生警告,同样可忽略。

如果在创建过程中没有出现错误,在项目管理器中“Output”下会生成4个文件,如图17-69所示。

图17-69 生成的4个文件

17.4 PCB板图设计

绘制原理图后,并经过DRC检查、为元件自动编号、更新元件属性、生成元件清单及生成网表后,如果没有错误,就可以开始设计PCB板图。

17.4.1 建立PCB电路板 1.创建板框机械符号

(1)双击“开始”→“程序”→“Cadence SPB 16.3”→“PCB Editor”选项,弹出“Cadence Product Choices”对话框,如图17-70所示。

图17-70 “Cadence Product Choices”对话框

(2)选择“Allegro PCB Design GXL”选项,单击“OK”按钮。弹出“Allegro PCB Design GXL”窗口,如图17-71所示。

(3)启动PCB Editor,选择“File”→“New”选项,弹出如图17-72所示的“New Drawing”对话框。

(4)在“Drawing Name”文本框中输入“outline”在“Drawing Type”下拉列表框中选择“Mechanical symbol”选项,单击“Browse”按钮选择目录。

图17-71 “Allegro PCB Design GXL”窗口

图17-72 “New Drawing”对话框

(5)单击“OK”按钮进入编辑界面,选择“Setup”→“Design Parameters”选项,弹出“Design Parameters Editor”窗口,切换到“Design”选项卡。本例中电路板大小为200 mm× 160 mm,依据电

路板大小,如图17-73所示设置有关选项。

图17-73 设置有关选项

(6)切换到“Display”选项卡,单击“Setup Grid”按钮。弹出“Define Grid”对话框,如图17-74所示设置有关选项。

图17-74 设置有关选项

(7)经过建立板框、放置定位孔、尺寸标注、设置允许摆放区域和允许布线区域,以及设置禁止布线区域5个步骤完成板框机械符号的创建,新创建的板框如图17-75所示。

图17-75 新创建的板框

(8)选择“File”→“Save”选项,保存outline.dra到指定目录中,并且创建outline.bsm文件。

2.创建电路板

(1)启动PCB Editor,选择“File”→“New”选项,弹出如图17-76所示的“New Drawing”对话框。

图17-76 “New Drawing”对话框

(2)在“Drawing Name”文本框中输入“DTK6446”,在“Drawing Type”下拉列表框中选择“Board”选项,单击“Browse”按钮选择目录。

(3)选择“Place”→“Manually”选项,弹出“Placement”窗口。

(4)在下拉列表框中选择“Mechanical symbol”选项,选中“OUTLINE”符号添加板框机械符号到电路板上,如图17-77所示。

图17-77 添加板框机械符号到电路板上

(5)切换到“Placement List”选项卡,在下拉列表框中选择“Format symbols”选项,选择“BSIZE”符号。在绘图区域适当位置摆放格式符号,如图17-78所示。

(6)Allegro系统默认的PCB 板都是双层板,我们需要调整到8层结构。选择“Setup”→“Subclasses”选项,弹出如图17-79所示的“Define Subclass”窗口。

(7)单击“ETCH”按钮,弹出“Layout Cross Section”窗口。设置叠层的有关选项,如图17-80所示。

图17-78 摆放格式符号

图17-79 “Define Subclass”窗口

图17-80 设置叠层的有关选项

17.4.2 导入网表 导入网表的操作步骤如下。

(1)打开保存的DTK6446.brd文件, 选择“File”→ “Import”→“Logic”选项,弹出的“Import Logic”窗口。设置有关选项,如图17-81所示。

(2)单击“Import Cadence”按钮输入网表。如果有错误或警告,则弹出记事本信息。为保证正确无误导入,要特别注意以下问题。

从厂家网站下载的PCB封装及焊盘放到和自己手动制作的封装在同一目录下,并使用DB doctor工具检查一遍。

原理图中元件的PCB FOOTprint属性指定的封装一定要真实存在,并且正确无误。 原理图中元件的各种属性设置不要包含中文字符。

(3)选择“File”→“Save As”选项保存文件,完成网表的导入。

(4)选择“Place”→“Manually”选项,从弹出窗口中选择“Placement List”→“Components by refdes”选项,在下拉列表框中可以查看文件导入结果,如图17-82所示。

图17-81 设置有关选项

图17-82 查看文件导入结果

17.4.3 在PCB板上摆放元件

摆放元件分为手动和快速摆放两种方式,本例中的电阻、电容和电感采用快速摆放方式;其他器件采用手动摆放。

(1)选择“Place”→“Manually”选项,从弹出窗口中选择“Placement List”→“Components by refdes”选项。在“Quickview”列表框中可以看到选中元件的封装形式,此时元件会随着光标移动。单击电路板中的一个合适的位置,元件被固定放置;同时此元件在列表框中消失,表示已经摆放到电路板中。同样在列表框中一一选择除电阻、电容和电感以外的其他元件摆放到电路板中,如图17-83所示。

图17-83 摆放元件到电路板中

(2)采用快速摆放方式摆放剩余的元件,为此选择“Place”→“Quickplace”选项,弹出“Quickplace”窗口。设置有关选项,如图17-84所示。

(3)单击“OK”按钮,剩余元件将被摆放在电路板外框的右侧,如图17-85所示。

图17-84 设置有关选项 图17-85 快速摆放元件

17.4.4 PCB板图的布局

本例PCB板图的预布局如图17-86所示。

图17-86 PCB板图的预布局

17.4.5 生成元件清单

在Allegro PCB Design GXL界面中选择“Tools”→“Reports”选项,弹出如图17-87所示的“Repors”对话框。

图17-87 “Reports”对话框

双击“Bill of Material Report”选项,单击 “Report”按钮。弹出“Bill of Material Report”窗口,如图17-88所示。

图17-88 “Bill of Material Report”窗口

其中显示元件清单。

17.5 PCB板图信号完整性仿真

信号完整性仿真可分为单端信号和差分信号仿真等。针对本例的电路板,我们将进行TMS320DM6446和DDR2接口的时钟信号“DDR_CLK”和“DDR_CLK_N”的差分对仿真。

17.5.1 建立差分对

建立差分对的操作步骤如下。

(1)启动Allegro PCB SI GXL,打开F:\\DTK6446\\DTK6446.brd文件。

(2)选择“Logic”→“Assign Differential Pair”选项,弹出“Assign Differential Pair”窗口,如图17-89所示。

图17-89 “Assign Differential Pair”窗口

(3)在“Net filter”文本框中输入“DDR_CLK*”,按Tab键。显示要建立的网络“DDR_CLK”和“DDR_CLK_N”,如图17-90所示。

图17-90 要建立的网络“DDR_CLK”和“DDR_CLK_N”

(4)如图17-91所示设置有关选项,单击“Add”按钮完成差分对“DIFFDDRCLK”的分配,然后单击“OK”按钮。

图17-91 分配差分对

17.5.2 仿真前准备工作 1.阻抗控制

阻抗控制技术在高速PCB设计中显得尤为重要,电路板成为“可控阻抗板”的关键是所有线路的特性阻抗满足一个规定值,通常为25Ω~70Ω。在多层电路板中,传输线性能良好的关键是使其特性阻抗在整条线路中保持恒定。

差分传输线适用于对噪声隔离和改善时钟频率要求较高的情况,在差分模式中传输线是成对布放的。两条线路上传输的信号电压和电流值均相等,但相位(极性)相反。

差分模式传输线的特性阻抗(差分阻抗)指差分传输线中两条导线之间的阻抗,通常情况下为100 Ω,有时也用到75 Ω。由于添加了差分传输线,所以之前设置好的叠层设置需要进一步修改,操作步骤如下。

(1)选择“Setup”→“Cross Section”选项,弹出如图17-92所示的“Layout Cross Section”窗口,选择 “Show Signal Impendence”复选框。

图17-92 “Layout Cross Section”窗口

(2)在TOP层的“Coupling Type”下拉列表框中选择“EDGE”选项,“Spacing”栏中显示5.0 mil,这是从设计中设置的间距规则约束得到的默认间距值。“DiffZ0”栏中显示107.33 ohm,如图17-93所示。

图17-93 设置耦合类型

(3)单击TOP层的“DiffZ0”栏,输入“100”,按Tab键弹出“EDGE”窗口。从下拉列表框中选择“Line Width”选项,单击“OK”按钮返回“Layout Cross Section”窗口,差分阻抗的变化如图17-94所示。

图17-94 差分阻抗的变化

(4)根据图中给出的计算数据更改TOP层的叠层参数,同样更改BOTTOM、SIGNAL3和SIGNAL4叠层参数,更改后的叠层参数如图19-95所示。

图17-95 更改后的叠层参数

2.分配器件模型 (1)测量差分缓冲延迟

在Allegro PCB SI GXL界面中选择“Analyze”→“SI/EMI Sim”→“Model Browser”选项,弹出“Signal Model Browser”窗口,如图17-96所示。

图17-96 “Signal Model Browser”窗口

打开“DML Model”选项卡,单击“Library Mgmt”按钮。弹出“DML Library Management”窗口,如图17-97所示。

图17-97 “DML Library Management”窗口

添加“dm6446.dml”库,为以后差分对仿真使用,单击“OK”按钮。

选择“TL18WGFZ”选项,单击“Edit”按钮。弹出“IBIS Device Model Editor”窗口,如图19-98所示。

图17-98 “IBIS Device Model Editor”窗口

在“IBIS Pin Data”下拉列表框中选择“Pin W7”选项,弹出“IBIS Device Pin Data”窗口,如图17-99所示。

图17-99 “IBIS Device Pin Data”窗口

在“Diff Pair Data”选项组的“Type”下拉列表框中选择“Non-Inverting”选项,在“Mate Pin”文本框中输入“W8”。

单击“Buffer Delays”按钮,弹出“Buffer Delays”窗口,如图17-100所示。

图17-100 “Buffer Delays”窗口

设置“Differential Buffer Delay”选项组。

单击“Measure Differential Buffer Delays”按钮,测量这个驱动器的差分Rise和Fall延时。在“Diff Rise Delay”和“Diff Fall Delay”文本框中显示测量的Buffer Delay值,如图17-101所示。

图17-101 测量的Buffer Delay延迟值

对“W8”引脚重复上述步骤测量缓冲差分延迟。

在“IBIS Device Model Editor”窗口中单击“DML Check”按钮,弹出“dmlcheck messages”窗口,如图17-102所示。

图17-102 “dmlcheck messages”窗口

Differential Buffer Delays结果现在包含在dml模型中。 (2)分配SI模型

在“Allegro PCB SI GXL”窗口中选择“Analyze”→“SI/EMI Sim”→“Model Assignment”选项,弹出“Signal Model Assignment”窗口,如图17-103所示。

图17-103 “Signal Model Assignment”窗口

单击“Auto Setup”按钮,可看到自动为列表中的一些器件分配了SI模型。

滚动列表,选择“MT47H64M16BT”选项。单击“Find Model”按钮,弹出“SI Model Browsers”窗口。选择“MT47H64M16BT”选项,为此器件分配SI模型,如图17-104所示。

图17-104 分配SI模型

重复前面的步骤,为“TMS320DM6446”分配SI模型。

单击“Close”按钮,“Signal Model Assignment Changes”窗口如图17-105所示。

图17-105 “Signal Model Assignment Changes”窗口

关闭“Signal Model Assignment Changes”窗口,保存文件。 (3)检查网络(Net Audit)

在“Allegro PCB SI GXL”窗口中选择“Analyze”→“SI/EMI Sim”→“Audit”→“Net Audit”选项,弹出“Net Audit”窗口,如图17-106所示。

图17-106 “Net Audit”窗口

在“Net Filter”文本框中输入“BDDR*”,按Tab键,以“BDDR”开头的网络显示在下拉列表框中。

选择“BDDR_CLK”选项,单击“Audit selected net”按钮,弹出“SigNoise Setup Report”窗口,如图17-107所示。

仔细阅读报告并注意网络名、元件名、器件类型、CLASS和分配的信号模型。 重复前面步骤,检查其余网络报告,显示无问题后关闭“Net Audit”窗口。

图17-107 “SigNoise Setup Report”窗口

17.5.3 仿真差分对 1.提取差分对拓扑 (1)设置互联模型参数

在“Allegro PCB SI GXL”窗口中选择“Analyze”→“SI/EMI Sim”→“Preferences”选项,弹出“Analysis Preferences”窗口。打开“InterconnectModels”选项卡,如图17-108所示设置有关选项。

图17-108 设置有关选项

如果没有选择“Topology Extracion”选项组中的“Differential Extraction Mode”复选框,差分对拓扑将被看做Xnet,提取的拓扑将仅使用理想传输线模型。为了使用理想的耦合传输线模型,必须选择该复选框。

单击“OK”按钮。

(2)提取拓扑

在“Allegro PCB SI GXL”窗口中选择“Setup”→“Constraints”→“Electrical”选项,弹出“Allegro Constraint Manager”窗口,如图17-109所示。

图17-109 “Allegro Constraint Manager”窗口

选择“Net”→“Routing” →“Differential pair”选项。

在“Object”栏中右击“DIFFDDRCLK”选择“SigXplore”选项,弹出“SigXplore PCB SI GXL”窗口,如图17-110所示。

图17-110 “SigXplore PCB SI GXL”窗口

其中显示提取的“DIFFDDRCLK”差分对的拓扑,此拓扑为有理想耦合传输线模型的差分对拓扑。

在“SigXplore PCB SI GXL”窗口的“Parameters”表格中“CIRCUIT”下面“tlineDelayMode”表格的“Value”区中选择“length”,拓扑参数改变为长度单位,如图17-111所示。

图17-111 拓扑参数改变为长度单位

选择“File”→“Save”选项在当前目录下保存拓扑。 2.分析差分对网络 (1)设置仿真参数

在“SigXplore PCB SI GXL”窗口中重新调整拓扑,如图17-112所示。

图17-112 调整拓扑

选择“Analyze”→“Preferences”选项,弹出“Analyze Preferences”窗口,设置“Pulse Stimulus”(激励参数)、“Simulation Parameters”(仿真参数)、“Simulation Modes”(仿真模式)和“Measurement Modes”(测量模式)选项卡,如图17-113~图17-116所示。

图17-113 设置激励参数

图17-114 设置仿真参数

图17-115 设置仿真模式

图17-116 设置测量模式

(2)设置差分驱动器激励

单击差分驱动器U22上面的文字“TRISTATE”,弹出“IO CELL(U22) Stimulus Edit”窗口,如图17-117所示。

图17-117 “IO CELL(U27) Stimulus Edit”窗口

设置激励类型和Pattern长度,如图17-118所示。

图17-118 设置激励类型和Pattern长度

单击“OK”按钮。 (3)使用无损互联分析

在“SigXplore”窗口中选择“Analyze”→“Simulate”选项,开始仿真。仿真完成时弹出“SigWave”窗口,显示仿真波形,如图17-119所示。

图17-119 仿真波形

选择“Graph”→“Eye Diagram Preferences”选项,弹出“Eye Diagram Preferences”对话框。“Clock Freg”设置为266 MHz,“Clock Offset”设置为半个时钟周期值,如图17-120所示。

选择“Graph”→“Eye Diagram Mode”命令,波形的眼图显示在波形窗口中,如 图17-121所示。

图17-121 波形的眼图

在“SigWave”左侧窗口中使用“Hide All Subitems”选项隐藏所有波形,然后双击

“DTK6446_TEST U2 M8_DTK6446_TEST U2 N8_diff”前的波形符号。仅显示差分接收器波形,如图17-122所示。

图17-122 差分接收器波形

(4)使用有损互联分析

选择“Edit”→“Add Element”选项,弹出“Add Element Browser”窗口,如图17-123所示。 选择“Microstrip_2”选项,将其摆放在工作空间内,如图17-124所示。

图17-123 “Add Element Browser”窗口

图17-124 添加“Microstrip_2”选项

单击“OK”按钮。

在“Parameters”窗格中设置MS1和MS2的参数,在“View Trace Model Parameters”窗口中显示差分阻抗,设置如图17-125所示。 MS1长度为1 000 mil,MS2长度为200 mil。

图17-125 设置MS1参数

在“SigXplore”窗口中重新连接拓扑,如图17-126所示,创建完成后保存文件。

图17-126 重新连接拓扑

如图17-127所示设置仿真参数,仿真截止频率设置为1 GHz(三次谐波)。

图17-127 设置仿真参数

在“IO CELL(U22) Stimulus Edit”窗口中设置激励参数,如图17-128所示。

图17-128 设置激励参数

在“SigXplore”窗口中选择“Analyze”→“Simulate”选项,开始仿真,仿真完成后弹出“SigWave”窗口。其中显示仿真波形,如图17-129所示。

图17-129 仿真波形

波形的眼图如图17-130所示。

图17-130 波形的眼图

在“SigWave”左侧窗口中使用“Hide All Subitems”命令隐藏所有波形,然后双击

“DTK6446_TEST U2 M8_DTK6446_TEST U2 N8_diff”前的波形符号。仅显示差分接收器波形,如图17-131所示。

图17-131 差分接收器波形

17.5.4 差分对约束 1.设置差分对约束

(1)在“SigXplore PCB SI GXL”窗口中选择“Set”→“Constraint”选项,弹出“Set Topology Constraint”窗口,如图17-132所示。

(2)打开“Diff Pair”选项卡,设置有关选项,如图17-133所示。

图17-132 “Set Topology Constraint”窗口 图17-133 设置有关选项 (3)保存完成的设置后退出。 2.应用差分对约束

(1)在“Constraint Manager”窗口中选择“File”→“Import”→“Electrical CSets”选项,在弹出的窗口中选择刚设置完成的差分约束文件diff.top。然后在“Constraint Manager”窗口中显示约束,如图17-134所示。

图17-134 显示约束

(2)在差分对“DIFFDDRCLK”后面的“Referenced Electrical CSet”表格中的下拉列表框中选择“DIFF”选项,应用差分对应用的分配,如图17-135所示。

图17-135 应用差分对约束

(3)为已经加入约束的差分对布线,如图17-136所示。

图17-136 差分对布线

(4)布线完成后打开约束管理器查看,如图17-137所示,没有违背约束。

图17-137 查看约束

(5)保存文件,退出“Allegro PCB SI GXL”窗口。

17.6 输出工程文件

在最终完成所有元器件的布局和布线后经过DRC检查,PCB设计完全符合所有设计约束要求后余下的任务就是生成可用于加工生产的文档,即Gerber文件和钻孔文件,参见第13章

17.7 实例小结

本章实例从项目设计、元件库制作、原理图设计和PCB布局直到仿真分析得到PCB布线约束,最后完成布线和工程文件输出,建立了一个完整的PCB设计工程。希望读者在这个工程的预布局板图基础上,练习仿真和布线,进而能够使用Cadence PCB 工具独立完成自己的PCB工程设计。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top