对zynq的学习的渴望由来已久,前不久买了一个基于xc7z010的开发板,现在将自己的学习的进阶之路记录在此,希望能给想要入门的zynq学习者一点帮助,本人也刚开始学习,能力有限,其中若有不足之处希望大家多多交流,以便共同进步!
xilinx zynq-7000系列芯片将处理器的软件可编程能力与fpga的硬件可编程能力实现了完美结合,有低功耗和低成本等系统优势,可以实现无与伦比的系统性能、灵活性和可扩展性,同时可以加速产品的上市进程。与传统的soc处理解决方案不同,zynq-7000器件的灵活可编程逻辑能实现优化与差异化功能,使设计人员可以根据大部分应用的要求添加外设和加速器。
下面我们从最基本的led流水灯开始zynq的进阶之路,教程使用的开发板使用的是xc7z010这颗芯片,芯片内部包含双核cortex-a9硬核处理器和aritx-7 fpga(ps+pl),本节我们先使用pl部分实现流水灯。首先我们要安装vivado 软件,
链接:https://pan.baidu.com/s/16ixgo5ckhfp_ov6knat3jg
提取码:ed5m
这里我们就不费时间去讲解如何安装软件了,安装教程百度比比皆是,我们使用的软件版本是vivado2017.1版。
其次我们要知道如何创建zynq工程,不步骤如下:
1、打开软件,创建新工程
创造verilog文件:
工程建立好以后界面如下所示:
2、编写流水灯verilog代码。
module led(
//sys signal
sys_clk_50m,
reset_n,
//led
led
);
parameter led_frequency = 49999999;
parameter udly = 1;
//sys signal
input sys_clk_50m;
input reset_n;
//led
output [3:0] led;
//sys signal
wire sys_clk_50m;
wire reset_n;
//led
reg [3:0] led;
reg [25:0] led_count;
always @(posedge sys_clk_50m or negedge reset_n)begin
if(!reset_n)begin
led <= 4'b0001;
led_count <= 26'd0;
end
else if(led_count == 26'd49_999_999)begin//1s count,50m
led_count <= #udly 26'd0;
led <= #udly {led[2:0],led[3]};
end
else begin
led_count i/o planning
约束引脚:
设置完成,保存设置,点击ok
点击run synthesis综合工程,可能需要一分钟时间:
约束时钟,点击constraints wizard:
点击next:
开发板时钟为50mhz,点击next,然后点击skip to finish完成时钟约束:
4、生成bit文件
点击generate bitstream生成bit文件
5、将程序下载到开发板中
将开发板上电,连接jtag
点击open hardware manager连接硬件
显示如下画面表示连接上zynq芯片
点击program device下载bit文件到设备中
然后我们的流水灯就愉快的跑了起来!
电动汽车充电桩概述与建设模式
华为mate10什么时候上市?华为mate10配置参数曝光:国产机终于跑在iPhone8前面了
9.9元试用无影云桌面,体验无PC高效办公
RFID读卡器助力工具管理,进一步提高工作效率
高通骁龙855芯片发布 5G大战即将上演
ZYNQ学习案例分析:PL流水灯设计方案
工业互联网的脉搏怎样才可以摸得准
数字绝缘电阻表的使用方法
单片机与MMC卡的接口
苹果发布iOS12.1.4更新 修复FaceTime群聊漏洞
为什么在计算机里Byte是从-128到127?
NVIDIA 、 Arm和Intel发布FP8标准化规范作为AI的交换格式
非绝缘DC/DC功率模块PTN04050A/C的特点性能及应用范围
机器自动化程度排行榜, 第一名竟然在亚洲
工业人工智能浪潮下人机交互的分析和解读
从中国智能手机产业链看本土芯片厂商的机会
显同电子分享舞台LED租赁屏需注意的问题
泰克示波器常见故障及原因分析
乘用车电线束设计验证方法
在Virtuoso中认识PMOS管和NMOS管