ワイヤ数および各ワイヤ上で送信されるチャネル数は、以下の変数で指定できるパ ラメータ設定によって決定されます。
■ clockRate は、システム・クロック周波数(MHz)です。
■ inputRate は、チャネルごとのデータ・サンプル・レート(MSPS)です。
■ inputChannelNum はチャネル数です。チャネル番号には、0からinputChannelNum–1 が使用されます。
■ Period(つまりTDMファクタ)は、サンプル・レートに対するクロック・レート
の比率で、使用可能なタイム・スロット数を決定します。
■ ChanWireCount は、すべてのチャネルを搬送するために必要なチャネル・ワイヤ
数です。それは、チャネル数をTDMファクタで割ると求めることができます。 具 体的には、
■ PhysChanIn = チャネル入力ワイヤの数
■ PhysChanOut = チャネル出力ワイヤの数
■ ChanCycleCount は、ワイヤごとに搬送されるチャネル数です。それは、チャネル
数をワイヤ数で割ることによって求めることができます。チャネル信号は、0 か
らChanCycleCount–1までカウントします。具体的には、
■ ChansPerPhyIn = 入力ワイヤごとのチャネル数
■ ChansPerPhyOut = 出力ワイヤごとのチャネル数
チャネル数がクロック周期よりも大きい場合、複数のワイヤが必要です。複数のFIR フィルタを並列に構築するために、デザイン内の各FIRコンパイラII MegaCoreファ ンクションが内部でベクトル化されます。
図 4–9に、TDM係数3が2つの入力チャネルを1本の出力ワイヤに結合する方法を 示します(inputChannelNum = 2、ChanWireCount = 1、ChanCycleCount = 2)。
図 4‒9. TDM 係数 3 による 2 チャネルのチャネル化 ( 注 1)
図 4‒9の注:
(1) この例では、output channelに3つの使用可能なタイム・スロットがあり、3番目のタイム・スロットごとにvalid信号がlowに なると、「don't care」の値になります。valid信号がlowのときのchannel信号の値は意味がありません。
clock input_valid input_data_channel_0 input_data_channel_1 input_channel output_valid TDM_output_data output_channel
c0(0) c0(1) c0(2)
c1(0) c1(1) c2(2)
c0(0) c1(0) don’t care c0(0) c1(0) don’t care c0(0) c1(0)
4‒10 第 4 章 : 機能の説明 マルチ・チャネル動作
図 4–10 に、TDM係数3が4つの入力チャネルを2本の出力ワイヤに結合する方法を
示します (inputChannelNum = 4、ChanWireCount = 2、ChanCycleCount = 2)。
チャネル信号は、データの同期およびスケジューリングに使用されます。この信号 は、ワイヤごとのチャネル・データの分割を指定します。チャネル信号は、データ と同期し、0からChanCycleCount–1までカウントすることに注意してください。した がって、ChanCycleCount = 1の場合、チャネル信号は、チャネル数と同じで、0から inputChannelNum–1まで列挙されます。
ワイヤが1本の場合、チャネル信号はチャネル数と同じです。例えば、図 4–11に、 1 本のデータ・ワイヤ上に4チャネルのデータで無効サイクルがない場合を示します。
ChanWireCount > 1の場合、チャネル信号は、実際のチャネル番号ではなく、ワイヤ
ごとのチャネル・データ分割数を指定します。チャネル信号は、0から
inputChannelNum–1までではなく、0からChanCycleCount–1までカウントします。
図 4–12 に、2本のワイヤ上に4チャネルで、無効サイクルがない場合を示します。
図 4‒10. TDM 係数 3 による 4 チャネルのチャネル化 ( 注 1)
図 4‒10の注:
(1) この例では、4チャネルを搬送するために2本のワイヤが必要で、各ワイヤのサイクル数は2です。チャネルは各ワイヤ上に 均等に分散され、3番目のタイム・スロットが各ワイヤ上で「don't care」になります。
clock input_valid input_data_channel_0 input_data_channel_1 input_data_channel_2 input_data_channel_3 input_channel output_valid output_data_wire_1 output_data_wire_2 output_channel
c0(0) c0(1) c0(2)
c1(0) c1(1) c1(2)
c2(0) c2(1) c2(2)
c3(0) c3(1) c3(2)
c0(0) c1(0) c0(1) c1(1) c0(2) c1(2)
c2(0) c3(0) c2(1) c3(1) c2(2) c3(2)
don’t care don’t care
don’t care don’t care
図 4‒11. 1 ワイヤ上に 4 チャネル valid
channel data0
0 1 2 3 0 1 2 3
c0(0) c1(0) c2(0) c3(0) c0(1) c1(1) c2(1) c3(1)
図 4‒12. 2 ワイヤ上に 4 チャネル valid
channel data0 data1
0 1 0 1 0 1 0 1
c0(0) c1(0) c0(1) c1(1) c0(2) c1(2) c0(3) c1(3)
c2(0) c3(0) c2(1) c3(1) c2(2) c3(2) c2(3) c2(3)
第 4 章 : 機能の説明 4‒11 マルチ・チャネル動作
チャネル信号は1本のワイヤのままです。データ・ワイヤごとにチャネル信号が生 成されるのではないことに注意してください。それは、0からChanCycleCount–1まで カウントします。図 4–13 に4本のワイヤ上に同時に4チャネルがある場合を示しま す。
図 4‒13. 4 ワイヤ上に 4 チャネル valid
channel data0 data0 data1 data1
c0(0) c0(1) c0(2) c0(3) c0(4) c0(5) c0(6) c0(7)
0
c1(0) c1(1) c1(2) c1(3) c1(4) c1(5) c1(6) c1(7)
c2(0) c2(1) c2(2) c2(3) c2(4) c2(5) c2(6) c2(7)
c3(0) c3(1) c3(2) c3(3) c3(4) c3(5) c3(6) c3(7)
4‒12 第 4 章 : 機能の説明 マルチ・チャネル動作