网站建设从入门到精通pdf/搜狗关键词排名查询

网站建设从入门到精通pdf,搜狗关键词排名查询,自己做刷东西的网站,1小时前俄乌战况消息文章目录 一、安装VScode,在其中下载安装Verilog-HDL/SystemVerilog插件;(1)安装VScode(2)安装插件(3)与Quartus关联 二、不分模块实现流水灯(1)新建工程&…

文章目录

    • 一、安装VScode,在其中下载安装Verilog-HDL/SystemVerilog插件;
      • (1)安装VScode
      • (2)安装插件
      • (3)与Quartus关联
    • 二、不分模块实现流水灯
      • (1)新建工程
      • (2)添加流水灯实现代码
      • (3)配置引脚
      • (4)烧录
      • (5)实现效果
    • 三、分模块实现流水灯
      • (1)新建工程
      • (2)添加流水灯实现代码
      • (3)配置引脚
      • (4)烧录
      • (5)实现效果

一、安装VScode,在其中下载安装Verilog-HDL/SystemVerilog插件;

(1)安装VScode

网上的相关教程很多我就不过多赘述了。默认安装好了。

(2)安装插件

在VScode中安装相关插件
在这里插入图片描述

(3)与Quartus关联

打开Quartus按照下图步骤进行关联,关联成功后在新建文件后会自动打开VScode编辑器。

在这里插入图片描述

二、不分模块实现流水灯

(1)新建工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)添加流水灯实现代码

在这里插入图片描述
在这里插入图片描述
代码:

module lsd #(parameter TIME_1S = 26'd49_999_999)( input               sys_clk,input               sys_rst_n,output  reg [5:0]   led     
);reg     [25:0]      cnt;      // 修正为26位宽wire                add_cnt;wire                end_cnt;reg     [2:0]       cnt1;wire                add_cnt1;wire                end_cnt1;// 1秒定时器逻辑always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) begincnt <= 26'b0;end else if (add_cnt) begincnt <= (end_cnt) ? 26'b0 : cnt + 1'b1;endend// LED状态计数器逻辑always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) begincnt1 <= 3'b0;end else if (add_cnt1) begincnt1 <= (end_cnt1) ? 3'b0 : cnt1 + 1'b1;endend// LED显示逻辑(直接循环左移更简洁)always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) beginled <= 6'b000001;end else if (end_cnt) begin // 每秒左移一次led <= {led[4:0], led[5]}; // 循环左移endend// 控制信号定义assign add_cnt  = 1'b1;assign end_cnt  = (cnt == TIME_1S);assign add_cnt1 = end_cnt;assign end_cnt1 = (cnt1 == 3'd5);endmodule

(3)配置引脚

在这里插入图片描述

(4)烧录

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5)实现效果

在这里插入图片描述

三、分模块实现流水灯

(1)新建工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)添加流水灯实现代码

在这里插入图片描述
在这里插入图片描述
新建代码后跳转到VScode时会默认起一个名字最好另存为对应文件名否则在后面运行会报错。
新建保存完代码后将代码文件添加到工程中并将LedBlink.v设置为顶层模块
点击project然后点击Add/Remove Files in Project选项后点击上图箭头处将前面已经保存的文件添加进来然后点击Apply点击ok。
选中顶层文件右键选择Set as Top…

LedBlink.v

module LedBlink(input clk,input sys_rst_n_raw,  // 原始复位信号(KEY0)input pause_key,      // 暂停按键(KEY1)output [5:0] led
);// 同步复位信号reg [1:0] sync_rst_n;wire sys_rst_n;always @(posedge clk) beginsync_rst_n <= {sync_rst_n[0], sys_rst_n_raw};endassign sys_rst_n = sync_rst_n[1];// 分频模块(生成1Hz使能)wire en_1Hz;fenpin u_fenpin(.clk(clk),.rst_n(sys_rst_n),.en(en_1Hz));// 按键控制模块(消抖+脉冲)wire pause_pulse;key_ctrl u_key_ctrl(.clk(clk),.rst_n(sys_rst_n),.key_in(pause_key),.key_pulse(pause_pulse));// 暂停状态标志reg pause_flag;always @(posedge clk or negedge sys_rst_n) beginif (!sys_rst_n) beginpause_flag <= 1'b0;end else if (pause_pulse) beginpause_flag <= ~pause_flag;endend// 显示模块display u_display(.clk(clk),.rst_n(sys_rst_n),.en(en_1Hz),.pause(pause_flag),.led(led));
endmodule

fenpin.v

module fenpin(input clk,          // 50MHz时钟input rst_n,        // 复位信号(低有效)output reg en       // 1Hz使能信号
);reg [25:0] cnt;     // 26位计数器(0~49,999,999)always @(posedge clk or negedge rst_n) beginif (!rst_n) begincnt <= 0;en <= 0;end else beginif (cnt == 26'd49_999_999) begin // 50MHz → 1Hzcnt <= 0;en <= 1;end else begincnt <= cnt + 1;en <= 0;endendend
endmodule

display.v

module display(input clk,input rst_n,        // 复位信号(低有效)input en,           // 1Hz使能input pause,        // 暂停状态(1=暂停)output reg [5:0] led
);always @(posedge clk or negedge rst_n) beginif (!rst_n) beginled <= 6'b000001;  // 复位时LED0亮end else if (en && !pause) beginled <= {led[4:0], led[5]};  // 循环左移endend
endmodule

key_ctrl.v

module key_ctrl(input clk,          // 50MHz时钟input rst_n,        // 复位信号(低有效)input key_in,       // 原始按键输入(KEY1)output key_pulse    // 消抖后的按键脉冲(按下一次产生一个脉冲)
);reg [19:0] debounce_cnt;    // 消抖计数器(20ms)reg key_sync;               // 同步后的按键状态reg key_sync_prev;          // 前一刻按键状态(用于边沿检测)// 消抖逻辑always @(posedge clk or negedge rst_n) beginif (!rst_n) begindebounce_cnt <= 0;key_sync <= 1'b1;      // 复位时按键状态为高end else beginif (key_in != key_sync) begindebounce_cnt <= debounce_cnt + 1;if (debounce_cnt == 20'd1_000_000) begin // 20ms消抖key_sync <= key_in;debounce_cnt <= 0;endend else begindebounce_cnt <= 0;endendend// 边沿检测(下降沿:1→0)always @(posedge clk or negedge rst_n) beginif (!rst_n) beginkey_sync_prev <= 1'b1;end else beginkey_sync_prev <= key_sync;endend// 生成按键脉冲(按下时产生一个时钟周期高电平)assign key_pulse = (~key_sync) & key_sync_prev;
endmodule

(3)配置引脚

在这里插入图片描述

(4)烧录

在这里插入图片描述
在这里插入图片描述

(5)实现效果

在这里插入图片描述
四、总结
本次实验学会了更多关于Quartus的使用操作也学习到了更多关于FPGA的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS逆向案例-HIKVISION-视频监控的前端密码加密分析

免责声明 本文仅为技术研究与渗透测试思路分享,旨在帮助安全从业人员更好地理解相关技术原理和防御措施。任何个人或组织不得利用本文内容从事非法活动或攻击他人系统。 如果任何人因违反法律法规或不当使用本文内容而导致任何法律后果,本文作者概不负责。 请务必遵守法律…

碰一碰发视频saas系统技术源头一站式开发文档

碰一碰发视频系统技术源头一站式开发文档 一、引言 在数字化信息传播高速发展的当下&#xff0c;如何让视频分享更便捷、高效&#xff0c;成为商家和开发者们关注的焦点。“碰一碰发视频”系统以其独特的交互方式和强大的功能优势&#xff0c;为视频分享领域带来了革命性变革。…

VSCode + CMake

参考文献&#xff1a; 如何用 GCC, CMake 和 Make 编译C/C代码Windows 上的 Linux 子系统&#xff1a;WSLWSL&#xff1a;桌面 UI 远程连接 RDP 配置 VScode 文章目录 CMake 配置VSCode 配置launch.jsontask.jsonc_cpp_properties.json CMake 配置 编写如下的 CmakeLists.t…

yolov5学习及手势识别实战

目录 一、YOLOv5核心原理 1. 单阶段检测范式 2. 关键技术特性 二、YOLOv5网络架构组成 1. Backbone&#xff1a;CSPDarknet53 2. Neck&#xff1a;PANet&#xff08;Path Aggregation Network&#xff09; 3. Head&#xff1a;检测头 三、YOLOv5网络架构细节 1. 整体架…

VMware-workstation-17.6.3安装教程

1.下载VMware-workstation-17.6.3软件包 2.安装并输入许可码 3.开始使用

[Linux][经验总结]Ubuntu6.11.0 docker更换镜像源(实操可用的正确方法)

一、前言 关于Ubuntu更换docker镜像源&#xff0c;网上有很多的教程&#xff0c;但在实操中发现&#xff0c;更换的源无法生效——原因是我的docker是在系统安装时&#xff0c;选择附加安装的package的方式安装的。 现将处理过程记录如下。 二、获取镜像源 在网上随便找个几…

Element Plus开发实战指南:快速上手Vue 3企业级组件库

Element Plus全栈开发指南&#xff1a;从入门到企业级实战 一、环境搭建与工程配置1.1 项目初始化&#xff08;Windows/Mac通用&#xff09;1.2 配置文件关键代码 二、主题定制与样式管理2.1 SCSS变量覆盖方案2.2 暗黑模式切换 三、核心组件深度实践3.1 智能表格开发&#xff0…

VIVO手机如何实现证件照换底色?证件照换底色技巧分享

在日常生活中&#xff0c;我们常常需要使用不同底色的证件照&#xff0c;无论是办理证件、提交资料还是其他用途&#xff0c;一张符合要求的证件照都显得尤为重要。 而VIVO手机凭借其强大的拍照功能和便捷的图片编辑工具&#xff0c;为我们提供了一种简单高效的证件照换底色解…

A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第一部分

arXiv 2025 摘要 大型语言模型&#xff08;LLMs&#xff09;的出现从根本上改变了自然语言处理&#xff0c;使其在从对话系统到科学研究的各个领域中变得不可或缺。然而&#xff0c;它们的预训练架构在特定情境下经常显示出局限性&#xff0c;包括有限的推理能力、伦理不确定…

深入理解Python闭包与递归:原理、应用与实践

目录 闭包 什么是闭包&#xff1a; 闭包的基本结构&#xff1a; 实现闭包的条件&#xff1a; 1.嵌套函数 2.内函数引用外部函数的变量 3.外部函数返回内部函数 4.外部函数已经执行完毕 递归函数 什么是递归函数&#xff1a; 递归函数条件 1.必须有个明确的结束条…

ABAP PDF预览

画个屏幕 PDF JPG TXT都可以参考预览&#xff0c;把二进制流传递给标准函数就行 *&---------------------------------------------------------------------* *& Report YDEMO2 *&---------------------------------------------------------------------* *&am…

【视频】文本挖掘专题:Python、R用LSTM情感语义分析实例合集|上市银行年报、微博评论、红楼梦、汽车口碑数据采集词云可视化

原文链接&#xff1a;https://tecdat.cn/?p41149 分析师&#xff1a;Zhenzhen Liu&#xff0c;Shuai Fung 作为数据科学家&#xff0c;我们始终关注如何从非结构化数据中提取高价值信息。本专题合集聚焦企业年报的文本分析技术&#xff0c;通过Python与R语言实战案例&#xff…

高效团队开发的工具与方法 引言

引言 在现代软件开发领域&#xff0c;团队协作的效率和质量直接决定了项目的成败。随着项目规模的扩大和技术复杂度的增加&#xff0c;如何实现高效团队开发成为每个开发团队必须面对的挑战。高效团队开发不仅仅是个人技术能力的简单叠加&#xff0c;更需要借助合适的工具和方…

Python----计算机视觉处理(Opencv:图像颜色替换)

一、开运算 开运算就是对图像先进行腐蚀操作&#xff0c; 然后进行膨胀操作。开运算可以去除二值化图中的小的噪点&#xff0c;并分离相连的物体。 其主要目的就是消除那些小白点 在开运算组件中&#xff0c;有一个叫做kernel的参数&#xff0c;指的是核的大小&#xff0c;通常…

基于SpringBoot的“ERP-物资管理”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“ERP-物资管理”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 E-R实体关系图 管理员登录界面 管…

链表操作:分区与回文判断

目录 链表分区&#xff08;Partition&#xff09; 功能概述 代码实现 要点与难点 注意事项 链表回文判断&#xff08;PalindromeList&#xff09; 功能概述 代码实现 要点与难点 注意事项 总结 在链表相关的算法问题中&#xff0c;理解链表的基本结构和操作至关重要…

如何在 Node.js 中使用 .env 文件管理环境变量 ?

Node.js 应用程序通常依赖于环境变量来管理敏感信息或配置设置。.env 文件已经成为一种流行的本地管理这些变量的方法&#xff0c;而无需在代码存储库中公开它们。本文将探讨 .env 文件为什么重要&#xff0c;以及如何在 Node.js 应用程序中有效的使用它。 为什么使用 .env 文…

【Git学习笔记】Git结构原理及其分支管理模型分析

【Git学习笔记】Git结构原理及其分支管理模型分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Git学习笔记 文章目录 【Git学习笔记】Git结构原理及其分支管理模型分析前言一.认识工作区、暂存区、版本库1.1 版本回退1.2 撤销修改1.3 删…

[特殊字符]Windows 11 安装 Git 图文教程(含详细配置说明)

Windows 11 安装 Git 图文教程(含详细配置说明) 本教程适用于 Git 新手,手把手教你如何在 Windows 11 上完整安装 Git 并正确配置,配图清晰,步骤明确,建议收藏! ✅ 第一步:下载 Git 安装包 访问官网:https://git-scm.com自动识别系统后点击下载或者直接前往:Git for …

简单以太网配置

display arp //查看路由器mac地址 交换机配置命令&#xff1a; system-view // 从用户视图进入系统视图 dis mac-address //查看mac地址表 路由器配置命令: system-view // 从用户视图进入系统视图 int GigabitEthernet 0/0/0 //进入G口 0/0/0 进入之后配置网关: ip addre…