設計
回路図の作成
agentee editでの部品、ネット、クラス、コマンドのバッチ、大規模設計向けのシート、VILとVIH間の分圧器を検出する信号レベルチェック。
agenteeの回路図は、部品の一覧とネットの一覧です。ネットは、名前、クラス、接続するピンで定義されます。回路図を描画する際に配線は自動で描かれるため、回路の内容は線の引き位置に依存しません。
name = "lna"
board = "lna"
[[parts]]
ref = "U1"
symbol = "SPF5189Z"
value = "SPF5189Z"
at = [66.04, 50.8]
rotation = 90
fields = { mpn = "Qorvo SPF5189Z" }
[[nets]]
name = "RF_OUT"
class = "RF"
pins = ["C2.2", "J2.1", "L3.1"]boardは基板仕様を指定します。ネットクラスはここから取得されます。最初に設定してください。
コマンドで編集
agentee edit schは、ファイルを書き込み、コメントとレイアウトを保持し、変更した部分をチェックします。書き込み前に存在しないピン、シンボル、クラスを拒否するため、タイプミスが新しいネットになることはありません。
agentee edit sch NAME add R1 R 10k --footprint R_0402_1005Metric --at 25.4,25.4
agentee edit sch NAME net VBUS C1.1 U1.7 --class Power
agentee edit sch NAME connect R1.2 FB
agentee edit sch NAME nc U2.3
agentee edit sch NAME note "FB divider sets 3.3 V"
agentee edit sch NAME --list
agentee edit sch helpコマンドはadd、remove、move、set、net、connect、disconnect、nc、unnc、noteです。ピンはREF.PINの形式で、番号(U1.3)または一意なピン名(U1.VCC)で指定します。複数のピンが共有する名前(レギュレータの2つのグランドピンに共通するGNDなど)は、番号を列挙するエラーになります。ピンに、すでに接続されているネットを指定すると、新しいネットに移動します。
addは、既存のすべての右側に、1.27 mmグリッド上に部品を配置します。--at X,Yで他の位置に配置し、グリッドにスナップします。--listは部品とネットをJSONで出力し、任意のコマンドに--jsonを付けると、解決されたピンと座標を返します。
バッチ
部品やネットを一度に複数処理するには、コマンドをリストとして書き出します。読み込みは1回、チェックは最後に1回で、途中の未完成な状態は報告されません。
agentee edit sch - <<'EOF'
add U1 AP2112K-3.3 AP2112K-3.3 --footprint SOT-23-5
add C1 C 1u --footprint C_0402_1005Metric
add C2 C 1u --footprint C_0402_1005Metric
net VBUS U1.VIN U1.EN C1.1 --class Power
net 3V3 U1.VOUT C2.1 --class Power
net GND U1.GND C1.2 C2.2 --class Ground --style power
note "LDO, 600 mA"
EOFadded U1 (AP2112K-3.3)
added C1 (C)
added C2 (C)
VBUS now joins U1.1, U1.3, C1.1
3V3 now joins U1.5, C2.1
GND now joins U1.2, C1.2, C2.2
noted: LDO, 600 mA
warning: ./power.sch.toml: power part U1: body overlaps C1 (parts[1])
0 errors, 1 warnings in the files this touchedピン名は番号に解決され、出力にそれが示されます。addの第3引数は値です。デフォルトの値がないシンボルには値が必要です。
agentee edit sch build.txtは、ファイルから同じ処理を行います。バッチは、プロジェクトの1つの回路図に対して動作します。複数ある場合は、各コマンドを個別に実行し、回路図を指定します。agentee edit sch power add U1 AP2112K-3.3 AP2112K-3.3 --footprint SOT-23-5。
すべてのネットにクラス
すべてのネットは、基板からclassを取得します。Defaultのネットは警告になります。クラスを指定していない場合も、Defaultを指定した場合もです。クラスは、基板での線幅、クリアランス、ビア、ルーティング順序を決定するためです。ネットの種類ごとにクラスを用意します。Signal、Power、Ground、Clock、RF、ペアごとです。
--style powerは、配線の代わりにグランドや電源のシンボルでネットを描画し、--style labelはネットラベルで描画します。
オープンピン
どのネットにも含まれていないピンは報告されます。意図的にオープンにするピンはno_connectに入れます。
agentee edit sch NAME nc U2.7 U2.8レールとシグナルレベルチェック
ロジックや MCU のシンボルには、データシートから [levels] テーブルを与え(部品 を参照)、回路図には rails テーブルを与えてください。
rails = { GND = 0, "3V3" = [3.25, 3.35], VBUS = [4.75, 5.25] }
analog = ["U1.13"]チェックは、レベルを持つすべての入力が、レールと抵抗の許容誤差(部品にtoleranceフィールドがない場合は1%)の最悪のコーナーで、すべての状態のスイッチ、オフおよびローのオープンコレクタ出力、内部プル、入力リークを介して見る電圧を計算します。入力が次の場合はエラーです。
- VILとVIHの間に置かれる可能性がある場合。例えば、分圧が中間に落ちる場合。
- レールに固定するものがなく、浮いている場合。
- 弱いプルを介したリークで、有効なレベルからずれてしまう場合。
minまたはmaxを超えうる場合。
しきい値から100 mV以内は警告です。analogに列挙された入力はADCで読み取られるため、限界値のみが適用されます。チェックがモデル化できないもの(出力やコネクタなど)が乗っているネットは、推測するのではなくスキップされます。
シート
部品が数十個を超えたら、各セクションに個別の回路図を与え、上位の回路図に列挙します。レイアウトは上位の回路図を配置します。
name = "sdr"
board = "sdr"
sheets = ["power", "fpga", "rf", "usb"]各シートは通常の回路図ファイルです。ネットは名前でシート間を接続するため、すべてのシートにある3V3は1つのネットです。ネットのピンは、それを列挙するシートに存在しなければなりません。参照は設計全体で一意です。シートにまたがるネットは、クラスを指定する場合、どこでも同じクラスである必要があります。単独のシートでは、1ピンネットとDefaultクラスの警告はスキップされます。ネットの残りが他の場所にある可能性があるためです。上位の回路図は、結合した設計に対してすべてのチェックを実行します。
手描きの配線
wiresを省略すると、agenteeがルーティングします。特定の描画を希望する場合は、ネットにwires = [[[x, y], [x, y]], ...]を与えます。チェックは、すべてのピンに到達し、他のネットに触れていないことを検証します。
表示する
agentee render sch:NAME -o sch.png
agentee show sch:NAMEshowは、すべてのピンの位置を出力します。エージェントが部品を他の部品の隣に配置するために必要な情報です。
チェックが報告するもの
2つのネットにあるピン、どのネットにもないピン、1ピンネット、1つのネットに複数の出力、ピンを見逃すまたは他のネットに触れる手描き配線、重なる部品、シンボルのピンをカバーしないパッドを持つフットプリント、Defaultのネット、railsが設定されている場合のシグナルレベル。