主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

固定小数点Cコードの生成

メモ

固定小数点コードをMATLAB®から生成するには,定点设计师™製品とMATLAB编码器™製品の両方が必要です。またCコンパイラも必要です。

この例では2つの入力値を乗算して累積するシンプルな関数のコードを生成する方法を説明します。このタイプのコードは,外部ハードウェアに組み込むことができます。関数は次のようになります。

函数Acc = curpos (Acc,x*a);

このコードはテストベンチ入力の定義,必要なコード生成プロパティの設定およびコード生成を行います。テストベンチ入力は固定小数点数値として指定します。入力xは1つの乱数,一个は0.9でアキュムレータaccは0に初期化されます。编码器。HardwareImplementationオブジェクトでは,生成コードに影響を与える外部ハードウェアのプロパティを指定します。この例では40ビットのアキュムレータを指定します。编码器。CodeConfigオブジェクトには,コード生成に直接影響を与えるプロパティがあります。codegenコマンドは,関数および構成オブジェクトを入力引数として取り,組み込み可能なCコードを生成します。

x = fi(15)兰德,真的,16日;一个= fi(15) 0.9,真的,16日;acc = fi(0,真的,40岁,30);%%你好= coder.HardwareImplementation;嗨。ProdHWDeviceType =“通用- >自定义”嗨。TargetHWDeviceType =“通用- >自定义”嗨。TargetBitPerLong = 40;嗨。ProdBitPerLong = 40;hc = coder.config (“自由”);hc。HardwareImplementation =你好;hc。GenerateReport = true;codegenmult_acc配置hcarg游戏{x, acc}

生成されるCコードは次のようになります。

/* Include Files */ # Include " multit_acc .h" /*函数定义*/ * * Arguments: short x * short a * long *acc * Return Type: void */ void multit_acc (short x, short a, long *acc) {*acc += x *a;}

メモ

サポートされているコード生成用の関数のリストについては,C / c++コードの生成でサポートされている関数およびオブジェクトを参照してください。