vivado使用方法(初级)

article/2025/10/7 10:43:29

文章目录

        • 1 创建新工程
          • 1.1 工程创建
          • 1.2 新建Verilog文件
          • 1.3 仿真
        • 参考

1 创建新工程

1.1 工程创建

    1、首先打开Vavido软件,点击Creat Project或者在File——>Project——>New里面进行新工程的创建
在这里插入图片描述
在这里插入图片描述

    2、然后在弹出的界面上点击Next进入下一个界面进行项目的命名及保存位置的选择(注意保存路径不能有中文否则后面可能会引起一些不必要的错误),然后进行下一步
在这里插入图片描述

    3、选择RTL Project (一般为RTL工程),此时把Do not specify at this time勾上,表示在新建工程时不去指定源文件
在这里插入图片描述

    4、接下来选择开发板型号,Parts表示器件,Boards表示板子,器件可以根据系列去选,也可以直接在Search栏搜索器件型号。器件的选择根据你的FPGA芯片来定,此处我们先随便选择一个
在这里插入图片描述

    5、确认后点击Finish完成整个工程项目的创建
在这里插入图片描述

1.2 新建Verilog文件

    1、新建Verilog文件,直接点击1处或者右键2处后点击Add Sources进行Verilog文件的创建
在这里插入图片描述

    2、选择add or creat design source,其中1为创建约束文件;2为创建设计文件;3为创建工程仿真文件,因此我们存储选择第二个就可以了
在这里插入图片描述

    3、然后选择Create File,若已有文件,则选择Add File添加文件即可
在这里插入图片描述

    4、对文件进行命名与路径的选择(默认存放在工程默认路径),文件类型(File type)一般选择为Verilog,如果你用的是其它硬件描述语言,则选择你用的语言类型,然后点击Finish完成命名
在这里插入图片描述

    5、在弹出的对话框里一次选择OK,Yes完成设计文件的新建
在这里插入图片描述

    6、然后在Sources里面就可以看到刚才新建的设计文件,双击打开即可在右边的代码编辑区进行代码的编写
在这里插入图片描述
    7、运行后查看RTL原理图:在Flow Navigator 下点击RTL ANALYSIS -> Open Elaborated Design -> Schematic
在这里插入图片描述

1.3 仿真

    1、新建测试文件,和新建设计文件几乎差不多,只是在这里选择的是Add or create simulation sources
在这里插入图片描述

    2、同样在代码编辑区完成测试代码的编写
在这里插入图片描述

    3、 在Flow Navigator界面下点击 Run Simulation -> Run Behavioral Simultion。如果代码没有错误,则一会儿将会在右边出现如下图所示的波形窗口。
在这里插入图片描述



参考

    https://blog.csdn.net/qq_43646451/article/details/105419511
    


http://chatgpt.dhexx.cn/article/1pUuW3Eh.shtml

相关文章

Vivado基础教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、创建项目二、添加设计文件代码 三、综合四、添加约束文件五、上板5.1、生产比特流文件5.2、硬件调试 前言 本文详细的讲述了vivado项目创建到上板的流程。…

vivado基本使用流程(详细版,一步步跟着来一定能成功)

创建工程 1、 2 3、项目名称不能有空格,目录不能含有中文路径 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 可以查看一下新建的文件 二、设置IP核 1、 2、 3、 4、 5、 6、 7、 可以查看到生成的ip核 8、 找到例化模板,日常…

虚拟基类

对于虚拟基类的个人理解,如有误恳请指正。 1.不用虚拟基类 class cBase_A{int x; public:cBase_A( ){x10;}int getx(){return x;}void setx(int a){xa;}};class cBase_B: public cBase_A{ };class cBase_C: public cBase_A{ };class cDerived_D: public cBase_B…

系统调用。

什么是系统调用,有何作用? 生活场景:你去学校打印店打印论文,当你按下“打印”之后,打印机开始工作。你的论文打印到一半时,另一位同学按下了“打印”按钮开始打印他自己的论文。最终,你的论文和该同学的论…

C++ 基础之虚函数和虚基类

C 基础之虚函数和虚基类 C 有别于 C ,比较重要的就是其抽象、封装、继承和多态等特性。多态又具体地体现在重载、虚函数和模板等等之上。 今天就和大家聊一聊虚函数和虚基类。 虚函数 我们来思考一个问题。假如子(派生)类 B 继承自父(基&…

虚基类 的作用

虚基类 需要解决的问题 当派生类从多个基类派生,而这些基类又共同基类,则在访问此共同基类中的成员时,将产生冗余,并有可能因冗余带来不一致性虚基类声明 以virtual说明基类继承方式例:class B1:virtual public B作用…

虚基类的作用

1 概念 首先还是先给出虚继承和虚基类的定义。虚继承:在继承定义中包含了virtual关键字的继承关系; 虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是: CSubClass : public virtual CBase {}; 其中CB…

系统调用:系统调用的实现

7.3.3 系统调用的实现 1. 中断和陷入硬件机构 (1) 什么是中断和陷入。 中断是指CPU对系统发生某事件时的这样一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继…

系统调用、函数调用

1、系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的, 内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给…

C++ 虚基类

C 虚基类 概述多重继承的问题虚基类初始化例子 总结 概述 虚基类 (virtual base class) 是用关键字 virtual 声明继承的父类. 多重继承的问题 N 类: class N { public:int a;void display(){cout << "A::a" << a <<endl;} };A 类: class A :…

虚基类

虚基类 意义:假设定义了一个公共基类A。类B和类C都由类A公有派生,类D由类B和类C公有派生。显然D包含类A的两个拷贝,不仅多占用内存,而且还造成多个拷贝的数据不一致。 不定义虚基类的效果如下: class A {public:int x;void SetX(int a) { x = a; }A(int a = 0) { x = a…

【操作系统】系统调用

文章目录 系统调用系统调用举例文件拷贝的系统调用过程应用程序接口系统调用接口C语言系统调用接口Windows和UNIX系统调用示例系统调用与的库函数区别补充说明系统调用 系统调用,System call,提供了操作系统的服务接口。这些系统调用通常以C或C++编写,对某些底层任务可能以…

C++之基类调用自己的虚函数

每个类中存在虚函数时&#xff0c;当构造一个对象时&#xff0c;系统会为对象分配相应的内存空间。但是虚函数表存放在程序的只读数据段中&#xff0c;在实例化对象时&#xff0c;编译器会自动在对象里安插一个指针vPtr指向虚函数表VTable&#xff1b; 下面看一个小例子&#x…

如何调用基类私有的虚函数

直接看代码 #include <iostream> #include <stdio.h> using namespace std;class person { public:virtual void name(){cout<<"A::name"<<endl;}private:virtual void sex(){cout<<"A::sex"<<endl;} };class studen…

详解虚函数的实现过程之虚基类(4)

博客虚函数实现过程3 时提到过虚基类&#xff0c;这里呢&#xff0c;我们来详细讲述一下&#xff1a; 当我们在虚函数的声明结尾处添加“0”&#xff0c;这种虚函数就被称为纯虚函数。 它好似一个没有实现只有声明的函数&#xff0c;它的存在就是为了让类具有抽象类的功能&…

虚基类的基本概念

1.虚基类的作用 类B与类C都为类D的基类&#xff0c;而类A为类B与类C的基类&#xff0c;因此类D会继承类B与类C的多份同名成员。如下图所示&#xff1a; 在引用这些同名成员时&#xff0c;必须在派生类对象后增加直接基类名&#xff0c;以避免产生二义性&#xff0c;如&#x…

【虚基类、虚函数及应用】

虚基类 1.虚基类存在的意义 当在多条继承路径上有一个公共的基类,在这些路径中的某几条汇合处&#xff0c;这个公共的基类就会产生多个实例(或多个副本)&#xff0c;若只想保存这个基类的一个实例&#xff0c;可以将这个公共基类说明为虚基类。 在继承中产生歧义的原因有可能是…

虚函数的调用机理

C中&#xff0c;必然会接触到虚函数这个概念&#xff0c;那么&#xff0c;会不会对虚函数的内部机理产生疑问呢&#xff1f;而这里&#xff0c;就是对其的简单的研究&#xff08;本人水平有限(&#xff61;•́︿•̀&#xff61;) &#xff09; 首先&#xff0c;先来简单介绍…

系统调用

程序接口是 OS 专门为用户程序设置的&#xff0c;也是用户程序取得 OS 服务的唯一途径。程序接口通常是由各种类型的系统调用所组成的&#xff0c;因而&#xff0c;也可以说&#xff0c;系统调用提供了用户程序和操作系统之间的接口&#xff0c;应用程序通过系统调用实现其与 O…