首页 > 其他分享 >vivado的使用步骤与仿真详解(LZQ_0311)

vivado的使用步骤与仿真详解(LZQ_0311)

时间:2024-03-12 09:45:40浏览次数:30  
标签:set led get LZQ 引脚 0311 vivado property ports

vivado仿真

vivado集成了HLS工具,可以直接使用C \ C++ \ systemC 语言对Xilinx的FPGA器件进行编程。

用户无需手动创建RTL,通过高层次综合生成HDL级的IP核,从而加速IP创建。

8b0213e1ad6f089aa894de9075036cb

参考了下面的视频整理出的流程与步骤:

vivado视频教程:

第一讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=7&vd_source=da31a9aa66fbe4d6b904e621d9943c75

第二讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=8&spm_id_from=pageDriver&vd_source=da31a9aa66fbe4d6b904e621d9943c75

第三讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=9&vd_source=da31a9aa66fbe4d6b904e621d9943c75

1.创建工程

vivado界面介绍:

image-20240311104753678

第①步:创建文件夹:

注意:文件夹的名字中不能含有中文。

第②步:创建工程:

选项1:创建工程

image-20240311103048834

选项2:打开一个已经存在的工程

image-20240311103154516

选择项目保存的地址,和项目保存的名称。

image-20240311105320535

点击next

若未提前写好代码就取消此项勾选

7654e953f96b7cc2920e9b8a2e985cc

image-20240311113033666

如果提前写好代码,检查选项(一般默认为下面的选项)

image-20240311113231413

选择器件:

image-20240311113342387

视频教程中的SOC型号是:XC7Z020-CLG400-1

而我用的zedboard的SOC型号:XC7Z020-CLG484-1

方法①直接输入:

可以直接在search里面输入型号。

image-20240311135328967

方法②按系列查找:

按照系列查找

image-20240311135733843

image-20240311140051818

image-20240311140114196

等待一会儿

image-20240311140156469

image-20240311140218012

实际的开发顺序也是从上到下。

官方语言模板的使用方法:

①-⑥: 其中⑥就是例化源语的模板。可以直接拷贝出来。

image-20240311142712863

更改soc的方法

若需要更改soc器件的型号:

image-20240311140457347

按照如下方式重新选择

image-20240311140734044

2.设计输入

image-20240311143528784

image-20240311143738461

如果有写好的代码可以直接添加已经存在的文件,如果没有可以创建新的文件。

以下为创建新的文件

image-20240311144108875

核对无误后点击finish

image-20240311144407169

image-20240311144514603

image-20240311144553782

image-20240311144700153

image-20240311144953330

开始编写自定义的程序:

image-20240311151426168

自定义程序:

module project_1(
    input sys_clk,    //系统时钟
    input sys_rst_n,  //系统复位,低电平有效
    output[1:0] led //LED灯
    );
reg   [25:0]   cnt;
    //对计数器的值进行判断,输入LED的状态
assign led = (cnt < 26'd2500_0000) ? 2'b01 : 2'b10 ;
//assign led =(cnt<26 d5)?2'b01:2'b10://仅用于访真
//计数器在0~5000_000之间进行计数
always @ (posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        cnt <= 26'd0;
        else if(cnt< 26'd5000_0000)
        //eise if(ent<26'd10)//仅用于仿真
            cnt <= cnt + 1'b1;
        else
        cnt<= 26'd0;
end    
endmodule

3.RTL分析设计

打开设计

左侧工具栏==>RTL ANALYSIS ==> ==Open Elaborated Design

image-20240311152201072

稍等一会儿

image-20240311152247700

生成了下图右侧的原理图:

image-20240311152638342

4.做IO引脚的约束:

方法①

将右上角的选择框调整到 IO-Planning管脚约束。

image-20240311154202540

IO-Planning管脚约束界面如下:

image-20240311154314989

image-20240311155127680

package pin 的管脚约束需要查看电路板的管脚的原理图,然后进行选择。

image-20240311155655015

image-20240311155824094

分配时钟引脚:

在PDF文件中搜索GCLK,找到PL的GLK

image-20240311164014136

经过一段时间的查找,此晶振的具体数据为:https://blog.csdn.net/kobesdu/article/details/47132991

image-20240311164147019

原视频的引脚为U18,但是在zedboard的开发板上面的的引脚设置为Y9

image-20240311164636197

注意:引脚与电源的电压

image-20240311173016110

分配复位引脚:

在PDF中搜索reset,发现并未搜索到PL的reset,但是可以利用SW0做功能的替换。

image-20240311172608987

原视频的引脚为N16,此处采用得 引脚为F22

注意:引脚与电源的电压

image-20240311172857030

分配LED引脚:

image-20240311175726565

注意LED的电压,进行电压更改。image-20240311175618996

将所有的引脚都分配完之后进行保存(快捷键 ctrl+s)

image-20240311180217518

保存的文件夹命名和项目命名一致,此次命名为project_1

image-20240311180649104

生成的.XDC文件(展示)

set_property PACKAGE_PIN Y9 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]
set_property PACKAGE_PIN F22 [get_ports sys_rst_n]
set_property IOSTANDARD LVCMOS33 [get_ports sys_rst_n]
set_property PACKAGE_PIN H17 [get_ports {led[1]}]
set_property PACKAGE_PIN H18 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]

方法②

image-20240312085337760

image-20240312085751164

image-20240312090501814

注意,自动生成的管脚约束信息是两行,而此处写的是集合到了一行,两种写法都可以。

5、分析综合、设计实现、生成比特流

方法①逐步进行

image-20240311181208110

方法② 直接生成比特流

image-20240311181314071

选择cpu核数。

image-20240311181359883

image-20240311181511956

编译完成后按如下顺序操作

image-20240311181855686

之后准备好硬件电路:

准备好电源线,下载器,先打开电源开关:

image-20240311182608096

此时需要先将连接器连接好,将开发板上电,否则此处无法进行连接。

然后进行下面的操作。

image-20240311182034426


image-20240311182404210

直接点击program

image-20240311182428475

zedboard的配置的灯会亮,两个灯会交替闪烁

注意:开发板断电后上电,程序就没了。

vivado视频教程:

第一讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=7&vd_source=da31a9aa66fbe4d6b904e621d9943c75

第二讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=8&spm_id_from=pageDriver&vd_source=da31a9aa66fbe4d6b904e621d9943c75

第三讲:https://www.bilibili.com/video/BV1XU4y1M7nw?p=9&vd_source=da31a9aa66fbe4d6b904e621d9943c75

标签:set,led,get,LZQ,引脚,0311,vivado,property,ports
From: https://www.cnblogs.com/L707/p/18067635

相关文章

  • day20240311周一python学习共100课
    day20240311周一python学习共100课。今天学到了第几课?听懂了吗?今天学10课。学3课,5课。买的好,买的少。父母家境好的家庭,会更轻松。------》第4课:编程语言就是把人的语言,转换成计算机机制能听得懂的语言(二进制语言)。1.写代码2.翻译代码到二进制。 跟着视频操作一遍就......
  • 关于Vivado RTL Analysis闪退的问题
    1.看工程路径是否有非法名称,如中文、空格、等特殊字符,标准路径是只有字母数字下划线。2.内存是否足够,这个一般没啥问题3.最关键的也是最不容易被发现的,在launch时会让你选numberofjobs数字,一般用默认就好了,我手贱改成了最大32,结果就发生了闪退的问题,等我改回来发现不闪退了,......
  • (笔记)Vivado操作之时序约束介绍
     一、前言      任何一个FPGA工程都需要设置相关的时序约束,下面将介绍Vivado中如何进行时序约束操作以及各种约束的使用方法。 二、时序约束界面        在一个工程运行到IMPLEMENTATION后,进入到左侧的FlowNavigator窗口,点击IMPLEMENTION下的EditConstraint......
  • Verilog的学习教程与笔记(LZQ自用):
    verilog的学习教程与笔记(LZQ自用):第1章Verilog的历史视频讲解:https://www.bilibili.com/video/BV14K4y1u7kH?p=3&vd_source=da31a9aa66fbe4d6b904e621d9943c75​ 硬件描述语言,英文全称为HardwareDescriptionLanguage,简称HDL,HDL是一种用形式化方法来描述数字电路和数字......
  • Vivado DDR4, BRAM与定点数加法模块交互调试
    VivadoDDR4,BRAM与定点数加法模块交互调试一、实验目的在上一实验《VivadoDDR4和BRAM交互调试经验分享-George2024-博客园(cnblogs.com)》的基础上,加入定点数加法这一功能模块,搭建一个最小的系统,实现DDR4,BRAM和功能模块的交互。相关代码已经发布在《GeorgeLin200100/F......
  • Invalid character ( found Illegal strategy name: 'Vivado Synthesis Defaults(2)'
    出现问题的操作步骤:Tools---settings---啥也没改,点击ok或者apply就会弹出这个错误,如下图: 解决方法: 在4数字标的输入框里输入1,回车之后这个问题就消失了。可能是不知道啥时候动点了什么,导致了这个问题,比较像是Vivado的Bug。本来都打算重装vivado了,还好随便试了一下解决了。......
  • vivado 时序约束1
    1.常见的xdc约束命令2.对异步时钟进行时序约束对异步时钟组和时钟域交汇进行约束在“ClockInteraction”(时钟交互)报告中可快速明确异步关系:无公用基准时钟的时钟对或者无公共周期(未扩展)的时钟对。即使时钟周期相同,从不同时钟源生成的时钟仍为异步关系。必须仔细审查异步“Clo......
  • 1-1-04 VIVADO设置VSCODE为第三方编译器
    使用第三方编辑工具可以让开发代码变的更加高效,vscode是非常好用的第三方编辑器,下面我们演示如何vivado中设置vscode为第三方编译器双击打开vivado程序点击设置选择代码编译器"TextEditor"选择编辑器,里面包含Notepad++等各类编译器,但是我们要设置的VSCODE并不包含在里面......
  • 1-1-02 AMD(XILINX) FPGA开发工具Vitis(vivado)安装
    1.1Vitis概述Vitis统一软件平台可实现在Xilinx异构平台(包括FPGA、SoC和VersalACAP)上开发嵌入式软件和加速应用。它可为边缘、云和混合计算应用加速提供统一编程模型。利用与高层次框架的集成,通过加速库采用C、C++或Python进行开发,或者使用基于RTL的加速器和低层次......
  • 35 VIVADO用户IP软件总线接口封装
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!1概述使用VIVADO基于图形化创新编程FPGA的方式可以大大提高FPGA编程效率,但是前提是把代码打包成图形化的IP......