KUMICO

COLUMN

[FPGA開発工程のちょっとしたこだわり] 仕様書作成

KUMICOをご覧の皆さまはじめまして!私は15年間FPGA開発をしております。

「FPGA開発工程のちょっとしたこだわり」と題しまして、“初めてFPGA開発をします!”という新人さんに対して、
各開発工程(仕様書作成、RTLコーディング、シミュレーション、論理合成)における、私のちょっとしたこだわりや、予め気を付けた方がいいよ、という内容をお話ししようと思います。

“○○回路の設計手法“とか、難しい内容ではないのでベテランエンジニアの方々からすると、当たり前の内容かもしれませんが、「へ~っ、こんな観点をもって作業するのも有りだな」って思ってもらえたら嬉しいです!

さて、今回は「仕様書作成」についてお話ししようと思います。

なぜ仕様書を書くの?

皆さんは、どのような目的で仕様書を書いていますか?

私は以下4つを心掛けています。

 ①自分が設計をするために必要な情報を纏めて、整理するもの
 ②お客様やプロジェクトメンバーに自分の考えを伝えることができるもの
 ③お客様やプロジェクトメンバーに設計ミスを見つけてもらえるもの
 ④数年後に他人が見たとき設計内容が理解できるもの

私が今まで作成した仕様書で、これらが1つでも欠けていたものは、良い仕様書じゃなかったなと感じています。
仕様書は自分だけ理解できれば良いというものではありません。他のメンバーが理解しやすいものを作成することが重要だと思っています。
皆様も所々のタイミングで、「この仕様書は目的を満たせているか?」を考えながら書くと、きっと良い仕様書になると思いますよ。

仕様書を書く前に決めておこう!

私が新人の頃、初めてプロジェクトに携わり、先輩から「○○回路の仕様書いて」と言われ、無我夢中で仕様書を書ました。
「先輩できました」 ⇒ 「何これ・・・」
「何これ・・・」とは仕様書のフォーマットに対するご指摘でした。

私は新規でWordを立上げて、仕様書を書いてしまったのですが、どうやらプロジェクトやお客様によって仕様書のフォーマットが決まっていたのです。(先に言ってよ・・という思いもありましたが)
フォーマットとは、章立て、端子表、ブロック図、タイミングチャート、真理値表、文字サイズ、書体などなど、プロジェクト毎に書き方や、表現方法に決まり事があります。

特に大人数で行うプロジェクトは、予めフォーマットを決めておかないと、各々バラバラな表現で仕様書が出来上がってしまい、「仕様書がマージできない」、「体裁がバラバラで汚い」という品質悪化に繋がります。
仕様書を書く前には必ずフォーマットを統一するようにしましょう。

とはいえ、フォーマットを統一したはずなのに、あれっ「マージできない」、「リンクが更新されない」などは、
仕様書あるあるネタとしてベテランの方々も経験されているのではないでしょうか・・・

フォーマットが決まれば、あとは頑張って仕様書を書くだけです。
定期的に先輩方へ記載内容をチェックしてもらいながら進めることも重要です。

ちょっとしたこだわり

仕様書作成において、私のちょっとした“こだわり”をお話しします。

・端子表

モジュールに入出力する信号は、端子表に纏めます。
私は信号名に以下の規則を設けています。
 I_xxx_xxxx :入力端子
 O_xxx_xxxx:出力端子
 x_AVL_xxxx :どこのI/F信号

何故かといいますと、信号名から入力、出力、どこのI/F信号なのか判断しやすくなる為、RTLコーディング工程で他のモジュールとport map等で信号を接続する際に、接続ミスが軽減できるからです。
I_ の信号と、 I_ の信号は接続できませんよね。
このような信号名のネーミングルールも、プロジェクト内できちんと決めておきましょう。

1_端子表2

・ブロック図

ブロック図は、回路の全体イメージを表す全体ブロック図や、F/F、and、orなど詳細まで落とし込んだ詳細ブロック図があります。
全体ブロック図は、すごくシンプルなのに、回路イメージが一目で分かる図を書く人もいます。
私は、細かく書きすぎてしまい、少々分かりづらくなることがあります。絵心がある人が羨ましいです・・・
経験も必要ですが、やはりセンスも重要だと感じています。
先輩方に沢山ブロック図を見せてもらい、参考となるセンスの良いブロック図を見つけて下さい。

2_ブロック図詳細ブロック図に関しては、私はクロックドメイン毎に色を分けて記載しています。
色を付けることで、瞬時に非同期部分が判断しやすくなり、レビュアーも危険な箇所を見つけやすくなります。色を付けるだけで、可視化され分かりやすくなるので、色付けして表現するのも効果的だと思います。

最終チェック

さて、仕様書作成が終わりました。
提出する前に体裁をチェックしましよう。
誤記チェックはもちろんですが、私は以下の点もチェックしています。

①無駄なスペース(空白)がないか
Wordの機能で、スペース(空白)も表示されるように設定している人もいます。無駄なスペース(空白)が大量にあると汚く見えるので削除しましょう。

②Wordに貼り付けた図が行内に挿入されているか
図を行内に挿入せずに、図の大きさ分、Enter連打して空白に図を貼り付ける方もいます。ちょっとカッコ悪いので行内に挿入しましょう。

③貼り付けた画像サイズは大きすぎないか
画像サイズが大きすぎると、仕様書をマージした時に巨大な仕様書となり、開くのが大変・・ということがあります。貼り付ける際に、形式を拡張メタファイルにするなど、サイズが小さくなる工夫をしましょう。

④機密情報が残っていないか
仕様書のフォーマットを決める際、別のプロジェクトや、過去のフォーマットを流用するケースがあります。過去の記載内容を削除したからといって、安心していませんか。実はWordのプロパティに機密情報が残っていることがあります。必ずプロパティもチェックしましょう。

3_プロパティ

次回

今回は「仕様書作成」について、ちょっとしたこだわりや、注意すべき点をお話ししました。一つでも役立つ内容があったら嬉しいです。

次回は、「RTLコーディング」についてお話しようと思います。

<記者プロフィール>
ザミ
2002年から約15年間FPGA開発業務に従事。
その後、海外ベンダーのFPGAボード販売/FAEを担当している。
趣味はブラックバス釣り。

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

シリーズ記事

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!