提示:适合小小白的入门操作流程

文章目录

  • 一、新建工程(.xpr)
  • 二、新建Verilog文件(.v)
  • 三、RTL 描述和分析过程( RTL Analysis )
  • 四、添加TB文件,做功能仿真
  • 伍、设计综合( Synthesis )

一、新建工程(.xpr)

1.双击Vivado图标,打开界面

2.通过单击 Quick Start 组的 Create Project 来新建一个 Vivado 设计工程。
说明:在 Vivado 的启动界面中分为 Quick Start、Tasks、Learning Center 三组快速入口。其中,
(1)Quick Start 组包含有 Create Project(创建工程)、Open Project(打开工程)、Open Example Project(打开实例工程)。
(2)Tasks 组包含有 Manage IP(管理 IP)、Open Hardware Manager(打开硬件管理器)、
Xilinx Tcl Store(Tcl 脚本存储库)。
(3) Learning Center 组包含有 Documentation and Tutorials(文档和教程)、Quick Take
Videos(快速上手视频)、Release Notes Guide(发布注释向导)。


3.接着会打开创建新工程的向导,出现 Create a New Vivado Project 对话框,单击 Next 按钮。

4.进入到 Project Name 对话框,填入工程名称以及工程路径,根据实际情况确定是否勾选复选框 Create project subdirectory,如果勾选会在上面设置的工程路径中以工程名称增加一级目录,可通过观察勾选与否,实际工程存放的路径进行理解该复选框的具体作用。此处我们需要注意的是,工程路径与工程名一定不能包含空格以及中文字符,否则在后续流程中会出现错误。然后单击 Next 按钮。

5.选择RTL Project ,此时把Do not specify at this time勾上,表示在新建工程时不去指定源文件。然后单击 Next 按钮。

6.选择器件或者板卡。Parts表示器件,当然如果是板卡就点击Boards。器件可以根据系列去选,也可以直接在Search栏搜索器件型号。器件的选择根据你的FPGA芯片来定,一般在你所用的开发板手册里面可以找到。选择完毕点击Next。

7.确认整个工程信息后,点击Finish,完成工程创建。

工程建立后,接下来我们会进入 Vivado 工程设计界面,设计主界面主要包括:Flow Navigator、Project Manager、Design Runs 等模块。

二、新建Verilog文件(.v)

1.添加源文件,有两种方法,在 Flow Navigator 下,找到 Project Manager 并展开,单击 Project Manager 下的 Add Sources 选项;或者在 Sources 面板下单击 + 按钮。

2.出现 Add Sources 对话框,如图 3.21 所示。该对话框界面提供了如下几个选项:
1)Add or Create Constraints(添加或者创建约束);
2) Add or Create Design Sources(添加或者创建设计源文件);
3) Add or Create Simulation Sources(添加或者创建仿真文件);
在此。我们需要的是创建 Verilog HDL 源文件,因此选中第二项 Add or Create Design
Source 前面的单选按钮。单击 Next 按钮。


3.出现 Add or Create Design Sources 对话框,如图所示。此时,我们可以通过点击 Add Files 来选择添加本地现有的源文件,或单击 Create File 按钮来创建一个新的源文件。我们选择 Create File 按钮。

4.出现 Create Source File 对话框,如图所示。在该对话框中选择文件的类型和输入文件的名字。参数设置如图所示。单击 OK 按钮。

5.在图Addn Sources的对话框中,出现了我们新添加的 mux_2.v 文件。单击界面中 Finish 按钮。在之后跳出的框依次点击OK,Yes。这就完成了一个设计文件的新建。

6.返回到设计主界面中 Sources 面板下,出现了我们新添加了 mux_2.v 文件。

7.双击 Sources 面板下的 mux_2.v 文件,完成你的Verilog代码设计,并保存(或ctrl+s)。以一个二选一多路选择器为例,下图代码为:

module mux_2( a,b,sel,out);input a;input b;input sel;output out;//二选一多器实现代码assign out=(sel==1)?a:b;
endmodule


8.如果不止一个功能模块,重复上述操作完成对模块文件的设计与编码,然后保存。

三、RTL 描述和分析过程( RTL Analysis )

RTL 描述与分析功能可以对工程的 RTL 结构、语法进行查看,进而可以分析并修正逻辑上的错误

1.在 Flow Navigator 下,找到 RTL Analysis,并展开。单击 Open Elaborated Design,打开Elaborated Design。

2.单击图中的 Schematic,打开 RTL 原理图,RTL 描述与分析阶段后的原理图网表是由与 FPGA 底层部件无关的逻辑符号来体现的。

四、添加TB文件,做功能仿真

在完成RTL设计之后,我们先需要对其做仿真来验证其功能的正确性。这里先需要添加testbench文件,来给设计输入测试激励。

1.添加testbench文件。在Flow Navigator界面下点击 Add Sources(或者点击+) -> Add or create simulation sources -> Create File,则会出现如下界面,选定文件名(File name),文件类型(File type)。接下来依次点击OK,Finish, OK、yes完成文件的创建。




2.在Sources框找到刚新建的tb文件,双击进行编辑,完成编辑后保存。下图代码为:

`timescale 1ns / 1ps
module mux_2_tb(   );reg s_a;reg s_b;reg sel;wire out;mux_2 mux_2_inst0(.a(s_a),.b(s_b),.sel(sel),.out(out));initial begin  s_a=0;s_b=0;sel=0;#200;s_a=0;s_b=0;sel=1;#200; s_a=0;s_b=1;sel=0;#200;s_a=0;s_b=1;sel=1;#200;s_a=1;s_b=0;sel=0;#200;s_a=1;s_b=0;sel=1;#200;s_a=1;s_b=1;sel=0;#200;s_a=1;s_b=1;sel=1;#200;
$stop;end
endmodule


3.在Flow Navigator界面下点击 Run Simulation -> Run Behavioral Simultion。如果代码没有错误,则一会儿将会在右边出现如下图所示的波形窗口,使用如图像四周扩展的图像,可以对波形全局预览。
4.在Scope框里,选择模块,其内部信号显示在其右边的Objects框里,可以右击选择Add to wave window,将其添加到波形显示窗口。通过移动黄色的线,可以观察每一个时刻的值。

伍、设计综合( Synthesis )

1.单击 Run Synthesis 开始对设计进行综合。共有三种方式:

  1. Flow Navigator 窗口下,单击 Run Synthesis ;
  2. Flow Navigator 窗口下,找到 Synthesis 并展开,单击 Run Synthesis ;
  3. Report下方的绿色小三角,下拉,单击 Run Synthesis ;


    2.选择使用的cpu的核心数(核心数越多越好),一般默认,单击 OK 按钮。

    3.当综合完成后( 左上角会显示Synthesis Complete ),出现 Synthesis Completed 对话框,选择 Open Synthesis Design 来打开综合后的设计进行观察,单击 OK 按钮。

后记:志不强者智不达。

Vivado FPGA基础设计操作流程(1)相关推荐

  1. FPGA基础设计(9)Verilog数据类型和表达式

    阅读<IEEE Standard for Verilog 2005>时,做一些整理和记录. 目录 1.数据类型 2.变量(variable) 3.数组 4.表达式 4.1 运算符 除法 / ...

  2. FPGA基础设计(一):VGA显示方法(文字、图形、波形)

    概述   VGA是一种学习FPGA最常见的基础实验.虽然现在的显示屏大多已经采用DVI和HDMI方案,但其实VGA在另一个地方还有应用,那就是大屏的LCD.目前4.3寸以上的TFT基本都是VGA接口, ...

  3. FPGA基础设计(11)Verilog任务、函数、系统任务、系统函数

    目录 1.概述 2.函数(function) 3.任务(task) 4.系统任务 4.1 显示任务 4.1.1 display和write任务 4.1.2 strobe监控 4.1.3 连续监控 4. ...

  4. FPGA基础设计(10)Verilog行为级建模(过程赋值)

    目录 1.过程赋值 1.1 特性1 1.2 特性2 2.过程连续赋值 3.case语句 3.1 do-not-cares 3.2 常数case 4.循环语句 5. 过程块 5.1 零延迟无限循环 5. ...

  5. FPGA基础设计(二):任意分频器(奇数,偶数,小数)

    分频器 前言 分频原理 偶数分频    6分频    代码    tb    仿真波形 奇数分频   仿真波形   代码   tb 小数分频    说明  半整数分频:N+0.5   仿真波形   代 ...

  6. FPGA基础设计之数码管显示

    1.数码管简介 数码管是一种半导体发光器件,其基本单元是发光二极管.一般分为七段数码管和八段数码管,多的一段是小数点.也有其他如N型.米型数码管以及16段.24段管等.本次设计的是八段数码管 1.1 ...

  7. FPGA基础设计(二):PS2键盘控制及短按、长按

    概述   PS2键盘也是一个经典的实验,可能很多人接触如何对通信协议.时序编程就是从这个实验开始学习的.USB键盘已经很普及,现在市场上还是有一些USB转PS2的转接头,还有一些转换芯片.这个实验虽然 ...

  8. FPGA基础知识极简教程(4)从FIFO设计讲起之异步FIFO篇

    博文目录 写在前面 正文 同步FIFO回顾 $clog2()系统函数使用 综合属性控制资源使用 异步FIFO设计 FIFO用途回顾 异步FIFO原理回顾 异步FIFO设计 异步FIFO仿真 参考资料 ...

  9. 《FPGA至简设计原理与应用》学习笔记1 —— FPGA基础

    课程资源 视频:https://www.bilibili.com/video/BV14K4y1u7kH/ 资料:https://www.aliyundrive.com/s/E9H7Mc5hqhu 第1 ...

最新文章

  1. C 语言编程 — 高级数据类型 — void 类型
  2. 解密:面部特征点检测的关键技术
  3. 《R语言实战》第7章
  4. C语言高级编程:char、signed char 和 unsigned char的使用区别
  5. .Net+MySQL组合开发(二) 数据访问篇
  6. block与inline,inline和inline-block,块级和行内元素,行内替换和行内非替换元素
  7. 工作日志WebRoot--编辑页关于处理两个关联的选择框
  8. 阿里云自研新一代企业云数据库POLARDB背后的技术
  9. 1.9 编程基础之顺序查找 02 输出最高分数的学生姓名 python
  10. Java实现动画逐字打印
  11. 参数pyinstaller_Python用PyInstaller打包笔记
  12. 知乎:全球发售2600万股销售股份 每股发售价51.8港元
  13. 更改数据库表中有数据的字段类型NUMERIC(18,2)为NUMERIC(18,6)
  14. xtrabackup-增量备份
  15. No WebApplicationContext found: no ContextLoaderListener registered?
  16. android js桥接,一种JavaScript和原生APP之间数据交互方法与流程
  17. IntelliJ IDEA 必备的快捷键大全
  18. 面试官:我们来聊一聊Redis吧,你了解多少就答多少
  19. Canvas—绘画圆弧
  20. 电商平台减少服务器性能,电商平台服务器数据安全灾备方案规划.doc

热门文章

  1. hihoCoder 题目答案
  2. 如何才能使其输入/输出的参数个数不限
  3. Elasticsearch学习笔记:MUST_NOT not working with EXIST in NESTED query
  4. postgresql启动流程之信号初始化
  5. 罗克韦尔自动化任命Susana Gonzalez为EMEA地区总裁
  6. 归并排序Java详解+例题
  7. 《人生效率手册》读后感
  8. 合并 2 个有序列表(关键词:有序列表/有序/合并/归并)
  9. 如何在手机上打包生成APK
  10. android4.4 电池管理