ZYNQ学习记录

ZYNQ7020 学习

持续更新

PL部分

ZYNQ PL 部分等价于Xilinx 7 系列FPGA,因此我们将首先介绍FPGA的架构。
简化的FPGA基本结构由6部分组成
1.可编程输入/输出单元
2.基本可编程逻辑单元
3.嵌入式块RAM
4.丰富的布线资源
5.内嵌专用硬核
6.底层嵌入功能单元
在这里插入图片描述

PS部分

ZYNQ实际上是一个以处理器为核心的系统,PL只是它的一个外设
ZYNQ 处理器系统(PS)示意图如下所示,其中红色高亮区域为APU。
1.APU
2.外部接口
3.存储器接口
4.片上存储器
5.AXI接口
在这里插入图片描述

Verilog 和 VHDL 区别
这两种语言都是用于数字电路系统设计的硬件描述语言,而且都已经是IEEE的标准。 VHDL 1987年成为标准,而Verilog 是1995 年才成为标准的。这是因为VHDL是美国军方组织开发的,而Verilog是由一
个公司的私有财产转化而来。为什么Verilog能成为IEEE标准呢?它一定有其独特的优越性才行,所以说
Verilog 有更强的生命力。
这两者有其共同的特点:

  1. 能形式化地抽象表示电路的行为和结构;
  2. 支持逻辑设计中层次与范围地描述;
  3. 可借用高级语言地精巧结构来简化电路行为和结构;
  4. 支持电路描述由高层到低层的综合转换;
  5. 硬件描述和实现工艺无关。
    但是两者也各有特点。Verilog推出已经有20年了,拥有广泛的设计群体,成熟的资源,且Verilog容易掌握,只要有C语言的编程基础,通过比较短的时间,经过一些实际的操作,可以在1个月左右掌握这
    种语言。而VHDL设计相对要难一点,这个是因为VHDL不是很直观,一般认为至少要半年以上的专业培训才能掌握。
    近10年来,EDA界一直在对数字逻辑设计中究竟用哪一种硬件描述语言争论不休,目前在美国,高层次数字系统设计领域中,应用Verilog和VHDL 的比率是80%和20%;日本与中国台湾和美国差不多;而
    在欧洲VHDL发展的比较好;在中国很多集成电路设计公司都采用Verilog。

LED灯闪烁实验

本节实验任务是使启明星底板上的PL LED0和PL LED1以固定的频率交替闪烁。
思路:
1.找到LED0和LED1引脚
2.计数CNT,到一定值 跳转
3.输入:时钟信号,复位信号
输出:两个灯的信号

按键控制LED实验

本节实验任务是使用底板上的PL_KEY0和PL_KEY1按键来控制底板上的PL_LED0和PL_LED1两个
LED的闪烁方式。没有按键按下时,两个LED保持常亮;如果按键0按下,则两个LED交替闪烁;如果按键1按下,则两个LED同时闪烁。
思路:
1.找到LED0和LED1,两个按键PL_KEY引脚
2.计数CNT,到一定值 led闪烁。
3.输入:两个按键 时钟 复位
输出:两个灯

按键控制蜂鸣器实验

本节实验任务是使用启明星上的PL KEY0按键来控制蜂鸣器发声。初始状态为蜂鸣器鸣叫,按下按键后蜂鸣器停止鸣叫,再次按下开关,蜂鸣器重新鸣叫。
思路:
1.找到key引脚 蜂鸣器引脚
2.输入:时钟信号,复位信号 按键信号
输出:蜂鸣器信号
3.(按键消抖) 按键打一拍,发现两个不一样的时候 开始计数,计一段时间后发送存在的值,实现按键消抖的功能

触摸按键控制LED灯实验

本节的实验任务是使用触摸按键控制LED灯的亮灭,开发板上电后LED为点亮状态,手指触摸后LED
熄灭;当再次触摸时,LED点亮。
思路:
1.找到LED,触摸按键引脚
2.输入:按键 时钟 复位
输出:灯

呼吸灯实验

本节实验任务是使用正点原子ZYNQ开发板(核心板)上的PL LED,实现呼吸灯的效果,即由灭渐亮,然后再由亮渐灭。
思路:
1.输入:时钟 复位
输出:灯
2.占空比 频率 来控制呼吸灯的效果

IP核之MMCM/PLL实验

本节实验任务是使用Zynq开发板输出4个不同时钟频率或相位的时钟,并在Vivado中进行仿真以验
证结果,最后生成比特流文件并将下载到开发板上,使用示波器来测量时钟的频率。
思路:
1.输入:时钟 复位
输出 四个时钟信号

IP核之RAM实验

本节实验任务是使用Xilinx BMG IP核,配置成一个单端口的RAM,然后对RAM进行读写操作,通过在Vivado 自带的仿真器中观察波形是否正确,最后将设计下载到启明星Zynq开发板中,并使用ILA对其进行在线调试观察。
在这里插入图片描述

思路:
RAM的英文全称是Random Access Memory,即随机存取存储器,它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的。RAM主要用来存放程序及程序执行过程中产生的中间数据、运算结果等。

DINA:RAM端口A写数据信号。
ADDRA:RAM端口A读写地址信号,对于单端口RAM来说,读地址和写地址共用同该地址线。
WEA:RAM端口A写使能信号,高电平表示向RAM中写入数据,低电平表示从RAM中读出数据。
ENA:端口A的使能信号,高电平表示使能端口A,低电平表示端口A被禁止,禁止后端口A上的读写操作都会变成无效。另外ENA信号是可选的,当取消该使能信号后,RAM会一直处于有效状态。
RSTA:RAM端口A复位信号,可配置成高电平或者低电平复位,该复位信号是一个可选信号。
REGCEA:RAM端口A输出寄存器使能信号,当REGCEA为高电平时,DOUTA保持最后一次输出的数据,REGCEA同样是一个可选信号。
CLKA:RAM端口A的时钟信号。
DOUTA:RAM端口A读出的数据。
在这里插入图片描述
在这里插入图片描述
顶层
在这里插入图片描述
在这里插入图片描述

IP核之FIFO实验

本节的实验任务是使用Vivado生成FIFO IP 核,并实现以下功能:当FIFO为空时,向FIFO中写入数据,写入的数据量和FIFO深度一致,即FIFO被写满;然后从FIFO中读出数据,直到FIFO被读空为止
在这里插入图片描述

思路: 例化IP核
分为 读模块和写模块
分别将 将满和将空打两拍 用状态机来切换三种状态,读 写 和 等待

UART串口通信实验

本节实验任务是上位机通过串口调试助手发送数据给Zynq,Zynq PL 端通过USB_UART串口接收数据并将接收到的数据发送给上位机,完成串口数据环回。

UART 串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收。UART在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位,
在这里插入图片描述

RGB LCD彩条显示实验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值