投稿者: ProveChip

  • Zybo Z7-20でLチカ

    書籍を参考に、LED点滅回路のRTLを作成します。コードはVerilogからSystemVerilogに変更しました。

    module blink (
        input logic CLK,
        input logic RST,
        output logic [2:0] LED_RGB
        );
        
        logic [25:0] cnt26;
        logic ledcnten;
        logic [2:0] cnt3;
    
        always_ff @(posedge CLK) begin
            if (RST)
                cnt26 <= 26'h0;
            else
                cnt26 <= cnt26 + 26'h1;
        end
    
        assign ledcnten = (cnt26 == 26'h3ffffff);
    
        always_ff @(posedge CLK) begin
            if (RST)
                cnt3 <= 3'h0;
            else if (ledcnten)
                if (cnt3 == 3'd4)
                    cnt3 <= 3'h0;
                else
                    cnt3 <= cnt3 + 3'h1;
        end
    
        always_comb begin
            case (cnt3)
                3'd0:    LED_RGB = 3'b100;
                3'd1:    LED_RGB = 3'b010;
                3'd2:    LED_RGB = 3'b001;
                3'd3:    LED_RGB = 3'b111;
                default: LED_RGB = 3'b000;
            endcase
        end
    endmodule

    制約ファイルはほぼそのまま。

    # Zybo Z7 constraints file
    # chapter: 2
    # project: blink
    
    # Clock
    set_property -dict {PACKAGE_PIN K17 IOSTANDARD LVCMOS33} [get_ports {CLK}]
    create_clock -add -name sys_clk_pin -period 8.00 -waveform {0 4} [get_ports {CLK}]
    
    # Reset
    set_property -dict {PACKAGE_PIN Y16 IOSTANDARD LVCMOS33} [get_ports {RST}]
    
    # LED_RGB
    set_property -dict {PACKAGE_PIN V16 IOSTANDARD LVCMOS33} [get_ports {LED_RGB[2]}]
    set_property -dict {PACKAGE_PIN F17 IOSTANDARD LVCMOS33} [get_ports {LED_RGB[1]}]
    set_property -dict {PACKAGE_PIN M17 IOSTANDARD LVCMOS33} [get_ports {LED_RGB[0]}]

    コンパイル、FPGAボードのジャンパー設定、コンフィギュレーションすると、LEDが点滅することを確認できました。

    小林優『FPGAプログラミング大全 Xilinx編 第2版』、秀和システム、2021年。

    小林優『続FPGAプログラミング大全』、Zenn、2025年。

  • Zybo Z7-20 購入

    書籍を参考に、学習用FPGAボードとしてZybo Z7-20を購入しました。

    Zybo Z7-20は2021年1月には国内参考価格で36,110円だったとのことですが、私が購入した2026年3月には70,372円まで高騰していました。

    世界的なインフレ傾向、AI需要による半導体価格の上昇、円安による影響などによるものと思われます。

    むしろ、上位機種のKria KV260のほうが安くなっていましたが(2026年5月現在47,173円)、書籍のアドバイスに従い、まずはZ7-20を購入することとしました。

    秋月電子に在庫がなかったため、DigiKeyで注文しました。

    6日程度で到着し、配送にも問題はありませんでした。

    小林優『FPGAプログラミング大全 Xilinx編 第2版』、秀和システム、2021年。

    小林優『続FPGAプログラミング大全』、Zenn、2025年。

  • 新規プロジェクトとXHub StoresからZybo Z7-20を追加

    Vivado新規プロジェクトで今回購入したZ7-20用のDefault Board設定を追加。

    Z7-20がBoard名一覧になかったが、書籍どおりにXhub Storesからインストール。

    私の環境では、AR# 75516は発生せず、しばらく待っていたらインストールできるようになったので、修正済みなのかもしれない。

    プロジェクト画面まで到達。

    小林優『FPGAプログラミング大全 Xilinx編 第2版』、秀和システム、2021年。

    小林優『続FPGAプログラミング大全』、Zenn、2025年。

  • Vitis/Vivado 2020.1 Windows版をインストール

    『FPGAプログラミング大全 Xilinx編 第2版』のための環境構築を行いました。


    Appendix I 開発環境の構築

    環境

    • PC:ThinkPad X1 Carbon Gen 13 Aura Edition
    • CPU:Intel Core Ultra 7 258V
    • RAM:32 GB LPDDR5X
    • ストレージ:1 TB SSD NVMe Gen4
    • GPU:Intel Arc Graphics(CPU内蔵)
    • OS:Windows 11 Home 64bit(日本語版)
    • ツール:Vitis/Vivado 2020.1

    インストール手順

    書籍を参考に、

    • AMD/Xilinxの公式サイトでアカウントを作成
    • ダウンロードページから「Vivado HLx 2020.1: すべての OS インストーラー シングルファイル ダウンロード (TAR/GZIP – 35.51 GB)」をダウンロード
    • MD5を確認
    • インストーラーを実行
    • Vivado/Vitisが起動することを確認

    学習用の環境なので、書籍とバージョンを揃えて、「Vivado Design Suite – HLx Edition – 2020.1 Full Product Installation」をダウンロードし、インストールしました。

    WSL2(Ubuntu 22.04 LTS)へのインストールも試みましたが、インストーラーが正常に動作しなかったため Windows 版を選択しました。

    Vivado起動時のエラーメッセージは書籍記載の方法で解決しました。

    Error
    Error: Could not locate Quick Help files. Quick Help will not be available.

    小林優『FPGAプログラミング大全 Xilinx編 第2版』、秀和システム、2021年。

    小林優『続FPGAプログラミング大全』、Zenn、2025年。

  • Xilinx Vitis, Vivado, Xsim

    『FPGAプログラミング大全 Xilinx編 第2版』を読み始めました。


    第1章 Xilinx開発ツールとFPGAボード

    1-1 Xilinx開発ツールの概要

    まずFPGA開発の検証フロー全体を整理。

    Vitis (C, C++) → Vivado (SystemVerilog, UVM) → Xsim (SystemVerilog, UVM, binary) → Board, ILA (binary) という階層で、検証手法も変わってきます。

    勉強メモなので間違いあればご指摘ください。

    flowchart TD
        subgraph システム検証
            A["Vitis: C, C++"]
        end
        subgraph RTL検証
            B["Vivado: SV,UVM"]
            C["Xsim: SV, UVM, binary"]
        end
        subgraph 実機検証
            D["Board, ILA: binary"]
        end
        A --> B --> C
        B --> D

    小林優『FPGAプログラミング大全 Xilinx編 第2版』、秀和システム、2021年。

    小林優『続FPGAプログラミング大全』、Zenn、2025年。