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

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

之后准备好硬件电路

6. 开发板硬件电路模式设置

开发板环境:vivado2019.2

开发板:Zedboard 芯片型号:xc7z020clg484-1

img

从上面这个图可以看出,开发板有三种模式JTAG,QSPI,SD卡,

从图可以看出三种模式基本取决于MIO4和MIO5这两个管脚的设置

开发板跳线帽原理图

img

JTAG启动模式:

image-20240313102952976

QSPI启动模式

image-20240313103102766

SD卡启动模式

image-20240313103230471

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

image-20240311182608096

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

然后进行下面的操作。

7. 配置芯片、程序烧写

①将vivado与板zedboard开发板连接。

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

posted @ 2024-03-12 09:39  L707  阅读(941)  评论(0编辑  收藏  举报