2017-03-10 6 views

答えて

2

デジタルエレクトロニクスを使用して、クロック期間の何分の1分でも、確実に遅延させることはできません。 (あなたはVHDLまたはVerilogまたはPalasmやエラでそれをコーディングまたは何が無関係であるかどうか。)

あなたがでクロックを遅延させることができ、ほぼ1/2Tあなたが時計の反対側のエッジを使用しますが、これがない場合であっても信頼性のある。そうすることで、クロックのマークスペース比が50:50に近く、供給電圧、ダイ温度(実際のシリコンの温度)、またはプロセスコーナー(FPGAのスピードグレード)に関係なく、 )。

遅延が1/2T未満になる唯一の方法は、どの論理ゲートにも遅延があるという事実を利用することです。しかし、これは非常に信頼性の低い方法です。その遅延は電源電圧、ダイ温度、プロセスコーナーによって大きく異なるためです。たとえば、3のファクタで簡単に。

したがって、1/4T を確実にで遅延させたい場合は、1/4T周期のクロックが必要です。

+0

私の小さな8ビットCPUに必要なクロックは、1つのclk(周期Tの元のクロック)という3つの出力を持つ必要があります。 2-イネーブルクロック(3/4 Tでは '1'、1/4 Tでは '0')。 3逓倍クロック(周期の途中で1/4Tのみ)。 1/4Tの遅延が可能だった場合、元のクロックでディレイクロックをアンド・アンド・オアすることで、前述のイネーブルおよびセットクロックを元のクロックから外すことができました。しかし、それが不可能なときに私は今どのようにそれをすることができますか?失望しています... – argasm

+1

クロック周期が4 * TのCPUに 'clk'を与えて、' '1/T'周波数でクロックされたFFでイネーブル信号を生成してみませんか? – rascob

1

これを実行できるかどうかは、ターゲットテクノロジと、クロックをどこで、なぜ遅らせるのかによって異なります。

FPGAでは、入力と出力のクロックとデータは一般に遅延する必要があります。ザイリンクスのFPGAには、IDELAYとODELAYというマクロがあり、これを実行することができます。 documentationは詳細を提供することができます。

位相オフセットは、PLL/MMCM/DCM(1つの入力クロックからさまざまなクロックを合成するもう1つの強化マクロ)を使用してロジック内で行うこともできます。繰り返しますが、documentationはさらに詳しい情報を提供します。

私がリンクしたドキュメントは、ザイリンクス7シリーズFPGAに固有のドキュメントですが、ほとんどのベンダーやFPGAファミリには類似のドキュメントがあります。代わりにASICでこれをやろうと思っているのであれば、私が言及した強硬なマクロは内部でアナログ部品に依存しているだけで、設計する必要がある部分ではないので、何もアナログを避けようとしています。

関連する問題