购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 PCB设置

【本节目的】 学习对仿真前的PCB进行必要的设置,包括叠层设置、直流电压设置、元器件设置、SI模型分配和SI检查。

【使用软件】 Allegro PCB SI XL下的Setup Advisor。

【使用文件】 physical\PCB_ver1\ VER1.brd和ep1sgx25f_11.dml。

【操作步骤】

(1)在程序文件夹中选择“Cadence PCB 17.4-2019”→“PCB Editor 17.4”,弹出产品选择对话框,选择“Allegro PCB SI XL”。

(2)执行菜单命令“File”→“Open”,打开D:\physical\PCB_ver1\ VER1.brd文件。

(3)执行菜单命令“Analyze”→“PDN Analyze”,弹出“PDN Analysis:Static IRDrop”窗口,仔细阅读“Prerequisite Tasks”介绍,如图2-6-1所示。

图2-6-1 “PDN Analysis:Static IRDrop”窗口

1.叠层设置

进行叠层设置,确定PCB层面,包括每层的材料、类型、名称、厚度、线宽和阻抗信息,并确定PCB的物理和电气特性。

☺Trace宽度和PCB的叠层决定Trace特性。

☺Trace和参考平面间的距离对阻抗和串扰有很大的影响。

✧阻抗:随距离增加而增加。

✧串扰:随距离增加而增加。

Trace的阻抗依据下面的因素来确定:

☺绝缘材料的介电常数。

✧在布线层之间是否有平面层。

✧平面层的存在减小了布线层间的串扰。

☺绝缘材料的厚度。

☺Trace的宽度和厚度。

(1)在图2-6-1所示窗口中单击“Cross-Section…”按钮,如图2-6-2所示。

(2)弹出“Cross-section Editor”窗口,执行菜单命令“View”→“Show All Columns”,显示阻抗,如图2-6-3所示。

图2-6-2 单击“Cross-Section”按钮

图2-6-3 显示阻抗

注意

PCB厚度为122.3mil,顶层和底层的阻抗为68.634Ω,其他层面的阻抗各不相同。

现在需要改变层厚度以满足50Ω的阻抗要求。下面通过改变绝缘层的厚度来达到期望的阻抗和PCB厚度。

☺Material:从下拉列表中选择材料,当“Layout Cross Section”窗口中的“Differential Mode”没有被选择时才根据绝缘层的功率因数补偿角的正切值,指定当前选择的绝缘层的介电损耗。

☺Type:层面会弹出“Material”栏。在Top的上面和Bottom的下面添加Conformal Coating层。

☺Loss Tangent(介质损耗因数)的类型有SURFACE(表面)、CONDUCTOR(信号布线层)、DIELECTRIC(电介质)、PLANE(电源平面)4个选项。

☺Etch Subclass:在PCB的Cross-section中指定层。

☺Thickness:分配给每个层的厚度。

☺Line Width:确定布线层的布线线宽。

☺Impedance:分配给每个层的阻抗。

(3)在“Cross-section Editor”窗口中选择TOP和L2_GND1间的“Dielectric”的“Thickness”栏,如图2-6-4(a)所示,改变厚度为3.0mil,按“Tab”键。可以看到TOP层的阻抗值为50.687Ω,如图2-6-4(b)所示。

(4)在“Cross-section Editor”窗口中选择BOTTOM和L17_PWR13间的“Dielectric”的“Thickness”栏,改变厚度为3.0mil,按“Tab”键。可以看到BOTTOM层的阻抗值为50.687Ω。

(5)在“Cross-section Editor”窗口中选择L3_IS1和L4_IS2间的“Dielectric”的“Thickness”栏,改变厚度为4.5mil,按“Tab”键,可以看到L3_IS1和L4_IS2的阻抗都变为50.813Ω。

(6)在“Cross-section Editor”窗口中选择L9_IS5和L10_IS6间的“Dielectric”的“Thickness”栏,改变厚度为4.5mil,按“Tab”键,可以看到L9_IS5和L10_IS6的阻抗都变为50.813Ω。

(7)在“Cross-section Editor”窗口中选择L12_IS7和L13_IS8间的“Dielectric”的“Thickness”栏,改变厚度为4.5mil,按“Tab”键,可以看到L12_IS7和L13_IS8的阻抗都变为50.813Ω。

(8)在“Cross-section Editor”窗口中选择L15_IS9和L16_IS10间的“Dielectric”的“Thickness”栏,改变厚度为4.5mil,按“Tab”键,可以看到L15_IS9和L16_IS10的阻抗都变为50.813Ω,如图2-6-4(c)所示。整个PCB的厚度已经改变,现在是90.3mil。

图2-6-4 “Cross-section Editor”窗口

(9)单击“Ok”按钮,关闭“Cross-section Editor”窗口。“PDN Analysis:Static IRDrop”窗口将再次显示。

2.设置DC电压值

确认DC电压加在网络上。执行EMI仿真时,必须确认一个或更多个电压源引脚。信号模型包含仿真过程中使用的参考电压信息。但是,PCB SI需要知道仿真过程中终端负载使用的电压值。信号模型可包含与电压公差相关的数据,在这些公差水平下仿真能够被执行,但仿真器无法知道终端负载的电压值是多少,所以必须提供这些DC电压值。

(1)单击“Identify DC Nets…”按钮,如图2-6-5所示,弹出警告提示框,如图2-6-6所示。

图2-6-5 单击“Identify DC Nets”按钮

图2-6-6 警告提示框

在警告提示框中会显示“Identify DC Nets”的说明。如果试着提取一个与电源/地相连的分立元器件的网络,这个工具需要知道与元器件连接的DC电压值。

注意

这会影响仿真的驱动端和接收端。这些元器件的电压值包含在信号模型(IBIS模型)描述中。确认电路板DC网络被分配正确的电压。

(2)单击“OK”按钮,弹出“Identify DC Nets”对话框,如图2-6-7所示。

☺Net filter:过滤在“DC Nets”列表框中显示的网络。

☺Net:按照Net filter显示的网络,这些网络能够被分配DC电压。

☺Pins in net:显示与从“Net”列表框中选择的网络有关的所有引脚。在这个区域选取一个引脚使它成为电压源引脚。

☺Voltage source pins:显示在“Pins in net”列表框中选择的引脚。必须指定一个或更多个电压源引脚以执行EMI仿真。从“Voltage source pins”列表框中选取一个引脚并移除它。

☺Voltage:用于设置选择网络(或引脚)的DC电压值。输入“None”移除早先分配的电压。

图2-6-7 “Identify DC Nets”对话框

(3)从“Identify DC Nets”对话框选择网络名“1.5V_ENABLE”,“Voltage”栏显示“None”,这个网络连接的引脚显示在“Pins in net”列表框中,“Voltage source pins”列表框显示这个电压值对应的引脚。在“Voltage”栏双击“None”,输入1.5并按“Tab”键,弹出一个警告提示框,该警告提示框提示分配电压值的该网络没有电源和地引脚,如图2-6-8所示。

图2-6-8 警告提示框

(4)单击“OK”按钮,关闭该警告提示框。

(5)在“Identify DC Nets”对话框的“Net filter”框中输入“1.5*”并按“Tab”键,如图2-6-9所示。

图2-6-9 “Net filter”选项设置

(6)将在“Net”列表框中显示的所有网络的电压值都设置为1.5V。

(7)在“Net filter”框中输入“1.25*”并按“Tab”键,将在“Net”列表框中显示的所有网络的电压值都设置为1.25V。

(8)在“Net filter”框中输入“2.5*”并按“Tab”键,将在“Net”列表框中显示的所有网络的电压值都设置为2.5V。

(9)在“Net filter”框中输入“3.3*”并按“Tab”键,将在“Net”列表框中显示的所有网络的电压值都设置为3.3V。

(10)在“Net filter”框中输入“5*”并按“Tab”键,将在“Net”列表框中显示的所有网络的电压值都设置为5V。

(11)在“Net filter”框中输入“GND*”并按“Tab”键,将在“Net”列表框中显示的所有网络的电压值都设置为0V。

(12)单击“OK”按钮,再次弹出警告提示框,关闭该警告提示框。“Identify DC Nets”对话框再次显示。

注意

有一些网络没有分配电压属性,如12V_DIV。因为这些网络与将要提取的网络无关,可以不管它们。当然,需要知道与这个信息有关的原理图部分。

3.SI模型分配

1)打开“Signal Model Assignment”对话框

单击“Model Assignment…”按钮,如图2-6-10所示,弹出“Signal Model Assignment”对话框,如图2-6-11所示。

图2-6-10 单击“Model Assignment…”按钮

图2-6-11 “Signal Model Assignment”对话框

☺Devices:可以手动或自动为元器件分配器件模型。可以访问SI Model Browser查找器件模型,在分配之前修改它们并建立新模型。也能够加载或保存设计的Assignment Mapping文件。

☺BondWires:定位并为Bondwire连接分配Trace模型。也能够通过“SI Model Browser”对话框修改Trace模型。

☺RefDesPins:为指定引脚分配IOCell模型。也能够为选择的可编程缓冲模型的引脚分配模型。

☺Connectors:为公/母连接器、PCI插槽,以及其他一些从一个设计连接到另一个设计的元器件指定耦合的连接器模型。

在“Signal Model Assignment”对话框,指定每个元器件使用的SI模型。仿真器首先使用器件类型前缀在库中查找已有的模型名。如果没有找到模型,仿真器会在当前的器件库中建立一个新的模型,以器件类型命名模型并用下画线代替每一个非文字数字符号。

模型建立情况如下:当Value属性大于1.0时,一个电阻的ESpiceDevice模型被建立。当RefDes是L且Value属性不大于1.0时,一个电感的ESpiceDevice模型被建立。此外,对于所有的RefDes或Value属性,一个电容的ESpiceDevice模型被建立。

2)新建库文件

(1)执行菜单命令“Analyze”→“Model Browser…”,弹出“SI Model Browser”对话框,如图2-6-12所示。

(2)单击“Library Mgmt”按钮,弹出“DML Library Management”对话框,如图2-6-13所示。

图2-6-12 “SI Model Browser”对话框

图2-6-13 “DML Library Management”对话框

该对话框的上半部分和下半部分类似。对话框的上半部分显示“DML Libraries”部分,器件库在这一部分列出。下半部分为存储互连模型,互连模型是Trace模型,包括耦合的Trace模型和Via模型。当在SQ Signal Explorer Expert中提取仿真的拓扑图或在SPECCTRAQuest 中仿真时互连模型被自动创建。

注意

在“Device Library Files”部分有两个库。当第一次在一个目录下访问库浏览器时,将加载那个目录上的所有文件。无论何时在一个新的目录下第一次访问库浏览器,devices.dml和cds_models.ndx都作为默认库被加载。devices.dml是空的,被设置为工作库。所有新库的信号模型都将写入工作库。cds_models.ndx文件是使用的默认库信号模型的索引文件。

(3)在“DML Library Management”对话框上半部分单击“Create New Lib”按钮,打开“Save As”对话框,如图2-6-14所示。

(4)在“File name”框中输入“dimm_discretesnew”,单击“Save”按钮保存。新的库文件被加到“DML Library Management”对话框上半部分的“DML Libraries”部分的库列表中,如图2-6-15所示。

图2-6-14 “Save As”对话框

图2-6-15 新的库文件被加到库列表中

(5)在“DML Library Management”对话框上半部分的“DML Libraries”部分,设置dimm_discretesnew.dml库为工作库,如图2-6-16所示。任何新建的信号模型都将被写进dimm_discretesnew.dml库中。在接下来的设计中,仍使用dimm_discretesnew.dml库作为工作库。

图2-6-16 设置工作库

(6)在“DML Library Management”对话框下半部分,单击“Set Search Path”按钮,打开“Set Model Search Path”对话框,如图2-6-17所示。

(7)在“Set Model Search Path”对话框上半部分单击“Add Directory…”按钮,打开“Select New Search Directory”对话框,如图2-6-18所示。

图2-6-17 “Set Model Search Path”对话框

图2-6-18 “Select New Search Directory”对话框

(8)在该对话框中选择路径“D:/physical”,单击“Choose”按钮,在“Set Model Search Path”对话框中单击“OK”按钮,注意到该路径下的所有.dml文件已经被添加到“DML Library Management”对话框上半部分中,如图2-6-19所示。

图2-6-19 将.dml文件添加到“DML Library Management”对话框上半部分

3)手动分配元器件模型

(1)执行菜单命令“Analyze”→“Model Assignment”,打开“Signal Model Assignment”对话框,如图2-6-20所示。

(2)在该对话框中选择“EP1SGX25F_11_FBGA_1020_EP1SGX25 EP1SGX25F”,如图2-6-21所示。

图2-6-20 “Signal Model Assignment”对话框(1)

图2-6-21 “Signal Model Assignment”对话框(2)

(3)单击“Find Model…”按钮,打开“SI Model Browser”对话框,如图2-6-22所示。

(4)在“Model Name Pattern”框中输入“*”并按“Tab”键,模型列表框中显示一个名为EP1SGX25F的IbisDevice模型类型。显示的其他模型类型是器件驱动端或接收端引脚的单独的缓冲模型。IBIS定义引脚与哪一个缓冲模型相关,分配给器件的信号模型名不必与Allegro器件名匹配,名称匹配的优点体现在使用Auto Setup功能时。在该对话框的底部显示预期相关联的DML文件为“ep1sgx25f_11.dml”,如图2-6-23所示。

图2-6-22 “SI Model Browser”对话框(1)

图2-6-23 “SI Model Browser”对话框(2)

(5)单击“Assign”按钮为元器件分配模型,在“Signal Model Assignment”对话框中就可看到为元器件分配的模型,如图2-6-24所示。

4)为元器件建立模型

(1)在“Signal Model Assignment”对话框中向下滚动到列表的下半部分,单击器件类型1364532-2_2_HSSDC2_1364532-2_1364532-2前的“>”号,可看到元器件J11、J15、J23和J32没有模型分配,如图2-6-25所示。

图2-6-24 “Signal Model Assignment”对话框(3)

图2-6-25 “Signal Model Assignment”对话框(4)

(2)在“Signal Model Assignment”对话框中选择“J11”。连接器J11在PCB SI中被高亮显示,且定位在电路板右上角,如图2-6-26所示。

图2-6-26 连接器J11在PCB SI中被高亮显示

(3)在“Signal Model Assignment”对话框中单击“Create Model…”按钮,弹出“Create Device Model”对话框,如图2-6-27所示。

(4)在“Create Device Model”对话框中选中“Create IbisDevice model”单选按钮,单击“OK”按钮,弹出“Create IBIS Device Model”对话框,如图2-6-28所示。

图2-6-27 “Create Device Model”对话框

图2-6-28 “Create IBIS Device Model”对话框

为连接器建立IBIS器件模型,这个连接器包含电源和地连接,所以需要确定连接到电源和地的引脚。“Model Name”区域被输入“1364532-2_2_HSSDC2_1364532-2_1364532-2”。“Pin Count”区域列出所有引脚。默认的IOCell模型被列在适当的位置,会在“Analysis Preferences”窗口显示。

(5)在“Create IBIS Device Model”对话框的“Pin Parasitics”各项输入值(每次输入后按“Tab”键),“R”框输入0.1,“L”框输入0.5,“C”框输入0.01,如图2-6-29所示。

(6)单击“OK”按钮,关闭“Create IBIS Device Model”对话框,弹出提示框,如图2-6-30所示。

图2-6-29 输入值

图2-6-30 提示框

(7)单击“Yes”按钮,不需要为连接器添加电源引脚。为连接器建立一个IBIS器件模型。这个特殊的连接器模型没有考虑引脚间的耦合。为其他3个连接器分配新建的模型,如图2-6-31所示。

(8)单击“OK”按钮,关闭“Signal Model Assignment”对话框,弹出“SigNoise Errors/Warnings”对话框和“Signal Model Assignment Changes”对话框。“SigNoise Errors/Warnings”对话框显示从Package模型引用的缓冲模型是否缺少。这些模型和将要分析的网络无关,不需要现在添加它们。“Signal Model Assignment Changes”对话框显示所有新分配的信号模型,并且IC的PINUSE属性已经依照信号模型正确地分配给器件。

(9)关闭“SigNoise Errors/Warnings”对话框和“Signal Model Assignment Changes”对话框。

图2-6-31 为其他3个连接器分配新建的模型

5)为元器件自动分配模型

(1)再次打开“Signal Model Assignment”对话框,单击“Auto Setup”按钮,为元器件分配模型,如图2-6-32所示。只有Device Type名称与信号模型名称匹配,才可以自动分配模型。

(2)单击“OK”按钮,弹出“Signal Model Assignment Changes”和“SigNoise Errors/ Warnings”对话框,提示有些元器件缺少模型,这些模型和将要分析的网络无关,不需要现在添加它们,关闭这两个对话框,返回“Signal Model Assignment”对话框。

仿真器使用器件模型为设计中的网络建立电路仿真模型。这意味着必须为设计中每个仿真的元器件分配一个器件模型,信号模型如图2-6-33所示。

图2-6-32 单击“Auto Setup”按钮

图2-6-33 信号模型

4.引脚类型设置

(1)执行菜单命令“Logic”→“Pin Type...”,如图2-6-34所示,弹出“Logic-Pin Type”对话框,如图2-6-35所示。

图2-6-34 执行菜单命令“Logic”→“Pin Type...”

图2-6-35 “Logic-Pin Type”对话框

在进行“Logic-Pin Type”设置前,应该在SI Design Setup中设置好元器件的类别。确定哪一个元器件是连接器(Connectors),哪一个元器件是分立元器件(Discretes)。

☺元器件类(Device Class)。

✧ IC是能分配IBIS模型的有源元器件。

每个引脚的PINUSE必须是IN、OUT、BI、NC、GROUND、POWER、OCA、OCL。

✧ DISCRETE是无源元件(电阻、电容、电感)。

每个引脚的PINUSE必须是UNSPEC。

✧ IO=INPUT/OUTPUT。

每个引脚的PINUSE必须是UNSPEC。

☺PINUSE。

✧ PCB SI使用PINUSE来确定SigXplorer/SigNoise仿真的缓冲器类型。

Input、Output、Bidirectional、UNSPEC、Power、Ground。

✧ IO和DISCRETE器件的PINUSE必须是UNSPEC。

都是无源器件。

✧ 其他方式的提取和分析将失败。

✧ 当模板被选定时,拓扑图和设计的PINUSE必须匹配。

PCB SI使用Device Class来确定元器件类型。IC的类指定为有源器件,比如驱动器或接收器。DISCRETE的类指定为无源元件,如电阻、电感和电容。IO的类指定为输入或输出器件,如连接器。

对于仿真,处理这些信息是很重要的。当执行仿真时PCB SI使用PINUSE属性值。例如,如果不小心把电阻的PINUSE属性分配为OUT,PCB SI会假定电阻是一个驱动元件并为电阻分配一个默认的信号模型。在电阻的Allegro器件文件创建过程中,若Device Class分配不正确,上述错误就可能发生。

(2)“Logic-Pin Type”对话框的“Selection Area”区域如图2-6-36所示。

图2-6-36 “Selection Area”区域

(3)在“Selection Area”区域的“Refdes Filter”框中输入“CON3”并按“Tab”键,单击过滤出的元件CON3,注意到CON3出现在“Pin Type Assignment”区域左侧列表框中,如图2-6-37所示。单击“All→”按钮,左侧列表框中的引脚出现在右侧列表框中,如图2-6-38所示。

图2-6-37 过滤CON3

图2-6-38 单击“All→”按钮(1)

(4)在“Selection Area”区域的“Refdes Filter”框中输入“XU1”并按“Tab”键,单击过滤出的元件XU1,注意到XU1出现在“Pin Type Assignment”区域左侧列表框中,如图2-6-39所示。单击“All→”按钮,左侧列表框中的引脚出现在右侧列表框中,如图2-6-40所示。

图2-6-39 过滤XU1

图2-6-40 单击“All→”按钮(2)

(5)通过设置“New Pin Type”,就可以对引脚类型进行重新设置。将所选引脚类型设置为UNSPEC,如图2-6-41所示。

图2-6-41 设置引脚类型

(6)单击“OK”按钮,保存修改。

5.SI设计检查

SI Design Audit功能可确认一个特殊的网络或一群网络是否能够被提取分析。

(1)执行菜单命令“Setup”→“SI Design Audit…”,如图2-6-42所示,弹出“SI Design Audit”对话框,如图2-6-43所示。

图2-6-42 执行菜单命令“Setup”→“SI Design Audit…”

图2-6-43 “SI Design Audit”对话框

(2)单击“Next”按钮,选择要诊断的网络,如图2-6-44所示。

(3)在“Xnet Filter”框中输入“DDR_DS0*”并按“Tab”键,打开Dsn VER1文件夹,注意到DDR_DS0出现在Dsn VER1下,将其选中,如图2-6-45所示。

(4)单击“Next”按钮,进入“Audit Errors”界面,如图2-6-46所示。

(5)单击“Report”按钮,弹出“SI Audit Errors Report”对话框,如图2-6-47所示。这个报告显示选择的网络出现的详细问题。在进行信号完整性分析前,必须对诊断出的错误进行修正,直至问题全部解决。

图2-6-44 选择要诊断的网络

图2-6-45 输入“DDR_DS0*”

图2-6-46 “Audit Errors”界面

图2-6-47 “SI Audit Errors Report”对话框

(6)关闭“SI Audit Errors Report”对话框。

(7)单击“Finish”按钮,关闭“SI Design Audit”对话框。

(8)执行菜单命令“File”→“Save As”,将文件保存在D:\physical\PCB_ver1目录下,文件名为hidesign。 fLZAGHpeH+kCatePZNH4SW0J4IYSHyXhjBGpcItEsTRTN8PLqFe7Rh1KCgILXeDg

点击中间区域
呼出菜单
上一章
目录
下一章
×