3091|1

1381

帖子

2

TA的资源

五彩晶圆(初级)

楼主
 

【Perf-V评测】开发板电路简析与Xilinx软件小试 [复制链接]

本帖最后由 cruelfox 于 2021-6-4 22:46 编辑

  首先感谢澎峰科技提供的Perf-V开发板。这是一块与常规的FPGA开发板不大一样的板子,它不像许多开发板为了提供实验便利配置许多花哨的外围器件,也不是精简板那样直接把I/O口做成一列列的排针孔,而是居然在安排了一组Arduino接口——含义是:我是可以像MCU开发板那样来用的。 

  实际它是比Arduino风格的板子要大一圈的。因为FPGA最小系统的外围器件比一个MCU要多许多,两个标准尺寸JTAG座就比较大,顺势又在外圈放了一些LED和按钮、开关(毕竟是个FPGA开发板,做基本实验的支持最好还是有),就是这个大小了。我也觉得不是不能做到更紧凑更小,那样成本会增加,没有必要罢了。

  板子的配置,依我看来,只是在Xilinx Artix-7最小系统的基础上加了一点外围器件(DDR3 SDRAM和 flash)和接口。上面的照片中我用红框标示的是电源部分,有四路DC-DC给FPGA及SDRAM供电,分别是 3.3V/1.8V/1.5V/1.0V.  DDR3还用了一个0.75V的电压,由LDO产生。两片串行flash (N25Q64)一片用于FPGA上电配置,一片自由使用。其它都是简单的开关和LED连接了。

  FPGA是BGA256脚封装,I/O口有很多。除了Arduino口、PMOD口引出的少数通用I/O口,在板子背面还有一个60针的小型连接器,用来连接扩展卡。比如可以扩展出 SD 卡座、HDMI 接口、VGA接口等。这种扩展卡设计方式可以让核心板保持小体积,需要什么应用再连接;一方面也节约了开发板的成本。

  Perf-V资料中提供了完整的电路图,可以供学习设计 Xilinx Artix-7 系列FPGA系统板参考。

 

  这块FPGA除了I/O电压选用了 3.3V和1.5V 外,核心电压是 1.0V,  还用了 1.8V 作为 VCCAUX. 另外,1.0V也给VCCBRAM和VCCADC (这个FPGA带有片内ADC).  

  I/O电压有 3.3V和1.5V两种,是因为DDR3 SDRAM要用1.5V,一般的I/O用3.3V通用。    FPGA的板子DIY难度比MCU高,主要就是电源脚很多而且要多组不同的电压。封装大部分都是BGA, 做PCB成本高,所以直接购买最小系统板来做原型开发常常是最方便的。

 

  Xilinx FPGA的软件开发工具有 ISE 和 Vivado. 我这次尝试的是 Vivado 2017.4 Linux 版本,从Xilinx网站下载的。软件包体积已经很大了,没有必要就不要追求最新版啦。

  做一个最简单的逻辑来测试一下流程。

  创建一个工程,指定路径,选择FPGA器件为Perf-V对应的XC7A100TFTG256. 不添加任何代码,然后到达主界面:

  我要编写一个计数器用来点灯,代码很简单(可以用任何文本编辑器写,然后加进工程即可):

module demo(clk, led);
input clk;
output [3:0] led;

reg [25:0] cnt;

always @(posedge clk)
    cnt <= cnt + 1'b1;

assign led = cnt[25:22];

endmodule

然后在 Vivado 里面把这个Verilog源文件加进工程。当然也可以由Vivado直接创建文件并编辑。

  Vivado 会自动识别文件中定义的模块(也许有语法错误也能马上报告,我没有试), 它自动将工程的顶层模块设置为我编写好的"demo". 下面就可以进行综合了。

 

  点主窗口左边一栏当中的“Run Synthesis", 启动综合工具。然后,就等待吧……尽管代码很简单,这一步的时间么……

  终于综合结束了,可以点"Open Synthesized Design" 看下结果:

  综合后的逻辑可以用图形化的方式查看,这样的:

  下一步就是"Run Implementation"了,就是用FPGA实现以上的逻辑。操作方式是类似的。

  看实现的结果,有严重的警告!

  原因是我没有对管脚进行处理,现在还是默认设置。因为软件并不知道芯片管脚是怎么接的,电压标准是什么等等,需要用户先指定。我也还没有分配LED接到哪些管脚,现在即使完成了也是没法正确工作的。现在需要在Window菜单中选择”I/O Ports"打开设置界面:

  当前的管脚是软件自行分配的,需要修改。

  Perf-V板子上有4个红色LED和三个RGB LED可以用,我就用那4个红色的。查阅电路图,找到 LED 连接的管脚

LED对应与 M16, N16, P15, P16 四个脚,另外, 50MHz 晶振的时钟信号 SYS_CLK 接在 N14, 也是需要的。在 Vivado 中指定这些管脚,电压标准选择3.3V LVCMOS.

  再重新做一遍 Implementation, 就可以到下一步,生成FPGA需要的二进制码流文件了。

  最后将码流下载到板子上,让FPGA工作起来。 FPGA的配置通过JTAG进行,澎峰科技提供了一个下载器,一端插入开发板的JTAG座,一端USB连接电脑。虽然 Linux 能够检测到下载器的芯片,但 Vivado 还不能识别,需要"安装驱动"——对于 Linux, 实际上并不是装驱动程序,而是在系统配置中小改一下。Vivado 安装目录中有一个脚本文件,用 root 身份执行一下就可以了。

  在 Vivado 中打开“Hardware Manager",当下载器被识别出来以后,就可以看到连接的 FPGA 器件信息。此时点”Program Device", 出现对话框。

这是用来确认码流文件(也就是前面的过程从Verilog源代码处理最后得到的.bit文件),点"Program"就马上下载到FPGA中,可以看到LED变化了。

 

  虽然这个工程描述的逻辑很简单,Vivado 软件给我的感受是——真的很慢。十年前我就用的 Altera Quartus 9.0 的编译速度跟它相比,不是同一个数量级的。各厂家的 FPGA 综合软件界面和操作风格有所不同,基本流程是类似的。慢的问题,也别无选择了。

此帖出自FPGA/CPLD论坛

最新回复

有Arduino接口的FPGA开发板,还是挺不错的,可以尝试多种体验   详情 回复 发表于 2021-6-5 21:45
点赞 关注
 

回复
举报

6822

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

有Arduino接口的FPGA开发板,还是挺不错的,可以尝试多种体验

此帖出自FPGA/CPLD论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表
  缈昏瘧锛