日本ロジック設計    - VHDL ロジック記述サンプル -

TOPページ 


実機動作:Cmod A7-35T (Artix-7) 基板を使用した正弦波生成


  AI学習禁止
  無断転載禁止
  免責事項: 当サイトの情報を元に取った行動の結果について、一切の責任を負いません
  No unauthorized reproduction or AI training allowed.
  Unauthorized reproduction prohibited.
  Disclaimer: We are not responsible for any actions taken based on the information on this site.
  (C) 2025 JAPAN LOGIC DESIGN 日本ロジック設計



  DDS+シグマDACの組み合わせによる、正弦波発生ロジックの実機動作を紹介する。
  ネットで公開可能なFPGA基板が手元にないため、資料が公開されている市販のFPGA基板を使用する。

  1. 主な仕様
    ・使用基板: Digilent Inc. 製 Cmod A7-35T、搭載FPGA: AMD Artix-7
    ・FPGA動作クロック: 基板実装:12MHz、MMCM(PLL)設定周波数:51.2MHz
    ・正弦波発生周波数: 1KHz (正弦波) ※周波数を変えるには [TOP_SINE_WAVE_GENE.vhd] の48行目あたりを参照
    ・動作確認用LED: クロック=51.2MHzで1秒サイクルで点滅     

[picture:pic_artix_7a_sine_wave_001] [picture:pic_artix_7a_sine_wave_002]

  2. アナログフィルタについて
    シグマDAC の出力信号をきれいな正弦波にするには、アナログフィルターを付ける必要がある。
    ここでは、出力ピン(FPGAでは PDM_OUT:V8、Cmod A7-35T 基板では DIP:48番ピン) の先に、
    抵抗:10Kオーム、コンデンサ:2200pF の簡単なCRフィルタを付けて済ませている。
    粗密波の周波数が 51.2MHz あるため、簡単なCRフィルタでも 1KHzの正弦波ならそれなりに綺麗な波形になる。

●LTspice による CRフィルタのシミュレーション
[picture:pic_artix_7a_sine_wave_006]

  3. Cmod A7-35T について
    Digilent Inc のFPGAボードは DigiKey や秋月通商でも販売されており、よく知られている。
    ここでは Artix-7 を実装した「Cmod A7-35」を使用した。秋月通商で 18000円程度。
    FPGAデバイスが単体で 8000円程度することを考えれば割安感がある。
    ただし、回路図のメンテナンスにやや難があり注意が必要。(後述)

  4. ロジックの構成について
    ・MMCM(PLL)
    ・DDSロジック
    ・シグマDACロジック
    ・動作確認用LEDロジック
    で構成されている。
    MMCM(PLL)、DDS、シグマDACについては、別ページ「11. DDS 正弦波生成ロジックサンプル、MMCM(PLL)使用版」を参照。
    動作確認用LEDロジックは単純なカウンターのため VHDLソースを参照。

  5. Cmod A7-35T の回路図は Digilent Inc のサイトで公開されており、これを参考にすればピン配置は決められるはずだが、
    以下、注意点がある。

    5-1. クロックオシレーターの周波数
       基板に実装されているクロックオシレーターは、型番は100MHzのものだが、配線の記述が12MHzとなっている。
       実測では12MHzだった。

[picture:pic_artix_7a_sine_wave_003]

    5-2. 明確な RESET 端子が無い
       Cmod A7-35T には RESET-IC等は無く、FPGAに明確な RESET 端子が無い。
       RESET端子がある前提のロジックでは接続先がなくなってしまうため、空きピン(R3)を仮のRESET端子(負論理)とし、
       XDC ファイルの指定で内蔵PULL-UPを付けて代用としている。
       コンフィグレーションを行えば全てのラッチはRESETされる前提の方法であり、あくまでも代用。

        set_property PACKAGE_PIN R3 [get_ports nRESET]
        set_property PULLTYPE PULLUP [get_ports nRESET]

    5-3. コンフィグレーション用ROMの型番
       回路図では N25Q032A13EF440F と記載されているが、購入した個体では MX25L3273F が実装されていたらしい。
       発売から年数が経過している製品のため、部品変更もあるのだろう。
       ロットによって変わる可能性もあり、VIVADO から書き込みを行う際には注意。

[picture:pic_artix_7a_sine_wave_004] [picture:pic_artix_7a_sine_wave_005]

  6. サンプルファイル
    ・VIVADO用プロジェクトファイル:japanlogicdesign_vhdl_tips_artix_7a_sine_wave.zip
    ※VIVADO プロジェクトファイルは参考にとどめ、新規に作成しなおすことを推奨する
 中国プロテクト:天安門事件、法輪功、チベット