こんにちは、四年生の劉です。 実はだいぶ前に、私はHP更新が当たったが、ずっとやっていませんので申し訳ございません。何を書いたほうがいいかよくわかりません(森岡先生がHP更新の内容は何でもいいといわれましたけど)。とりあえず、私の研究内容を紹介しようと思っています。一発ですべての紹介を終わらせるべきではありませんので、本文はまずFPGAとは何かなどを説明したいです。 みんなは授業でラズベリーパイを触ったことがあると思っていますが、FPGA開発ボードはラズベリーパイのように見えます。しかし、中身が完全に違います。授業で触ったラズベリーパイは、ARMプロセッサを搭載しており、Linuxにより駆動されています。したがって、Raspberry Piの処理言語などの高級プログラミング言語の完全な開発環境があります。コードを記述して実行ボタンをクリックするだけで、出力結果またはグラフを確認できます。 また、Minecraftがインストールされていたのを今でも覚えています。教室でゲームをすることはダメですが、印象に残りました。 ただし、FPGAには専用のオペレーティングシステムはありません。 それは機能のないうまく設計された回路のようなものです。「現場で書き換え可能な論理回路の多数配列」となります。簡単に言うと論理回路設計を間違えてもその場でハードウェア言語にて修正が出来るデバイスです。FPGAには長い歴史があり、現在広く使用されています。 そして将来的には、様々な特定の分野でもFPGAの役割を果たすことが期待できます。 興味深いのは、FPGAがHDL(ハードウェア記述言語)を使用していることです。4年間の大学卒業後も、多くの人がHDL言語を見たことがありません。 CやPythonなどの高級プログラミング言語と比較すると、HDL言語は非常に抽象的で読みにくいものです。 FPGAの動作を定義するには、ユーザーが(HDL) または回路図で設計を提供します。大規模な場合は回路図よりもHDL方式の方が適していますが、回路図の方が設計の視覚化が容易で事前に確認しやすい場合もあります。 上図はVerilog言語のNORゲートです。そんなに難しくはないと思いますが、In Outの定義は面倒くさい。 とりあえず今日はここまででいいかな、興味があれば、みんなもHDLのプログラムが作れます。最後まで読んでいただきありがとうございました!