搜索
bottom↓
回复: 12

[zynq学习] 在 zybo 上用 FPGA 点灯

[复制链接]

出0入0汤圆

发表于 2014-8-18 18:20:49 | 显示全部楼层 |阅读模式
zybo的资料不多,vivado又是一个全新的设计环境,第一次接触xilinx在这个陌生的领域里,沿着前人的足迹一步步前进,同时也留下一点记号,方便后来的人.

zybo拿到后,第一个念头就是用FPGA点灯
安装好开发环境,据介绍ISE适合于传统的FPGA,而像ZYNQ的话,还是要VIVADO支持的比较好些,所以安装了vivado 2014.2.申请了试用Licenses.


建立新的工程,存放目录,选择器件,zynq-7000,clg400,-1,7z010 ... 一路默认下去. 工程建立完成.


在左边是流程向导,(Flow Navigator), Add Sources 建立或加入源文件,
建立一个 top.v 并加到工程中.


4.时钟,PLL...要点灯就要有时钟,肯定有PLL,所以还是左边,IP Catalog可以打开里面的IP核
 fpga features and design -> clocking -> clocking wizard. 上面有 MMCM,PLL MMCM不知道是什么,所以先选了PLL

  输入时钟从电路图上查到是50M,输出时钟 20M,一路默认生成.


5.top模块里开始连线,
   找到刚才生成的IP核 clk_wiz0.v文件,在 ed2\led2.srcs\sources_1\ip\clk_wiz_0 下面
   可以看到刚才的模块
module clk_wiz_0
(
// Clock in ports
  input         clk_in1,
  // Clock out ports
  output        clk_out1,
  // Status and control signals
  input         reset,
  output        locked
);
拷到top.v里面
module top(
    input iClk,
    input iRst_n,
    output [2:0] oLed
    );

wire    clk_50m=iClk;
wire    clk_20m;
wire    pll_lock;
wire    reset=~pll_lock;
wire [31:0] the_cnt;

assign oLed=the_cnt[23-:3];

clk_wiz_0 thepll  (// Clock in ports
  .clk_in1(clk_50m),  // Clock out ports
  .clk_out1(clk_20m),  // Status and control signals
  .reset(),
  .locked(pll_lock)
);     
counter #(.WIDTH(25)) gcnt1 (.clock(clk_20m),.reset(reset),.en(1),.cnt_out(the_cnt));
         
endmodule

然后自己写了个计数器也加进来

module counter
#(parameter WIDTH=16)
(
input clock,reset,en,
output wire [WIDTH-1:0] cnt_out
);
reg [WIDTH-1:0] count;
// Reset if needed, or increment if counting is enabled
assign cnt_out = count;
always @ (posedge clock or posedge reset)
begin
if (reset)
count<=0;
else if(en)
count <= count + 1;
end
endmodule

一切都好了后开始编译,左边 synthesis 下的 run synthesis,

然后按提示implementation...
然后生成Bitstream结果出错了,因为还没指定管脚.
点implementation的implemented design可以看到右下有I/O ports在这里可以指定管脚.

如果没看到这个,可以从Layout->IO Planing 下面找到它

板上的50M接到E7,所以把clk_in指定到E7,死活不行,后面才发现,E7是PS(ARM9)预留的时钟口.
ARM9还有很多端口也是预留的,所以不能指派给FGPA用. 只好重新想办法
查电路图,还有一个L16,是从以太网口过来的125M,反正试一下,把时钟指派到L16,指派LED1,2,3到M14,M15,G14
然后回到最上面,把PLL的输入改成125M.重新编译生成BitStream,顺利完成,下载到板上,LED开始闪烁,一切正常.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2014-8-18 18:23:05 | 显示全部楼层
本帖最后由 linjpxt 于 2014-8-18 18:31 编辑

上传个测试工程  
zybo 资料 http://www.digilentchina.net/ven ... foid=1809&id=46
              http://www.digilentinc.com/Produ ... ,1198&Prod=ZYBO

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-8-18 20:43:59 | 显示全部楼层
Z7系列很好 就是太贵  楼主用的7Z010多少钱一片 ? 我记得Z7020要500多 RMB

出0入0汤圆

 楼主| 发表于 2014-8-18 21:01:11 | 显示全部楼层
mcupro 发表于 2014-8-18 20:43
Z7系列很好 就是太贵  楼主用的7Z010多少钱一片 ? 我记得Z7020要500多 RMB

据说不超过20刀,还没正式釆购过

出0入0汤圆

发表于 2014-8-19 22:03:55 | 显示全部楼层
z7的性能不错 用起来非常舒服 就是板子太贵。。。

出0入0汤圆

发表于 2014-9-8 23:34:59 | 显示全部楼层
linjpxt 发表于 2014-8-18 18:23
上传个测试工程  
zybo 资料 http://www.digilentchina.net/vendor/prod.php?infoid=1809&id=46
           ...

楼主卖板子的吧

出0入0汤圆

 楼主| 发表于 2014-9-9 08:38:14 | 显示全部楼层
ccrt 发表于 2014-9-8 23:34
楼主卖板子的吧

我不卖板,只是刚好买了这个板,觉得资料很少,花了好多天才摸索出点门道,想给别人也留点参考的东西,看起来大家兴趣不大,所以也就没接着写了。

出0入0汤圆

 楼主| 发表于 2014-9-9 08:41:29 | 显示全部楼层
ccrt 发表于 2014-9-8 23:34
楼主卖板子的吧

这个连接是官网的连接,但可以告诉你,现在从这边采购的话,确实是最便宜的。我要是卖板大可不必放它官网的购买联接出来。

出0入0汤圆

发表于 2014-11-24 22:00:38 | 显示全部楼层
我发现美国的卖的为什么比中国便宜1000,我也准备深入学习,楼主能加个好友么?学术价格我可以在国内买么?

出0入0汤圆

发表于 2014-11-25 01:07:43 来自手机 | 显示全部楼层
我对soc兴趣很大啊    只是对点灯兴趣不大

出0入0汤圆

发表于 2014-12-8 08:33:04 | 显示全部楼层
请问你用的zynq-7000开发板如何?我开始入手用,评估一下

出0入0汤圆

发表于 2015-3-7 00:10:17 | 显示全部楼层
谢谢分享,很好入门

出0入0汤圆

发表于 2018-7-29 22:11:05 | 显示全部楼层
不错,最近在学习这个,先mark下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 03:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表