<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Gowin on t-ngtn.com</title>
    <link>https://t-ngtn.com/tags/gowin/</link>
    <description>Recent content in Gowin on t-ngtn.com</description>
    <generator>Hugo -- 0.145.0</generator>
    <language>en</language>
    <copyright>2025 t-ngtn</copyright>
    <lastBuildDate>Mon, 31 Mar 2025 14:21:18 +0900</lastBuildDate>
    <atom:link href="https://t-ngtn.com/tags/gowin/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tang Nano 9K と Veryl でLチカ！</title>
      <link>https://t-ngtn.com/posts/4/</link>
      <pubDate>Mon, 31 Mar 2025 14:21:18 +0900</pubDate>
      <guid>https://t-ngtn.com/posts/4/</guid>
      <description>&lt;p&gt;こんにちはこんばんは、t-ngtnです。&lt;/p&gt;
&lt;p&gt;今回はTang Nano 9Kという小さくて安価なFPGAで遊んでみたいと思います。筆者はFPGAはわりと触ったことがあるのですが、普段はXilinx（現AMD）のボードを使っているので他のベンダーのボードは初めてです。わくわく。&lt;/p&gt;
&lt;br/&gt;
&lt;h2 id=&#34;準備&#34;&gt;準備&lt;/h2&gt;
&lt;p&gt;まずボードの購入ですね。Amazonで買いました。なんとなくディスプレイが付いているものにしました。&lt;a href=&#34;https://amzn.to/4bRIg3B&#34;&gt;Amazonリンク&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://t-ngtn.com/assets/images/4/amazon.png&#34;&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;次に、FPGAボードにカスタムHWをプログラムするツールの環境構築をしていきます。Tang Nano 9KはGowinのチップが乗っているのでGowinのツールが必要です。この辺の設定は以下のブログを参考にさせていただきました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/bbled/articles/0d6ea2a5056e8a&#34;&gt;Tang Nano 9k で開発を始めるためのメモ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/nihinihikun/articles/2eb2844479638b&#34;&gt;Tang nano 9kを使うための環境構築(GOWIN FPGA Designer)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ツールをダウンロードして、ライセンスをもらいました。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://t-ngtn.com/assets/images/4/gowin_0.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;これで使えそうです！！&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;また、今回はSystem Verilogを直接書くのではなく、&lt;a href=&#34;https://doc.veryl-lang.org/book/ja/&#34;&gt;Veryl&lt;/a&gt;というHDLを使ってみます。これは&lt;a href=&#34;https://github.com/dalance&#34;&gt;dalance&lt;/a&gt;さんが作っているめちゃすごいHDLです。最終的にSystemVerilogにトランスパイルされます。LSPが実装されていたり、諸々の開発環境が整備されています。&lt;/p&gt;
&lt;p&gt;公式ドキュメントにしたがってインストールしました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://doc.veryl-lang.org/book/ja/03_getting_started/01_installation.html&#34;&gt;The Veryl Hardware Description Languageのインストール手順&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h2 id=&#34;lチカをしよう&#34;&gt;Lチカをしよう！&lt;/h2&gt;
&lt;h3 id=&#34;verylでコードを書く&#34;&gt;Verylでコードを書く&lt;/h3&gt;
&lt;p&gt;Verylにてプロジェクトを作成し、以下のコードを用意します。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;module Blink (
    clk: input  clock   ,
    rst: input  reset   ,
    led: output logic&amp;lt;1&amp;gt;,
) {
    var counter: logic&amp;lt;26&amp;gt;;

    always_ff (clk) {
        if_reset {
            led     = 0;
            counter = 0;
        } else {
            counter = counter + 1;
            if (counter == 0) {
                led = ~led;
            }
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;br/&gt;
&lt;p&gt;&lt;code&gt;veryl build&lt;/code&gt;をすると以下のSystemVerilogのコードが生成されます。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
