• ベストアンサー

デジタル回路だけでクロックを逓倍するには

FPGAに20MHzのクロックを入力し、自作するロジックで、より高いクロックを生成したいと考えています。PLL技術などをざっと調べてみたのですが、ロジックだけで作成できるか見当がつきません。FPGA内のロジックだけでクロックを逓倍することはできるのでしょうか?

  • 科学
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • saru_1234
  • ベストアンサー率33% (452/1341)
回答No.2

No.1 です. > ロジックだけで の意味を厳密に言うのなら,ロジックには時間の概念がないので 逓倍(つまり新たにタイミングを作り出すこと)は 不可能だと思います. 先にゲートディレを利用する方法を紹介?しましたがこれは 厳密にはアナログ要素を利用したものであり 「ロジックのみ」ではありません. しかしタイトルで「ディジタル回路のみで...」とあるので, 精度,安定性がさほど必要でないのなら,他の方法として ゲートディレイ1段を利用し50~200MHz位を発振させて 「ディジタルPLL」を構成する方法も考えられます. 当然ジッタ(時間軸に対する変動)も発生します.

_hitoshi_
質問者

お礼

回答ありがとうございます。「ロジックだけで」という表現は不正確でした。頂いた回答の中の「ディジタルPLL」について、勉強しようと思います。

その他の回答 (2)

  • kabasan
  • ベストアンサー率44% (264/588)
回答No.3

通常、クロックを逓倍する場合はPLLが使われますが、PLL自体をFPGAで組むのは難しいでしょう。(PLLに関する充分な知識が有ればできるでしょうが) そんな労力をかけるより、PLL入りのFPGAを持ってくればあっさり出来てしまいます。

_hitoshi_
質問者

お礼

回答ありがとうございます。移植性の問題で、用意されている逓倍機能を使用できないことを、あらかじめ断っておかなかったのは説明不足でした。申し訳ありません。 回答の中に「PLLに関する十分な知識があればできる」とあることもあり、これからPLLの勉強をしていこうと考えています。

  • saru_1234
  • ベストアンサー率33% (452/1341)
回答No.1

昔使った手段で,逓倍と呼んでもよいのか疑問ですが. 20MHz の元クロックのデューティー比の精度が要ります. 20MHzクロックと,それをゲート数段通して12.5nS遅らせたものとを X-OR (またはX-NOR)とると 一応40MHz を得られます. ただし得られた40MHz のデューティー比は ゲートディレィのバラツキに影響されます.

関連するQ&A

  • 100MHzのクロックを2逓倍して200MHzにしたいのです。

    100MHzのクロックを2逓倍して200MHzにしたいのです。 簡単なロジック回路で実現できないものでしょうか? どうぞ、よろしくお願いします。

  • PLLでのクロック分周について

    現在Quartus 8.1でFPGAを開発しているものです。 FPGAボード上の水晶発振器のクロック48MHzをメガファンクションの ALTPLLで100KHz(0.1MHz)と30KHz(0.03MHz)を作って使用したいと考えているのですが、赤い英文字で 「cannot implement the requested PLL Cause Post divider max count exceeded」 と出てしまいます。 (周波数下げすぎ?) そのまま無視して進めていくと何となく100KHzの周波数のPLL出力クロックは出来ているのですが、このまま利用すると何かジッタ等の問題があるのでしょうか? また、もしダメな場合、どのように48MHzから100KHzと30KHzのクロックを作ればよいのでしょうか?

  • 差動ラインドライバの逓倍器

    PLCで使用する位置決めユニットの差動ラインドライバのクロックパルス(1MHz)を2MHz、4MHzと逓倍したいのですが、逓倍器とかあるのでしょうか?

  • PLL逓倍数とジッタ

    いつもお世話になっております。 PLL逓倍数とジッタの関連性について聞かせてください。 レファレンスクロックとPLL出力周波数との差が大きい程、 つまりPLL逓倍数が大きければ大きいほどジッタ(RJ)が大きくなる傾向があると思われます。 定量的な解析はとりあえず置いておいて、 ジッタが悪化する定性的なイメージをお聞きしたいと思います。 レファレンスクロックが低いとPFD(位相周波数比較器)のup/down頻度が低くなる。 頻度が低くなるとLPFに対する電荷チャージ(およびディスチャージ)の頻度が少なくなり、 Vctrlはリークによる影響を受け揺らぎを持ちやすくなり、VCO出力としてジッタを含みやすくなる。 または、 逓倍数が高い場合、常にKvcoが高くなければならず、Vctrl上のノイズおよびワンダーに対し敏感にならざるを得ず、結果出力ジッタが大きくなる。 正しくない場合訂正していただければと思います。 また他に定性的な説明があれば、 是非教えてください。 宜しくお願いいたします。

  • レファレンスクロックとPLL動作

    お世話になっております。 PLLには常にレファレンスクロック(A MHz)が必要ですが、 一旦安定動作(n逓倍動作)した後、 レファレンスクロック周波数が大きく変動し(B MHz)、 再度当初の周波数に戻った場合(x MHz)、 出力クロックが正常動作していない、n*Aになっていない、 等の動作状態に陥り続けることは無いのでしょうか。 また正常動作を保証する周波数範囲(A to B)は、 PLL ICデータシートのどの項目に規定されているものでしょうか。 宜しくお願いいたします。

  • クロックのレベル変換

    電源電圧5Vで生成されたクロックを、3.3VのFPGAで使用したいのですが、 使用するFPGAに5Vトレラントがありません。 FPGAの入力クロックのジッタ仕様は、サイクルジッタが±300ps、 周期ジッタが±1000psです。 これらの仕様を満たすために、FPGAの前段にレベル変換IC(5V→3.3V) を挿入することを考えていますが、そもそも、クロックをレベル変換 すること自体が間違っているのでしょうか? それとも、上記仕様を満たすレベル変換ICが存在するので、 上記構成で考えても問題ないでしょうか? ちなみに、電源電圧5Vで生成されたクロックを、3.3Vで生成するように 変更することはできません。 お手数ですが、ご教授をお願い致します。

  • CPUのクロックはどのように生成するのでしょうか?

    水晶で数十MHzの信号を出し、PLLで位相を整え、トランジスタでたたき上げる方式かな?と考えています。 Wikipediaにある、Core2, Conroeでは、266×n(n = 7-10)としてあるので、266MHzの中間周波数にたたき上げた後、逓倍にたたき上げるのかな?と勝手に想像しています。

  • h8マイコンからのSPI通信

    前回これに基づいた質問をさせていただきましたが、一層のことFPGAで処理した方が良いとの結論になってしまいました。それはSCK1MHzでシリアル通信の対象が4MHzクロックで動作しているので、それに合わせるために途中クロックアップしたハードロジックが出来ないか?!という問題でした。FPGAは入門にも至らない者なのでプログラミンングも出来ません。一体何をどのようにすればFPGA内容と同一のハードロジックが組めるでしょうか?H8マイコンは3048でソフト処理はもう限界です。

  • DACへのシステムクロックについて

    DAC(PCM1798)へシステムクロック(24.576MHz)が入力される場合、水晶とDACに汎用ロジックICを実装している回路がありました。またその汎用ロジックがNOT回路だったのですが、何故反転させているのか理解できませんでした。なにか理由があるのでしょうか。 恐れいりますがご教示頂けないでしょうか。

  • カウンター回路3

    度々すみません。以下のカウンター回路を製作する必要があります。 1、クロックは10MHz以下 2、クロックを間引く回路は出来ている。(出力1とする) 3、出力1を受けて数え始め、presetした値(入力2とする)で立ち上がる。 4、立ち上がった後はもう一つのpresetした値(入力3)までカウントされるまではhigh levelとし、入力3まで数え終わったらlow levelになる。 5、1から4を繰り返す。 分かりにくかったらすみません。ラッチ機能を搭載させればよいのでしょうが、上記のような回路を74シリーズのみで製作できないでしょうか?(FPGAかCPLDなどのプログラムを組むことはできないので御了承ください。) よろしくお願いいたします。