当前位置: 首页 > wzjs >正文

河南企业网站优化外包重庆seo技术博客

河南企业网站优化外包,重庆seo技术博客,自己的网站做怎样的优化调整,上海前十名广告公司目录 一、VScode下载安装 1.1 官网下载 1.2 安装插件 二、LED流水灯点亮 2.1 任务说明 2.2 新建项目 2.3 创建Verilog文件添加至顶层实体 2.4 引脚分配 2.5 选择烧录器 2.6 添加烧录文件&下载 2.7 烧录结果 三、增加按键操作 3.1 按键暂停和恢复功能&…

目录

一、VScode下载安装

1.1 官网下载

1.2 安装插件

二、LED流水灯点亮

2.1 任务说明

2.2 新建项目

2.3 创建Verilog文件添加至顶层实体

2.4 引脚分配 

2.5 选择烧录器

2.6 添加烧录文件&下载

2.7 烧录结果

三、增加按键操作

3.1 按键暂停和恢复功能:

3.2 引脚分配:

3.3 完整代码: 

3.4 烧录结果 


一、VScode下载安装

1.1 官网下载

在官网点击进行下载:Visual Studio Code - Code Editing. Redefined

官网速度比较慢,要使用国内镜像,本人之前已经下载安装完成了,所以可以参考博客:

VScode下载安装及使用教程_vscode qq浏览器下载-CSDN博客https://blog.csdn.net/qq_35697978/article/details/120541378?ops_request_misc=%257B%2522request%255Fid%2522%253A%25227296b49de1d5aaed030289223ac2ff33%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=7296b49de1d5aaed030289223ac2ff33&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~top_positive~default-1-120541378-null-null.nonecase&utm_term=VScode%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4450

1.2 安装插件

在扩展处搜索下载安装 Verilog-HDL/SystemVerilog 插件,实现Verilog代码的语法高亮/自动补全

二、LED流水灯点亮

2.1 任务说明

在DE2-115开发板上,用Verilog设计一个LED流水灯实验:用6个LED完成周期为1秒的跑马灯效果

2.2 新建项目

建立项目工程名

然后一直点击NEXT进入开发板选型界面

最后点击finish

这是创建好的界面

2.3 创建Verilog文件添加至顶层实体

编译代码如下:

module LED_Flow #(parameter CLK_FREQ = 50_000_000, parameter LED_NUM = 6)(input               sys_clk,      // 系统时钟 (50 MHz)input               sys_rst_n,    // 复位信号,低电平有效output reg [5:0]    led           // 6 个 LED 输出
);// 定义计数器reg [25:0] cnt;                   // 26 位计数器,用于计时 1/6 秒wire add_cnt;                     // 计数器使能信号wire end_cnt;                     // 计数器结束信号// 定义 LED 状态计数器reg [2:0] led_state;              // 3 位计数器,用于控制 LED 状态wire add_led_state;               // LED 状态计数器使能信号wire end_led_state;               // LED 状态计数器结束信号// 计算 1/6 秒的计数值localparam CNT_MAX = CLK_FREQ / LED_NUM - 1; // 1/6 秒的计数值// 主计数器逻辑always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) begincnt <= 26'b0;            // 复位时清零计数器endelse if (add_cnt) beginif (end_cnt) begincnt <= 26'b0;        // 计数达到最大值时清零endelse begincnt <= cnt + 1'b1;   // 计数器加 1endendend// LED 状态计数器逻辑always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) beginled_state <= 3'b0;       // 复位时清零 LED 状态计数器endelse if (add_led_state) beginif (end_led_state) beginled_state <= 3'b0;   // 计数达到最大值时清零endelse beginled_state <= led_state + 1'b1; // LED 状态计数器加 1endendend// LED 输出逻辑always @(posedge sys_clk or negedge sys_rst_n) beginif (!sys_rst_n) beginled <= 6'b000001;        // 复位时点亮第一个 LEDendelse begincase (led_state)3'b000: led <= 6'b000001; // 第 1 个 LED 点亮3'b001: led <= 6'b000010; // 第 2 个 LED 点亮3'b010: led <= 6'b000100; // 第 3 个 LED 点亮3'b011: led <= 6'b001000; // 第 4 个 LED 点亮3'b100: led <= 6'b010000; // 第 5 个 LED 点亮3'b101: led <= 6'b100000; // 第 6 个 LED 点亮default: led <= 6'b000001; // 默认点亮第 1 个 LEDendcaseendend// 计数器使能信号assign add_cnt = 1'b1;            // 计数器始终使能assign end_cnt = (cnt == CNT_MAX); // 计数达到 1/6 秒时结束// LED 状态计数器使能信号assign add_led_state = end_cnt;  // 主计数器结束时,LED 状态计数器加 1assign end_led_state = (led_state == LED_NUM - 1); // LED 状态计数器达到最大值时结束endmodule

另存为.v文件(名称与工程名一致)

选择Files,显示LED.v文件

右键点击文件,将其设置为顶层实体 

进行编译

2.4 引脚分配 

分配引脚如下: 

2.5 选择烧录器

点击选择烧录器

选择USB-Blaster [USB-0]

PS:如果遇到无法识别USB接口的情况,即只显示No-Hardware,可参考一下博客进行解决:

使用Altera综合工具Quartus II下载到FPGA时无法识别USB-Blaster问题_fpga usb blaster 禁止-CSDN博客https://blog.csdn.net/l2563898960/article/details/80309089

2.6 添加烧录文件&下载

点击LED.sof文件,点击open 

 

点击第一项编程与配置,然后开始下载 

 下载成功

2.7 烧录结果

三、增加按键操作

3.1 按键暂停和恢复功能:

按下按键时流水灯停止工作,松开按键流水灯继续工作

always @(posedge clk or negedge rst_n) beginif (!rst_n) beginrunning <= 1'b1;  // 初始状态为运行end else if (pause) beginrunning <= ~running;  // 按键按下时切换运行状态end
end

3.2 引脚分配:

3.3 完整代码: 

module led_flow (input wire clk,          // 时钟信号input wire rst_n,        // 复位信号,低电平有效input wire pause,        // 暂停按键,高电平有效output reg [5:0] leds    // 6个LED输出
);reg [25:0] counter;      // 计数器,用于生成1秒的时钟周期reg [2:0] state;         // 状态寄存器,用于控制LED流水灯的状态reg running;            // 运行状态标志,1表示运行,0表示暂停// 时钟分频,生成1秒周期always @(posedge clk or negedge rst_n) beginif (!rst_n) begincounter <= 26'd0;end else if (running) beginif (counter == 26'd49_999_999) begincounter <= 26'd0;end else begincounter <= counter + 1;endendend// 状态机控制LED流水灯always @(posedge clk or negedge rst_n) beginif (!rst_n) beginstate <= 3'd0;leds <= 6'b000001;  // 初始状态,第一个LED亮end else if (running && counter == 26'd49_999_999) begincase (state)3'd0: begin leds <= 6'b000010; state <= 3'd1; end3'd1: begin leds <= 6'b000100; state <= 3'd2; end3'd2: begin leds <= 6'b001000; state <= 3'd3; end3'd3: begin leds <= 6'b010000; state <= 3'd4; end3'd4: begin leds <= 6'b100000; state <= 3'd5; end3'd5: begin leds <= 6'b000001; state <= 3'd0; enddefault: begin leds <= 6'b000001; state <= 3'd0; endendcaseendend// 按键暂停和恢复功能always @(posedge clk or negedge rst_n) beginif (!rst_n) beginrunning <= 1'b1;  // 初始状态为运行end else if (pause) beginrunning <= ~running;  // 按键按下时切换运行状态endendendmodule

3.4 烧录结果 

http://www.dtcms.com/wzjs/293037.html

相关文章:

  • 莞城网页设计seo排名首页
  • 电脑做网站服务器需要什么软件免费文件外链网站
  • wordpress 多作者百度自动优化
  • 什么网站max做环境的全景图关键词优化快速排名
  • 网站空间 群集网站推荐
  • 做网站建设专业定制自己做的网址如何推广
  • 个人网页设计图片素材网站seo搜索引擎的原理是什么
  • 网站 多语言品牌活动策划
  • 管理信息系统与网站建设有什么区别seo顾问是什么
  • 商业计划的网站建设费用百度网盘app官方下载
  • 武汉广告策划公司广州百度首页优化
  • 西宁市城北区建设网站西安优化seo托管
  • 建设工程有限公司企业网站职业培训机构需要什么资质
  • 本地营销型网站建设推广自己的网站
  • 做打鱼网站的代理站长工具是干嘛的
  • 网站规划的公司东莞seo快速排名
  • 天津seo排名公司seo自动推广软件
  • 自助游网站开发分析报告总结手机网站智能建站
  • 南昌谁做网站设计外包seo服务收费标准
  • 网站咨询弹窗是怎么做的关键词app下载
  • 网站建设应该懂什么知识潍坊今日头条新闻
  • 做电影方面的网站怎么做推广资源网
  • 在线音乐网站模板网络热词大全
  • 做网页做网站的技术人才seo标题优化步骤
  • 深圳罗湖住房和建设局网站官网谷歌seo查询
  • 简单的网站维护一元友情链接平台
  • 聊城网站建设苏州网站开发公司
  • 西安西工大软件园做网站的公司刷百度关键词排名优化
  • 推广网站的公司软文写作范文500字
  • 三网合一网站建设系统 价格微信公众号怎么开通