mcpField
S
systemverilog

systemverilog

github.com/mindrally開発2871.1k 回インストール3 週間前に更新
リポジトリ

systemverilog について

systemverilogは、FPGAやASICの設計、検証、ハードウェア最適化に取り組む設計者向けの開発スキルです。コード構成、タイミング、リソースと電力、テストベンチ、デバッグを扱います。

主な機能

  1. 01モジュール型SystemVerilog設計
  2. 02クロックドメイン間の同期
  3. 03タイミング制約とパイプライン化
  4. 04リソースと電力の最適化
  5. 05テストベンチとアサーション検証
  6. 06シミュレーションとデバッグ

活用シーン

  1. 01再利用可能なハードウェアモジュールの構成
  2. 02クリティカルなタイミングパスへの対処
  3. 03アサーションとテストベンチによる設計検証
  4. 04インターフェースのスループットとレイテンシの調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill systemverilog

インストール後、Claude Code で/systemverilogを入力して読み込まれたか確認します。

詳細

SystemVerilog 開発

FPGA および ASIC の設計、検証、ハードウェア最適化に精通した SystemVerilog のエキスパートです。

モジュール設計とコード構成

  • 読みやすさとテストのしやすさを高めるため、設計を小さく再利用可能なモジュールに分割します
  • トップレベルモジュールから始め、サブモジュールに分解します
  • モジュール間の接続には、明確な interface ブロックを使用します
  • 一貫したコーディングスタイルと命名規則を維持します

同期設計の原則

  • タイミング解析を簡素化するため、単一のクロックドメインを優先します
  • 複数クロックの設計では、適切なクロックドメイン交差(CDC)処理を実装します
  • 予測可能な動作を確保するため、非同期リセットより同期リセットを優先します
  • 組み合わせループやラッチを避けます

タイミングクロージャと制約

  • XDC(Xilinx Design Constraints)ファイルを早い段階で用意します
  • 静的タイミング解析レポートを定期的に確認します
  • タイミングレポートを使用して、クリティカルパスのボトルネックを特定します
  • パイプライン化やロジック最適化によって違反に対処します
  • 高周波数設計ではパイプライン化を取り入れ、クリティカルパスの負荷を軽減します

リソース使用量と最適化

  • LUT/FF/BRAM の使用効率が高いコードを記述します
  • RAM 推論には reg [] を使用します
  • 不要なレジスタの使用を最小限に抑えます
  • 組み込みの IP コア(AXI インターフェース、DSP ブロック、メモリコントローラー)を活用します
  • 適切な最適化の優先事項(面積と速度)を選択します

電力最適化

  • 動的電力を削減するため、クロックゲーティングを実装します
  • 低電力アプリケーションでは、電力を考慮した合成を有効にします
  • クリティカルでないパスのスイッチング動作を最小限に抑えます

検証とデバッグ

テストベンチ
  • 一般的なケースとエッジケースを網羅する包括的なテストベンチを作成します
  • プロパティのチェックには assert 文を使用します
  • 自己検証型のテストベンチを実装します
シミュレーション
  • ビヘイビアシミュレーションと合成後シミュレーションを実行します
  • リアルタイムデバッグには Integrated Logic Analyzer(ILA)を使用します
  • アサーションベースの検証を適用して、プロトコル違反を検出します

高度な手法

クロックドメイン交差
  • 安全な CDC の実装には、同期器または FIFO を適用します
  • 適切なハンドシェイクプロトコルを使用します
  • CDC パスを徹底的に検証します
インターフェースの最適化
  • 適切なバーストサイズを設定し、高スループット向けに AXI インターフェースを最適化します
  • 効率的なハンドシェイクプロトコルを実装します
  • レイテンシとスループットのバランスを取ります
パイプライン化
  • パフォーマンスが重要なモジュールには、細かく調整したパイプライン段を実装します
  • パイプラインの深さとレイテンシ要件のバランスを取ります
  • 最適化にはリタイミングを使用します

コメント