VIVADO+ZYNQ7000入门一, 第一个PL程序,从创建到运行

学习FPGA开发是普通硬件工程师往资深硬件工程师发展的必经之路,随着芯片的集成化越来越高,传统硬件工程师可以做的工作越来越少,是不是硬件工程师就没有前途了?
随着FPGA的集成度越来越高,以及应用市场对于大数据量/大运算量的需求与日俱增,ARM+FPGA的集成路线会成为未来的芯片发展的主流趋势。掌握这种异构平台的开发技能也是硬件工程师提升自身能力的途径之一。
先从一个简单的Verilog程序入手吧,今天的主要任务是熟悉vivado的操作流程。

工程创建

vivado软件的安装本文就不介绍了,下面假定你已经在电脑上安装了vivado,我用的是2016.1版本,不同版本操作上都大同小异。
双击桌面快捷方式,映入眼帘的是这种样子
在这里插入图片描述
第一次使用,所以点击左上角的新建工程,起个名字叫project_led 吧,保存路径我喜欢在EDA安装路径下,创建一个叫MyProject的文件夹。
在这里插入图片描述
在下一个界面里,我们选择RTL工程,因为是从verilog语言这种底层设计方式开始第一次设计。
在这里插入图片描述
根据你手上的板子选择芯片的型号,当然这里不选也是可以的,相信能够开始使用到vivado的同志,对其它fpga开发程序也是有一定的使用经验的。在后面的步骤中也可以设定芯片型号。
在这里插入图片描述
一切就绪后,可以看到下图所示这个界面,中上橙色部分那个窗口,有整个工程的文件信息,包括设计文档,约束文档和仿真文档。
在这里插入图片描述

添加设计文件

我们在软件的最左侧,找到最上方的工程管理Project Manag,第一个Projec Setting,可以设置或修改芯片型号,工程基本设置,点击第二个Add Sources
在这里插入图片描述
弹出窗口中选择第二个
在这里插入图片描述
在新弹出窗口中,选择Creat File
在这里插入图片描述
选择文件类型Verilog,输入文件名称led_test
在这里插入图片描述
在新窗口中可以看到文件信息,点击Finish
在这里插入图片描述
下一步输入module的名称,也是led_test
在这里插入图片描述
Project Manage下面可以看到多了一个文件
在这里插入图片描述
双击后,打开一个空白verilog文件,点击窗口的右上角可以切换窗口的大小。
在这里插入图片描述
输入下面的代码吧

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2020/07/08 16:59:19
// Design Name: 
// Module Name: led_test
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module led_test(
input CLK_i,
input RSTn_i,
output reg [3:0]LED_o
);
reg [31:0]CNT; //时钟计数counter
always @(posedge CLK_i)
  if(!RSTn_i)
    begin
    LED_o <= 4'b1;
    CNT <= 32'h0;
    end
  else
    begin
     if(CNT == 32'd50_000_000)
        begin
        CNT <= 32'h0;
        if(LED_o == 4'b1000)
        LED_o <= 4'b1;
        else LED_o <= LED_o << 1;
        end
     else 
       begin
        CNT <= CNT + 1'b1;
         LED_o <= LED_o; 
       end
     end
endmodule

编译、配置

点击上方或者左侧的synthesis 图标,开始综合吧,综合后会弹出一个小界面,提示你下一步做什么。可以点击cancel,分配引脚后再实现吧。
在这里插入图片描述
再次找到窗口最左侧的Project Manage,添加文件,不过这次添加的是约束文件,选择第一个。
在这里插入图片描述
又看到熟悉的界面,选择Creat File 吧
在这里插入图片描述
输入文件名还是led_test,不过这次的文件类型是XDC,约束文件。所谓的约束,就是指定信号的引脚、信号特性、引脚电平等信息。
在这里插入图片描述
下一步,也见过,继续Finish
在这里插入图片描述
Project Manage下面看到又多了一个文件
在这里插入图片描述
下一步我们可以双击这个xdc文件,输入文本格式的约束,也可以通过选项的方式设置。我们采用第二种。
首先在窗口的最左侧找到synthesis栏,最下方有个Schema’tic,点击它
在这里插入图片描述
可以看到如下窗口,点击上方的I/O Ports
在这里插入图片描述
最下方可以看到这个熟悉的界面,手动指定引脚吧
在这里插入图片描述
指定后记得点击窗口左上角的保存
在这里插入图片描述
效果是这样,我这里呢,忘记指定引脚的电平类型,编译时提示出错,不能选择为default!需要回过头来自己手动修改。
还是从最左侧synthesis栏,最下方找到schematic即可。
在这里插入图片描述
下面综合/生成bit文件吧
在这里插入图片描述

下载、运行

找到窗口最左侧,下方,最下方!
在这里插入图片描述
电路板插好JTAG编程器,目标板上电运行
在这里插入图片描述
如果链接正确,会看到下面这个样子,如果没找到设备,请检查硬件连接。
在这里插入图片描述
再次找到窗口左侧最下方,开始烧写;也可以在器件名称上点击右键开始烧写
在这里插入图片描述
在这里插入图片描述
选择文件路径
在这里插入图片描述
见证成功的喜悦吧!
至此,一个简单verilog成功地在vivado环境下编程、下载、运行成功啦!

熟悉vivado

再回过头来熟悉一下vivado,在RTL analysis下,点击schematic可以看到寄存器级的原理图
在这里插入图片描述
综合以后的效果,注意第一步选择的位置,这里选择不同,看到的综合原理图就会不同,下面两幅图对比一下。
在这里插入图片描述
在这里插入图片描述
愉快地玩耍一段时间吧!

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值