网站建设设计 飞沐,两人做性视频网站,江门骏科网站建设,做gif有什么网站目录
1. 简介
2. VIO 配置
2.1 VIO IP
2.2 VIO 对比 ILA
3. VIO 示例
3.1 Led
3.1.1 工程配置
3.1.2 效果展示
3.2 Key
3.2.1 工程配置
3.2.1 效果展示
3.3 门控触发
3.3.1 工程配置
3.3.2 效果展示
4. 远程调试
4.1 配置目标主机
4.2 配置本机
4.3 vmWare 网…目录
1. 简介
2. VIO 配置
2.1 VIO IP
2.2 VIO 对比 ILA
3. VIO 示例
3.1 Led
3.1.1 工程配置
3.1.2 效果展示
3.2 Key
3.2.1 工程配置
3.2.1 效果展示
3.3 门控触发
3.3.1 工程配置
3.3.2 效果展示
4. 远程调试
4.1 配置目标主机
4.2 配置本机
4.3 vmWare 网线直连
5. 远程综合实现
5.1 设置 SSH 密钥代理转发
5.2 设置 dash
5.3 测试连通
5.4 统一文件
5.4.1 本地机 NFS 共享
5.4.2 远程机 NFS 客户端
5.5 执行远程编译
5.5.1 设置环境变量
5.5.2 选择 remote hosts
6. X11-forwarding 转发
7. 附
7.1 启用共享导致 DUP 1. 简介
分享 Vivado 远程开发的一些实用干货
远程 JTAG Debug远程综合实现Run on remote hostsvmWare 网络配置NFS 文件共享X11-forwarding
附带介绍 VIO 核使用经验Vivado 中的 ILA不必多说但凡需要抓取信号都要用到。相比于 ILA 善于捕获波形而 VIO 则专注于静态信号的注入和输出。在没有不引入物理按键和 LED 灯的板卡中非常好用。
本文分享三个案例解释实际 VIO 常用到的几个场景时钟门控信息、Key、Led
测试板卡Alinx XCKU5P 2. VIO 配置
2.1 VIO IP 每个 Probe_IN 或者 Probe_OUT 均可支持多比特。 2.2 VIO 对比 ILA
1VIOVirtual Input/Output
主要特点
动态控制允许用户在FPGA运行时动态修改信号的值。监视功能可以实时监控信号的状态帮助分析和调试。灵活性适用于测试不同的设计方案而无需物理改动硬件。
2ILAIntegrated Logic Analyzer
主要特点
信号捕获可以配置触发条件当这些条件满足时捕获信号数据。时序分析帮助检测和分析信号之间的时序问题。深度分析可以查看信号的历史数据帮助理解复杂的逻辑问题。 3. VIO 示例
3.1 Led
3.1.1 工程配置
通过 VIO 指示状态。 led_blink 模块
模块接收一个时钟信号 clk 并控制一个 LED 灯的状态亮或灭。
module led_blink(input clk,output reg led);parameter High_Time 100_000_000 - 1;reg [31:0] counter 0;always (posedge clk) beginif (counter High_Time) begincounter counter 1;endelse begincounter 0;led ~led;end
endendmodule XDC 约束
set_property PACKAGE_PIN K22 [get_ports {CLK_IN_D_0_clk_p[0]}]
set_property IOSTANDARD DIFF_SSTL12 [get_ports {CLK_IN_D_0_clk_p[0]}] 3.1.2 效果展示
可以看到 LED 按照指定频率闪烁。 3.2 Key
3.2.1 工程配置
通过 VIO 触发 ILA。 3.2.1 效果展示 其中按键可以配置成多种模式
文本高电平有效的 Button按下为高松开为低低电平有效的 Button按下为低松开为高翻转 Button按下则翻转高低电平 3.3 门控触发
3.3.1 工程配置
通过 VIO 控制时钟的输出。 3.3.2 效果展示 4. 远程调试 4.1 配置目标主机
1确保连通信
通过 ping 能否发现目标主机。
在目标主机上启动 hw_server。我的目标主机 IP 地址为192.168.101.220。
# 目录 /opt/Xilinx/Vivado/2022.1/bin
# 运行如下程序./hw_server
2出现如下信息表示启动服务成功
****** Xilinx hw_server v2022.1**** Build date : Apr 18 2022 at 16:10:30** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.INFO: hw_server application started
INFO: Use Ctrl-C to exit hw_server applicationINFO: To connect to this hw_server instance use url: TCP:ubuntu:3121
4.2 配置本机
1在本机 Vivado 中选件打开新的目标Open New Target。 2输入目标主机的 IP端口保持默认。 3启动后成功发现目标主机。 4可进行正常程序下载和调试 4.3 vmWare 网线直连 1打开 vmWave 中的网络编辑器
打开菜单栏 - 编辑(E) - 虚拟网络编辑器(N)
2配置虚拟网络
如果电脑包含多个网卡需要选择对应网卡和 FPGA 相连的主机。 此步骤会生成对应的虚拟网络适配器。
上图三个配置中由于桥接模式会直接连接到相关网络硬件不会生成虚拟网络适配器另外两个配置均会生成对应的虚拟网络适配器。如下图 三者区别
VMnet0桥接模式虚拟机相当于一台实体机可以与外网互相 ping 通。VMnet1仅主机模式虚拟机之间、主机与虚拟机之间互访但虚拟机无法访问外网。VMnet8NAT 模式虚拟机之间、主机与虚拟机之间互访虚拟机可以通过主机的 VMnet8 访问外网外网无法ping通虚拟机。
3应用虚拟网络
在虚拟机实体中选择某一个虚拟网络适配器下面这个配置选择了 VMnet0即桥接模式。 5. 远程综合实现
5.1 设置 SSH 密钥代理转发
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub | ssh fo192.168.137.3 cat - ~/.ssh/authorized_keys
ssh-add
1ssh-keygen
生成 SSH 密钥对-t rsa 指定密钥类型为 RSA运行此命令后系统通常会询问你保存密钥的位置保持默认~/.ssh/id_rsa以及输入一个密码可选来保护私钥。
生成两个文件一个私钥文件默认为 id_rsa和一个公钥文件默认为 id_rsa.pub。私钥不应该泄露给任何人而公钥可以安全地分享。
2cat
这条命令用于将你的公钥添加到远端服务器的 authorized_keys 文件中这是 SSH 服务器用来验证登录请求的公钥列表。设置后当你使用 SSH 尝试从本地机器登录到远程服务器时服务器可以通过比对 authorized_keys 中的公钥来验证你的身份从而允许无密码登录。
3ssh-add
ssh-add 命令用于将私钥添加到 SSH 代理中。
4测试
ssh fo192.168.137.3
可以直接建立连接而无需密码则成功。 5.2 设置 dash
1查看当前 sh 设置
ll /bin/sh
---
lrwxrwxrwx 1 root root 4 7月 30 19:35 /bin/sh - dash* 2重新配置 dash
sudo dpkg-reconfigure dash 否希望将 dash 作为 /bin/sh 的默认选项
是系统会将 /bin/sh 的链接指向 dash。否则 sh 将继续链接到 bash 或其他当前设置的 shell。
注意远程、本地都需要运行一遍。 5.3 测试连通 或者在 TCL console 中执行
exec ssh -q -o BatchModeyes fo192.168.137.3 who
---
fo pts/0 2024-12-17 11:18 (192.168.137.1)
fo :0 2024-12-17 10:59 (:0) 即表示连接成功。 5.4 统一文件
5.4.1 本地机 NFS 共享
1在本地主机安装 NFS 服务器
sudo apt update
sudo apt install nfs-kernel-server
2创建共享目录
sudo mkdir /nfsroot
sudo chown nobody:nogroup /nfsroot
sudo chmod 777 /nfsroot
3配置NFS导出文件编辑/etc/exports文件添加共享目录及其权限
sudo nano /etc/exports
在文件中添加以下行
/nfsroot *(rw,sync,no_subtree_check,no_root_squash)
4使配置生效重启 NFS 服务器
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
5验证 NFS 服务器
在本地机器上运行 showmount -e
---
Export list for ubuntu:
/nfsroot *在远程机上运行 showmount -e 192.168.137.2
---
Export list for 192.168.137.2:
/nfsroot *
均表示 NFS 服务器生效。 5.4.2 远程机 NFS 客户端
1安装 NFS 客户端
sudo apt update
sudo apt install nfs-common 2查看 NFS 服务器上的共享目录 showmount -e 192.168.137.2
---
Export list for 192.168.137.2:
/nfsroot *
3 挂载NFS共享目录
创建一个本地目录作为挂载点然后挂载NFS共享目录。
sudo mkdir /nfsroot
sudo chmod 777 /nfsroot
sudo mount -t nfs 192.168.137.2:/nfsroot /nfsroot
4查看挂载的目录
挂载成功后可以在远程机上使用 ls 命令查看挂载目录的内容 ll /nfsroot/
---
total 60
drwxrwxrwx 4 nobody nogroup 4096 12月 17 14:29 ./
drwxr-xr-x 21 root root 4096 12月 17 15:17 ../
-rw-rw-r-- 1 fl fl 1896 12月 17 14:56 vivado.jou
-rw-rw-r-- 1 fl fl 10063 12月 17 14:56 vivado.log
-rw-rw-r-- 1 fl fl 21961 12月 17 14:56 vivado_pid12961.str
drwxrwxr-x 3 fl fl 4096 12月 17 14:28 v_tt/
drwxrwxr-x 3 fl fl 4096 12月 17 14:29 .Xil/5卸载NFS共享目录 如果需要卸载 NFS 共享目录可以使用以下命令
sudo umount /nfsroot 5.5 执行远程编译
5.5.1 设置环境变量
在远程主机的 bashrc 中添加环境变量
export XILINX_VIVADO/opt/Xilinx/Vivado/2022.1
export PATH$PATH:$XILINX_VIVADO/bin 5.5.2 选择 remote hosts 6. X11-forwarding 转发
最直接最方便。
如果网络延迟低通过 X11-forwarding 可以更为方便使用远程主机。 在 MobaXTerm 中 SSH 执行命令 vivado
---****** Vivado v2022.1 (64-bit)**** SW Build 3526262 on Mon Apr 18 15:47:01 MDT 2022**** IP Build 3524634 on Mon Apr 18 20:55:01 MDT 2022** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.start_gui可以直接在本地打开远程主机的 Vivado IDE 图形界面 7. 附
7.1 启用共享导致 DUP ping -c 3 192.168.101.220
---
PING 192.168.101.220 (192.168.101.220) 56(84) bytes of data.
From 192.168.101.225 icmp_seq1 Redirect Network(New nexthop: 220.101.168.192)
64 bytes from 192.168.101.220: icmp_seq1 ttl64 time0.986 ms
64 bytes from 192.168.101.220: icmp_seq1 ttl64 time0.986 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq1 ttl63 time1.56 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq1 ttl63 time1.56 ms (DUP!)
From 192.168.101.225 icmp_seq2 Redirect Network(New nexthop: 220.101.168.192)
64 bytes from 192.168.101.220: icmp_seq2 ttl64 time1.42 ms
64 bytes from 192.168.101.220: icmp_seq2 ttl64 time1.42 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq2 ttl63 time1.42 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq2 ttl63 time1.42 ms (DUP!)
From 192.168.101.225 icmp_seq3 Redirect Network(New nexthop: 220.101.168.192)
64 bytes from 192.168.101.220: icmp_seq3 ttl64 time0.993 ms
64 bytes from 192.168.101.220: icmp_seq3 ttl64 time0.993 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq3 ttl63 time0.993 ms (DUP!)
64 bytes from 192.168.101.220: icmp_seq3 ttl63 time0.993 ms (DUP!)--- 192.168.101.220 ping statistics ---
3 packets transmitted, 3 received, 9 duplicates, 3 errors, 0% packet loss, time 2007ms
rtt min/avg/max/mdev 0.986/1.228/1.561/0.242 ms
取消共享设置 DUP 消失 ping -c 3 192.168.101.220
---
PING 192.168.101.220 (192.168.101.220) 56(84) bytes of data.
64 bytes from 192.168.101.220: icmp_seq1 ttl64 time0.784 ms
64 bytes from 192.168.101.220: icmp_seq2 ttl64 time1.39 ms
64 bytes from 192.168.101.220: icmp_seq3 ttl64 time1.10 ms--- 192.168.101.220 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2011ms
rtt min/avg/max/mdev 0.784/1.090/1.392/0.248 msVivado的加速之路Launch runs on Remote hosts-在下天锦