1.中科大的FPGA在线平台提供了一个非常好用的功能,将bit文件上传到远程FPGA开发板上加以功能验证,而且可以游客的身份访问。
Login - FPGA Onlinehttp://fpgaol.ustc.edu.cn/
2.系统采用的硬件平台是赛灵思的Nexys4 DDR开发板(xc7a100t-csg324),可以用Vivado或者ISE开发,FPGAOL提供了下载资源,电脑配置不高的话建议下载安装ISE,但对高版本的Windows来说不太友好,且有闪退风险;电脑配置较好的话用Vivado,如果是Linux则更好,速度要快一些。
3.进入到About - FPGA Online (ustc.edu.cn)界面后,点击“acquire”申请到资源,点击‘Panel Link’进入到演示界面。
4.点击"Select file"选择bit文件上传,点击"Program!"加以运行,观察效果。以下打包为测试文件,其中echo.bit为sw/LED功能测试,sw上拨,点亮对应的led。同时提供了ISE工程文件,包括源码和约束文件。中科大FPGAOL平台测试文件,测试sw/LED功能,FPGAOL2.0版本-OS文档类资源-CSDN文库
特别注意:FPGA interface与约束文件不一致。
原因应该是interface是依据之前的1.1版本进行的,而现在的约束文件(xdc)则是2.0版本,两者引脚配置完全不同。
5.代码如下:
//echo.v,sw上拨,点亮对应的led
module echo(
input [7:0] sw,
output [7:0] led
);
assign led = sw;
endmodule
##FPGAOL.ucf,中科大FPGAOL 2.0版本,与interface界面有所差异
## Clock signal
#NET "clk" LOC = B8 | IOSTANDARD = LVCMOS33;
## FPGAOL LEDs(signle-digit-SEGPLAY)。led与段码共用
NET "led[0]" LOC=K17 | IOSTANDARD = LVCMOS33;
NET "led[1]" LOC=K18 | IOSTANDARD = LVCMOS33;
NET "led[2]" LOC=L14 | IOSTANDARD = LVCMOS33;
NET "led[3]" LOC=M14 | IOSTANDARD = LVCMOS33;
NET "led[4]" LOC=L18 | IOSTANDARD = LVCMOS33;
NET "led[5]" LOC=M18 | IOSTANDARD = LVCMOS33;
NET "led[6]" LOC=R12 | IOSTANDARD = LVCMOS33;
NET "led[7]" LOC=R13 | IOSTANDARD = LVCMOS33;
## FPGAOL SWs
NET "sw[0]" LOC=M13 | IOSTANDARD = LVCMOS33;
NET "sw[1]" LOC=R18 | IOSTANDARD = LVCMOS33;
NET "sw[2]" LOC=T18 | IOSTANDARD = LVCMOS33;
NET "sw[3]" LOC=N14 | IOSTANDARD = LVCMOS33;
NET "sw[4]" LOC=P14 | IOSTANDARD = LVCMOS33;
NET "sw[5]" LOC=P18 | IOSTANDARD = LVCMOS33;
NET "sw[6]" LOC=U12 | IOSTANDARD = LVCMOS33;
NET "sw[7]" LOC=U11 | IOSTANDARD = LVCMOS33;
## FPGAOL2 HEXPLAY
#NET "d[0]" LOC=T10 | IOSTANDARD = LVCMOS33;
#NET "d[1]" LOC=T9 | IOSTANDARD = LVCMOS33;
#NET "d[2]" LOC=U13 | IOSTANDARD = LVCMOS33;
#NET "d[3]" LOC=T13 | IOSTANDARD = LVCMOS33;
#NET "an[0]" LOC=V14 | IOSTANDARD = LVCMOS33;
#NET "an[1]" LOC=U14 | IOSTANDARD = LVCMOS33;
#NET "an[2]" LOC=V11 | IOSTANDARD = LVCMOS33;
## FPGAOL2 BUTTON & SOFT_CLOCK
#NET "BTN" LOC=V12 | IOSTANDARD = LVCMOS33;
##USB-RS232 Interface
#NET "rxd" LOC=M17 | IOSTANDARD = LVCMOS33;
#NET "txd" LOC=M16 | IOSTANDARD = LVCMOS33;
#NET "CTS" LOC=D3 | IOSTANDARD = LVCMOS33;
#NET "RTS" LOC=E5 | IOSTANDARD = LVCMOS33;