查看: 2935|回复: 0

[Perf-V开发板试用]Xilinx Artix-7 FPGA流水灯测试

[复制链接]
  • TA的每日心情

    2024-10-10 16:16
  • 签到天数: 311 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2018-12-18 02:13:38 | 显示全部楼层 |阅读模式
    分享到:
      Perf-V开发板虽然是主打RISC-V内核,但是其本身就是一块FPGA开发板,可以使用FPGA来进行各种操作。现在我就来体验一下原生Xilinx FPGA的开发环境。由于Xilinx已经逐渐舍弃了ISE开发软件,而且Artix-7只支持Vivado软件,我们就使用Vivado来体验一下编写硬件描述语言来玩FPGA。
        在本文章发表的时候,最新版的Vivado已经是2018.3版本了,但是我使用的依然是2018.2版本。Perf-V开发板厂家本身配套了若干个FPGA例程和RISC-V例程,现在就来体验一下其中的LED流水灯。FPGA例程均是用Verilog来编写的。



        首先把流水灯例程解压,并且保证整个目录名都是英文(Vivado好像对中文目录支持不好),打开Vivado软件,打开项目,选中xpr文件。
    Snipaste_2018-12-18_01-08-10.png

        由于例程用的是2017旧版本,此处会提示升级,选择升级即可。
    Snipaste_2018-12-18_01-16-49.png

    处理一段时间之后的展示的页面
    Snipaste_2018-12-18_01-19-45.png

    点击这个可以看到LED流水灯的Verilog HDL源代码。其实这个代码十分简单,就是一个7个状态的状态机,每个状态对应一种LED灯亮法。在Reset信号为高且拨动开关为1的时候,根据晶振频率进行累加,累加到一定数目时调往下一个状态。
    Snipaste_2018-12-18_01-20-34.png

    RTL级综合
    Snipaste_2018-12-18_01-52-47.png

    在布局可以看到使用的资源很小。
    Snipaste_2018-12-18_01-44-49.png

    打开IO口配置查看
    Snipaste_2018-12-18_01-45-01.png

    在例程中IO口已经配置好,一共有三个输入,一个组LED输出口。
    Snipaste_2018-12-18_01-45-58.png

    LED输出引脚
    Snipaste_2018-12-18_01-46-25.png

    再来看一下原理图,原理图中这里控制的是4个红色LED灯。
    Snipaste_2018-12-18_01-47-14.png

    另外还有三个RGB LED灯,一共13组输出端口。
    Snipaste_2018-12-18_01-47-34.png

    这里还需要拨码开关BTN1(开发板上丝印SW1)来使能。从原理图来看基本与IO口配置一一对应。
    Snipaste_2018-12-18_01-48-54.png

    由于工程之前早就已经综合、布局、生成比特流文件完毕,因此只需要下载即可。请先按照下图连接好开发板。注意一定要插在JTAG口而不是USER JTAG。提醒一下,由于FPGA芯片JTAG接口比较脆弱,特别有些厂家JTAG口没有接上保护二极管,因此在插拔中容易损坏FPGA中JTAG信号管脚。注意,最好是先插上JTAG接口,然后上电下载调试器,然后最后上电FPGA开发板。
    E4E1A7F57C83A1DBDC8C6508083AF8B0.png

    这里右键Open Target,选中Open New Target。
    Snipaste_2018-12-18_01-21-19.png

    根据向导选择next。
    Snipaste_2018-12-18_01-21-28.png

    选择如图所示,然后点击Finish。
    Snipaste_2018-12-18_01-21-44.png

    设置好下载器后,可以看到Perf-V开发板附带的下载线是采用了Delight的下载方案。然后点击下图红色圆框处。
    Snipaste_2018-12-18_01-22-14.png

    选择好在.run\imp目录中烧好的bit文件,准备下载。
    Snipaste_2018-12-18_01-22-23.png

    接下Vivado会把ROM下载到FPGA中,此时可以查看一下效果了。注意,由于FPGA是查找表结构,因此每次上电都需要加载程序,此次下载只是加载到FPGA中,开发板断电之后需要重新烧写。或者直接把bit文件烧写到SPI Flash上,每次上电时FPGA自动从SPI Flash加载程序,这里下一篇文章再讲。

    效果图:
    按下RST按键会reset,把SW1推到最上流水灯才会运行。
    9B822D0BAC51C75F4E09654C6D543889.png
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 22:28 , Processed in 0.107443 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.