Menu Close

Vivado软件的使用

1. Vivado软件简单介绍

Vivado是Xilinx公司于2012年发布的一款EDA(Electronic Design Automation,电子设计自动化)软件。Vivado适用于Xilinx 7系列的FPGA芯片平台,与Xilinx公司之前推出的ISE是两个不同的开发工具,下面将Vivado和ISE进行简单对比:

Vivado ISE
更完整的设计工具 设计环境集成度较差
更优秀的PC资源使用方式 大型项目中,综合速度较慢
更好的时序收敛效果 时序收敛性较差
更自然的脚本支持(Tcl) 脚本支持多,但混乱不全面
支持7系列以后的芯片 支持3系列,5系列,6系列以及部分7系列的芯片
支持SystemVerilog 不支持SystemVerilog

 

2. 开发板简介

本实验配合使用的FPGA开发板,在Vivado和ISE中都可以使用开发。FII-PRX100-D使用的是Xilinx公司的ARTIX-7系列芯片,型号为XC7A100T-FGG676。Artix-7是业界成本优化的性能领导者,应用于包括但不限于信号处理,嵌入式存储器,内存接口,收发器等。更多关于FII-PRX100-D开发板硬件资料的信息,见文章FII-PRX100-D(ARTIX 100T,XC7A100T)硬件参考指南

 

3. Vivado软件的使用

本文主要介绍使用Vivado软件,创建,编译,下载一个工程等基本开发流程。

 

3.1. Vivado软件的基本开发流程

  • 工程建立

双击桌面Vivado图标,打开Vivado,其初始界面如图1所示。在Quick Start下点击Create Project弹出新建工程或者在主菜单下点击File > Project > New

IMG_256

图1 Vivado界面

 

点击后弹出的窗口如图2所示, 点击Next

IMG_257

图2 建立新工程弹出窗口

 

Project name里填上flow_led,工程路径根据需要填写,将Create project subdirectory选项勾选。注意:工程名称和路径都不能为中文,如图3所示,完成后,点击Next

IMG_258

图3 创建工程名字,路径

 

在工程类型中,默认选择是RTL Project(关于具体工程类型,可以参见Xilinx文档,点击这里)。选择后,点击Next

IMG_259

图4 工程类型

 

接下来是可以在创建工程时添加设计源文件,这里将在创建完成后添加设计源文件,所以点击Next跳过,如图5所示。

IMG_260

图5 添加设计源文件

 

接下来同样也先跳过添加约束文件的步骤,点击Next,如图6所示。

IMG_261

图6 添加约束文件

 

选择和FII-PRX100-D 开发板对应的FPGA器件。有以下两种方法找到合适的器件:

  • 筛选(filter):在Family中选择Artix-7Package选择fgg676Speed选择-2,即可在下面列出符合条件的器件中找出xc7a100tfgg676-2
  • 搜索(Search):直接搜索xc7a100tfgg676-2

IMG_262

图7 选择合适的FPGA器件

 

图8所示为创建新工程的总结,如果发现需要修改处,可以点击Back返回到对应界面修改。检查后,点击Finish结束新工程的建立。

IMG_263

图8 创建新工程总结

 

  • 在工程中新建设计源文件

在创建完新工程后,在新工程中可以点击图9中1:Add Source或2:+ 新建源文件。

IMG_264

图9 添加源文件

 

接下来在点击添加源文件后,会弹出图10所示窗口。可以选择添加约束文件,设计源文件和仿真源文件。这里选择添加设计源文件(Add or Create design sources),点击Next

IMG_265

图10 添加源文件

 

图11所示Add Files表示添加已有的源文件,这里选择点击Create Files来创建新的源文件。

IMG_266

图11 添加或新建源文件

 

图12所示为指定新建的设计源文件类型(File type)为Verilog,名字(File name)为flow_led_top,都完成后,点击OK

IMG_267

图12 文件命名

 

点击图13中1:OK,接着点击2:Yes,完成建立新的设计源文件。

IMG_268

图13 确认

 

  • 添加设计源文件内容

图14所示,在PROJECT MANAGER下,Design Sources下有刚刚新建立的flow_led_top设计源文件,双击flow_led_top,在Vivado右边界面展开。可以看到,这个设计源文件已经有了一个大概框架。

IMG_269

图14 设计源文件

 

flow_led_top代码如下,将以下Verilog代码复制到flow_led_top.v文件并保存:

module flow_led_top
#(parameter end_cnt = 50000000)
(
    input   wire            IN_CLK_50M,
    output  reg [7:0]       LED = 8'hff
);

reg [31:0] cnt = 0;


always @(posedge IN_CLK_50M) 
begin
    if(cnt < (end_cnt - 1))
        cnt <= cnt + 1;
    else
        cnt <= 0;
end


always @(posedge IN_CLK_50M) 
begin
    if(LED == 8'hff)
        LED <= 8'hfe;
    else
    begin
        if(cnt == end_cnt -1)
            LED <= {LED[6:0], LED[7]};
        else
            LED <= LED;
    end
end


endmodule

 

  • 查看RTL原理图设计

点击图15左侧Flow Navigator下的RTL ANALYSIS > Open Elaborated Design,即可看到右侧的Schematic

%title插图%num

图15 查看RTL原理图设计

 

  • 工程设计综合

Flow Navigator下,点击SYNTHESIS > Run Synthesis,进行综合,如图16所示。

IMG_271

图16 工程综合

 

弹出如图17所示的窗口,表示已经成功综合。

IMG_272

图17 完成综合

 

  • 编写管脚约束信息

如图18所示,点击SYNTHESIS > Open Synthesized Design,再点击上方工具栏Layout,选择I/O Planning

IMG_279

图18 进入管脚约束界面

 

I/O Ports下依据FII-PRX100-D原理图(详细原理图点击这里)添加对应的约束信息,主要是Package PinI/O Std目下。注意所有管脚的I/O standard(I/O Std)都选为LVCMOS33*

%title插图%num

图19 管脚约束信息

 

注意:在设置管脚完成后,需要点击图20中红框的图标,保存设置。

IMG_281

图20 保存管脚约束设置

 

保存后,在源文件的Constraints > constrs_1 可以看到一个*xdc文件:flow_led_top.xdc。点击打开后,可以看到是将上文的管脚分配用文字保存了下来,包括Package和I/O standard。注意下次需要使用相同的管脚时,可以根据需要修改,直接使用*.xdc文件来做管脚约束。

%title插图%num

图21 *.xdc文件

 

  • 工程实现

点击 IMPLEMENTATION > Run Implementation,进行工程布局布线。

IMG_282

图22 工程实现

 

出现图23所示窗口,说明工程成功实现。

IMG_283

图23 完成工程实现

 

  • 生成*.bit文件

点击PROGRAM AND DEBUG > Generate Bitstream,生成*.bit文件,如图24所示。

IMG_284

图24 生成*.bit文件

 

  • 下载*.bit文件

点击PROGRAM AND DEBUG > Open Hardware Manager,有1,2两种方法open target,如图25所示。

IMG_285

图25 Open Target

 

点击Open Target,出现图26所示窗口,点击Auto Connect

IMG_286

图26 Auto Connect

 

Auto Connect后,Hardware Manager窗口会出现FII-PRX100-D芯片,xc7a100t,如图27所示。

IMG_287

图27 连接到FII-PRX100-D芯片

 

如图28所示,点击xc7a100t,再点击Program Device

IMG_288

图28 Program Device

 

如图29所示,在弹出的窗口里选择正确的*.bit文件(也可以点击绿色框内,在图30所示界面下选择*.bit文件)。选择完*.bit文件后(注意有时候会自动出现一个不是当前工程所生成的*.bit文件),点击Program,即可完成*.bit文件的下载。至此,已经成功使用Vivado软件完成一个工程的创建,编译,下载。

IMG_289

图29 选择正确的*.bit文件

 

IMG_290

图30 查找*.bit文件

 

关于更多FPGA相关的*.mcs文件下载和烧录过程,硬件连接,点击这里

Posted in FPGA, Verilog, Vivado, 开发工具, 文章, 编程语言

发表评论

相关链接