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

Stable-Diffusion-v1-5-archive部署指南:GPU加速+7860端口一键启用

Stable-Diffusion-v1-5-archive部署指南:GPU加速+7860端口一键启用 想快速体验经典AI绘画的魅力吗?Stable Diffusion v1.5 Archive(简称SD1.5)作为文生图领域的“常青树”,以其稳定的表现和广泛的社区支持,依然是许多创作者和开发者的首选。今天,我们就来手把手教你,如何在几分钟内完成这个经典模型的部署,并立即通过浏览器开始你的AI绘画创作。 1. 环境准备与快速部署 部署过程非常简单,几乎不需要任何复杂的配置。你只需要一个支持GPU的云服务器实例,然后按照以下步骤操作即可。 1.1 系统要求与准备工作 在开始之前,请确保你的环境满足以下基本要求: * 操作系统:推荐使用Ubuntu 20.04或更高版本,其他Linux发行版也可。 * GPU支持:需要NVIDIA GPU,并已安装好相应的CUDA驱动(建议CUDA 11.8及以上)。 * 网络:能够正常访问互联网,用于下载模型文件。 * 存储空间:至少预留10GB的可用磁盘空间。 如果你使用的是云服务商提供的GPU实例,通常这些环境都已经预配置好了,

Lostlife2.0下载官网整合LLama-Factory引擎,增强NPC对话逻辑

Lostlife2.0整合LLama-Factory引擎,重塑NPC对话逻辑 在文字冒险游戏的世界里,玩家最怕什么?不是任务太难,也不是剧情平淡——而是和一个“话术机械、反应呆板”的NPC对话时,那种瞬间出戏的割裂感。明明世界观设定是末世废土,结果NPC张口就是“绝绝子”“破防了”,这种语言风格的崩塌足以让沉浸感荡然无存。 《Lostlife2.0》作为一款以深度叙事和角色互动为核心卖点的文字冒险游戏,在开发过程中就直面了这一难题。早期版本中,NPC的对话依赖传统的决策树系统:每句台词都由编剧手动编写,每个分支都需要精确配置。这不仅导致内容维护成本极高,更带来了“选项爆炸”问题——新增一条剧情线,往往要额外添加数十个节点,最终形成一张难以管理的复杂网络。 真正的转机出现在团队引入 LLama-Factory 之后。这个开源的大模型微调框架,原本主要用于科研与企业级AI定制,但《Lostlife2.0》团队敏锐地意识到:它或许能成为解决NPC智能瓶颈的关键工具。通过将LLama-Factory深度集成到开发流程中,他们成功构建了一套动态、可进化、风格一致的对话生成系统,彻底改变了传

机器人笔记——轨迹规划

机器人笔记——轨迹规划

前言 之前的文章讲过到了关节是持续运动的,雅可比矩阵正是描述关节运动与机器人末端运动映射关系的有力工具。然而有了如何映射的工具仅仅是分析机器人运动的开始,要知道空间两点间的运动轨迹是多样的,因此就产生了轨迹规划的概念。这里讲的轨迹规划可以理解为寻求最优路径的过程,下文对其展开介绍。  前序内容 * 机构自由度的计算 * 齐次变换与齐次变换矩阵的计算 * 机器人正运动学——学习笔记 * 机器人正运动学实例——PUMA560机械臂(附Matlab机器人工具箱建模代码) * 机器人逆运动学——以六自由度机器人为例(详解、易懂,附全部Matlab代码) * 双平行四边形码垛机械臂的运动学正逆解——简化方法(附完整Matlab代码、解析过程) * 机器人笔记——关于atan2与atan的区别 * 雅可比矩阵——机器人笔记(简化、易懂) 1. 什么是机器人轨迹规划? 想要解答这个问题,我们先来看什么是轨迹。 轨迹:就是机器人手臂(末端点或操作点)的位置、速度、加速度对于时间的历程; 我们在意的其实是,机器人末端轨迹对于工件的状态或相对关系,就像下面右侧图一样

OpenClaw龙虾机器人实战:基于Rust+Tauri构建带“安全沙箱”的跨平台清理Skill

摘要: 当 AI 走出聊天框,拿起系统的“ root 权限”,它是你的“数字管家”还是潜伏的“特洛伊木马”?2026年初,由 Peter Steinberger 打造的 OpenClaw(龙虾机器人) 横扫全球开源社区,GitHub 星标数迅速突破 18 万。它不再是单纯的 Chatbot,而是能通过 WhatsApp、Telegram 直接操控你电脑的执行型智能体。 然而,权力的下放伴随着巨大的风险——Meta 高管因授权 OpenClaw 访问邮箱而导致收件箱被批量清空的惨案犹在眼前。本文将基于 OpenClaw 架构,使用 Rust + Tauri 技术栈,开发一款跨平台临时文件清理 Skill。我们将重点解决两大核心难题: 1. 系统级深度操作:如何用 Rust 优雅地调用