步骤1:零件清单
0。运行Ubuntu
1的构建/主机计算机。 Xilinx VC707或KC705板
3。 USB转Micro-USB电缆
4。 8线PCIE带状电缆(可选)
步骤2:将板卡连接到主机
如果外形尺寸如果允许,将板卡直接插入主机板主板上的开放PCIE插槽中。在这些说明中,我们使用的是1u机架式服务器,需要使用PCIe带状电缆。
步骤3:连接编程电缆
将电缆的MICRO USB端连接到Digilent USB JTAG表面安装的编程模块,另一端连接到主机上的空闲USB端口
步骤4:连接电源线
将电源线连接到板上,并将另一端插入墙上的插座。
步骤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
Running /usr/bin/pciescan.sh
+ PATH=/scratch/Xilinx/Vivado/2014.1/bin:/scratch/bluespec/Bluespec-2014.05.beta1/bin:/scratch/arm-2009q1/bin:/home/mdk/bin:/scratch/android-ndk-r9d:/scratch/jdk1.6.0_45/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin
++ lspci -d 1be7:c100
++ sed -e ‘s/ .*//’
+ BLUEDEVICE=03:00.0
+ ‘[’ 03:00.0 ‘!=’ ‘’ ‘]’
+ sh -c ‘echo 1 》/sys/bus/pci/devices/0000:03:00.0/remove’
+ rmmod pcieportal
+ sh -c ‘echo 1 》/sys/bus/pci/rescan’
+ sleep 1
+ timeout 3m catchsegv bin/ubuntu.exe
Portal::registerInstance fpga1 fd 3 clients 0
portalExec::about to enter loop, numFds=1
Main::calling say1(42)
Main::calling say2(2, 4)
Main::calling say3(S1{a:3,b:6})
Main::calling say4(S2{a:7,b:8,c:9})
Main::calling say5(00000000, deadbeeffecafeca, 00000001)
Main::calling say6(bbbbbbbb, 000000effecafeca, cccccccc)
Main::calling say7(dadadada, 00000001)
Main::calling say8
say1(42)
say2(2 4)
say3(S1{a:3,b:6})
say4(S2{a:7,b:8,c:9})
Main::about to go to sleep
say5(00000000, deadbeeffecafeca, 00000001)
say6(bbbbbbbb, 000000effecafeca, cccccccc)
say7(dadadada, 00000001)
say8
[0] = 0x0
[1] = 0xffffffe0
[2] = 0xffffffc0
[3] = 0xffffffa0
[4] = 0xffffff80
[5] = 0xffffff60
[6] = 0xffffff40
[7] = 0xffffff20
[8] = 0xffffff00
[9] = 0xfffffee0
[10] = 0xfffffec0
[11] = 0xfffffea0
[12] = 0xfffffe80
[13] = 0xfffffe60
[14] = 0xfffffe40
[15] = 0xfffffe20
[16] = 0xfffffe00
[17] = 0xfffffde0
[18] = 0xfffffdc0
[19] = 0xfffffda0
[20] = 0xfffffd80
[21] = 0xfffffd60
[22] = 0xfffffd40
[23] = 0xfffffd20
[24] = 0xfffffd00
[25] = 0xfffffce0
[26] = 0xfffffcc0
[27] = 0xfffffca0
[28] = 0xfffffc80
[29] = 0xfffffc60
[30] = 0xfffffc40
[31] = 0xfffffc20
[32] = 0xfffffc00
[33] = 0xfffffbe0
[34] = 0xfffffbc0
[35] = 0xfffffba0
[36] = 0xfffffb80
[37] = 0xfffffb60
[38] = 0xfffffb40
[39] = 0xfffffb20
[40] = 0xfffffb00
[41] = 0xfffffae0
[42] = 0xfffffac0
[43] = 0xfffffaa0
[44] = 0xfffffa80
[45] = 0xfffffa60
[46] = 0xfffffa40
[47] = 0xfffffa20
[48] = 0xfffffa00
[49] = 0xfffff9e0
[50] = 0xfffff9c0
[51] = 0xfffff9a0
[52] = 0xfffff980
[53] = 0xfffff960
[54] = 0xfffff940
[55] = 0xfffff920
[56] = 0xfffff900
[57] = 0xfffff8e0
[58] = 0xfffff8c0
[59] = 0xfffff8a0
[60] = 0xfffff880
[61] = 0xfffff860
[62] = 0xfffff840
[63] = 0xfffff820
[64] = 0xfffff800
[65] = 0xfffff7e0
[66] = 0xfffff7c0
[67] = 0xfffff7a0
[68] = 0xfffff780
[69] = 0xfffff760
[70] = 0xfffff740
[71] = 0xfffff720
[72] = 0xfffff700
[73] = 0xfffff6e0
[74] = 0xfffff6c0
[75] = 0xfffff6a0
[76] = 0xfffff680
[77] = 0xfffff660
[78] = 0xfffff640
[79] = 0xfffff620
[80] = 0xfffff600
[81] = 0xfffff5e0
[82] = 0xfffff5c0
[83] = 0xfffff5a0
[84] = 0xfffff580
[85] = 0xfffff560
[86] = 0xfffff540
[87] = 0xfffff520
[88] = 0xfffff500
[89] = 0xfffff4e0
[90] = 0xfffff4c0
[91] = 0xfffff4a0
[92] = 0xfffff480
[93] = 0xfffff460
[94] = 0xfffff440
[95] = 0xfffff420
[96] = 0xfffff400
[97] = 0xfffff3e0
[98] = 0xfffff3c0
[99] = 0xfffff3a0
[100] = 0xfffff380
[101] = 0xfffff360
[102] = 0xfffff340
[103] = 0xfffff320
[104] = 0xfffff300
[105] = 0xfffff2e0
[106] = 0xfffff2c0
[107] = 0xfffff2a0
[108] = 0xfffff280
[109] = 0xfffff260
[110] = 0xfffff240
[111] = 0xfffff220
[112] = 0xfffff200
[113] = 0xfffff1e0
[114] = 0xfffff1c0
[115] = 0xfffff1a0
[116] = 0xfffff180
[117] = 0xfffff160
[118] = 0xfffff140
[119] = 0xfffff120
[120] = 0xfffff100
[121] = 0xfffff0e0
[122] = 0xfffff0c0
[123] = 0xfffff0a0
[124] = 0xfffff080
[125] = 0xfffff060
[126] = 0xfffff040
[127] = 0xfffff020
+ [ != ]
+ pcieflat
mdk@xg06:~/sandbox/simple
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
Running /usr/bin/pciescan.sh
+ PATH=/scratch/Xilinx/Vivado/2014.1/bin:/scratch/bluespec/Bluespec-2014.05.beta1/bin:/scratch/arm-2009q1/bin:/home/mdk/bin:/scratch/android-ndk-r9d:/scratch/jdk1.6.0_45/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin
++ lspci -d 1be7:c100
++ sed -e ‘s/ .*//’
+ BLUEDEVICE=03:00.0
+ ‘[’ 03:00.0 ‘!=’ ‘’ ‘]’
+ sh -c ‘echo 1 》/sys/bus/pci/devices/0000:03:00.0/remove’
+ rmmod pcieportal
+ sh -c ‘echo 1 》/sys/bus/pci/rescan’
+ sleep 1
+ timeout 3m catchsegv bin/ubuntu.exe
Portal::registerInstance fpga1 fd 3 clients 0
portalExec::about to enter loop, numFds=1
Main::calling say1(42)
Main::calling say2(2, 4)
Main::calling say3(S1{a:3,b:6})
Main::calling say4(S2{a:7,b:8,c:9})
Main::calling say5(00000000, deadbeeffecafeca, 00000001)
Main::calling say6(bbbbbbbb, 000000effecafeca, cccccccc)
Main::calling say7(dadadada, 00000001)
Main::calling say8
say1(42)
say2(2 4)
say3(S1{a:3,b:6})
say4(S2{a:7,b:8,c:9})
Main::about to go to sleep
say5(00000000, deadbeeffecafeca, 00000001)
say6(bbbbbbbb, 000000effecafeca, cccccccc)
say7(dadadada, 00000001)
say8
[0] = 0x0
[1] = 0xffffffe0
[2] = 0xffffffc0
[3] = 0xffffffa0
[4] = 0xffffff80
[5] = 0xffffff60
[6] = 0xffffff40
[7] = 0xffffff20
[8] = 0xffffff00
[9] = 0xfffffee0
[10] = 0xfffffec0
[11] = 0xfffffea0
[12] = 0xfffffe80
[13] = 0xfffffe60
[14] = 0xfffffe40
[15] = 0xfffffe20
[16] = 0xfffffe00
[17] = 0xfffffde0
[18] = 0xfffffdc0
[19] = 0xfffffda0
[20] = 0xfffffd80
[21] = 0xfffffd60
[22] = 0xfffffd40
[23] = 0xfffffd20
[24] = 0xfffffd00
[25] = 0xfffffce0
[26] = 0xfffffcc0
[27] = 0xfffffca0
[28] = 0xfffffc80
[29] = 0xfffffc60
[30] = 0xfffffc40
[31] = 0xfffffc20
[32] = 0xfffffc00
[33] = 0xfffffbe0
[34] = 0xfffffbc0
[35] = 0xfffffba0
[36] = 0xfffffb80
[37] = 0xfffffb60
[38] = 0xfffffb40
[39] = 0xfffffb20
[40] = 0xfffffb00
[41] = 0xfffffae0
[42] = 0xfffffac0
[43] = 0xfffffaa0
[44] = 0xfffffa80
[45] = 0xfffffa60
[46] = 0xfffffa40
[47] = 0xfffffa20
[48] = 0xfffffa00
[49] = 0xfffff9e0
[50] = 0xfffff9c0
[51] = 0xfffff9a0
[52] = 0xfffff980
[53] = 0xfffff960
[54] = 0xfffff940
[55] = 0xfffff920
[56] = 0xfffff900
[57] = 0xfffff8e0
[58] = 0xfffff8c0
[59] = 0xfffff8a0
[60] = 0xfffff880
[61] = 0xfffff860
[62] = 0xfffff840
[63] = 0xfffff820
[64] = 0xfffff800
[65] = 0xfffff7e0
[66] = 0xfffff7c0
[67] = 0xfffff7a0
[68] = 0xfffff780
[69] = 0xfffff760
[70] = 0xfffff740
[71] = 0xfffff720
[72] = 0xfffff700
[73] = 0xfffff6e0
[74] = 0xfffff6c0
[75] = 0xfffff6a0
[76] = 0xfffff680
[77] = 0xfffff660
[78] = 0xfffff640
[79] = 0xfffff620
[80] = 0xfffff600
[81] = 0xfffff5e0
[82] = 0xfffff5c0
[83] = 0xfffff5a0
[84] = 0xfffff580
[85] = 0xfffff560
[86] = 0xfffff540
[87] = 0xfffff520
[88] = 0xfffff500
[89] = 0xfffff4e0
[90] = 0xfffff4c0
[91] = 0xfffff4a0
[92] = 0xfffff480
[93] = 0xfffff460
[94] = 0xfffff440
[95] = 0xfffff420
[96] = 0xfffff400
[97] = 0xfffff3e0
[98] = 0xfffff3c0
[99] = 0xfffff3a0
[100] = 0xfffff380
[101] = 0xfffff360
[102] = 0xfffff340
[103] = 0xfffff320
[104] = 0xfffff300
[105] = 0xfffff2e0
[106] = 0xfffff2c0
[107] = 0xfffff2a0
[108] = 0xfffff280
[109] = 0xfffff260
[110] = 0xfffff240
[111] = 0xfffff220
[112] = 0xfffff200
[113] = 0xfffff1e0
[114] = 0xfffff1c0
[115] = 0xfffff1a0
[116] = 0xfffff180
[117] = 0xfffff160
[118] = 0xfffff140
[119] = 0xfffff120
[120] = 0xfffff100
[121] = 0xfffff0e0
[122] = 0xfffff0c0
[123] = 0xfffff0a0
[124] = 0xfffff080
[125] = 0xfffff060
[126] = 0xfffff040
[127] = 0xfffff020
+ [ != ]
+ pcieflat
责任编辑:wv
-
FPGA
+关注
关注
1629文章
21729浏览量
603016 -
Linux
+关注
关注
87文章
11293浏览量
209340 -
PCIE总线
+关注
关注
0文章
58浏览量
13366
发布评论请先 登录
相关推荐
评论