Prismjs

ラベル FPGA の投稿を表示しています。 すべての投稿を表示
ラベル FPGA の投稿を表示しています。 すべての投稿を表示

2023年9月20日水曜日

ZYNQのPS設定(IPのカスタマイズ設定)を他プロジェクトへ移植する方法

zynqのPS設定コピー.md

ZYNQのPS設定(IPのカスタマイズ設定)を他プロジェクトへ移植する方法

ZYBOなどのメジャーなZYNQ基板を使用する場合はZYNQのPS設定はボードファイルを使用することで自動で設定される。しかし自作やマイナーなボードファイルが用意されていないZYNQ基板を使用する場合はPS設定を自身で行わなければならない。
新しいプロジェクトを作成するたび毎回手動でPS設定を行っていたが設定忘れやミスが多発したので別VivadoプロジェクトのIPのカスタマイズ設定をエクスポート・インポートする方法を検証した。

2023年1月17日火曜日

Kria KV260、KR260、K26 SOM情報まとめ

kv260_doc.md

Kria KV260、KR260、K26 SOM情報まとめ

2022年6月30日木曜日

PetaLinuxなしでZYBOでLinuxを構築・起動するまでの手順(Linux on zynq)

linux.md

PetaLinuxなしでZYBOでLinuxを構築・起動するまでの手順(Linux on zynq)

PetaLinuxをインストールしたり環境を整えるのが大変なので、PetaLinuxを使わずにLinux on zynqを実現した。
ブートローダーはu-boot-xlnx、カーネルはlinux-xlnxを使用して作成する。

2022年6月13日月曜日

ZYNQ Linuxでautofsを使う

ZYNQ Linux環境でNASを利用していたところ、マウントしたNASへ非アクセス時でもLANケーブルが抜ける・その他ネットワークトラブルが発生した後、そのトラブルが解消され復帰したのに、そのNAS内のファイルにアクセスしようとするとフリーズ?ハングアップ?してしまうような状態が発生した。
根本解決にはならないもののNASアクセス中以外はアンマウントするようにしておけばこのようなトラブルはグッと減るのではないかと考えautofsを利用することにした。

2022年5月24日火曜日

ZynqボードのイーサネットPHYをKSZ9031からKSZ9131へ置き換え

昨今の半導体不足とディスコン対策として、自作ロボット制御用Zynq7020ボードのイーサネットPHYとして使っているKSZ9031が後継のKSZ9131に置き換えられてしまった。
9031と9131はほぼピンコンパチ(14pinをNCにすればよいだけ)なため置き換えを検討している人も多いのではないかと思う。

2022年3月8日火曜日

ZYBO用Linux作成時のXilinx/linux-xlnxとu-boot-xlnxのzynq-zybo.dtsのクロックの罠

久々にZYBO用のLinuxイメージを作成しようとu-bootやカーネルの構築をしていた。
u-bootとカーネルが出来上がり、既に別基板で動作しているrootfsが構築されたSDカードに入れ、ZYBOのJ11(microBのUSB)をPCへつなげ、
TeraTermにてCOM接続でコンソールを表示させようとした。
なにか表示はされているものの文字化けしてしまっている。リセットスイッチを押して再起動をかけても同じように文字化けしてしまう。
文字が出るタイミングがブート時のそれっぽい感じなので起動自体はしていそうな感じだった。
TeraTermの設定を確認するも設定は問題なく、もちろんボーレートは115200bpsでデバイスツリーに記述されたボーレートと一致している。

2022年3月3日木曜日

Zynq Linuxの2つ目(サブ・増設)のEthernetのMACアドレスを設定する(1つ目と関連付けさせる)

現在使用しているZynq7020ボードにはなぜかLANポートが2つ(Zynq PSのEthernet0、1どっちも使っている。いわゆるNIC2枚挿し状態)あり、メインで使用するポート(eth0)はEEPROMに書き込まれた値をMACアドレスとして使用している。

2021年10月5日火曜日

Vivadoでinoutをsynthesisするときのコツ

所用でinoutのポートを持つHDL回路を作成してzyboに入れ込む必要があった。

2019年5月12日日曜日

SPI通信(マスター)回路をVerilogで記述

SPI通信のプロトコルを理解するためにVerilogでSPI通信のマスターを記述した。今回はテストベンチでシミュレーションまで行った。
SCLK周波数の切り替えやCPOL・CPHAモード変更、CSイネーブル後のSCLK動作開始までのタイミング変更、送受信データのビット数変更などに対応させ、多くのデバイスで対応できるようにした。


2019年2月6日水曜日

PetaLinux 2017.4のインストール

Windows内のVirtualBox上のUbuntu16.04にPetaLinux2017.4をインストールしました。
なぜ2017.4かというと、Vivadoのバージョンが2017.4だからです。必ずしもVivadoとPetaLinuxのバージョンを合わせる必要があるわけではないみたいですが、トラブルを防ぐために念のためバージョンを合わせておくことにしました。

Xilinxリファレンスガイド・FPGAの部屋さん・筑波大の准教授の方の授業用ページを参考にインストールしました。


2019年1月17日木曜日

QSPI・SDからZYBOを起動(FPGAをブート)する


今まではJTAG経由でZYBOに書き込みをしていたため、電源を落としたらもう一度PCと接続し書き込みをしなければなりませんでした。今回はZYBOの電源を落としても回路情報などが消えないように、SDカードやQSPIからブートしてみます。

2019年1月16日水曜日

ZYBO Z7-20 (zynq-7020)で自作IPを使ってLチカ

前回(ZYBO Z7-20 (zynq-7020)でPSからPL部のIPを制御してLチカ)はAXI GPIOというIPを追加してLチカさせました。
AXI GPIOはXilinxが用意したIPですが今回は自作のAXIバスを利用したIPを作成して、それを使ってLチカします。


まずは前回までを参考に新規でVivadoプロジェクトを作成してください。

2019年1月15日火曜日

ZYBO Z7-20 (zynq-7020)でPSからPL部のIPを制御してLチカ


前回はPLProgrammable Logic)部分のみを用いてLチカを行いました。
今回はPSProcessing System)部のCPUからPL部のIP(AXI GPIO)を制御してLチカさせてみようと思います。

2019年1月13日日曜日

ブロックデザイン機能を使ってZYBOのLEDを複数光らせる


前回はLEDが一つしか点滅しない回路でしたが、今回はブロックデザイン機能を使って前回の回路を複数用意して、複数のLEDを光らせてみようと思います。
ブロックデザイン機能を使うので今回はRTLの編集は一切行わずGUI(画面上)で線をつなげたり、回路を追加するだけで直感的に回路作成ができます。
通常同じ回路を複数つなげたい場合はラッパーを作ってインスタンスしてやらないといけないですが、ブロックデザインならそれをブロック図を見ながら作成できて配線も自動でやってくれてラッパーファイルも作ってくれるので大変便利です。(僕の知る限り)アルテラのQuartusにはそういった機能もなくQsysも使いにくかったので大変助かっています。



2019年1月9日水曜日

ZYBO Z7-20 (zynq-7020)でPL(FPGA部のみ)を使ってLチカ

前回(ZYBO Z7-20 (zynq-7020)に電源を入れて初期動作確認をする)はただ電源入れただけでほぼ何もやっていないので、Verilogで書いた回路をZYBOのFPGAに書き込んでLチカさせます。
SoC FPGAなのでPL(Programmable Logic)部≒FPGA部分とPS(Processing System)部≒ARMコア部がありますが、今回はPL部のみを設計して論理回路だけでLチカさせてみます。
チカチカさせるLEDはZYBO上に実装されたものをつかうので、準備するものはZYBOとUSBケーブルだけです。
ボードへの書き込みやコンパイル等は「Vivado」を使うのでインストールしておいてください。(容量・時間ともにかなりかかります)今回使うVivadoのバージョンは2017.4です。最新のもの(現在はたぶん2018.3)だと動作が安定しないことがあるらしいので、今のところ2017.4が比較的安定して使えるらしいです。

ZYBO Z7-20 (zynq-7020)に電源を入れて初期動作確認をする

先日大学時代の知り合いから格安でZYBO Z7-20 (zynq-7020)をGETしたので、とりあえず電源を入れてQSPIに最初から書き込まれているプログラムを実行させてみました。