Combinatorial vs. Multi-Cycle 回路

C-to-Hardware Compiler は、エクスポートした関数のための C ソースコードから2つの回路タイプを生成できます。 – CombinatorialMulti-cycle 。C Code Symbol 用の 'interface mode' と呼ばれる、回路のタイプは C Code Symbol の属性、または 特に '関数特性' (C ソース関数を C Code Symbol に '関連つける' ために使用したインターフェース定義)の一部として指定されます。  

図 1. エクスポートした C 関数を C Code Symbol に関連付けるための属性へのアクセス

2つの相違については以下になります。:

  • Combinatorial – どんな時でも出力するロジックゲートからなるこのタイプの回路は、入力の値によってのみ定義されます。このインターフェースモードで、エクスポートした関数のパラメータのみが C Code Symbol(一般的に 'Parameter' エントリと呼ばれます。)上で C Code Enries として表示されます。 
     

    図 2. Combinatorial インターフェースでの C Code Symbol

     
    Combinatorial 回路は、保存された状態(メモリ、以前の実行等)に依存しない簡単な C 関数を生成できます。要求があった場合、C-to-Hardware Compiler は、組み合わせ回路を作成しようとします。しかし、これが不可能な場合エラーは編集中に出力され、インターフェースモードを Multi-cycle に変更する必要があります。もし、関数がグローバル変数にアクセスする場合、これは保存された状態を示します。そして、そのため、combinatorial 回路は生成できないことに注意してください。

  • Multi-cycle – このタイプの回路は、完了するには1つのクロックサイクル以上を必要とします。このインターフェースモードを選択する時、START, DONECLOCK C Code Entries は自動で C Code Symbol(一般的に 'Control' エントリと呼ばれます。)に追加されます。これらのエントリは、エクスポートされた C 関数の一部ではありません。  
     

    図 3. Multi-cycle インターフェースでの C Code Symbol

     
    START 信号が High である時、回路は動作し始めます。入力は有効であると想定されます。回路が動作終了する時、DONE 信号は High でドライブします。出力は1つのクロックサイクルのために有効になります。有効な出力が短いために、外部の出力のラッチはよくあります。
     
    タブの Variables 領域で Enable reset logic オプションが有効な場合、reset ロジックはシンボル内に構築されます。そして、2つの追加のControl-type C Code Entries はシンボル(RESETRESET_DONE)に追加されることに注意してください。  

詳細について

C を使用してカスタム FPGA ロジックを作成するためのチュートリアルについては、Tutorial - Designing Custom FPGA Logic using C を参照してください。 

You are reporting an issue with the following selected text and/or image within the active document: