Vivado

Visitのhello worldを動かしてみました(on Zybo)

Visitをインストールし、次にZyboでVisitのHello worldを動かしたので、備忘録として記載します。 参考元 Vitis + Vivado + zynq = 楽しい - Qiita Zybo Z7でしたが、Vitisで書き込むまでの手順が明記されていました。 ZYBO (Zynq) 初心者ガイド (2) Hello W…

Xilinx Vitisをインストールしました

先日、Zynq内にはFPGA部分にもARMのプロセッサが乗っていることを思い出しました笑 データシートを読んでみると、ZynqはARMだけではなく、Synopsys, Cadence, Arasanと著名なIPベンダのIPで構成されていることがわかりました。 こんなおもしろチップなのに、…

Chiselで分周クロックを作って、RISCVの合成をTiming Metさせました!

先日、Vivadoで合成したら、タイミングMetしませんでした。 そのため、何らかの対策をすることが必要になりました。 それは、パイプライン設計とマルチクロックです。 thira2.hatenablog.com パイプラインは中々に手間なので、マルチクロックにしようと思い…

chiselで適当に書いたRISCVをVivadoで合成したら、Timing割れしまくって困っている話

先日、RISCVを作ったので試しにFPGAで合成してみることにしました。 LUTが5000くらいでFFが1200くらいとなかなかに小型であることはわかりました。 問題はここからで、タイミングがまったくMetしていません。 125MHzで8ns周期なのに、WNSが-5.5nsと惜しくも…

Vivadoの制約ファイル(xdc)について

最近、Vivadoを触るようになってきたので備忘のために、制約をまとめていきます。 まずは最も簡単なPIN設定、クロック制約の記載例です。 とりあえず、簡単なデザインであればこれだけあればひとまず動きます笑 今回クロックは125MHzと高速に思えるのですが…

Vivadoを使ってChiselで作ったシリアル受信器をFPGA上で動作確認しました

先日、Uart受信器を作ったので、試しにFPGAで動かしてみることにしました。 FPGAは、大昔に購入しずっと眠っていてホコリをかぶっていた、Digilent Zybo Zynq-7000を使ってみることにしました。 以下ボードなんですが、数万ゲートは対応できそうなので、RISC…

WindowsにVivado19.2を入れて、UVMを動かしてみた

先日、vivado 19.2が出たということで調べてみと、なんとSimulatorがUVM1.2対応してました。 そうとなれば、Vivadoを使わないといけないので、 備忘録として、Vivadoのインストールから、UVM simulationするまでの手順を以下にまとめます。 OS: Windows 10 P…

DockerでVivadoを動かそうとして失敗した話

先日、Mac OS XからVivadoを使いたいと思いました。 以前Viratual boxで同じように立ち上げたことあったんですが、今回は試しにDockerを使ってみることにしました。 忘備録として記載します。 はじめにDocker for MacをDownloadしてインストール します。 参…