単純な両面ボードの場合は、最初に下のレイヤー全体にグラウンドポリゴンを作成します。秘訣は、イーグルに最上層のほとんどの接続をルーティングさせることです。これを行うには、ポリゴン内のルーティングのコストを高くし、ビアのコストを低くします。実際には、最初に解決策を見つける可能性の高いパラメーターから始め、次に複数の最適化パスで要件を厳しくします。
自動ルーティングの前に、重要なトレースを手動でルーティングし、パッドのすぐ近くにあるすべてのグラウンドをグラウンド層に接続します。それはそれが地面を接続するルーティングスペースを無駄にしないことを引き起こします。
もちろん、これはすべて、接続されたものを互いに近くに配置し、クロスオーバーをできるだけ少なくするように方向付けられた優れたレイアウトから始める必要があります。
自動ルーティングの後、手動でクリーンアップする必要があります。グランドプレーンの測定値は、島の最大寸法がどれだけ小さいかです。多くの小さな島は、いくつかの大きな島よりも優れています。これは、可能であれば、グランドプレーンがすべてのビアの周りを流れるようにすることを意味します。残念ながら、イーグルはハグパラメータを0に設定してもビアを固める傾向があります。負に設定することはできないので、試してみました。これは、自動ルーターが何をしたのかを確認し、ビアの集まりを解体するために少し移動する必要があることを意味します。
それは主にオートルーターを適切に使用し、それがツールであり、自分の脳の代わりではないことを理解することです。あなたが火を期待して忘れているなら、あなたは良いボードを手に入れるつもりはありません。
とにかく、これは私の2層ボードの1つからの自動ルーター制御ファイルで、最下層が接地面です。
[デフォルト]
RoutingGrid = 4mil
; トレースパラメータ:
tpViaShape = Round
; 優先ルート:
PrefDir.1 = *
PrefDir.2 = 0
PrefDir.3 = 0
PrefDir.4 = 0
PrefDir.5 = 0
PrefDir.6 = 0
PrefDir.7 = 0
PrefDir.8 = 0
PrefDir.9 = 0
PrefDir.10 = 0
PrefDir.11 = 0
PrefDir.12 = 0
PrefDir.13 = 0
PrefDir.14 = 0
PrefDir.15 = 0
PrefDir.16 = *
アクティブ= 1
; コスト要因:
cfVia = 50
cfNonPref = 5
cfChangeDir = 2
cfOrthStep = 2
cfDiagStep = 3
cfExtdStep = 0
cfBonusStep = 1
cfMalusStep = 1
cfPadImpact = 4
cfSmdImpact = 4
cfBusImpact = 0
cfHugging = 3
cfAvoid = 4
cfPolygon = 10
cfBase.1 = 0
cfBase.2 = 1
cfBase.3 = 1
cfBase.4 = 1
cfBase.5 = 1
cfBase.6 = 1
cfBase.7 = 1
cfBase.8 = 1
cfBase.9 = 1
cfBase.10 = 1
cfBase.11 = 1
cfBase.12 = 1
cfBase.13 = 1
cfBase.14 = 1
cfBase.15 = 1
cfBase.16 = 5
; 最大数...:
mnVias = 20
mnSegments = 9999
mnExtdSteps = 9999
mnRipupLevel = 50
mnRipupSteps = 300
mnRipupTotal = 500
[フォローしてください]
@ルート
アクティブ= 1
cfVia = 8
cfBase.16 = 0
mnRipupLevel = 10
mnRipupSteps = 100
mnRipupTotal = 100
[バス]
@ルート
アクティブ= 1
cfVia = 10
cfChangeDir = 5
cfBusImpact = 4
cfPolygon = 25
cfBase.16 = 10
mnVias = 0
mnRipupLevel = 10
mnRipupSteps = 100
mnRipupTotal = 100
[ルート]
@デフォルト
アクティブ= 1
[最適化1]
@ルート
アクティブ= 1
cfVia = 99
cfNonPref = 4
cfChangeDir = 4
cfExtdStep = 1
cfHugging = 1
cfPolygon = 30
cfBase.16 = 10
mnExtdSteps = 20
mnRipupLevel = 0
mnRipupSteps = 100
mnRipupTotal = 100
[最適化2]
@ Optimize1
アクティブ= 1
cfNonPref = 3
cfChangeDir = 3
cfBonusStep = 2
cfMalusStep = 2
cfPadImpact = 2
cfSmdImpact = 2
cfHugging = 0
cfPolygon = 40
mnExtdSteps = 15
[最適化3]
@ Optimize2
アクティブ= 1
cfVia = 80
cfNonPref = 2
cfChangeDir = 2
cfPadImpact = 0
cfSmdImpact = 0
cfPolygon = 50
mnExtdSteps = 10
[最適化4]
@ Optimize3
アクティブ= 1
cfVia = 60
cfNonPref = 1
cfPolygon = 60
cfBase.16 = 12
[最適化5]
@ Optimize4
アクティブ= 1
cfVia = 40
cfNonPref = 0
cfPolygon = 70
cfBase.16 = 14
mnExtdSteps = 5
[Optimize6]
@ Optimize5
アクティブ= 1
cfVia = 20
cfBase.16 = 16
[Optimize7]
@ Optimize6
アクティブ= 1
cfBase.16 = 18
[Optimize8]
@ Optimize7
アクティブ= 1
cfBase.16 = 20