MIL記号(論理ゲート)で書かれた電子回路の図の書き方については、電子回路を学んだことがある方であれば少なくとも一度は学んだ経験があるのではないでしょうか?

しかし、もう少し回路を俯瞰したブロック単位にもなると、論理枠から外れてくるので、見る機会は多くても途端に学ぶ機会はなくなるように思います。

なんとなく雰囲気で書いたブロック図で、そのまま論文になったり、仕様書になっていたりするのでこれまでの書き方も間違ってはいないと思うのですが、

このままでは、何も方向性を示されることがないまま、自己流の書き方で固執してしまいそうなので、ここらでブロック図の書き方についてあらゆる視点から見直す機会としてまとめておきます。


ひとまず、先人に学ぶ方向で、いろいろなIPベンダー(プロバイダー)のブロック図を眺め、良いところを取り入れていきます。

今回は扱う機会の多い大手の4社から、適当なブロック図をいくつか抜粋して見比べていきます。


ARM式ブロック図


まず、内部バス規格のデファクトスタンダードになりつつあるAMBA関連で一番仕様書としては見る機会の多い、ARMのIPを例に挙げてブロック図を見てみます。

NIC-400 Block Diagram

参考:https://developer.arm.com/documentation/ddi0475/j/?lang=en

  • IFの種類
  • 各ブロック機能
  • 各ブロック接続

概ね左から右のデータの流れを意識したブロック図になっています。他のものに比べてもインターフェースの種類を事細かに信号線上に示したうえで、ブロックにはそのブロックの持つ機能を書いているといった感じです。

SMDMAC Block Diagram

参考:https://developer.arm.com/documentation/ddi0218/e/?lang=en

  • IF種類
  • 各ブロック機能
  • 各ブロック接続
  • 信号名

こちらはIF(インターフェース)について、プロトコル名でまとめず、各信号の名前まで詳細に記したブロック図になっています。

インターフェース自体がそれほど多くないブロック図であれば、すべての信号を書き表していたほうが逐一AMBA仕様書を引っ張り出して来てどの信号があったか確認しなくてよいので助かります。


AMD(Xilinx)式ブロック図


次にEDAツールとして、個人での使用頻度の高いVivadoやVitisツールの作成元であるAMD(Xilinx)の仕様書を例に挙げてブロック図を確認していきます。

ホームページで仕様が公開されているものを持ってきました。
https://japan.xilinx.com/products/intellectual-property.html

DMA/Bridge Subsystem Block Diagram


参考:https://docs.xilinx.com/r/en-US/pg195-pcie-dma/Introduction

DMA/Bridge Subsystem for PCI Express Product Guide (PG195)

  • IF種類
  • 各ブロック機能
  • 各ブロック接続

機能もほとんど信号の受け渡しメインといったIPなので、インターフェースの種類やMaster/Slaveの区分が中心にまとまっている形です。

IPの持つメイン機能に応じて分割しており、内部機能に関する箇所までは詳細にブロックに分割しないことでシンプルにしているといった感じでしょうか?

Ethernet Subsystem Block Diagram

参考:https://docs.xilinx.com/r/en-US/pg210-25g-ethernet/Introduction?tocId=DOGKAWURSOkpzvwPgUUCMg

10G/25G High Speed Ethernet Subsystem Product Guide (PG210)

  • 各ブロック機能
  • 信号bit幅
  • 各ブロック接続

今回抜粋した中だと一番シンプルなブロック図です。clocks and resetの線が双方向な点が気になりますが、、データ幅を斜線で明確に記載している点に特徴があります。

データ幅に制限があったり、仕様によって固まっている時はぜひ取り入れたい書き方です。アドレス幅などは確定していることが多いので、ブロック図内に記載があると良いですね。


Synopsys式ブロック図


EDAツール大手のSynopsysのIPも良く仕様書を見る機会があるので取り上げておきます。

資料をダウンロードするのにいろいろ登録が必要だったので、ホームページからブロック図を持ってきています。

ARC Data Fusion IP Block Diagram


Figure 1: Synopsys ARC Data Fusion IP Subsystem integrated hardware and software solution

参考:https://www.synopsys.com/dw/ipdir.php?ds=smart-data-fusion-subsystem

  • IF種類
  • 各ブロック機能
  • ブロック種別

IoT機器向けの複数のIPコアからなるIPサブシステム「Synopsys ARC Data Fusion IP Subsystem」であり、接続がかなり省略されています。

大きな規模のブロック図なので、このレベルまでくると中にどのような機能を持つのかが大切な情報であって、インタフェースの種類や接続関係は二の次なのでしょう。

Bluetooth LE IP Block Diagram

参考:https://www.synopsys.com/content/dam/synopsys/japan/documentation/today-tomorrow/103-17-19.pdf

  • 各ブロック機能
  • 各ブロック接続

DesignWare Bluetooth LE IPのブロック図(55nmプロセス・テクノロジ)で論理回路のブロック図といった感じではないですが、論理設計などの行程ではあまり見ない形の図なので参考のために載せておきます。

電気回路図のようですが、シリコン実証済みIPソリューションといった位置づけのIP図ということは、論理回路のブロック図ということで良いのでしょうか?


Cadence式ブロック図


EDAツール大手のCadenceのIPも良く仕様書を見る機会があるので、取り上げておきます。

こちらも、ホームページなどに記載のあるブロック図を抜粋しています。

MIPI CSI-2 Transmitter Controller Block Diagram

参考:https://www.cadence.com/en_US/home/tools/silicon-solutions/protocol-ip/interface-ip/mipi/mipi-csi-2-tx-controller.html

MIPI CSI-2 Transmitter Controller Block Diagram
  • IF種類
  • 各ブロック機能
  • 各ブロック接続

ブロックすべてが矢印で接続されていて、それぞれのブロック間の関係性が分かりやすいです。各ブロックにもそれぞれ機能の記載があります。

ブロックのIF機能を含むブロックは、ブロック間をまたがる形に記載しているなど、一目見て機能を想定しやすい形にするなど工夫が見えます。

DDR PHY and Controller Block Diagram


  • IF種類
  • 各ブロック機能
  • 各ブロック接続
  • 信号bit幅

主機能とBIST(Built-In Self-Test)やECC(Error checking and correction)、PLL(Phase Locked Loop)といった主機能とは直接関係のないブロックなど、ブロックの種類に応じて色分けされているので、第一印象の分かりやすさが高いです。


ブロック図の作図ツール


最後に、そもそもどのツールを用いてブロック図を記載しているかについて、今まで見たことがあるものを記載しておきます。

基本的にはベクター画像を生成できるツールを使っていることが一般的です。ラスター画像はあまり見かけません。

PowerPointのような本来作図ツールでないものを使用して作成した図をそのまま仕様書に使っていることも意外とあります。テキスト形式でブロック図を記載できるものもあるようですが、適切な配置などが難しくまだまだ手書きで作図しているといった感じですね。
  • Microsoft Visio
  • Microsoft PowerPoint
  • Diagrams.net
ここまで見比べておいてなんですが、必要な情報さえ伝わる形であれば、ブロック図に決まった形式はないように思います。

各IPベンダーから提供されているMAS(Micro Archtecture Specification)と呼ばれるハードウェアの仕様書を参考にしながら、回路に求められる機能や要求仕様書などと照らし合わせながら、必要な情報が適切に掲載されているように作成することが重要だと思います。

このエントリーをはてなブックマークに追加