MCode ブロックにパラメーターを渡す - 2020.2 日本語

Vivado Design Suite ユーザー ガイド: System Generator を使用したモデル ベースの DSP デザイン (UG897)

Document ID
UG897
Release Date
2020-11-18
Version
2020.2 日本語

この例では、MCode ブロックにパラメーターを渡す方法を示します。M 関数への入力引数は、MCode ブロックの入力ポートとして、またはブロックの内部パラメーターとして解釈されます。

次の M コードは、xl_sconvert.m に含まれる M 関数 xl_sconvert を定義します。

function dout = xl_sconvert(din, nbits, binpt)
  proto = {xlSigned, nbits, binpt};
  dout = xfix(proto, din);

次の図に、M 関数 xl_sconvert を使用する 2 つの MCode ブロックを含むサブシステムを示します。M 関数の引数 nbitsbinpt には、各 MCode ブロックに異なるパラメーターを渡すことにより、異なる値が指定されます。signed convert 1 という MCode ブロックでは、渡されるパラメーターにより入力データが Fix_16_8 から Fix_10_5 に変換されます。signed convert 2 という MCode ブロックでは、渡されるパラメーターにより入力データが Fix_16_8 から Fix_8_4 に変換されます。

図 1. 2 つの MCode ブロックを含むサブシステム

各 MCode ブロックにパラメーターを渡すには、MCode ブロックのパラメーター ダイアログ ボックスで Edit M-File タブをクリックし、M 関数の引数を設定します。次に、MCode ブロック signed convert 1 の設定を示します。

図 2. MCode ブロックのマスク

上の図の [Iinterface] タブでは、M 関数の引数 [nbits] を 10 に、[binpt] を 5 に設定しています。次に、MCode ブロック signed convert 2 の設定を示します。

図 3. MCode ブロック signed convert 2 のマスク
図 4. パラメーター

上の図の [Iinterface] タブでは、M 関数の引数 [nbits] を 8 に、[binpt] を 4 に設定しています。