02.08.2013 Views

System Generator for DSP リファレンス ガイド - Xilinx

System Generator for DSP リファレンス ガイド - Xilinx

System Generator for DSP リファレンス ガイド - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MCode<br />

end<br />

regs.push_front_pop_back(din);<br />

次の関数では、 ビ ッ ト を反転し ます。<br />

function q = bitreverse(d)<br />

q = xl_slice(d, 0, 0);<br />

<strong>for</strong> i = 1:xl_nbits(d)-1<br />

q = xl_concat(q, xl_slice(d, i, i));<br />

end<br />

使用可能な変数<br />

MATLAB コー ド では、 コー ド が記述順に実行さ れます。 MCode ブ ロ ッ ク では、 実行可能なパスが<br />

使用 さ れる前にそれぞれ変数に値を代入し てお く 必要があ り ます (代入文の左側は例外)。 これで、<br />

変数が使用可能な状態にな り ます。 使用不可能な変数があ る と 、エ ラ ー メ ッ セージが表示 さ れます。<br />

たとえば、 次のような M コードがある と します。<br />

function [x, y, z] = test1(a, b)<br />

x = a;<br />

if a>b<br />

x = a + b; y = a;<br />

end<br />

switch a<br />

case 0<br />

z = a + b;<br />

case 1<br />

z = a ñ b;<br />

end<br />

こ の場合、 a、 b、 x は使用可能ですが、 y と z は使用可能ではあ り ません。 y が使用でき ないのは、<br />

if 文に else 文がないためで、 z が使用でき ないのは、 switch 文に otherwise 部分がないか ら です。<br />

MCode のデバッ グ<br />

MCode をデバッグするには、コードに disp() 関数を挿入し て表示 させる方法 と 、MATLAB デバ ッ<br />

ガを使用する方法の 2 つがあ り ます。 関数の使用方法は、 disp() を参照して く ださい。<br />

MATLAB デバ ッ ガを使用する場合は、 MCode ブロックのパラ メータ ダイアログ ボックスの<br />

[Advanced] タブで [Enable printing with disp] をオンにしておく必要があ り ます。 これで、<br />

MATLAB 関数を MATLAB エデ ィ タで開いて、 ブレーク ポイ ン ト を設定した り 、 M 関数をデバ ッ<br />

グしたりできるようになります。 ただ し、 ス ク リ プ ト を変更し た場合は、 必ず MATLAB コンソー<br />

ル ウ ィンドウで clear 関数コ マン ド を実行し て く だ さ い。<br />

<strong>System</strong> <strong>Generator</strong> <strong>for</strong> <strong>DSP</strong> <strong>リファレンス</strong> <strong>ガイド</strong> japan.xilinx.com 227<br />

リリース 9.2.00 2007 年 8 月<br />

R

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!