!LattePandaにUbuntu 小さくて安いx86_64ボードで,Vivadoを動かしたかったので, 秋月でLattePandaを購入. Windows10がインストールされている. ちょっと動かしてみたけど, CPUがAtom x5-Z8350なのでそれなりな感じで動く. これはこれで便利そう. さて,今回はリモートでVivadoを使いたいので,さくっとLinuxに. インストール手順は公式通り. http://docs.lattepanda.com/content/1st_edition/os/ WebサイトによってはBiosの更新が必要,というような話もあったけど, 特にそういう手順は不要で, インストールイメージをUSBメモリに書き込んでLattePandaを起動, TUIに従ってポチポチすればよかった. インストール後に再起動すると, HDMIで接続しているディスプレイにはログインプロンプトは表示されない. 適当に,ユーザ名/パスワードである"admin"とリターンを繰り返し入力していたら ログインできるようになった. 無線LANも802.11gが使えて便利. ログインできたらapt update...したいのだけど,更新パッケージが取得できない. しかも,openssh-serverをaptでインストールしようとすると openssh-clientとバージョンの整合性がとれない,っておこられてしまう. というわけで,source.listのmirror.neu.edu.cnをarchive.ubuntu.comに変更. sudo apt -i.o 's|mirror.neu.edu.cn|archive.ubuntu.com|g' /etc/apt/sources.list で, apt update apt upgrade として,アップデート.結構時間がかかる. apt install opnessh-server とかする. XilinxからVivado 2019.1のLab Editionをダウンロード. あとUSB関係のライブラリを一通りインストールしておく. sudo apt install libusb-0.1-4 libusb-1.0-0-dev libusb-dev sudo apt install libftdi-dev libftdi1 libftdi1-2 libftdi1-dev さて,Vivado Lab Editionのインストーラを起動してみると,↓な感じ. KiB Mem : 1969456 total, 118796 free, 834596 used, 1016064 buff/cache ちょっと厳しいか...? で,なかなかインストーラ起動してこないなと思ったら, どうも別のディスプレイに表示されてたっぽい. というわけで,ディスプレイの設定を確認し,謎ディスプレイをオフにして, 再度Vivadd Lab Editionのインストーラを起動. インストールにかかる時間は5分くらい. /dev/mmcblk0p2 27G 9.9G 15G 40% / インストールおわった時点でのディスク容量はこのくらい. ところで,/etc/udev/rules.d/をみてみると,特になにのルールもなかったので, cd /tools/Xilinx/Vivado_Lab/2019.1 cd /data/xicom/cable_drivers/lin64/install_script/install_drivers sudo ./install_digilent.sh sudo ./setup_xilinx_ftdi とか. とりあえず,手元にあったPYNQ-Z1をつないでみると, admin@admin:~/Downloads$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0bda:8152 Realtek Semiconductor Corp. Bus 001 Device 008: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 007: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 006: ID 04fe:0006 PFU, Ltd Bus 001 Device 005: ID 04fe:0008 PFU, Ltd Bus 001 Device 004: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID) Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 009: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub admin@admin:~/Downloads$ と,認識され,Vivado Lab Edition上でもFPGAが認識された.よかった. Unixベンチでベンチマークとってみた結果 Benchmark Run: Wed Mar 25 2020 18:29:38 - 18:57:41 4 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 10392253.1 lps (10.0 s, 7 samples) Double-Precision Whetstone 1678.8 MWIPS (10.1 s, 7 samples) Execl Throughput 1948.2 lps (29.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 351565.6 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 102232.9 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 745494.0 KBps (30.0 s, 2 samples) Pipe Throughput 811485.3 lps (10.0 s, 7 samples) Pipe-based Context Switching 94689.1 lps (10.0 s, 7 samples) Process Creation 876.4 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 1987.0 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1044.0 lpm (60.0 s, 2 samples) System Call Overhead 1310463.0 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 10392253.1 890.5 Double-Precision Whetstone 55.0 1678.8 305.2 Execl Throughput 43.0 1948.2 453.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 351565.6 887.8 File Copy 256 bufsize 500 maxblocks 1655.0 102232.9 617.7 File Copy 4096 bufsize 8000 maxblocks 5800.0 745494.0 1285.3 Pipe Throughput 12440.0 811485.3 652.3 Pipe-based Context Switching 4000.0 94689.1 236.7 Process Creation 126.0 876.4 69.6 Shell Scripts (1 concurrent) 42.4 1987.0 468.6 Shell Scripts (8 concurrent) 6.0 1044.0 1740.0 System Call Overhead 15000.0 1310463.0 873.6 ======== System Benchmarks Index Score 543.5 ------------------------------------------------------------------------ Benchmark Run: Wed Mar 25 2020 18:57:41 - 19:25:47 4 CPUs in system; running 4 parallel copies of tests Dhrystone 2 using register variables 36353430.2 lps (10.0 s, 7 samples) Double-Precision Whetstone 5882.9 MWIPS (10.1 s, 7 samples) Execl Throughput 4625.7 lps (29.9 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 343619.8 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 96520.2 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 911779.8 KBps (30.0 s, 2 samples) Pipe Throughput 2846230.2 lps (10.0 s, 7 samples) Pipe-based Context Switching 349426.2 lps (10.0 s, 7 samples) Process Creation 9042.7 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 8797.0 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1225.1 lpm (60.1 s, 2 samples) System Call Overhead 3114193.4 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 36353430.2 3115.1 Double-Precision Whetstone 55.0 5882.9 1069.6 Execl Throughput 43.0 4625.7 1075.7 File Copy 1024 bufsize 2000 maxblocks 3960.0 343619.8 867.7 File Copy 256 bufsize 500 maxblocks 1655.0 96520.2 583.2 File Copy 4096 bufsize 8000 maxblocks 5800.0 911779.8 1572.0 Pipe Throughput 12440.0 2846230.2 2288.0 Pipe-based Context Switching 4000.0 349426.2 873.6 Process Creation 126.0 9042.7 717.7 Shell Scripts (1 concurrent) 42.4 8797.0 2074.8 Shell Scripts (8 concurrent) 6.0 1225.1 2041.8 System Call Overhead 15000.0 3114193.4 2076.1 ======== System Benchmarks Index Score 1347.9