fpga 运行linux,如何使用PCIe总线将FPGA板连接到运行Linux的X86主机

article/2025/3/10 21:26:02

步骤1:零件清单

c7c013d331b27fbc635ce53db41fea70.png

0。运行Ubuntu

1的构建/主机计算机。 Xilinx VC707或KC705板

2。 FPGA板电源线

3。 USB转Micro-USB电缆

4。 8线PCIE带状电缆(可选)

步骤2:将板卡连接到主机

0b9509bf6f3c65facfc419f9133c5265.png

如果外形尺寸如果允许,将板卡直接插入主机板主板上的开放PCIE插槽中。在这些说明中,我们使用的是1u机架式服务器,需要使用PCIe带状电缆。

步骤3:连接编程电缆

4e7c0d29003646c28ccb79242d104dde.png

将电缆的MICRO USB端连接到Digilent USB JTAG表面安装的编程模块,另一端连接到主机上的空闲USB端口

步骤4:连接电源线

8be84691a7db049e586b06f15f96142b.png

将电源线连接到板上,并将另一端插入墙上的插座。

步骤5:安装Vivado

如果要使用Connectal Build服务,请跳过此步骤。

p》

Connectal当前支持版本2014.1

步骤6:安装Bluespec

如果您正在使用Connectal Build Service,请跳过此步骤。

在某些计算机上,基础的Haskell运行时需要特定版本的libgmp。这种依赖性似乎是人为的,可以使用以下命令轻松伪造:

sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3 /usr/lib/x86_64-linux-gnu/libgmp.so.3

步骤7:安装Connectal

即使您在使用Connectal Build Service时,必须安装软件包才能对设备进行编程并执行设计。以下命令将添加连接存储库并下载/安装软件包:

sudo apt-add-repository -y ppa:jamey-hicks/connectal

sudo apt-get update

sudo apt-get install connectal

您将需要重新引导计算机(对于udev)。如果未自动加载portalmem驱动程序,请使用modprobe

sudo modprobe portalmem

加载它。安装脚本会将Connectal源代码写入/usr/share/connectal。

第8步:编译并运行设计

如果您使用的是Connectal Build Service,请按照此处的示例进行构建(请确保使用https://github.com/connectal-examples/simple.git并选择正确的构建目标)。否则,请继续执行此步骤以在本地下载并编译设计。

检出一个示例项目,然后为已安装的板(kc705)编译构建该项目。

git clone https://github.com/connectal-examples/simple.git

cd simple

make CONNECTALDIR=/usr/share/connectal IPDIR=~/connectalip build.kc705

最后,运行示例:

make CONNECTALDIR=/usr/share/connectal IPDIR=~/connectalip run.kc705

如果这是您在安装主板后的首次尝试,则运行命令将失败,并显示以下错误(或类似错误):

Failed to open /dev/portal1 fd=-1 errno=2

如果是这种情况,请重新引导主机再次运行计算机(用于检测BIOS PCIe)并重新调用运行命令:

mdk@xg06:~/sandbox/simple$ make CONNECTALDIR=/usr/share/connectal IPDIR=~/connectalip run.kc705

make -C kc705 BOARD=kc705 --no-print-directory run

/usr/share/connectal/scripts/run.pcietest bin/mk*.bin.gz bin/ubuntu.exe

+ set -e

+ dirname /usr/share/connectal/scripts/run.pcietest

+ cd /usr/share/connectal/scripts

+ pwd

+ export SCRIPT_DIR=/usr/share/connectal/scripts

+ echo run.pcie parameters are: bin/mkTop.bin.gz bin/ubuntu.exe

run.pcie parameters are: bin/mkTop.bin.gz bin/ubuntu.exe

+ SSHPARAM= -o StrictHostKeyChecking=no

+ [ != ]

+ BOARD_SERIAL=

+ [ != ]

+ TIMELIMIT=3m

+ [ != ]

+ [ != 1 ]

+ fpgajtag bin/mkTop.bin.gz

fpgajtag: Digilent:Digilent Adept USB Device:210203339470; bcd:700

fpgajtag: unzip input file, len 731639

fpgajtag: bypass already programmed bc

fpgajtag: bypass already programmed bc

fpgajtag: bypass already programmed bc

STATUS 00401079 done 0 release_done 0 eos 10 startup_state 0

fpgajtag: Starting to send file

fpgajtag: Done sending file

STATUS 00401079 done 0 release_done 0 eos 10 startup_state 0


http://chatgpt.dhexx.cn/article/eYUVN4jP.shtml

相关文章

FPGA 定点数

​ 定点数就是小数位宽不发生改变的数,小数点位置固定。 定点数位宽构成:{符号位,整数位,小数位} 当定点数为有符号数,数据的最高位为符号位,整数位和小数位需要根据精度去定义位宽。 假如一个定点数位…

黑金核心板32bitDDR3 MIG核UI接口仿真模型搭建

图2-4-1为黑金开发板上两片DDR3原理图。 1. 搭建仿真模型时需要例化两个ddr3_model,不然仿真时init_calib_complete信号会一直低。 2.还要考虑信号的延时,需要例化WireDelay模块,如Xilinx官方中给的例程中所示,不然app_rd_data数据一直是红…

基于FPGA的UDP 通信(五)

引言 前文链接: 基于FPGA的UDP 通信(一) 基于FPGA的UDP 通信(二) 基于FPGA的UDP 通信(三) 基于FPGA的UDP 通信(四) 本文基于FPGA设计千兆以太网通信模块UDP数据发送…

Verilog:【8】基于FPGA实现SD NAND FLASH的SPI协议读写

碎碎念: 终于熬过了期末周,可以开始快乐的开发之旅了。 这一期作为一千粉后的首篇博客,由于之后项目会涉及到相关的部分,因此介绍的是使用FPGA实现SD NAND FLASH的读写操作,以雷龙发展提供的CS创世SD NAND FLASH样品为…

【FPGA算法加速】运行PYNQ,对应FPGA芯片版本:赛灵思黑金AX7020

黑金AX7020开放板实物图: 这里的右下角需要连接本地的路由器,图中并未连上,PC端与FPGA在同一路由的网下,到时候PC端可以在线访问FPGA的资源。 一、连接FPGA硬件设备 1、 SD卡插回开发板,确认开发板启动模式为 SD卡模…

黑金Xilinx FPGA学习笔记(一)verilogHDL扫盲文-(1)

verilog简介 HDL 顾名思义Hardware Description Languag verilog HDL 语言的语法和格式都比较随便,它没有 VDL HDL 语言那么严谨,因此受到了广泛的应用。 0.3RTL级和组合逻辑级 笔者的眼中 Verilog HDL 语言建立的硬件模块可以 分为有时钟源和无时钟…

基于FPGA的示波器设计

目录 一、设计要求 二、系统架构设计 一、设计要求 本次基于FPGA的示波器设计主要技术要求包含以下内容: 系统能够实现模数转换功能,即包含ADC驱动模块;系统能够实现ADC采集数据的缓存功能;系统包含辅助测试模块,DA…

FPGA实现 贪吃蛇

一. 硬件 黑金AX4010AN430显示屏(480*272)蓝牙模块安卓手机 采用app通过蓝牙模块来操作蛇的移动情况 二. 数据的存储 reg[18:0] Snake[0:7]; //蛇 18:10 x 9:1 y 0 :flag 是否是蛇身 reg[17:0] Food; // 食物三. 蛇的移动的方向 通过上下左右来…

黑金全部开发板资料(FPGA+ZYNQ)分享

黑金开发板 能找到的所有黑金开发板的资料,足够学习使用。 ALTERA CYCLONE 10 黑金开发板ZYNQ7020_2019 黑金zynq7015_2017 黑金zynq7010_2017 …

FPAG—UART串口实现与解析-黑金fpga资料解析

UART实现-黑金fpga开发板案例解析 uart 异步串口通讯 无需时钟线,俩根线一跟复制发数据一根负责收数据。 具体的时序如下图1: 图1:UART时序图 可以看到 当数据线由高位变为地位时,即遇到一个下降沿时刻,表示开始这一…

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十四:SD卡模块

驱动SD卡是件容易让人抓狂的事情,驱动SD卡好比SDRAM执行页读写,SD卡虽然不及SDRAM的麻烦要求(时序参数),但是驱动过程却有猥琐操作。除此此外,描述语言只要稍微比较一下C语言,描述语言一定会泪流满面,因为嵌套循环,嵌套判断,或者嵌套函数等都是它的痛。. 史莱姆模块是…

黑金AX7Z100 FPGA开发板移植LWIP库(二)PL端

前言 上一篇博文中实验了PS端移植LwIP库的演示程序。本篇接下来基于Vivado17.4整理比较详细的PL端移植过程。 一、Vivado 工程建立 1、新建一个空工程,名称为net_lwip_pl。 2、FPGA芯片选择xc7z100ffg900-2。 二、配置PS&PL系统硬件 1、工程建好以后&…

【FPGA从0开始系列】黑金EP4CE10F17C8开发板按键实验(二)

项目目录 1.实验目的2.准备阶段3.实验原理4.编写Verilog HDL程序5.配置引脚6.查看和分析RTL7.下载程序8.总结 1.实验目的 查阅AX4010黑金系列用户手册,编写按键程序,实验简单的按键控制LED的功能,同时学习 Quartus RTL Viewer 的使用 2.准备…

汉诺塔(C语言实现)

目录 汉诺塔的游戏规则: 当A只有一个环的时候: 当A只有两个环的时候: 当A只有三个环的时候: 思路: 当n1时: 当n2时: 当n3时: 当n4时: 见代码 运行截图 汉诺塔的游戏…

【C语言】汉诺塔问题

汉诺塔是一个非常经典的问题,其背后是一个传说故事: 在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的6…

汉诺塔C语言步骤解析

汉诺塔问题在C语言中一般采用递归法来写,假设有A、B、C三根棒,A棒放着若干个圆盘,将其移动到C棒上,中途可在B棒中暂时放置圆盘。 分析: (1) 如果只有一个圆盘,则把该圆盘从A棒移动到C棒 (2) 如果圆盘数量…

汉诺塔递归的c语言实现(递归)

对于递归来讲, 汉诺塔实际是经典到不能再经典的例子了, 每个数据结构的教材对会提到. 但是到最后只给出一段类似下面的一段代码: #include<stdio.h>void move(int n,char a,char b,char c) {if(n1)printf("\t%c->%c\n",a,c); //当n只有1个的时候直接从…

C语言编程实现汉诺塔问题

C语言编程实现汉诺塔问题 1.首先解释一下&#xff0c;汉诺塔问题&#xff1a;古代梵塔内有A、B、C3个座&#xff0c;开始时A座上面有64个盘子&#xff0c;盘子大小不等&#xff0c;大的在下&#xff0c;小的在上。一个老和尚想把64个盘子从A移到C&#xff0c;规定移动过程中3个…

汉诺塔C语言实现(纯代码)

a、b、c三座塔&#xff0c;将n个从小到大&#xff08;自上而下&#xff09;的圆盘从a移动到c&#xff0c;移动期间小圆盘必须在大圆盘上面&#xff0c;问移动步骤。 #include<stdio.h>int main() {void hanoi(int n,char one,char two,char three);int m;printf("…

【汉诺塔】C语言递归解法,深层次地带你理解汉诺塔公式

目录 汉诺塔公式 汉诺塔问题在数学层面的公式&#xff1a; C语言递归公式 两层汉诺塔 三层汉诺塔 递归问题可谓是学习C语言以来的第一个拦路虎&#xff0c;而汉诺塔问题更是递归中对新手很不友好的一道经典题&#xff0c;我们接下来从公式角度和更深层的图解角度来让你理解…