• 締切済み

FPGAで立ち下がりエッジ動作FF

いつもお世話になります。 (カテゴリが違ったら済みません) verilogでFPGAを設計しています。 基本、同期回路設計でクロックの立ち上がりを使用しています。 外部回路の都合で、180度ずれたタイミングでデータを受け取りたく検討しています。 その際に、FFの記述で always@(negedge clk) と記述しようかと思ったのですが、通常ライブラリ等を見みますと立ち上がりエッジの FFしか見た事が無く、タイミング制約を守れなくなり、結果NGになるのではと思って 躊躇しています。 質問をまとめますと以下の通りです。 (1)always@(negedge clk)は、今時普通に使用しても良いものでしょうか? (2)上記のように記述しコンパイル出来たとした場合、クロックを反転させるインバータは  どこにある資源を使用するものなのでしょうか?  ・一括で反転してそのクロックで動く全FFに供給する。  ・各FF単位で反転してFF自信に繋ぐ。 お分かりになる方、ご教授願います。 宜しくお願い致します。 以上

みんなの回答

  • monova
  • ベストアンサー率68% (68/100)
回答No.1

(1) 普通に negedge を使ってます。 ライブラリなどは、わざわざ、negedgeを使う意味が 無いからでは? もし、使ってはいけないのなら、その理由を 私も勉強したいです。 (2) これは、FPGAの仕様に寄ります。 専用開発ツールを使っているのなら、 マニュアルや、ハードの仕様書に 書いてませんか? セルの構成や、クロック専用ラインの有無で 異なってきます。 もし、選択肢がある様なFPGAなら、 どの様に構成するかコマンドなり スイッチがあると思います。

rkt7
質問者

お礼

ご回答ありがとうございました。 私の経験上、negedgeを禁止する様な注記を、マニュアル系で見た事がないです。 極力、自分自身も避けてきたのですが、今回はnegedgeを普通感覚で使用出来ると設計工数が少なくて済みありがたい感じでした。 ちょっとした事くらいでは使用した経験があるのですが、いつも不安にも思っていました。FPGAはディレーやスキューとの調整が大変になりそうで。 もう少し自分も調べてみたいと思います。 ありがとうございました。

関連するQ&A