JAJU534E october 2022 – july 2023
CLB 設計を実装するときは、最初に波形を使用して必要な CLB の動作を視覚化すると便利です。これを行うには、まずトランザクションの例を考えます。T フォーマットのトランザクションは、要求の送信とエンコーダの応答で構成されることを思い出します。送信は、図 2-11 に示すように、いくつかの FRAME_STATE に分割できます。最初の手順は、トランザクションの各要素を CLB サブモジュールにマッピングすることです。表 2-12 にマッピングの例を示します。
トランザクションの動作 | CLB へのマッピング |
---|---|
FRAME_STATE の追跡 | 有限ステート・マシン (FSM):以前の状態と現在の入力を与えられたとき、新しい状態に遷移します。 |
生成されたクロック数のカウント | COUNTER:TRANSMIT_DATA および RECEIVE_DATA 状態のとき、クロックのエッジでインクリメントするように構成されています。mode0 入力は、カウンタがいつアクティブになるか、いつ停止するかを制御します。COUNTER と一致する値を利用して状態遷移を実行します (TRANSMIT_DATA から WAIT_FOR_START へ、および RECEIVE_DATA から IDLE へ)。 |
特定の幅のクロック信号を生成 | この要件は、2 番目の COUNTER にマップされます。一致する値を利用して、立ち上がり / 立ち下がりエッジのタイミングを生成します。その後、LUT (ルックアップ・テーブル) が、このタイミングに基づいて実際のエッジを生成します。 |
クロックをエンコーダの応答に揃える | クロックを生成する COUNTER は、エッジ遷移がエンコーダの応答と適切に揃うように構成できます。 |
送信および受信中のみ、SPI にクロックを供給する | LUT は、不要なときにクロックをブロックします。 |
TxEN の制御 | LUT は、現在の FRAME_STATE を利用して信号を制御します。 |
CLB にトランザクションの開始を指示 | C28x は、トランザクションの COUNTER と SPI を構成します。CLB GPREG により、C28x CPU は CLB 入力を直接変更してトランザクションを開始できます。 |
次の手順は、特定のサブモジュールの動作を視覚化することです。最初は簡単なスケッチを作成します。その後設計の進展に合わせて詳細を追加します。図 2-12 に波形の例を示します。
以下のセクションでは、図 2-12 のマーカー 1~6 を使用して、そのマーカーにおける設計の具体的な動作を説明します。マーカーには次のものがあります。
各 FRAME_STATE について説明した後で、セクション 2.3.6.2 、ではタイルの設計全体を提示します。各状態の説明を読むときは、セクション 2.3.6.2 と図 2-12 も参照してください。