ALLEGRO 约束规则设置步骤(以DDR 为例)

合集下载

ALLEGRO约束规则设置步骤

ALLEGRO约束规则设置步骤

ALLEGRO约束规则设置步骤ALLEGRO是一种领先的约束规则语言,用于描述和验证系统的行为和约束。

当开发者需要实施软件规范、验证设计是否符合预期、检查和修复编码错误时,ALLEGRO约束规则设置就可以发挥作用。

本文将介绍ALLEGRO约束规则设置的步骤。

步骤一:确定需求和约束在使用ALLEGRO进行约束规则设置之前,首先需要明确系统的需求和约束。

开发者和相关利益相关者需要明确系统的预期行为,包括正确性、安全性、性能等方面的要求,并将其转化为具体的需求和约束。

步骤二:了解ALLEGRO约束规则语法和语义ALLEGRO具有自己的约束规则语法和语义,开发者需要学习并了解这些语法和语义,以便正确地编写和解释约束规则。

ALLEGRO支持丰富的逻辑和数学运算符,包括布尔运算符、比较运算符、逻辑运算符等。

开发者还需要了解ALLEGRO中的常用函数和谓词,以便在编写约束规则时能够充分利用这些工具。

步骤三:编写约束规则在了解ALLEGRO约束规则语法和语义之后,开发者可以开始编写约束规则了。

约束规则可以分为两类:静态约束规则和动态约束规则。

静态约束规则用于验证设计和代码的合法性,例如检查变量的取值范围、函数的输入输出关系等。

动态约束规则用于检查系统的运行时行为,例如检查系统的状态转换是否满足预期、检查事件序列是否符合特定的规范等。

步骤四:验证约束规则在编写完约束规则之后,需要对其进行验证,以确保规则的正确性和有效性。

可以使用ALLEGRO提供的工具和命令对约束规则进行验证,检查是否存在语法错误、语义错误或者其他逻辑错误。

如果发现错误,需要及时进行修复和调试,直到规则能够正确地验证系统的行为和约束。

步骤五:应用约束规则一旦约束规则通过了验证,并且开发者对规则的正确性和有效性有足够的信心,就可以将规则应用到实际的系统开发中。

可以将约束规则集成到开发工具中,实时检查代码的合法性,并及时给出错误和警告。

也可以将约束规则作为一种文档形式,用于规范开发过程中的行为和约束。

allegro 约束规则设置

allegro 约束规则设置

allegro 约束规则设置摘要:1.Allegro 约束规则的概念与作用2.Allegro 约束规则的设置方法3.Allegro 约束规则的实际应用4.Allegro 约束规则的优点与局限性正文:【1.Allegro 约束规则的概念与作用】Allegro 是一款专业的PCB 设计软件,其中的约束规则设置是PCB 设计过程中至关重要的一环。

约束规则是指在设计过程中,对元件、走线等进行布局和布线的限制条件,以确保设计满足电路功能和性能要求。

通过设置约束规则,可以有效地提高设计效率和准确性,降低设计风险。

【2.Allegro 约束规则的设置方法】在Allegro 中设置约束规则,可以分为以下几个步骤:(1)打开Allegro 软件,导入或创建PCB 设计文件。

(2)在设计界面中,选择需要设置约束规则的元件或走线,可以在原理图或布局视图中进行操作。

(3)点击鼠标右键,选择“约束规则”选项,打开约束规则对话框。

(4)在约束规则对话框中,根据需要设置的约束条件,分别设置“宽度”、“间距”、“角度”等参数。

同时,可以设置约束规则的优先级,以满足不同设计需求。

(5)点击“确定”按钮,完成约束规则设置。

【3.Allegro 约束规则的实际应用】Allegro 的约束规则在实际应用中具有广泛的作用,主要包括:(1)设置元件布局位置:通过设置约束规则,可以控制元件在布局中的位置,确保布局的合理性和美观性。

(2)设置走线宽度和间距:通过设置约束规则,可以保证走线的宽度和间距满足设计要求,降低电路故障的风险。

(3)设置元件和走线的角度:通过设置约束规则,可以控制元件和走线的摆放角度,以满足散热、信号传输等性能要求。

【4.Allegro 约束规则的优点与局限性】Allegro 的约束规则具有以下优点:(1)提高设计效率:通过设置约束规则,可以减少手动调整的时间和精力,提高设计效率。

(2)提高设计准确性:约束规则可以确保设计满足电路功能和性能要求,降低设计失误的风险。

Allegro 中设置等长规则的通用方法

Allegro 中设置等长规则的通用方法

Allegro中设置等长规则的通用方法在当今高速PCB设计中,一组走线的等长越来越重要。

Allegro为 工程师提供了功能强大的Constrain Manager,即约束管理器,工程师可以很方便地进行各种规则的设定,包括等长规则。

在无线时代早前发表的《DDR布线规则与过程》一文中,已经给出了一种设置等长规则的方法,但这种方法具有一定的局限性,一旦某条网络的拓补不符合规律, 将出现异常。

本文以朋友设计的EMMC 小卡为例,给出一种相对通用的等长规则设置方法,希望对读者有帮助。

1. 本例中需要实现PCI-e金手指到EMMC芯片等长,包括D0-D7,CLK,CMD这10条网络。

查看各条网络,确认是否存在串联匹配电阻。

本例中,仅在时钟线上存在,如下图的高亮器件。

2. 为串联匹配电阻分配仿真模型,这样做的目的只有一个:建立Xnet。

因为我们要实现的是金手指到达EMMC芯片的引脚等长,所以必须将串联匹配电阻的两端网络视为同一条。

点击Analyze—>Model Assignment,如下图,3. 在16.6版本中会弹出一个对话框,就是一些设计错误,直接点击Ignore Errors下面的“All”,然后再点击“OK”即可,如下图。

4. 勾选右侧Find窗口中的Symbols,如下图。

5. 点击时钟线上的串联匹配电阻R9,会出现Signal Model Assignment的界面,如下图。

6. 点击“Create Model,如下图。

7. 在弹出的Create Device Model对话框中点击“OK”,如下图。

8. 在弹出的Create ESpice Device Model对话框中点击“OK”,如下图。

9. 此时返回Signal Model Assignment界面,发现R9已具备Model,如下图。

10. 点击Show Element快捷按钮,选中EMMC CLK网络,发现已具备Xnet,如下图。

allegro差分线分组约束规则设置

allegro差分线分组约束规则设置

allegro差分线分组约束规则设置【最新版】目录1.Allegro 软件概述2.差分线分组约束规则的概念3.差分线分组约束规则的设置方法4.差分线分组约束规则的应用实例5.总结正文一、Allegro 软件概述Allegro 是一款专业的 EDA(电子设计自动化)软件,广泛应用于 PCB (印刷电路板)设计领域。

通过 Allegro 软件,设计人员可以轻松实现电路原理图的绘制、PCB 布局布线以及各种设计规则的检查等功能。

在PCB 设计过程中,设计规则的合理设置是保证电路板性能和可靠性的关键。

二、差分线分组约束规则的概念差分线分组约束规则是 Allegro 软件中一种用于控制差分线(Differential Pair)布局布线的设计规则。

差分线是指在高速信号传输过程中,通过两条走线进行数据传输,以降低外部干扰和信号衰减的影响。

在实际应用中,为了保证差分线的传输性能,需要对差分线的布局布线进行分组约束。

三、差分线分组约束规则的设置方法在 Allegro 软件中,设置差分线分组约束规则的方法如下:1.打开 Allegro 软件,载入需要设置差分线分组约束规则的 PCB 设计文件。

2.在顶部菜单栏中,依次点击“规则”(Rules)→“约束规则”(Constraints)→“新建”(New),打开“新建约束规则”对话框。

3.在“新建约束规则”对话框中,设置差分线分组约束规则的名称、描述等信息,然后点击“添加”(Add)按钮。

4.在弹出的“添加约束规则”对话框中,设置差分线分组约束规则的具体参数,包括差分线分组名称、走线宽度、间距等,点击“确定”(OK)按钮。

5.在“新建约束规则”对话框中,点击“确定”(OK)按钮,完成差分线分组约束规则的设置。

四、差分线分组约束规则的应用实例在实际的 PCB 设计过程中,我们可以通过以下实例应用差分线分组约束规则:假设某高速信号传输系统,需要设计两条差分线,分别为 A 和 B。

如何在Allegro中对器件高度设定规则

如何在Allegro中对器件高度设定规则

如何在Allegro中对器件高度设定规则在有的设计中,需要设定PCB板上所贴器件的高度规则。

比如,超过一定高度,会对该产品在今后的装配带来不便或麻烦。

所以,如果我们在项目设计之前就知道类似的一些相关尺寸规定,就可以在设置规则的时候增加一些约束条件。

首先,在制作器件封装的时候,就需要给每个器件定义它的高度:package height。

具体操作是:打开.dra文件,点击Setup—Areas—Package Height,点击器件的Place Bound Top,在Options里面会看到设定器件高度的图示。

在相应的位置填入器件的min、max的值,就可以把这些信息记录在该器件的封装里了。

接下来,在.brd里面设置相关规则。

具体操作是:在需要设定相关规则的区域添加一层Route Keepout层,或者Place Bound Top层。

然后,同样的按照上面的操作,点击Setup—Areas—Package Height,在Options里面按照示意图,设定相关的规则就行了。

需要注意的是:(1)首先应该确保所有器件的.dra文件里面都包含了器件高度的设定,否则默认状态下,在placement的时候每个器件都会产生DRC的。

如果不知道器件的高度,又不希望那些规则作用在这个器件上,那么可以把最大值设置为0,就可以避免出现不希望看到的DRC。

(2)如果是采用在Place Bound Top层设定该规则,那么,DRC会产生在相应的Top或者Bottom层;而如果是采用在Route Keepout层设定该规则,那么,DRC会产生在DRC这一列下方的Place_Top或者Place_Bottom。

(3)在用不同的层设定该规则的时候示意图的尺寸指示是有所区别的,在设定规则的时候需要注意规则的正确性。

(4)这种关于器件高度的规则设定是不能够在Setup--Constraints里面通过添加一个Area再在Area里面设定规则来实现的。

allegro 16.3 约束规则设置

allegro 16.3 约束规则设置

Allegro 16.3约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式在 Cadence PCB设计流程中用于管理所有工具的高速电子约束。

可以使用约束管理器和SigXplorer Expert 开发电路的拓扑并得出电子约束,可以包含定制约束、定制测量和定制激励。

所谓约束就是用户定义的限制条件,当在板上走线和放置元件时会遵守这些约束。

电子约束(ECSets)就是限制PCB 上与电行为有关的对象,比如可以设置某个网络最大传输延迟为2ns。

以下图为一约束设置窗口。

一、说明先解释一下约束的类型以及约束中用到的简写名词,如下图所示:1、NCIs(NET CLASS)由众多nets或者buses、differential pairs、Xnet所组成的类,可对其赋予相似的约束。

如下图所示。

2、NCC(Net Class-Class)一般用在约束组与组之间的间距的时候使用,如下图。

3、DPr(Differential Pairs)差分对一组差分对一般由两条Xnet或者net以差分走线的方式组成,如下图。

差分对的形成有两种方式:一是由模型指定的差分对,再者就是由用户自己定义的差分对。

•模型定义的差分对:可以在器件信号模型中指定差分对,可以使用PCB Design,PCB SI,SigXplores 来将模型指定给相应的元件。

•用户定义的差分对:可以在约束管理器中 Net 一级的对象中创建差分对,可以灵活的更改差分对命名和更改差分对成员,但是没有模型指定差分对的精确性。

以下是设置差分对规则时,需要赋予约束的项。

针对以上约束中用到的一些约束点进行解释说明:差分对的worksheets包含5个主要的约束目录:(1)Pin Delay此值指一对网络之间管脚封装上的延迟,单位是时间ns 或者长度mil。

(2) 不耦合长度(Uncoupled Length)不耦合长度约束是用来限制差分对的一对网络之间的不匹配长度。

Allegro中的约束规则设置V1.2

Allegro中的约束规则设置V1.2

A llegro中的约束规则设置Allegrophan刚好五个字修订记录日期版本描述作者2008-12V1.0初版,学完的总结。

适用于Cadence15.5版本。

Allegrophan 2009-09-08V1.1小改,修改部分措辞Allegrophan2009-10-14V1.2小改,更正、修改几个错漏之处。

添加一些说明性文字。

感谢群里的佳猪、梦姑娘等朋友的指正!Allegrophan目录一:Physical(Line/vias)rule物理特性(线宽和过孔)约束设置: (4)1)“Set values”设置约束特征值 (5)2)“Attach property”绑定约束 (6)3)“Assignment table”约束规则分配 (8)二“Spacing rule”间距约束设置 (9)1)“Set values”设置约束特征值 (9)2)“Attach property”绑定约束 (10)3)“Assignment table”约束规则分配 (11)三Constraint areas区域约束设置 (12)四Allegro中走线长度的设置 (13)1)差分线等长设置 (13)2)一组Net等长 (16)3)XNet等长 (17)线宽、线距、区域的约束主要在“Constraints Sys ”中设置,点击“Setup/Constraints ”或点击图标打开“Constraints Sys”窗口,如下:“Constraints Sys ”窗口分两个级别,第一级别有两类:Standard design rules 和Exte Extendednded design rules 。

Standard design rules 仅有一级分类,点击“Set standard values ”设置默认约束值,如下:“Extended design rules”下一级分为三类不同约束设置:Spacing rule间距约束设置、Physical(Line/vias)rule物理特性(线宽和过孔)约束设置和Constraint areas区域约束设置。

Allegro16.3约束设置

Allegro16.3约束设置

Allegro16.3约束设置Allegro16.3约束设置差分对的约束设置第一步,差分对的设置差分对的设置有很多方法,下面介绍两种最常用的方法。

1.点击菜单Logic→Assign Differential Pair... 弹出以下对话框。

点击你想要创建差分对的Net1和Net2,填入差分的名字,点击Add后就成功创建了差分对。

点击Auto Generate按钮后,弹出以下对话框:在第一个输入框填入Net的主要名字后,在下面的框中填入差分线的标志如N,P。

点击Generate即可自动产生差分对。

2.在约束管理器中设置差分对。

在DSN上点击右键,在菜单中选择Create→Differential Pair。

即可弹出下面的对话框。

和上一种方法的设置差不多,这里就不再叙述了。

第二步差分对约束规则的设置差分对各项约束可以在约束管理器中的Electric→Net→routing→Differential Pair中直接在各差分对上填入各项约束数值就可生效,但更好的方法是创建约束规则后赋给各个差分对。

在DSN上点击右键,在菜单中选择Create→Electrical CSet后,弹出下面的对话框;输入规则名后点Ok,在Electric→constraimt set→outing→Differential Pair中可以看到新规则。

在表格中输入各项数值即可完成新规则的设置。

如图所示差分对约束参数主要有以下几个:1coupling paramaters 主要包括了Primary Gap 差分对最优先线间距(边到边间距)。

Primary Width 差分对最优先线宽。

Neck Gap 差分对Neck模式下的线间距(边到边间距),用于差分对走线在布线密集区域时切换到Neck值。

Neck Width差分对Neck模式下的线宽,用于差分对走线在布线密集区域时切换到Neck值。

如图所示设置数值时在表格中右键菜单中选择change,会出现以下各层数值表格,可以在每一层上设置不同的数值。

Allegro16.6约束规则设置详解2

Allegro16.6约束规则设置详解2

7.2、过电阻的XNET 等长这里关键是设置XNET。

假设有一排过电阻的线需要等长。

首先创建电阻模型。

单击Signal Model 图标,如下图所示点击电阻,如下图所示,单击RN0603 10所有这种模型的电阻都高亮了,如下图所示单击Create Model。

按钮。

默认,单击OK默认单击OK。

如下图所示。

再单击OK 结束命令。

假设我们要将DR_MD49 到DR_MD53网络等长。

打开约束管理器,选择相对延迟,这里可以看到我们刚才设置的XNET。

我们在DR_MD49 网络上右键创建PIN PAIR选择2 个端点,如上图所示,单击OK。

同理,其他需要设置等长的网络,也创建PIN PAIR。

然后按住Ctrl 键选择这些PIN PAIR,右键创建MATCH GROUP 如下图所示设定约束值,及目标网络,方法同不过电阻网络等长设置。

7.3、T 型等长T 型等长设置,比如两个D DR 之间的等长就属于T 型等长,设置方法如下(以text_drr 举例)。

首先添加T 型连接点。

点击Logic-Net Schedule,单击你要设置网络的一个pin。

如下图。

在中间右键Insert T,加入T 型连接点,如下图所示然后去点击第二个pin,再回到T 型连接点,然后去点击第三个pin,右键done 即可。

创建的T 型连接点如下图所示这只是创建了一个网络的T 型连接点,如果需要创建多个,可点击进入约束管理器设置。

在N et-Routing——Wiring 下面,刚才设置的网络拓扑便会显示成UserDefined。

如下图所示选中那个网络,右键创建Creat-Electrical CSet,如下图然后将你需要设置T 型结构的网络选择刚才设置的ECSet 作为参考,Verify Schedule 选择yes 即打开验证,如下图所示。

然后打开检查模式,在约束管理器Analyze-Analysis Modes弹出的对话框中,将Stub length/Net 的检查模式选择为on 如下如所示。

Allegro16.6约束规则设置详解(图文并茂)

Allegro16.6约束规则设置详解(图文并茂)

Allegro16.6约束规则设置详解(图文并茂)此文章由丹心静居整理--- 2014.10.13(为了不侵犯别人的成果,所以在这里做了特殊说明,以示敬意)首先感谢詹书庭编写这篇文章,为我们学习交流Cadence al l egr o软件提供了丰富的知识和方法。

请大家认真学习,不要辜负作者的良苦用心!这篇文章写得很好,操作步骤详细,截图一目了然,通俗易懂,唯一的缺点就是部分截图不是很清晰,我对个别图片做了调整和替换,不易替换的不清晰图片,仔细看下也能明白其中的意思。

俗话说的好,社会在发展,技术在进步,技术的进步在于不断的学习交流和实践。

所以为了方便大家学习交流,为大家提供一个良好的交流平台,在这里留下我们的Q Q群( 原文作者的Q Q群拒绝任何人加入)。

对原文作者表示歉意!学习交流Cadence al l egr o请加Q Q群: 一起来学A l l egRo【2】. 群号:331730476 .以下是正文前言:本文主要讲解Allegro16.6 约束管理器的使用,从基本约束规则到高级约束规则的设置。

目录:一、基本约束规则设置1、线间距设置2、线宽设置3、设置过孔4、区域约束规则设置5、设置阻抗7、设置等长7.1 NET、不过电阻的等长7.2 XNET、过电阻的等长7.3、T型等长8、设置通用属性9、差分规则设置9.1、创建差分对9.2、设置差分约束10 Pin Delay、二、高级约束规则设置11、单个网络长度约束12、a+b 类长度约束13、a+b-c 类长度约束14、a+b-c 在最大和最小传播延迟中的应用第 2 页1、线间距设置(1)、设置默认间距规则点击CM 图标,如下图所示,打开约束管理器。

单击Spacing,再点击All Layers,如下图所示。

右边有一个DEFAULT 就是默认规则,我们可以修改其值。

按住Shift 键,点击第一个和最后一个即可选中所示,然后输入一个值,这样就都修改了,如下图所示(2)、定义特殊的间距约束点选Default 按鼠标右键,执行Create-Spacing CSet加入新规则。

allegro中的约束规则

allegro中的约束规则

allegro中的约束规则摘要:1.Allegro 中的约束规则概述2.约束规则的分类3.常见约束规则介绍4.约束规则的设置与应用5.约束规则对PCB 设计的影响正文:【1.Allegro 中的约束规则概述】Allegro 是一款专业的EDA 工具,广泛应用于PCB 设计领域。

在Allegro 中,约束规则是一种用于指导布局布线过程的重要工具,能够帮助设计者实现高效、精准的PCB 设计。

通过设置约束规则,设计者可以对元件、走线等进行精确控制,从而提高设计质量。

【2.约束规则的分类】在Allegro 中,约束规则主要分为以下几类:1.元件约束:对元件的位置、尺寸等进行限制。

2.走线约束:对走线的宽度、长度、角度等进行限制。

3.区域约束:对PCB 上的特定区域进行限制,如禁止布线区、固定区域等。

4.设计规则约束:对整个设计过程进行控制,如设置最小线宽、最小间距等。

【3.常见约束规则介绍】1.元件约束:元件约束是针对PCB 上的元件进行设置的。

常见的元件约束有:- 元件位置:设置元件在PCB 上的具体位置。

- 元件尺寸:限制元件的大小,以确保元件不会过大或过小。

- 元件与其他元件的距离:限制元件与其他元件之间的距离,以确保电气性能和可制造性。

2.走线约束:走线约束是针对PCB 上的走线进行设置的。

常见的走线约束有:- 走线宽度:设置走线的最小宽度,以确保走线的电气性能。

- 走线长度:限制走线的最大长度,以减少信号传输的延迟。

- 走线角度:限制走线的拐角角度,以减小信号反射。

3.区域约束:区域约束是针对PCB 上的特定区域进行设置的。

常见的区域约束有:- 禁止布线区:设置禁止布线的区域,以确保这些区域的功能不受影响。

- 固定区域:设置固定不变的区域,以确保这些区域的功能不受布线影响。

【4.约束规则的设置与应用】在Allegro 中,设计者可以通过以下步骤设置和应用约束规则:1.打开Allegro 软件,导入PCB 设计文件。

ALLEGRO设置拓扑约束

ALLEGRO设置拓扑约束

设置拓扑约束1Done 结束。

如下图首先 选择 Logic/net schedule i ・呵i id 帝P 甬■融 LCHWi (; ■fflLHT^-jMQTi. P<> 曲 j !W= dmm >-3MrLl ・M*禺增憎邛鼻迓 iP-dnd riwnltRHai *-aMC_Mi L3TFW^' »%驾备X 2T 怪齐*■也怙 >■4£%\S 『> 选择一个引脚左键点击一下,拉出来右键选择Iin sert T,再逐个引脚左键点击一下。

匚<11jtf ?«#!?<■ 5 g 時碍 »*F 叮卑—*1 小:■「八 g r*-EF™< EQ 企|# w> ~krr '二 i"*L rJs 蚩•r't/..也传 T^rlp设置拓扑约束2叫弋睥〜船岂泮遥盏澤"圖妙2看兽,综*出IH* > H -油・廖_星_鞋p ci 斗■丹e 芒管茫第誓帕尸® :4» ferie WtewEki*? ■冃 UrhnAa 1* ig Cifttp 备ifctH 棉村* Di %a>tK£ -H 沖「「上二亍■ W 血凶貝怪卷 ■ ■■■■■[)•丘•国・心a n Acx U«i nfSvhaAvn ■ ■蚀 ^] 厂!pnMbyrh|Mi 「Hmci&VAca^fnm U->:«-rt^<P*r«. e l*C_51,' n ir IV 气s 峠如国忸帕工%智*Ml ■ _X«A~IZ B^K -:IF -.■ ' ■' » I ': I ,”4c*d &N!.Hi _6i 廿 I - 5U<h9片 L —" ■ L 」K 映.■ 1* ■3 Eu ■ ■F tf :>。

Allegro规则约束管理器的初始化设置

Allegro规则约束管理器的初始化设置

Allegro中,规则设置可能多种多样,但基本设置是相通的,设置好之后,就可以保存为一个模板,在以后碰到新设计时,可以直接在把模板拿来使用。

接下来图文介绍一下如何创建 样的一个模板。

1.physical constraint set: 里是设置线宽的,可以根据实际情况创建线宽规则,初始化时设置如下图红圈处
2. Same net spacing选项里,一般设置如下图
3.接下来的设置比较多,有些 是比较关键的,可以根据英语说明来判断是什么选项,在此就不在赘述了
3.2
3.4
3.6
3.8
3.10
在此,就介绍了constraint manager的初始化设置情况 在实际的设计中,可能需根据具体的情况,对设置进行一些调整。

Edited by kevin
2014/2/10。

allegro中的约束规则

allegro中的约束规则

allegro中的约束规则摘要:1.Allegro 中的约束规则概述2.约束规则的分类3.约束规则的设置与应用4.约束规则的优缺点5.总结正文:【1.Allegro 中的约束规则概述】Allegro 是一款专业的EDA(电子设计自动化)软件,广泛应用于电路设计领域。

在Allegro 中,约束规则是一种用于指导布局布线的设计原则,能够有效地帮助设计者优化电路性能、减少设计错误并提高设计效率。

【2.约束规则的分类】在Allegro 中,约束规则主要分为以下几类:(1)物理约束:包括间距约束、宽度约束、高度约束等,用于定义元件、走线、焊盘等之间的物理尺寸要求。

(2)电气约束:包括电压约束、电流约束、电容约束等,用于定义电气信号的电压、电流、电容等参数值。

(3)设计规则约束:包括布线层约束、过孔约束、焊盘约束等,用于定义设计规则的适用范围和具体要求。

(4)其他约束:如制造约束、封装约束等,用于满足特定制造工艺或封装要求。

【3.约束规则的设置与应用】在Allegro 中,设计者可以通过以下步骤设置和应用约束规则:(1)创建约束规则:通过菜单栏选择“Create/Modify Rules”命令,创建新约束规则或修改现有规则。

(2)设置约束规则参数:在约束规则对话框中,设置规则的名称、描述、类型等参数,并根据需要设置具体的约束值。

(3)应用约束规则:在布局布线过程中,通过“Apply Rules”命令或单击工具栏上的按钮,将约束规则应用到相应的元件、走线或焊盘上。

(4)检查约束规则:在布局布线完成后,通过“Check Rules”命令检查约束规则的合规性,以确保设计满足约束要求。

【4.约束规则的优缺点】(1)优点:约束规则能够有效地指导布局布线过程,提高设计质量和效率;有助于减少设计错误,降低产品返工率。

(2)缺点:过多的约束规则可能导致设计过程变得繁琐,增加设计者的工作负担;不合理的约束规则可能导致设计无法满足实际需求。

Allegro约束规则设置

Allegro约束规则设置

Allegro约束规则设置约束规则的设置孙海峰在PCB设计中规则设置是必不可少的,它也可以被称为DRC检查规则,用来确定电路板的走线规则是否符合设计要求。

在Allegro PCB的电路板设计过程中,设计约束规则主要包括时序规则、走线规则、间距规则、信号完整性规则等以及物理规则等设置。

首先,需要认识一下,Allegro PCB的约束管理器:在PCB设计界面中,执行Setup/Constraints/Constraint Manager命令,弹出Allegro Constraint Manager对话框,如下图。

在约束管理器中,设计者可以对电路板的电气规则、物理规则、间距规则等设计规则进行设置定义。

约束规则可以按板层、网络或者区域进行设置。

约束管理器是Cadence系统提供的专用规则设置系统,主要有菜单栏、工具栏、工作表选择区、工作状态报告栏四部分,在工作表中选择一个对象,然后右击,在弹出的命令菜单中,可以进行任意操作。

工作表选择区内可以选择电气规则、物理规则、间距规则等规则设置。

在对应Net文件夹内,可以创建指定网络的对象分组,如:系统、设计、总线、差分对、扩展网络(XNet)、网络、相对或匹配群组,也可以创建基于相关属性的电气规则(ECSet)、物理规则(PCSet)、间距规则(SCSet)等。

约束管理器的约束对象分为引脚对、总线和匹配群组,她们相互之间存在优先级差异,即底层对象会集成顶层对象指定约束,为底层对象指定的约束优先高于上层继承的约束,对象层次的优先级为系统、设计、总线、差分对、扩展网络、相对或匹配群组、引脚对。

一、电气规则设置在约束管理器中,选择Electrical选项卡,其中可以为设计或网络来设置时序规则、信号完整性规则、布线的电气规则(延时、差分对)等,执行Objects/Create/Electrical CSet命令可新建电气规则。

1、选择信号完整性仿真规则Signal Integrity属性,其中包括电气属性、反射属性、单调失真属性、初始串扰、仿真串扰以及同步开关噪声这六个规则设置。

allegro16.3约束设置

allegro16.3约束设置

差分对的约束设置第一步,差分对的设置差分对的设置有很多方法,下面介绍两种最常用的方法。

1.点击菜单Logic→Assign Differential Pair... 弹出以下对话框。

点击你想要创建差分对的Net1和Net2,填入差分的名字,点击Add后就成功创建了差分对。

点击Auto Generate按钮后,弹出以下对话框:在第一个输入框填入Net的主要名字后,在下面的框中填入差分线的标志如N,P。

点击Generate即可自动产生差分对。

2.在约束管理器中设置差分对。

在DSN上点击右键,在菜单中选择Create→Differential Pair。

即可弹出下面的对话框。

和上一种方法的设置差不多,这里就不再叙述了。

第二步差分对约束规则的设置差分对各项约束可以在约束管理器中的Electric→Net→routing→Differential Pair中直接在各差分对上填入各项约束数值就可生效,但更好的方法是创建约束规则后赋给各个差分对。

在DSN上点击右键,在菜单中选择Create→Electrical CSet后,弹出下面的对话框;输入规则名后点Ok,在Electric→constraimt set→outing→Differential Pair中可以看到新规则。

在表格中输入各项数值即可完成新规则的设置。

如图所示差分对约束参数主要有以下几个:1coupling paramaters 主要包括了Primary Gap 差分对最优先线间距(边到边间距)。

Primary Width 差分对最优先线宽。

Neck Gap 差分对Neck模式下的线间距(边到边间距),用于差分对走线在布线密集区域时切换到Neck值。

Neck Width差分对Neck模式下的线宽,用于差分对走线在布线密集区域时切换到Neck值。

如图所示设置数值时在表格中右键菜单中选择change,会出现以下各层数值表格,可以在每一层上设置不同的数值。

ALLEGRO 约束设置

ALLEGRO 约束设置

ALLEGRO16.3 约束设置2011-05-30 20:07:19| 分类:allegro | 标签:region规则设置差分线规则设置、组内组外规则设置|一. 普通单端线的线宽设置该约束定义为PCS,即physical constraint set,选中physical-->physical constraint set-->all layers,对右边的功能名字点击右键,creat-->physical cset即可创建pcs约束,如下图所示,我的工程名字是newcore。

如果需要对每层设置不同的线宽的话,只要把default展开,修改需要单独设置的层的线宽即可。

上图中设置最小线宽为4mil,最大为40mil,在走线的时候,默认走的是最小线宽4mil,NECK下的线宽用于NECK MODE下的线宽,一般在bga下面走线的时候有时候两个管脚间距过小,需要使用neck mode,走线时,鼠标右键,选择neck mode即进入neck模式。

如果需要设置某些线的默认线宽不是4mil的话,比如设置默认电源、地的默认线宽不是4mil,那么可以创建一个PCS,适用于电源和地信号,默认线宽为10mil,如下图设置好后,在physical-->net中对GND信号使用PCS_POWER规则,如下图二. 普通单端线的线距设置该约束定义为SCS,即spacing constraint set,选中spacing-->spacing constraint set-->all layers,对右边的功能名字点击右键,creat-->physical cset即可创建pcs约束,如下图所示。

default是3w间距设置,SCS_5W是5w间距设置,3w或5w都是line to line或者line to shape的,因为line to line和line to shape的平行距离可能较大。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ALLEGRO约束规则设置步骤(以DDR为例)
Dyyxh@pcbtech
tzyhust@
本文是我对约束规则设置方面的一些理解,希望对新手能有所帮助。

由于本人水平有限,错误之处难免,希望大家不吝赐教!
在进行高速布线时,一般都需要进行线长匹配,这时我们就需要设置好constraint规则,并将这些规则分配到各类net group上。

下面以ddr为例,具体说明这些约束设置的具体步骤。

1.布线要求
DDR时钟: 线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,必需精确匹配差分对走线误差,允许在+20mil以内
DDR地址、片选及其他控制线:线宽5mil,内部间距15mil,外部间距20mil,应走成菊花链状拓扑,可比ddrclk线长1000-2500mil,绝对不能短
DDR数据线,ddrdqs,ddrdm线:线宽5mil,内部间距15mil,外部间距20mil,最好在同一层布线。

数据线与时钟线的线长差控制在50mil内。

2.根据上述要求,我们在allegro中设置不同的约束
针对线宽(physical),我们只需要设置3个约束:DDR_CLK, DDR_ADDR, DDR_DATA
设置好了上述约束之后,我们就可以将这些约束添加到net上了。

点击physical rule set 中的attach……,再点击右边控制面板中的more,
弹出对话框
如上图所示,找到ckn0和ckp0,点击apply,则弹出
选中左边列表中的NET_PHYSICAL_TYPE, 在右边空格内输入DDR_CLK, 点击apply,弹出
即这两个net已经添加上了NET_PHYSICAL_TYPE属性,且值为DDR_CLK.
类似的,可以将DDR数据线,数据选通线和数据屏蔽线的NET_PHYSICAL_TYPE设为DDR_DATA, DDR地址线,片选线,和其他控制线的NET_PHYSICAL_TYPE设为DDR_ADDR.
上述步骤完成后,我们就要将已经设好的约束分配到这些net group上。

如下图点击assignment table……
弹出对话框
如下图所示,我们对不同的信号组选择各自的physical约束
有人可能会问,为什么你这还有area0,area1啊?这是因为你的这些约束有的地方不可能达到的,比如在bga封装的cpu内,你引线出来,线间距不可能达到30,20甚至10个mil。

在这些地方,如果你也按照这个约束那么你的pcb中的drc就不可能消的掉。

这时一个解决办法就是把这些地方划为一个room,然后给他加上room属性(即为room 的名字area0,1等等)。

针对这些room内,设定合适的约束(同上)。

针对线间距,由于每个都分为组内间距和组外间距,所以共有6个约束:DDR_CLK_INNER,DDR_CLK_OUTER,…………………………
我们只要对这六个约束设置line to line 和line to shape就可以,分别按上述要求设置就可以了。

剩下的步骤和physical中设置是一样的。

不过这时assignment table变成了下面这样。

下面就是设置线的等长。

这个需要我们到Ecset中设置。

这些高速线一般都需要端接匹配(数据线由于是双向的,两端都有匹配电阻),所以你的整个etch被分成了好几个net,这时候这些net的长度计算就比较麻烦。

一种情况就是你设置XNET,然后对Xnet计算长度,我认为这是最省事也是最好的一种办法,还有就是你不管什么Xnet,分别将各段的长度加起来,算等长。

注:这个时候有个很矛盾的事情,就是你的时钟线如果想定义为差分线来走,即让allegro自己等间距的一次拉差分线,你就不能将之定义为Xnet,我自己用的时候是这样的,我在将时钟线对应的xnet删除后,时钟线就可以成对的拉,而之前尽管设置好了差分属性,系统也是不认的。

不知道大家有没有这个经验。

下面我就讲讲如何设置这些约束,并将这些约束加到对应的xnet上。

点击或setup》electrical constraint spreadsheet,弹出
点击electrical constraint set》routing》total etch length,右边如上图所示出现brd名字,右键点击brd名字,弹出如下右键菜单
如上图点击create ECset,则弹出
输入DDR_ADDR, 点击ok,则brd名字前出现+号,打开之,可以见到设置好的DDR_ADDR.
现在针对DDR_ADDR,就可以设定具体的参数了。

比如,你可以将最小长度设定为1600mils,最大长度设为2500mils。

这个参数的取得其实取决于你的时钟走线拓扑,因为按照走线要求,数据线,地址线等
除非你能保证时钟线走线长度不变。

这里我们假设你的时钟线长为1550mil+10mils,则显然你的地址线不能短于1560mils,我们取为1600mils。

类似我们设置好时钟和数据线的约束。

至此,我们设置好了线长约束规则。

下面的问题就是如何应用这些规则到net上去。

设定好了Xnet以后,我们就可以在约束管理器中给这些Xnet添加约束。

这时,打开net》routing》total etch length,将右边brd名前+打开,下面则是所有的net 名,拖动鼠标选中需要设置约束的那组信号,点击右键,弹出邮件菜单,选中菜单中的ECset Reference ,见下图。

弹出对话框
选中下拉列表中的DDR_ADDR,则对刚才选中的哪些xnet添加上了DDR_ADDR约束。

类似的可以添加DDR_DATA,DDR_CLK约束。

设置Xnet主要就是给相关的电阻加上model就可以了。

相关文档
最新文档