Vivado 使用教程

Vivado 使用教程

目录

一、创建工程

二、创建文件

三、编写代码

四、仿真验证

五、配置管脚

六、生成Bitstream文件并烧录

一、创建工程

1.左边创建(或打开)工程,右侧可以快速打开最近打开过的工程。

2.来到这一步,命名工程并设置工程的存放路径(这里以D触发器为例)

3.选择RTL点击next。会来到添加文件环节(可以在这里添加.v等文件,不过后面再添加是一样的)直接点击next

4.选择芯片型号(根据开发板选,这里随便选的)完成后点next会弹出信息概要,finish完成。

       

二、创建文件

完成上述步骤会进入当前界面:

1.工程管理器add sourse添加(创建)设计文件,创建文件后选择Verilog语言并命名。

2.定义端口(可选),若在这定义后,文件会自动生成端口定义的代码,比自己敲省时间更方便。

(端口没有说明类型即默认wire类型,可根据情况定义reg类型:“output reg q”)

         

3.设计文件创建完成

三、编写代码

1.代码以D触发器为例:

`timescale 1ns / 1ps //timescale 时间单位/精度 module dff( //D触发器 input wire clk, //时钟信号 input wire d, //输入信号 output reg q, //输出信号 output reg q_n //输出信号取反 ); always@(posedge clk) begin q <= d; q_n <= !d; end endmodule

2.保存后编译(Run Synthesls),再修改报错直到通过。

        图示两处都是编译。点击后来到右图点OK,Number of Jobs 即 CPU 工作线程数,这个与电脑配置有关,配置越高可选数量越多(下图二片标注有误忽略,应该是工作线程数,我忘记改了)。编译的报错可在massage里面查看,尤其注意 error。

四、仿真验证

1.编译成功后创建仿真文件并完成代码编写,参考“步骤二”中设计文件的创建:

( 需选择 “add or create simulate sourse” 

  test bench 代码如下:

`timescale 1ns / 1ps //timescale 时间单位/精度 module dff_tb( ); //仿真一般无端口列表 reg clk_sim; reg d_sim; wire q_sim; wire q_n_sim; always #10 clk_sim = ~clk_sim; //每10个时间单位对clk进行翻转,即周期为20个单位 initial begin clk_sim = 0; d_sim = 0; #20; //延时20个时间单位(20ns) d_sim = 1; #40; d_sim = 0; #100; $stop; //停止仿真 end dff dff( //模块例化: 原模块名----在顶层文件中命名为 .clk (clk_sim), //原模块端口名----要连接的端口名 .d (d_sim), .q (q_sim), .q_n (q_n_sim) ); endmodule

2.保存后编译(Run Synthesls),再修改报错直到通过。

3.波形仿真 点击Run Simulation

(注意1:当有多个tb文件时,选中要仿真的tb文件 右键设为"active")

(注意2:vivado仿真上限时间在tool-setting-simulation中设置,仿真波形不全看看是否不够)

波形如图,每当clk上升沿到来时q输出d的值,说明代码实现D触发器的功能无误。

五、配置管脚

1.Run implement(跑成功后会解锁Run simulation里最后两个禁用的仿真选项,一般也用不到)

2.跑完后点击上图Open Implement Design文字,再到状态栏点击Window - I/O Ports

分配引脚(分配过的Fixed栏会自动打勾),设置相关参数(通常I/O standar 为LVCOMS33)。

3.ctrl+s保存,并完成命名后OK会生成XDC约束文件,约束文件打开位置见图二

六、生成Bitstream文件并烧录

1.生成bit流文件

2.如图示步骤点击,自动连接硬件,确保开发板已连接且通电否则识别不到。

3.烧录:连接开发板后会在这里出现芯片型号(对应新建工程时选择的型号),右键型号后点击“Program Device”再点Program烧录。

Read more

宇树机器人g1二次开发:建图,定位,导航手把手教程(二)建图部分:开始一直到打开rviz教程

注意: 本教程为ros1,需要ubuntu20.04,使用算法为fase_lio 本教程为遵循的网上开源项目:https://github.com/deepglint/FAST_LIO_LOCALIZATION_HUMANOID.git 一、系统环境准备 1.1. 安装必要的依赖库 # 安装C++标准库 sudo apt install libc++-dev libc++abi-dev # 安装Eigen3线性代数库 sudo apt-get install libeigen3-dev 库说明: * libc++-dev:C++标准库开发文件 * libeigen3-dev:线性代数库,用于矩阵运算和几何变换 * 这些是编译FAST-LIO和Open3D必需的数学和系统库 二、创建工作空间和准备 2.1. 创建定位工作空间 mkdir

百瑞互联(barrot)蓝牙,手柄,键盘,鼠标,蓝牙适配器,智能家居,蓝牙6.0。(BR8652,BR8654)

描述 BR8654A02 是北京百瑞互联(BARROT)推出的一款高度集成蓝牙 6.0 SOC 芯片,专为无线数据传输和智能互联设备打造。芯片整合了低功耗处理器、RF 收发器、多协议接口及电源管理单元,具备低功耗、适配范围广、连接稳定的特点,能满足各类蓝牙相关产品的无线通信需求,广泛适用于蓝牙 HID 设备、智能家居、遥控器、玩具、Mesh 网络及数据通信产品。 环境与封装参数 * 蓝牙 6.0 合规,连接更高效:兼容蓝牙 6.0 规范,支持 LE 1M/2M/Coded PHY 及 BR/EDR,可同时维护多链路连接(最多 4 个 BLE

手把手教你用Coze搭建AI客服机器人:从零到上线的完整流程

从零构建企业级AI客服:基于Coze平台的可视化实战指南 你是否曾为客服团队处理重复性问题而焦头烂额?或是面对客户咨询高峰时,响应速度跟不上,导致用户体验下滑?在AI技术日益成熟的今天,构建一个智能客服机器人已不再是大型企业的专属。对于中小型团队或个人开发者而言,借助像字节跳动推出的Coze这样的平台,完全可以在短时间内,以极低的成本打造出一个功能强大、响应迅速的AI客服助手。这篇文章,我将以一个实际项目为例,带你一步步走完从环境准备、流程设计、知识库搭建到最终部署上线的全过程。我们不会停留在理论层面,而是深入到每一个配置细节和可能遇到的坑,让你真正掌握这门实用技能。 1. 项目规划与环境准备 在动手敲下第一行配置之前,清晰的规划是成功的一半。一个AI客服机器人不仅仅是回答问题的程序,它需要理解业务、融入流程、并具备持续学习的能力。我们首先要明确它的核心使命:是处理售前咨询,还是解决售后问题?是7x24小时在线接待,还是作为人工客服的辅助筛选工具?目标不同,设计的侧重点和复杂度也截然不同。 对于大多数中小企业,一个典型的客服机器人需要覆盖以下几个核心场景: * 高频问题自

宇树机器人SDK2开发指南:从环境搭建到Demo测试

宇树机器人SDK2开发指南:从环境搭建到Demo测试

本文以宇树 G1 人形机器人为主线,系统介绍 unitree_sdk2(C++)与 unitree_sdk2_python(Python)的完整开发流程,涵盖通信架构原理、环境搭建、依赖安装、Demo 编译运行、网络配置以及常见问题处理,适合具身智能领域的初中级开发者快速上手。 目录 1. SDK2 概述与架构原理 2. 开发环境要求 3. 获取官方 SDK 包 4. 安装依赖与编译 5. 机器人与开发机网络配置 6. 调试并运行 Demo 7. Python SDK Demo 测试 8. 常见问题与解决方案 9. 总结 1. SDK2 概述与架构原理 1.