よくわからないFPGAのこととか

よくわからないFPGAとか回路とか数学とかについて

2020-01-01から1年間の記事一覧

FPGAがプログラムできる仕組み

最初に FPGAとはプログラムできる回路ですとよく言われる。それはなんとなくわかるけど、じゃあ「プログラムできる回路ってなんだ?」という疑問が生まれてくる。 とくにソフトの方から良く聞かれることがあるので、自分なりにまとめてみた。 とりあえず結論…

電気素子を考える:抵抗編

電気素子:抵抗編 どのような電気回路も分解していくと以下の4つしか存在しない。 抵抗 コンデンサ インダクタ ダイオード ひとつひとつの理解を深めていく。 最初は抵抗編。 抵抗(Resistor) 役割 抵抗の役割は主に以下のような感じである。 適切な電流を調…

Seeed Fusion によるMCU基板製造

概要 Seeed Fusion にて$4.9で基板が作成できるらしいので実際にやってみる。 背景 ArtWorkの勉強のために実施。 仕事などで回路設計はするがAWは指示と確認のみである。 少しでもAWの苦労を実感したほうが良いと思った。 (ただ今回は2層基板のため、多層基…

FF(フリップフロップ)の構成と仕組みを考える

はじめに デジタル回路つくるとエッジでデータを保持するFFの恩恵はたくさん受ける。 ただ「FFって何だろう?」と思うことがある。 働き始めて数年、「FFってわかる?」みたいな質問を何回か受けたのだが、どんな回答を期待されてたのだろう。 本を読んでも…

FPGAのIODELAYの可変遅延を動作させてみる(Xilinx7シリーズ )

はじめに ARTY評価ボード(Artix7)を用いてFPGAのIOに実装されている遅延タップを動かしてみる。 io_delay概要 IDELAYシンボルを使用すると、80ps単位で遅延をさせられるらしい。(リファレンスクロック:200MHZ) 使い道はあったりなかったりだと思うが、と…

可変アドレスデコーダ(Verilog)

概要 入力ビット数と出力ビット数が可変できるアドレスデコーダ。出力ビット数は2^入力ビット数とする。 アドレスデコーダを可変にする状況で使いまわせると思い作成。 テクノロジーマッピングで意図したLUTの個数になっているかみてみた。(Cyclone3デバイス…

遅延可変シフトレジスタ(VHDL)

概要 遅延サイクルと幅を設定可能なシフトレジスタのVHDL版です。 FF生成は本モジュールをパラメーターを変えて使いまわすと楽そう。 ModelSimで動作確認、Vivado2018.1にて実装確認をしました。 Shift Register Module ソースコード shift_reg.vhd -- shift…

遅延可変シフトレジスタ(Verilog)

概要 遅延サイクルと幅を設定可能なシフトレジスタです。 意外とネットに記述が見当たらないので作成しました。 FF生成は本モジュールをパラメーターを変えて使いまわすと楽そう。 Shift Register Module ModelSimで動作確認し、Quartus13.1にて実装確認を行…

FPGAプロジェクト生成自動化とソースコード管理(Vivado編)

概要 Vivadoを用いたFPGAのコード管理に関して記載します。 ソースコード(HDL、IP、BlockDesign,制約)を並べてバッチファイル(Windows)で自動生成する仕組みについて紹介します。 管理するファイルがソース関連だけになり、ある程度大規模なFPGAにおいて…