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

实测Llama-3.2-3B:Ollama部署后的惊艳对话效果展示

实测Llama-3.2-3B:Ollama部署后的惊艳对话效果展示 1. 开篇即见真章:不是“能用”,而是“好用” 你有没有过这样的体验——刚部署完一个大模型,满怀期待地输入“你好”,它回了个“你好!很高兴见到你”,然后你心里默默嘀咕:“嗯……确实能说话,但好像也没多特别?” 这次不一样。 当我把【ollama】Llama-3.2-3B镜像一键启动、选中模型、敲下第一个问题后,接下来的十分钟,我反复刷新页面、截屏、保存对话、又换角度再问一遍。不是为了测试它“会不会答”,而是忍不住想确认:这真的是本地跑的3B参数模型?不是偷偷连了什么云端服务? 它不卡顿、不绕弯、不打官腔;能接住带情绪的提问,能处理模糊的日常表达,甚至在我故意写错别字、用口语缩略词、夹杂中英文时,依然稳稳给出逻辑清晰、语气自然的回答。 这不是参数堆出来的“厚重感”,而是一种轻巧却扎实的“

深度评 Mastering GitHub Copilot 课程:Copilot 版本差异(免费 / Pro)的讲解适配

Copilot 版本差异概述 GitHub Copilot 提供免费版和 Pro 版(现整合为 GitHub Copilot Individual 和 Business 计划),核心差异体现在功能权限、使用场景及代码生成能力上。 免费版(原学生/开源项目版) * 适用对象:学生、开源贡献者(需验证资格)。 * 功能限制:基础代码补全、单行/多行建议,但响应速度可能受限。 * 使用场景:仅支持个人非商业项目,部分私有仓库可能无法使用。 Pro 版(Individual/Business) * 增强功能:优先访问新特性(如 Copilot Chat)、更快的响应速度、支持私有仓库。 * 商业许可:允许商业代码生成,符合企业合规要求。 * 团队协作:Business 版提供团队管理工具,如使用量统计和策略控制。 课程讲解适配建议

Cogito-V1-Preview-Llama-3B 微信小程序开发:集成AI对话功能指南

Cogito-V1-Preview-Llama-3B 微信小程序开发:集成AI对话功能指南 最近在做一个微信小程序项目,需要给它加上一个智能对话的功能。用户可以在小程序里提问,然后得到一个像模像样的回答。听起来挺酷,但做起来发现一堆坑:小程序怎么调用外部AI接口?网络慢了怎么办?对话历史怎么存?这些问题不解决,用户体验就上不去。 我最后选了Cogito-V1-Preview-Llama-3B这个模型,它体积不大但能力不错,很适合放在服务器上给小程序用。折腾了几天,总算把前后端都跑通了。今天就把整个过程,包括代码怎么写、问题怎么解决,都整理出来。如果你也想在小程序里加个AI助手,这篇文章应该能帮你省不少时间。 1. 项目准备:理清思路与搭建环境 在动手写代码之前,得先把整个流程想清楚。我们的目标是:用户在微信小程序里输入问题,小程序把问题发给咱们自己部署好的AI模型服务器,服务器处理完再把答案传回小程序,最后显示给用户。 听起来就是“请求-响应”这么简单,但微信小程序有自己的一套规则,不能随便访问外网。所以,我们需要一个自己的后端服务器,作为小程序和AI模型之间的“中间人”。

【Coze-AI智能体平台】解锁 Coze 工作流:逻辑控制・数据处理・AIGC 多媒体全场景实战

【Coze-AI智能体平台】解锁 Coze 工作流:逻辑控制・数据处理・AIGC 多媒体全场景实战

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人方向学习者 ❄️个人专栏:《coze智能体开发平台》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、业务逻辑节点 * 1.1 选择器节点 * 1.2 意图识别节点 * 1.3 循环节点 * 1.4 批处理节点 * 1.5 变量聚合节点 * 1.6 代码节点 * 1.6.1 JSON? * 1.6.2 python异步编程 * 1.7 数据库节点 * 1.7.1 新增数据节点 * 1.7.2