Smart ZYNQ板 工程一 用ZYNQ的PL资源点亮一个LED(完整图文)

程序员的第一个程序都是helloword, 在FPGA领域,点亮一个LED灯的意义相当于helloword,你可以在过程中了解项目从创建到运行的完整流程,下面我用图文来详细介绍每一步的操作。

(备注 此章节内容为 Smart ZYNQ的板子,如果是Tiny zynq 和 Ebaz4205 请看对应板子目录)

本文在 vivado2018.3版本上 演示, 其他版本请自行研究

备注 :板子分7010和7020的版本,实际工程按照对应的版本进行工程的创建

1、具体步骤

1) 具体步骤 新建一个VIVADO 工程,打开软件 选中Create Project, 如下图所示

2)点击NEXT ,在出现的第二个对话框“Project name”中输入工程名;在“Project location”中选择保存路径;勾选“Create project subdirectory”,最后点击“Next” 备注,所有的路径均不能出现中文名称

3)点击 RTL PROJECT 选项,点击NEXT

4) 第四步Add Sources 选项直接留空,NEXT

5)第五步Add Constraints 选项直接留空,NEXT

6)选择芯片型号 (板子生产了多个芯片型号,请根据自己板子的型号来进行选择,图文教程以XA7Z020为主来进行演示,其余型号自行选择,必须要按照实际型号去填写)

  • XA7Z020 (直接选择xc7z020CLG400-1,因为系统识别到的是xc7z020-1)
  • XC7Z010-1 (xc7z010CLG400-1) (7010 芯片)
  • XC7Z020-1 (xc7z020CLG400-1) 后续生产
  • XC7Z020-2 (xc7z020CLG400-2) 后续生产

    备注 (7020 车规级版在vivado2018.3识别出的是xc7z020,如果工程选择xa7z020 ,在SDK环境下有时候会弹出警告,所以这里直接选择Xc7z020CLG400-1)

    7)确认所选信息 点击“Finish”,完成vivado的工程创建

    2 增加VERILOG 文件

    1)在主界面点击左侧 Add Sources ,点击 复选框的Add or create design sources 选项 并点击NEXT

    2)在出现的Add Sources 中 选择创建新文件 Create FILE 如下图所示,并在弹出的窗口中 选择类别为Verilog ,在FILE name中填写文件的名称,这里用LED 代替,点击OK 并点击FINISH

    3)在跳出的窗口中可以填写模块的输入输出信号,由于这部分工作在代码中可以完成,所以这里直接点OK 完成VERILOG 文件的创建

    3.编写VERILOG的代码

    1)双击打开刚才创建的LED.V文件 并在里面写入LED的代码

    module LED(
         input clk,
         output led
     );
     parameter T1MS = 26'd50_000_000 ; //50M晶振时钟
     reg [25:0]time_count;//时钟计数器
     reg led_r;
     always@(posedge clk)
         if(time_count>=T1MS)begin
             time_count<=26'd0;
             led_r<=~led_r;
         end
         else time_count<=time_count+1'b1;
     assign led=led_r;    
     endmodule

    编写好代码后 对代码进行编译

    1.接下来 RTL 分析,并完成IO口的设置 (有两种方式,一种是用图形界面的方式,一种是通过写约束文件来进行设置 ,两种方式结果相同最终都生成相同的约束文件——本文以图形界面方式进行介绍)

    2.图形界面管脚设置 1)先在Package pin 中修改IO接口, 板子上CLK接到芯片的H16脚, LED 接到芯片的K16脚 2)在蓝色窗口的右侧I/O std 填入 IO接口和管脚电气属性,这里是3.3V 选择LVCOMS3V3

    3.选择保存,第一次保存时会要求填入约束文件的名称,管脚定义的信息会被保存到约束文件中

    4. 之后工程里会多一个约束文件,约束文件里会多出我们刚才添加的管脚定义(我们也可以直接添加和修改约束文件来实现管脚的定义,这样就不用上一步的操作了)

    5. 保存之后 点击 Generate Bitstream 进行综合以及生成Bit 文件

    成功后会出现下图对话框,点OK 确认就好

    用TYPE C数据线将板子的JTAG口和电脑连接,给板子通上电源后,点击 PROGRAM AND DEBUG 中的OPEN TARGET 下的Auto Connect 来连接板子

    如果连接正常会在右侧 硬件栏中显示设备,如下图所示

    接下来下载bit文件,右键设备 然后选择 Program Device

    默认会出现生成的BIT文件,如果没有的话需要手动添加路径 ,点击PROGRAM 下载

    下载之后,板子就按照我们的代码开始跑了 D18 的LED 灯开始以1S的时间间隔开始闪烁(同时程序下载完成后 仅挨芯片的DONE 灯也亮起,代表芯片正常工作了)

    以上就是一个工程的完成实现过程

    完整工程下载:(板子有多个版本,请按照对应板子的芯片型号进行下载测试,XA7Z020选择XC7Z020_1的程序)

    “Smart ZYNQ板 工程一 用ZYNQ的PL资源点亮一个LED(完整图文)”的2个回复

    1. refresh_hw_device [lindex [get_hw_devices xc7z020_0] 0]
      INFO: [Labtools 27-1434] Device xc7z020 (JTAG device index = 0) is programmed with a design that has no supported debug core(s) in it.

      按教程一步步做完,提示 出现这个,
      VIVADO 2023版

      1. 检查一下你的芯片型号是否选择正确 Smart ZYNQ 标准版是 XC7Z020CLG400-1 或者 XC7Z010CLG400-1 如果是SMART ZYNQ (后缀带 SP 或者SL的) 选型型号 XC7Z020CLG484 -1

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注