2061|1

504

帖子

4

TA的资源

纯净的硅(高级)

楼主
 

【米尔ARM+FPGA架构之作MYD-JX8MMA7开发板】FPGA端开发体验-STEPBYSTEP [复制链接]

前言

MYD-JX8MMA7 硬件平台,由 FPGA+ARM 异构,FPGA 和 ARM 通过 PCIE 接口来进行数据的交互,FPGA 使用的是 Xilinx 公司的 Artix-7 系列芯片。

型号为xc7a25t ,逻辑资源 23360,一个PCIE 接口,4 个 GTP 高速串行接口,3 个 bank,一共有 150 个 FPGA 管脚。

配置:两路光口,SD卡,CSI并口摄像头,一路PCIE,复位按键,JTAG,启动模式配置拨码开关,IO通过ASP座引出。

 

过程

安装开发环境

选择什么版本vivado

https://china.xilinx.com/products/design-tools/vivado/vivado-ml.html#licensing

由于只做硬件开发,所以选择Vivado而不是vitis

我们的器件是 Artix‐7 系列所以选择Vivado ML标准版即可支持,是免费的。

 

 

 

安装Vivado ML标准版

 

https://china.xilinx.com/support/download.html

 

需要登录

 

 

 

下载非常快

 

弹出用户账户权限控制

点击是

 

 

 

 

 

 

只安装需要的器件支持,减少空间占用

 

同意所有

 

 

修改安装路径

 

 

下载是比较的

 

 

 

 

 

 

 

 

双击桌面图标打开

 

JTAG连接

参考原理图

 

 

Open target-> Auto connect

 

识别到芯片

 

 

监控系统温度

 

 

 

下载程序

xc7a25t上右键点击Program Device即可

 

 

 

 

 

 

新建工程

 

 

 

 

 

 

 

 

 

添加源码

 

 

 

 

 

 

添加代码,保存

 

 

module flow_led(

    input               sys_clk  ,  //系统时钟

    input               sys_rst_n,  //系统复位,低电平有效

    

    output  reg  [3:0]  led         //4个LED灯

    );

 

//reg define

reg [23:0] counter;

 

//*****************************************************

//**                    main code

//*****************************************************

                                                                                                                                                                                                                         

//计数器对系统时钟计数,计时0.2秒

always @(posedge sys_clk or negedge sys_rst_n) begin

    if (!sys_rst_n)

        counter <= 24'd0;

    else if (counter < 24'd1000_0000 - 1'd1)

    //else if (counter < 24'd5) //仅用于仿真

        counter <= counter + 1'b1;

    else

        counter <= 24'd0;

end

 

//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态

always @(posedge sys_clk or negedge sys_rst_n) begin

    if (!sys_rst_n)

        led <= 4'b0001;

    else if(counter == 24'd1000_0000 - 1'd1)

    //else if (counter == 24'd5) //仅用于仿真

        led[3:0] <= {led[2:0],led[3]};

    else

        led <= led;

end

 

endmodule

 

添加仿真文件

EEWORLDIMGTK20

EEWORLDIMGTK21

EEWORLDIMGTK22

EEWORLDIMGTK23

EEWORLDIMGTK24

 

添加如下代码,保存

EEWORLDIMGTK25

`timescale  1ns/1ns                // 定义仿真时间单位1ns和仿真时间精度为1ns

 

module  tb_flow_led();               // 测试模块

 

//输入

reg  sys_clk;                      // 时钟信号

reg  sys_rst_n;                    // 复位信号

 

//输出

wire  [3:0]  led;

 

//*****************************************************

//**                    main code

//*****************************************************

 

//给输入信号初始值

initial begin

    sys_clk            = 1'b0;

    sys_rst_n          = 1'b0;     // 复位

    #20  sys_rst_n  = 1'b1;     // 在第21ns的时候复位信号信号拉高

end

 

//50Mhz的时钟,周期则为1/50Mhz=20ns,所以每10ns,电平取反一次

always #10 sys_clk = ~sys_clk;

 

//例化led模块

flow_led  u0_flow_led (

    .sys_clk     (sys_clk  ),

    .sys_rst_n   (sys_rst_n),

    .led         (led      )

);

 

Endmodule

 

仿真

 

 

出现波形

 

 

可以设置仿真时间,点击如下按钮缩放到合适大小

 

 

鼠标框选指定区域可以放大指定区域,或者ctrl加滚轮缩放

 

 

综合

 

右上角显示状态

 

 

 

 

约束

 

右上角选择I/O Planning

 

 

 

板子FOGA端没有LED,所以任意选择几个引出的IO

 

 

 

Ctrl+s保存

 

 

修改引脚约束后,重新综合

 

生成bit文件

 

等待右上角显示完成

 

下载

见JTAG连接

在线逻辑分析仪仿真

 

测试

使用逻辑分析仪测试对应的引脚查看波形。

 

总结

参考《MYIR MYD-JX8MMA7 FPGA指导手册V1.0.0.pdf》提供了3个测试Demo,

《04_Sources\FPGA_Demo》提供了测试代码。

但是FGPA相关的文档内容没有CPU端的多,比如FPGA的时钟源等资源就没有介绍,提供的Demo也只有上述三个比较复杂的Demo,建议可以提供更多的针对外设和功能的由简单到复杂的Demo。

此帖出自工控电子论坛

最新回复

大佬 的作品很优秀呀,FPGA学习起来简单吗?  详情 回复 发表于 2023-2-23 12:09
点赞 关注
 

回复
举报

6968

帖子

11

TA的资源

版主

沙发
 
大佬 的作品很优秀呀,FPGA学习起来简单吗?
此帖出自工控电子论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表