查看: 1197|回复: 0
收起左侧

[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-8-23 21:44:38 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-8-26 17:18 编辑

    本文目录

    • 1、简介
    • 2、深入
    • 3、DEMO
    • 4、SiFive基于RISC-V指令集的芯片验证
    • LINKS


    时间
    作者
    版本
    备注
    2018-10-09 08:38beautifulzzzzv1.0到3
    2018-10-18 07:23beautifulzzzzv2.0risc-v (4)

    1、简介

    xlinx官网地址: https://china.xilinx.com/products/boards-and-kits/arty.html


    1.1 产品描述


    售价 99 美元的 Arty 评估套件可为各种嵌入式应用实现快捷跨越式启步,其中包括从基于 Linux 的计算密集型系统到轻量级微控制器等各种应用。 针对 Xilinx 业界最佳低端产品性能功耗比 Artix®-7 35T FPGA 精心设计Arty 套件具有 Xilinx 可针对几乎任何处理器使用案例进行定制的 MicroBlaze™ 处理器。


    1.2 主要性能和优势


    • Artix-7 XC7A35T-L1CSG324I FPGA
    • 片上模数转换器 (XADC)。
    • JTAG 与 Quad-SPI Flash 可编程
    • 256 MB DDR3L 支持速率为 667 MHz 的 16 位总线
    • 16 MB Quad-SPI Flash
    • 10/100 Mb/s Ethernet
    • USB-UART Bridge
    • 开关、按钮、RGB LED
    • 4 个 Pmod 接口 (32 I/O)
    • Arduino/ChipKit“盾”接插件 (49 I/O)


    1.3 特色 Xilinx 器件


    项目
    个数
    逻辑单元33,280
    DSP Slice90
    存储器1,800
    GTP 6.6Gb/s 收发器4
    I/O 引脚250

    注:包含 Artix-7 XC7A35T-L1CSG324I FPGA


    1.4 电路板特性


    下图是整个开发板上资源的概览,更详细的可以参考:


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(1)


    注:板子自带JTAG,用于烧写FPGA固件的,DEBUG得用外置工具


    1.5 视频资源


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(2)



    2、深入

    START地址: https://reference.digilentinc.co ... le-logic/arty/start


    2.1 两种开发方法HDL/SOC


    FPGA让Arty变得非常灵活。在众多的特点中,FPGAs有能力转换成定制的软件定义的片上系统(SoC)。


    这些“软SOC”FPGA配置使用图形化的工具ViVADO IP积分器(Vivado IPI)来设计。


    在这个工具中,从广泛的库中拖动预构建的外围块,并根据需要放入处理系统。


    这些预构建的外围设备包括定时器、UART/SPI/IIC控制器以及通常在SoC或微控制器中找到的许多其他设备。


    厉害的用户还会发现,他们可以用硬件定义语言(HDL),特别是Verilog或VHDL,来创建自己的外围块。对于那些对学习HDL不感兴趣的人来说,Xilinx高级合成工具可以通过用C编写自定义外围块来定义它们。


    ARTY的软SOC配置由MyBLAZE处理器核心提供。MixBRAZE是32位RISC软处理器内核,专门设计用于Xilinx FPGA。


    Arty SoC配置中的MicroBlaze处理器通常以100MHz运行,不过可以设计您的SoC,使其能够在200MHz上运行。


    Arty通过提供16MB的非易失性程序内存和256MB的DDR3L RAM,支持具有要求高的内存需求的大型MicroBlaze程序。


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(3)


    在设计好SOC配置之后,Xilinx也提供了工具用于在软核上应用程序开发。这是通过将您的SoC设计导出到Vivado IPI中并导入到Xilinx软件开发包(XSDK)中来完成的,它是一个用于设计/调试C中的MicroBlaze程序的集成开发环境(IDE)。


    在IPI到XSDK切换之后,XSDK被自动配置为包括用于SoC中包括的外围块的库和示例。此时,编程Arty非常类似于编程其他SoC或微控制器平台:程序用C编写,通过USB编程到板上,然后可选地在硬件中调试。


    软SoC配置和MicroBlaze程序也可以加载到16MB非易失性程序存储器中,以便在Arty上电后立即执行。


    尽管Arty特别适合Microblaze软SoC设计,它也可以像其他FPGA开发一样在门电路级别编程。


    此设计流程要求您在Vivado中使用HDL描述RTL电路,并且它不使用Vivado IPI或XSDK工具。


    这种设计有许多优点,但与编程单板计算机非常不同,而是由熟悉FPGA设计或对设计和实现不包含处理器的数字电路感兴趣的人使用。


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(4)


    2.2 电路板电源供应系统


    复杂电路一般都有多个芯片负构成整体电源系统,Arty板子也同样具备该系统:输入包括7~15V的DC接口和Micro-USB接口;


    其中DC接口后还接了一个ADP2384芯片,用于将输入电压降到5V;5V电压经过ADP5052芯片分压成多种电压,供后级系统使用;


    特别的ERF3012芯片用于将ADP5052电压稳定到1.25V,用于XADC的VREF:


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(5)


    下表是电源系统各路的去向:


    Supply
    Circuits
    Device
    Current (max/typical)
    5VOnboard Regulators, RGB LEDsIC12: Analog Devices ADP23843.5A/0.375A to 2A
    3.3VFPGA I/O, Clocks, Flash, PMODs, LEDs, Buttons, Switches, USB port, EthernetIC11: Analog Devices ADP50522.2A/NA
    0.95VFPGA Core and Block RAMIC11: Analog Devices ADP50521.0A/0.2A to 0.8A
    1.8VFPGA AuxiliaryIC11: Analog Devices ADP50521.0A/NA
    1.35VDDR3L and associated FPGA bankIC11: Analog Devices ADP50521.0A/NA
    1.25VXADC Analog ReferenceIC13: Texas Instruments REF301225mA/NA


    3、DEMO

    3.1 闪灯DEMO


    Getting Started with Vivado : https://reference.digilentinc.com/vivado/getting_started/start


    0) sudo 打开工程:


    1. source /opt/Xilinx/Vivado/2018.2/settings64.sh
    2. sudo /opt/Xilinx/Vivado/2018.2/bin/vivad
    复制代码


    1) 创建新工程,命令为blink:


    注:视频中创建blink文件的时候,clk and led 输入输出属性弄错了,真正的是:clk是output, led是input


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(6)


    其中包含两个重要文件,第一个是板子文件,另一个是自己创建的verilog文件。对于板子文件要和自己的开发板相匹配,此外,对于本工程需要修改下板子文件(增加clk和led):


    1. ## Clock signal
    2. #set_property -dict { PACKAGE_PIN E3    IOSTANDARD LVCMOS33 } [get_ports { CLK100MHZ }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100]
    3. #create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { CLK100MHZ }];
    4. set_property -dict { PACKAGE_PIN E3    IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100]
    5. create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { clk }];

    6. ...

    7. ## LEDs
    8. set_property -dict { PACKAGE_PIN H5    IOSTANDARD LVCMOS33 } [get_ports { led }]; #IO_L24N_T3_35 Sch=led[4
    9. #set_property -dict { PACKAGE_PIN H5    IOSTANDARD LVCMOS33 } [get_ports { led[0] }]; #IO_L24N_T3_35 Sch=led[4]
    10. #set_property -dict { PACKAGE_PIN J5    IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; #IO_25_35 Sch=led[5]
    复制代码


    自己创建的.v文件为:


    1. module blink(
    2.     input clk,
    3.     output led
    4.     );

    5. reg [24:0] count = 0;
    6. assign led = count[24];
    7. always @ (posedge(clk)) count <= count + 1;
    8.    
    9. endmodule
    复制代码


    这样blink工程实现的功能便是:周期性的控制开发板上的LED0闪烁


    2) 编译烧写:


    接下来便是编译+烧写,编译需要先点击三角形(RUN)进行编译,然后再点击三角形右边的(create bitstream)产生*.bit文件,如果没有错误在messages中不会有错误提醒。


    接着左下角的PROGRAM AND DEBUG栏目中选择Open Hardware Manager进行连接开发板(连接时选择auto连接,如果找不到开发板,则说明其他哪里有问题):

    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(7)


    烧写的时候点击左下角PROGRAM AND DEBUG区域中的program device便可:


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(8)


    此时点击Flow Navigator中的RTL ANALYSIS的Schematic会产生我们编写代码对应的原理图:


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(9)


    注:更详细的烧写方法见LINK-6,bit烧写掉电会没有,bin烧写会掉电保持


    4、SiFive基于risc-v指令集的芯片验证

    4.1 准备工作


    1) Xilinx Artix-7 35T Arty FPGA Evaluation Kit开发板


    2) ARM-USB-TINY-H(这里我选用JLink当作Jtag用,省了点钱)


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(10)


    3) FPGA toolchain(下载WEB版开发工具:https://www.xilinx.com/support/download.html)


    1. sudo chmod +x Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin
    2. sudo ./Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin
    复制代码


    下载合适的驱动:


    1. cd /opt/Xilinx/Vivado/2018.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/
    2. sudo ./install_drivers
    复制代码


    获取Diailent板级支持文件,拷贝到Vivado下:


    1. git clone https://github.com/Digilent/vivado-boards.git
    2. sudo cp -r vivado-boards/new/board_files/*  /opt/Xilinx/Vivado/2018.2/data/boards/board_files/
    复制代码


    返回到HOME目录,启动环境变量(每次新打开一个termianl去启动VIVADO的时候,都需要执行):


    1. source /opt/Xilinx/Vivado/2018.2/settings64.sh
    2. sudo /opt/Xilinx/Vivado/2018.2/bin/vivado
    复制代码


    4) 通过vivado UI界面给板子配置(烧写pre-build FPGA二进制程序)


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(11)


    预编译好的二进制FPGA文件Freedom E310 Arty FPGA Dev Kit Bitstream可以从https://dev.sifive.com/dashboard/下载(需要注册)


    打开vivado -> Hardware Manager -> 选择板子( Micron part n25q128-3.3v,也可以根据板子来筛选)-> add configuration memory device


    国内芯片技术交流-[FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集risc-v单片机中文社区(12)


    烧写完毕后,点击PROG按键,demo程序将会执行,LED1、LED2会点亮,用上位机打开串口会发现LOG输出:


    1. sudo minicom -D /dev/ttyUSB0

    2. Welcome to minicom 2.7.1

    3. OPTIONS: I18n
    4. Compiled on Aug 13 2017, 15:25:34.
    5. Port /dev/ttyUSB0, 23:03:08

    6. Press CTRL-A Z for help on special keys

    7. core freq at 65000000 Hz

    8.                 SIFIVE, INC.

    9.          5555555555555555555555555
    10.         5555                   5555
    11.        5555                     5555
    12.       5555                       5555
    13.      5555       5555555555555555555555
    14.     5555       555555555555555555555555
    15.    5555                             5555
    16.   5555                               5555
    17. 5555                                 5555
    18. 5555555555555555555555555555          55555
    19. 55555           555555555           55555
    20.    55555           55555           55555
    21.      55555           5           55555
    22.        55555                   55555
    23.          55555               55555
    24.            55555           55555
    25.              55555       55555
    26.                55555   55555
    27.                  555555555
    28.                    55555
    29.                      5

    30. SiFive E-Series Software Development Kit 'demo_gpio' program.
    31. Every 2 second, the Timer Interrupt will invert the LEDs.
    32. (Arty Dev Kit Only): Press Buttons 0, 1, 2 to Set the LEDs.
    33. Pin 19 (HiFive1) or A5 (Arty Dev Kit) is being bit-banged
    34. for GPIO speed demonstration.
    复制代码


    BT0~3对应板子上的几个按键:


    1. ********************************************************
    2. ********************************************************
    3. **        Avnet/Digilent Arty Evaluation Board        **
    4. **        LEDs and switches GPIO Demonstration        **
    5. ********************************************************
    6. ********************************************************
    7. **
    8. Choose Task:
    9. BTN0: Print PWM value.
    10. BTN1: 'Cylon' LED display.
    11. BTN2: Scrolling LED display.
    12. BTN3: Return to this menu.
    复制代码

    注:只要用USB数据线连接上就行,查看串口会发现开发板占了两个USB,依次打开,第二个发现会有LOG输出
    注:此外上位机串口工具请参考: https://blog.csdn.net/zoujiachi666/article/details/79441340


    LINKS

    [1].Artix-7 35T Arty FPGA 评估套件官网
    [2].vivado license在ubuntu上安装
    [3].board fils下载地址
    [4].Installing Vivado and Digilent Board Files
    [5].Getting Started with Vivado
    [6].Arty Programming Guide
    [7].Programming Digilent FPGA Boards Through Multisim

    本篇完,感谢关注:RISC-V单片机中文网





    上一篇:RISC-V发展现状
    下一篇:RISC-V指令集架构特点及其总结
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-3-29 22:48 , Processed in 0.553221 second(s), 48 queries .

    快速回复 返回顶部 返回列表