在 高速PCB 設計和接線, 通常需要線路長度匹配. 此時, 有必要設定約束規則並將這些規則分配給各種網絡組. 下麵以ddr為例說明設定這些約束的具體步驟.
1.、PCB設計及佈線要求
DDR時鐘:線寬10mil,內部間距5mil,外部間距30mil。 需要差分PCB設計和佈線,差分對佈線誤差必須精確匹配,允許在+2.0mil內
DDR地址、晶片選擇和其他控制線:線寬5mil,內部間距15mil,外部間距20mil,應採用菊花鏈拓撲,其可以比ddrclk線長1000-2500mil,並且不得更短
DDR數據線、DDRDQ、ddrdm線:線寬5mil,內部間距15mil,外部間距20mil,最好在PCB的同一層上進行設計和佈線。 數據線和時鐘線之間的線長度差控制在50mil以內。
2. 根據上述要求, 在中設定不同的約束 PCB設計 快板
對於線寬(物理),只需要設定3個約束:DDR\U CLK、DDR\U ADDR、DDR\U DATA
設定上述約束後,可以將這些約束添加到網絡中。 按一下“附加…”。。。 在物理規則集中,然後按一下右側控制台中的“更多”,
彈出對話方塊
找到ckn0和ckp0,點擊apply,彈出
在左側清單中選擇NET\u PHYSICAL\u TYPE,在右側空白處輸入DDR\u CLK,點擊apply彈出
也就是說,這兩個網絡添加了NET\u PHYSICAL\u TYPE内容,值為DDR\u CLK。
類似地,您可以將DDR數據線、數據選通線和數據遮罩線的NET\u PHYSICAL\u類型設定為DDR\u data,將DDR地址線、晶片選擇線和其他控制線的NET\u PHYSICAL\u類型設定為DDR\u ADDR。
完成上述步驟後,必須將已設定的約束分配給這些網絡組。
按一下分配表。。。
彈出對話方塊
為不同的訊號組選擇自己的物理約束
有人可能會問, 為什麼有區域0和區域1? 這是因為這些約束在某些地方是不可能實現的. 例如, 在bga包的cpu中, 當線索出現時, 行距不能達到30, 20甚至10密耳. 在這些地方, 如果遵循此約束, 不可能消除 PCB中的drc. 此時, 解決方案是將這些地方歸類為房間, and then add the room attribute to it (that is, 房間區域的名稱0, 1, 等.). 對於這些房間, set appropriate constraints (ibid.).
關於行距,由於每個行距分為組內間距和組外間距,囙此總共有6個約束:
DDR_CLK_內部,DDR_CLK_外部,俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎俎
只需為這六個約束設定“線到線”和“線到形狀”,並分別根據上述要求進行設定。
其餘步驟與physical中的設定相同。 但此時,賦值錶如下所示。
以上是PCB設計Allegro約束規則設定步驟的詳細內容。