HDLの命名規則

HDLの命名規則

 HDLにしてもソフトウェアにしても名前をつける事が非常に多いです。プロジェクト名、モジュール名、インスタンス名、変数名、レジスタ名、ワイヤー名、固定値名などあらゆる場面で名前付けが多く発生します。

 命名規則としては、会社で決まっている場合もあります。ネーミング規則とか規約になっている場合が多いです。

 すでに記法と呼ばれ、浸透している書き方もあります。ハンガリアン記法、ケバブ記法、スネーク記法、パスカル記法などです。

ハンガリアン記法

 名前の前に「型」をつける方法です。これが一番多く浸透しているように思えます。プログラムの場合には、型の種類が多く、オブジェクト言語が流行ってからはクラスの概念がハンガリアン記法に合っている事から多く使われているように思えます。

 しかし、HDLの場合には型が多くありません。特にVerilogは型が少ないので、ハンガリアン記法で書いても「型」が同じで、かえって名前をつけるのが難しくなったりします。

 izipcode という書き方です。

ケバブ記法

 串刺し記法、チェイン記法という人もいます。単語と単語の間を「-」で接続しているので、串刺しに見える。連なって見えるからです。

 非常にわかりやすい書き方ですが、数式になった時に、マイナスとの区別がつかなくなる場合があります。

 zip-code という書き方です。

スネーク記法

 ケバブ記法と似ていますが、「-」の代わりに「_」を使います。スネークを連想しにくいのですが、地面を這うように見える。という事のようです。

 zip_codeという書き方です。

パスカル記法

 最近はラクダ記法という人の方が多いようです。大文字がラクダのコブに見えるそうです。私は一番最初に習得した高級言語がPascalでしたので、パスカル記法の方が馴染みがあります。

 単語の最初の文字を大文字で書く。という方法です。

 ZipCode という書き方です。

マイ命名規則

 会社で定められている場合には、それに従うしか無いのですが、エンジニア個人の裁量でつける場合、自分がわかりやすい方法で書くべきでしょう。

 私の場合は、Pascalでプログラムを始めたこともあって、プログラムもHDLもパスカル記法を軸に書いています。どうしてもパスカル記法で書くとわかりにくい場合もあります。その時にはスネーク記法を混ぜています。

英語とローマ字

 命名は英語。というのは暗黙の了解になっています。しかし、ごく稀に英単語に馴染みがなく、日本語訳がしっくりこない。という場合があります。その時には、ローマ字で書く事があります。これは、非常に恥ずかしい気持ちを込めてローマ字で書いています。

 最優先は半年後の自分に理解してもらう。という事です。英単語を調べて変数などを書いてみたものの、それを半年後の自分は理解できず、和訳するだろう。その和訳が本来の意味に戻らない場合。コメントに書くという手段にでます。
 それでも、おかしい。と思う時があります。そんな時はローマ字になります。恥ずべき事なのでお勧めはしません。