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 架构:一步步构建轻量级大语言模型

大语言模型(LLM)的爆发式发展让 LLaMA 系列模型成为开源社区的焦点 ——Meta 推出的 LLaMA 以简洁的架构设计和高效的性能,成为很多自研大语言模型的基准。不同于传统 Transformer,LLaMA 做了诸多关键优化:用 RMSNorm 替代 LayerNorm、SwiGLU 激活的 FeedForward、旋转位置编码(RoPE)、Pre-Norm 架构等。 本文将从零开始,拆解 LLaMA 的核心设计,并通过可运行的代码实现一个轻量级的 LLaMA-like 模型,帮助你理解大模型的底层原理。 目录 一、LLaMA 核心设计亮点 二、代码架构总览 三、逐模块解析代码 3.1 配置模块:config.py 3.2 基础层模块:layers.

大模型后训练学习计划 02 verl llamafactory

文章目录 * doubao * 一、为什么 verl 适合学习大模型后训练? * 二、学习路径建议 * 1. 先掌握基础概念和工具 * 2. 从示例代码入手,快速跑通流程 * 3. 深入源码,理解核心模块 * 4. 复现论文或参与社区,积累项目经验 * 三、结合实习需求的重点方向 * 总结 * gpt * gpt4.1 * 1. 关于 SFT 内容覆盖 * 2. 从 SFT 到 RL 的学习路径是否可行 * 3. verl 是否包含经典 SFT 学习资源? * 4. 推荐学习路径(适合初学者) * 总结 * doubao * 一、为什么 `verl` 适合从 SFT

5分钟部署GLM-ASR-Nano-2512:超越Whisper的语音识别模型快速上手

5分钟部署GLM-ASR-Nano-2512:超越Whisper的语音识别模型快速上手 你是否试过用语音转文字工具,结果录了30秒普通话,识别出来一半是粤语、一半是英文,还夹着“嗯啊哦”和错别字?或者开会录音导出后,关键数据全变成谐音梗?更别说低音量会议、嘈杂环境下的录音——很多工具直接放弃治疗。 直到我遇到 GLM-ASR-Nano-2512。它不是又一个“参数堆料”的大模型,而是一个真正为现实场景打磨出来的语音识别轻骑兵:1.5B参数,4.5GB体积,却在中文普通话+粤语+英文三语混合识别上稳压 Whisper V3;支持麦克风实时听写,连同事小声嘀咕的“这个需求下周再看”都能抓得清清楚楚;上传MP3、WAV、FLAC、OGG任意格式,点一下就出文字稿,不卡顿、不报错、不弹窗要GPU驱动。 更重要的是——它真的能在5分钟内跑起来。不需要配环境、不折腾CUDA版本、不下载十几个G的依赖包。本文就带你从零开始,用最直白的方式,把这套目前开源界语音识别体验最顺滑的方案,装进你的电脑或服务器。

Qwen3-4B极速文本对话:5分钟搭建你的AI写作助手

Qwen3-4B极速文本对话:5分钟搭建你的AI写作助手 1. 为什么你需要一个“快得像打字一样”的纯文本AI助手 你有没有过这样的体验: 打开一个AI对话页面,输入问题,然后盯着加载动画等上好几秒——甚至更久? 好不容易等到回复,却发现它卡在中间不动了,或者整段文字突然“啪”一下全蹦出来,毫无节奏感。 再点一次“继续生成”,界面又卡住,连清空历史都要刷新页面…… 这不是你在用AI,这是你在等AI。 而今天要介绍的这个镜像,不是让你适应AI,而是让AI适应你。 它不处理图片、不分析视频、不做多模态杂活,就专注做一件事:把文字聊得又快又顺、又准又稳。 它叫 ⚡Qwen3-4B Instruct-2507,名字里带闪电符号不是噱头——从你按下回车,到第一个字出现在屏幕上,平均只要 310毫秒(热缓存下),后续文字逐字流式刷新,像真人打字一样自然。 它不追求参数最大、显存最猛,而是把每一分算力都花在刀刃上:砍掉所有视觉模块,精简推理路径,用 Streamlit