文章目录

  • 前言
  • 一、PL部分
    • 1、创建工程
    • 2、添加.V文件
    • 3、编写程序后分析综合(就是普通的verilog程序)
    • 4、编写仿真文件并进行仿真(和上述方法一样,只是在添加文件的时候选择仿真文件即可)
    • 5、波形验证正确,进行布局布线
    • 6、无错误后,进行引脚分配
    • 7、生成比特流文件
    • 8、下载到开发板
  • 二、总结

前言

  • 本次学习的最终目的是为了掌握Zynq Soc FPGA,Zynq Soc FPGA和我们之前介绍的intel Soc FPGA的基本架构是一样的,现网上关于Zynq Soc FPGA的资料较多,因此先掌握这一块,从而可以更好的理解intel Soc FPGA。

  • Zynq Soc FPGA 包含PS和PL两部分,其中PS部分是ARM部分,PL是FPGA的部分,这里同样对应着我们intel Soc FPGA 的HPS和FPGA部分。

  • 根据之前quartus的FPGA学习经验,这里先掌握PL端的设计流程。于是就由之前的quartus开发FPGA,变成了用Vivado来开发。

  • 之前一直用quartus,因此听到Vivado比较恐惧,但是出于资料的原因,不得不接触,但是接触后发现操作流程都是一样的,大概只是界面不同而已,另外Vivado的界面比较复杂,多操作几遍就可以啦。

一、PL部分

  • 学习的目的:掌握如何用Vivado进行FPGA设计
  • 设计内容:实现一个简单的二选一多路器

1、创建工程

Create Project—— 填项目名称(注意路径)—— 选择对应器件——finish

2、添加.V文件

左侧栏找到Add Sources——选择创建HDL文件—— Create File(给出名字)——finish

3、编写程序后分析综合(就是普通的verilog程序)

module mux2(input a,input b,input sel,output out
);assign out = (sel == 1 )? a:b;
endmodule

分析和综合

右上角等待分析综合成功

完成之后可显示报告进行查看

4、编写仿真文件并进行仿真(和上述方法一样,只是在添加文件的时候选择仿真文件即可)

timescale 1ns / 1ns

module mux2_tb( );reg a;reg b;reg sel;wire out;
mux2 mux2 (.a(a),.b(b),.sel(sel),.out(out)
);
initial begina = 0;b = 0; sel = 0;#200;a = 0;b = 1; sel = 0;#200;a = 0;b = 1; sel = 1;#200;a = 1;b = 1; sel = 0;#200;$stop;end
endmodule

编写完成后,即可运行仿真

另外在如下橙色框处点击,还可查看RTL图

5、波形验证正确,进行布局布线


如何去看布局布线有没有完成:

  • 可以点击第一个红色框就会出现工程汇总

  • 看第二个红色框,就能有绿色的圈,当出现对号的时候,说明布局布线完成

    简单说一下,布局布线完成后开始时序仿真,我目前一般不需要这一步

  • 功能仿真(前仿真)和时序仿真(后仿真)的区别在于:会有延迟的表现

  • 本来b和out的上升沿应该完全对齐,但是现在没有对齐,而是延迟了5.592ns

6、无错误后,进行引脚分配

先双击open

打开引脚分配


点击ctrl+s即可保存,和工程名字相同——ok

引脚分配完成后就能看到,资源里面,多了.xdc

双击target文件:即可查看分配的引脚

7、生成比特流文件

点击下面红色框,生成比特流,为了下载到开发板上去

在此双击生成比特流文件,然后即可点击项目汇总,等待生成成功。——如果引脚随意分配,很有可能是不能成功生成的。——分配的话是要符合基本架构的,比如一个开关,不能接到一个LED上面去

8、下载到开发板

打开硬件管理器

如果插上板子,还出现没有硬件,点击open target,然后自动连接

即可出现如下:右键——program即可

然后即可在开发板进行调试。

二、总结

PL部分的设计流程

  1. Vivado创建工程
  2. 添加V文件并编写代码
  3. 添加仿真文件,编写仿真代码
  4. 进行仿真验证
  5. 布局布线
  6. 引脚分配
  7. 生成比特流文件
  8. 下载到开发板

熟悉PL部分设计流程之后,然后就可以继续进行PS部分的学习啦!

参考:
1 小梅哥zynq SOC 的视频
2 (主要学习引脚约束文件咋写)

Zynq笔记(一) —PL端(FPGA部分)的设计流程相关推荐

  1. FPGA基本开发设计流程

    FPGA基本开发设计流程,九个步骤搞定 http://mini.eastday.com/bdmip/190809020717157.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPG ...

  2. FPGA基本开发设计流程,九个步骤搞定

    FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.FPGA的开发流程一般如图1-10所示,包括电路功能设计.设计输入.功能仿真.综合优化.综合后仿真.实现.布线后仿真.板 ...

  3. 【沧小海笔记】之基于FPGA的以太网设计相关知识——第三章 xilinx 三速以太网IP核(TEMAC)的介绍

    总目录在这里哦~ https://blog.csdn.net/z123canghai/article/details/114649502 Xilinx为我们提供了一个叫做"Tri-Mode ...

  4. 视频流 zynq Linux 至 pl,AR# 46913: Zynq-7000 示例设计:使用面向 DEVCFG 的 Linux 驱动程序对 PL 进行编程...

    解决方案 说明: 要使用面向 devcfg 的 Linux 驱动程序对 PL 进行编程,比特流应转换为二进制. 此操作可使用 BootGen 工具. BootGen 工具使用"BIF&quo ...

  5. 学习笔记-java编程-交通灯管理器设计流程。

    先抛出需求: 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 . ...

  6. B端页面——详细表格设计流程

    作者:

  7. ZYNQ C++ 访问PL物理地址

    Linux 下应用程序要通过设备驱动程序来访问外设.这就需要在设备树中添加设备,并且编写设备驱动程序.这是比较复杂的工作. 在ZYNQ 中,PL 端的外围电路通过AXI 4 接口与PS 连接.peta ...

  8. Altera FPGA/CPLD设计 基础篇+高级篇(附随书光盘)

    获取方法: 微信公众号:OpenFPGA   后台回复 Altera设计 基础篇介绍 <Altera FPGA/CPLD设计(基础篇)>是王诚.蔡海宁.吴继华编著的一本图书.该书可作为高等 ...

  9. 5个步骤带你入门FPGA设计流程

    导读:最近几年,FPGA越来越火.微软甚至曾表示要数据中心里,使用FPGA"代替"CPU.FPGA英文全称是Field Programmable Gate Array,即现场可编程 ...

最新文章

  1. 从管道中飞出的不一定是炮弹,也可能是无人机
  2. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
  3. 树莓派 -- 按键 (key)使用BCM2835 gpio library
  4. 一个简单XSS攻击示例及处理
  5. 我看360与酷派的“爱情”之争
  6. ITK:计算网格的法线
  7. OpenShift v3:使用WildFly和MySQL的Java EE 7入门
  8. coreldraw错误代码14001_CorelDRAW文件损坏的几种解决方法
  9. 如何显示内存中的 HTML 网页
  10. 资源下载| 机器学习经典书籍《统计学习方法》(Python3.6)代码实现(及课件)
  11. poj 1511 Invitation Cards
  12. delphi 复制文件 强制覆盖_网传美国选这三家中国橱柜企业为反倾销强制应诉人...
  13. DP-桥接模式(Bridge Pattern)
  14. linux yum仓库制作,yum仓库搭建之RPM包制作
  15. linux定时器与线程,Linux下的多线程定时器实现
  16. SQL存储过程实例详解
  17. 下载谷歌浏览器官方正式(稳定)版以及历史各种版本
  18. 【调剂】西安工业大学刘欢教授“宽光谱量子点成像”科研团队接收5名调剂学生...
  19. 算法学习01- 生兔子的问题
  20. python startswith正则表达式_Python 正则表达式

热门文章

  1. 关于 无法打开chormdriver 因为无法验证开发者 的解决方案[已解决]
  2. C语言程序设计--商品信息管理系统
  3. 为什么 Redis 单线程却能支撑高并发?
  4. 离散题目13(判断自反关系)
  5. Qt编写视频监控管理平台(支持海康/大华/宇视/华为/天地伟业/H264/H265等)
  6. 【UE4】搭建局域网内VR直播 UE4.27
  7. Java Robot对象实现服务器屏幕远程监视(来自:JAVA-CN.COM)
  8. [无线连接手机]-通过局域网无线连接调试手机设备
  9. 【8019】俞军给淘宝产品经理的分享
  10. 你坐飞机时可能意识不到,AI已经全流程为你保驾护航