サポートされるブロックとデータ型に関するガイドライン - 番号付きリスト
HDL モデリング ガイドラインは、HDL Coder™ でのコード生成用に Simulink® モデルを作成する際の推奨される一連のガイドラインをまとめたものです。サポートされているブロックとデータ型に関するガイドラインには、HDL Coder ブロック ライブラリのさまざまなブロックの使用とサポートされるデータ型についてのガイドラインが含まれます。HDL コード生成の各モデリング ガイドラインには、準拠要件のレベルに応じて異なる重大度レベルが割り当てられています。それらの重大度レベルの詳細については、HDL モデリング ガイドラインの重大度レベルを参照してください。
以下の表に、HDL Coder でサポートされるデータ型と HDL Coder ブロック ライブラリの各種のブロックに関するガイドラインを示します。これらのガイドラインは 2.1
から始まり、サブセクションに分かれています。関連するモデル チェックがある特定のガイドラインについては、該当するチェックを表に示してあります。該当するチェックを HDL コード アドバイザーで実行することで、これらのガイドラインの推奨されるモデリング パターンに従うことができます。HDL コード アドバイザーの詳細については、HDL コード アドバイザーを使用した Simulink モデルの HDL 互換性のチェックを参照してください。
ガイドライン 2.1: HDL RAMs ライブラリと HDL Operations ライブラリ
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.1.1 | RAM ブロックのアクセスに関する考慮事項 | 推奨 | なし |
2.1.2 | シリアルからパラレルへの変換 | 推奨 | なし |
ガイドライン 2.2: Logic and Bit Operations ライブラリ
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.2.1 | 論理ビット シフト演算および算術ビット シフト演算 | 情報 | なし |
2.2.2 | Logical Operator ブロック、Bitwise Operator ブロック、Bit Reduce ブロックの使用方法 | 情報 | なし |
2.2.3 | Compare to Constant ブロックと Relational Operator ブロックでの boolean 出力の使用 | 強く推奨 | なし |
ガイドライン 2.3: Lookup Table ブロックと Signal Routing ブロック
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.3.1 | ルックアップ テーブルから FPGA ブロック RAM を生成する | 強く推奨 | なし |
2.3.2 | 数値型および列挙型の Multiport Switch ブロックの推奨されるブロック パラメーター設定 | 推奨 | なし |
2.3.3 | Guidelines for Using Selector Blocks to Extract Input Elements from Vector or Matrix Signals | 推奨 | なし |
2.3.4 | Guidelines for Using Assignment Blocks to Write Elements in Vectors, Matrices, and 3-D Arrays | 推奨 | なし |
ガイドライン 2.4: Ports and Subsystems
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.4.1 | バーチャル サブシステム: DUT として使用する | 必須 | モデル チェック: 無効な最上位サブシステムをチェック |
2.4.2 | Atomic サブシステムとバーチャル サブシステム: 再利用可能な HDL ファイルを生成する | 推奨 | なし |
2.4.3 | Variant Subsystem: HDL コード生成用に Variant Subsystem を使用する | 必須 | なし |
2.4.4 | モデル参照: 小規模な分割を使用したモデル設計をビルドする | 推奨 | なし |
2.4.5 | Enabled Subsystem と Triggered Subsystem のブロック設定 | 必須 | なし |
ガイドライン 2.5: レート変更ブロックと Constant ブロック
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.5.1 | レート変換ブロックの使用 | 推奨 | なし |
2.5.2 | Constant ブロックの離散および有限サンプル時間の使用 | 推奨 | モデル チェック: 無限大および連続サンプル時間ソースをチェック |
2.5.3 | Downsample ブロックのサンプル オフセットの動的な変更 | 情報 | なし |
ガイドライン 2.6: Delay ブロック
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.6.1 | レジスタとしての Delay ブロックの適切な使用 | 推奨 | 旧式の Unit Delay Enabled/Resettable ブロックのチェック |
2.6.2 | タイミングの差を回避するための遅延の吸収 | 推奨 | なし |
2.6.3 | 大きな遅延のブロック RAM へのマッピング | 推奨 | なし |
2.6.4 | Goto ブロックおよび From ブロックの必須 HDL 設定 | 必須 | なし |
ガイドライン 2.7: 乗算と累積演算
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.7.1 | FPGA で DSP ブロックへの効率的なマッピングを行うための乗算器と加算器の設計 | 強く推奨 | なし |
2.7.2 | Gain ブロックについては [ConstMultiplierOptimization] HDL ブロック プロパティを auto に設定 | 推奨 | なし |
2.7.3 | 固定小数点型での Divide ブロックの ShiftAdd アーキテクチャの使用 | 推奨 | なし |
2.7.4 | 固定小数点定数演算における Gain ブロックの使用 | 強く推奨 | なし |
ガイドライン 2.8: MATLAB Function ブロック
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.8.1 | 永続変数の更新は MATLAB Function の最後で行う | 強く推奨 | なし |
2.8.2 | MATLAB Function ブロック内の永続変数からの代数ループ エラーの回避 | 必須 | なし |
2.8.3 | MATLAB Function ブロック内での hdlfimath 設定の使用と fi オブジェクトの指定 | 強く推奨 | MATLAB Function ブロックの設定をチェック |
ガイドライン 2.9: Stateflow チャート
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.9.1 | HDL 実装要件に基づくステート マシン タイプの選択 | 強く推奨 | なし |
2.9.2 | Stateflow チャートのブロックの構成設定 | 強く推奨 | Stateflow チャートの設定をチェック |
2.9.3 | HDL コードの else ステートメントに対する無条件遷移ステートの挿入 | 推奨 | なし |
2.9.4 | HDL コード生成での Stateflow チャートにおけるデータ型の設定とキャスト | 情報 | なし |
2.9.5 | Stateflow チャートにおける絶対時間の時相論理の使用 | 必須 | なし |
2.9.6 | Stateflow チャートにおけるエラー (デフォルト) ステートのモデル化 | 情報 | なし |
2.9.7 | Stateflow チャートのクロック駆動の出力の有効化 (Moore チャートのみ) | 情報 | なし |
2.9.8 | 既定値のない Stateflow チャートでのアクティブ ステート監視に使用する列挙型 | 情報 | なし |
ガイドライン 2.10: データ型
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.10.1 | logical データでの boolean の使用と数値データでの Ufix1 の使用 | 必須 | なし |
2.10.2 | Gain ブロックのデータ型の指定 | 推奨 | なし |
2.10.3 | 列挙データ型の制限 | 必須 | なし |
2.10.4 | 固定小数点データ型で正弦関数と余弦関数を計算するために最適な Simulink ブロックの選択 | 推奨 | なし |
2.10.5 | 浮動小数点データ型で正弦関数と余弦関数を計算するために最適な Simulink ブロックの選択 | 推奨 | なし |
2.10.6 | Guidelines for Using Rounding and Saturation Settings for Fixed-Point Data Types | 推奨 | なし |
ガイドライン 2.11: 平方根の演算
ガイドライン ID | タイトル | 重大度 | 関連するモデル チェック/コーディング標準ルール |
---|---|---|---|
2.11.1 | Use SqrtFunction Architecture for Square Root Block | 推奨 | なし |