FPGA内蔵オシレータの実験

M5Stack用FPGAボードに搭載しているMAX Vシリーズには、オシレータが内蔵されています。(ので、外部発振回路を設けていません。)

FPGAのテストとして、内蔵オシレータを動かしてみます。

プロジェクト作成からの手順は、以下の通り。

  1. Quartus Primeを起動
  2. File-New Project Wizardを実行
  3. プロジェクトを作成するディレクトリ名、プロジェクト名、デザインファイル名を入力(すべて、「InternalOscillator」としています)
  4. Nextをクリックして「Fammily, Device & Board Settings」まで進め、実装したデバイス「5M160ZE64C5」を選択
  5. Nextをクリックして「Summary」まで進めて、Finish
  6.  File-Newで、「Block Diagram/Schematic File」を選択
  7. 右側の「IP Catalog」の「MAX II/MAX V oscillator」で右クリック、オシレータを作成してファイル保存(発振周波数は、5.3MHzとしました)
  8. 作成したオシレータとその他(カウンタ、GND、VCC、出力ピン)を回路図上に配置(カウンタ74163のRCO、QD、QC、QB、QAの5端子を出力ピンにつないでいます)
  9. 「Start Analysis & Synthesis」を実行(左下の「Task」で実行結果を確認。失敗するようなら、回路の接続を再確認します)
  10. 「Pin Planner」を実行し、出力ピンをデバイスのピンに割り当て(RCOを63、QDを61、QCを60、QBを59、QAを58)
  11. 「Start Compilation」を実行(左下の「Task」で実行結果を確認)
  12. ここで、PCとUSB Blaster、FPGAボードを接続
  13. 「Programmer」を実行(接続確認を兼ねて「Auto Detect」でデバイスを認識させます)
  14. 「Program/Configure」にチェックを入れ、「Start」を実行(右上のProgressが「100%(Successful)」となればOK)
  15. ここまででFPGAへの書き込みは完了しているので、出力ピンを波形観測(上から順に、QA、QB、QC、QD、RCO)

 

原発振は5.3MHzとのことでしたが、QAが2.41MHzとなっているので実際は4.8MHzといったところでしょうか。ジッタも結構あります。

高精度なクロック発振を求められるアプリケーションには向きませんが、簡易な装置向けとしてはアリなんじゃないでしょうか。

カテゴリーFPGA

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です