この記事では、記事を移植した、オリジナルの基盤は、上の改善するために変更を加えました。どの情報を見つけるために、自分の書き込み習慣やインターネットを兼ね備えています。インターネットの参照ができるこちらをクリックしてくださいレビューをダウンロードするには、ダウンロードリンクを入力します。
この記事では、三つの部分に分割されます、コードの最初の部分は、快適なプログラミングスタイルを感じて、第二部は、いくつかの追加の説明の最初の部分です。第三部は、精製のための最初の部分をまとめ、関連記事を読んだとき、私が作ったレコードです。興味がある読者第一及び第二の部分は十分ですが、また、第三の部分を参照するには歓迎されています。
Vプログラミング仕様の仕上げ
命名について
一般的
- ブロック/信号名はすべて小文字を使用します(例外的な状況に保存)してみてください。
- モジュール/信号名は意味のある言葉が表す使用する必要があります。
下線記号に関連した単語「_」。
モジュールの名前
- モジュールは、一般的に、モジュール名が同じままで、ファイル内のファイル名が配置されています。
20文字の制御モジュール名の長さ。
信号名
- 信号識別子名を避けるために、速記の適切な使用が長すぎます。
- 定数は大文字(最初の文字が大文字フルキャップ/)を使用して定義されます。
- アクティブLow信号、その後の接尾辞「_n」を追加。
- トライステート信号、その後の接尾辞「_Z」を追加。
ビート信号レジスタ、その後の接尾辞「_r」を追加します。(シンセサイザーの一部であることを喜んで「_reg」は、独自の信号x_reg信号を生成します使用しない回数は、いくつかの混乱を引き起こす可能性があり)
コメントについて
一般的
- 必要な注意事項として、コードの読みやすさ、移植性、保守性を向上させることができます。
コードファイルには、全体の部分が1/3であるべきほどを占めています。
ファイルのコメント
- モジュール宣言はヘッダのコメントを必要とする前に、ファイルの先頭。
- モジュール名
- モジュールの機能
- 著者
レコードを変更し、人々は、変更修正、時間及びその他の情報に変更することが含まれるべきです。
コードのコメント
- コードの行コメントではなく、段落のノートを活用します
- 入力および出力ポート、役割の変数のコメント簡単な説明を宣言する必要があります
ブロック(常にブロック)以上のコメントが説明記事の範囲大きくする必要がある、アクション注釈を必要としていました。
書き込みについて
- スペースで区切られた特殊記号の前と後に、コードの可読性を高めます。
- タブは、しばしばシンボルのシンボルの一部を整列するために使用される、シンボルはタブ4スペースとして設定されています。
- 適切な括弧の前後に空白で区切られた場合、判定文括弧、。
- マルチレベルは他の...場合はネストされた、と厳密に整列インデントを確保します。
- あなたはBEGIN ... ENDを使用する場合は、行の数を減らすこと、(同じ行の)次の文で始まります。さらなる例は、関連する説明の可視部分を示します。
- 実施形態の使用厳密「.signal()は、」いつ送信パラメータ行われます。
- トライステート論理サブモジュールは、トライステート信号を使用しないように、最上位レベルで使用することができます。
- ケース構造は、フルケースを実行する必要があります。
追加情報
説明は、一般に略さ
説明IIはありません
抜粋個人的なメモを読みます
スタイルでは、多くの場所では繰り返さない部分を繰り返し、一貫性を持っています。
- 各モジュールは、一般に、モジュール名、ファイル名が一致して、別のファイルで存在します。
- 各ファイルは、冒頭に必要なコメントが含まれている必要があり、それは次のセクションが含まれている必要があります。
- イヤー名と会社名
- 著者
- ファイル名
- あなたのプロジェクト
- トップレベルのモジュール
- モジュールの名前と説明
- レコードを変更します。
- 特別な事情、モジュール名および信号名はすべて小文字が存在しない場合。
- 定数定義( `定義)と大文字(資本部分またはすべて大文字)に(パラメータ)。20文字未満パラメータ名。
- ワードシンボル下線「_」接続、例えばDATA_SIZEを用いてC言語の識別子従来の方法。そして反応を意味するオブジェクト識別子の一部の機能を使用する必要があります。
- 長すぎる識別子を避けるために、特定の略語は、それらの重量となる書き込みとして、使用することができます。
- タブ記号とスペースの適切な集計シンボル、4つの空間として定義されたタブのタブ。
- 等スペースで区切られた特殊文字の前及び後に使用されるべきである:<= A + 1'b1の。
- その後、前面および背面ブラケットがスペースを必要とし、条件を決定ござい括弧。
- マルチレベルのネストされ、各層が始まる...端を厳密に整列するように、厳密な位置合わせを必要とします。
- コメントは、全体の30%未満であるべきであるコンテンツに注釈を付け、読みやすさと携帯性を増加させる必要があります。
- FSM変数の場合、中命名
、 - 機能部のコメント(常にブロック)を使用し、内部信号宣言(ワイヤ又はREG)のコメントを使用して、ポート宣言(入力および出力)のコメントを使用します。
- 置き換え段落のコメント「/マルチユース」//「の行は、道のコメント... /。」コメントは段落ファイルのコメントの最初に使用することができます。
- 注釈説明した実施例、及び用途を追加する場合。()の実施形態の例。
- 速やかにデッドコードを削除
- 各行は、変数を宣言します
- 線幅に対応するようにしてください。
- 低レベルの信号、信号接尾辞「_n」。
- 有効ビットの順序を使用して定義されたベクトルを降順、最下位ビット0。
- プレフィックスクロック信号「CLK」、リセット信号接頭辞「RST」。
- トライステート信号は接尾辞を使用して接尾辞「_Z」、REGレジスタビート信号を追加した「_r」。
- あなたは、VHDLのコードを使用することはできませんし、Verilogの予約語。
- トライステート論理回路は、サブモジュールの使用を回避する、最上位レベルで使用することができます。