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

朝阳网站建设 国展怎样创建一个网站

朝阳网站建设 国展,怎样创建一个网站,河南如何建网站要什么条件,做网站找 汇搜网络一、在VsCode中写代码 1、建立工程项目文件water_led.v文件 2、打开项目文件,创建三个目录 3、打开文件trl,创建water_led.v文件 4、打开文件tb,创建water_led_tb.v文件 5、用VsCode打开water_led.v文件,编写源代码 module water…

一、在VsCode中写代码

1、建立工程项目文件water_led.v文件

2、打开项目文件,创建三个目录

3、打开文件trl,创建water_led.v文件

4、打开文件tb,创建water_led_tb.v文件

5、用VsCode打开water_led.v文件,编写源代码

module water_led (input                  clk,       // 输入时钟(50 MHz)input                  rst_n,     // 复位信号(低电平有效)input                  pause_sw,  // 暂停开关(高电平暂停,低电平运行)output reg [5:0]       led        // 输出 6 个 LED
);
​
parameter T = 50_000_000;             // 计数器最大值,用于生成 1 秒定时
​
reg [2:0] cstate;                     // 现态
reg [2:0] nstate;                     // 次态
​
// 状态划分
localparam state_led0 = 0;            // LED0 亮
localparam state_led1 = 1;           // LED1 亮
localparam state_led2 = 2;           // LED2 亮
localparam state_led3 = 3;           // LED3 亮
localparam state_led4 = 4;           // LED4 亮
localparam state_led5 = 5;           // LED5 亮
​
reg [25:0] cnt = 0;                   // 计时器赋初值为 0
​
// 计数器模块
always @(posedge clk or negedge rst_n) beginif (!rst_n)cnt <= 0;                     // 按下复位键,清零else if (cnt == T - 1)            // 计时器达到最大值,清零重新计数cnt <= 0;else if (!pause_sw)               // 如果未暂停,计数器继续计数cnt <= cnt + 1;
end
​
// 第一段:现态跟随次态,时序逻辑,非阻塞赋值
always @(posedge clk or negedge rst_n) beginif (!rst_n)cstate <= state_led0;         // 复位键被按下,当前状态设置为 LED0 亮else if (!pause_sw)               // 如果未暂停,更新状态cstate <= nstate;
end
​
// 第二段:组合逻辑,阻塞赋值
always @(*) beginif (!rst_n)nstate = state_led0;          // 复位时回到初始状态elsecase (cstate)state_led0: beginif (cnt == T - 1)      // 该状态持续时间为 1 秒,1 秒后跳转到下一个状态nstate = state_led1;elsenstate = state_led0;endstate_led1: beginif (cnt == T - 1)nstate = state_led2;elsenstate = state_led1;endstate_led2: beginif (cnt == T - 1)nstate = state_led3;elsenstate = state_led2;endstate_led3: beginif (cnt == T - 1)nstate = state_led4;elsenstate = state_led3;endstate_led4: beginif (cnt == T - 1)nstate = state_led5;elsenstate = state_led4;endstate_led5: beginif (cnt == T - 1)nstate = state_led0;elsenstate = state_led5;enddefault: nstate = state_led0; // 默认状态endcase
end
​
// 第三段:跟随状态输出
always @(posedge clk or negedge rst_n) beginif (!rst_n)led <= 6'b000001;              // 复位时点亮第一个 LEDelsecase (cstate)state_led0: led <= 6'b000001;state_led1: led <= 6'b000010;state_led2: led <= 6'b000100;state_led3: led <= 6'b001000;state_led4: led <= 6'b010000;state_led5: led <= 6'b100000;default: led <= 6'b000001; // 默认状态endcase
end
​
endmodule

6、用VsCode打开water_led_tb.v文件,编写仿真代码

`timescale 1ns / 1ps
​
module fsm3_led_tb;
​// 输入信号reg clk;         // 输入时钟(50 MHz)reg rst_n;       // 复位信号(低电平有效)reg pause_sw;    // 暂停开关(高电平暂停,低电平运行)
​// 输出信号wire [5:0] led;  // 6 个 LED 输出
​// 实例化被测模块fsm3_led uut (.clk(clk),.rst_n(rst_n),.pause_sw(pause_sw),.led(led));
​// 生成时钟信号initial beginclk = 0;forever #10 clk = ~clk; // 50 MHz 时钟周期 = 20 nsend
​// 测试过程initial begin// 初始化信号rst_n = 0;      // 初始复位pause_sw = 0;   // 初始不暂停#20;            // 等待 20 ns
​// 释放复位信号rst_n = 1;#200;           // 等待一段时间观察初始状态
​// 测试正常流水灯效果pause_sw = 0;   // 不暂停#2_000_000;     // 运行 2 秒,观察 LED 变化
​// 测试暂停功能pause_sw = 1;   // 暂停#1_000_000;     // 停留 1 秒,观察 LED 是否保持不变pause_sw = 0;   // 恢复#2_000_000;     // 再次运行 2 秒,观察 LED 变化
​// 测试复位功能rst_n = 0;      // 触发复位#20;            // 等待复位完成rst_n = 1;      // 释放复位#200;           // 观察复位后的初始状态
​// 结束仿真$stop;end
​
endmodule

二、在Quartus中创建工程与仿真

1、打开Quartus,点击New Project Wizard

2、把工程保存在之前创造的prj文件里

3、添加之前在VsCode中写好的源码和仿真源码

4、选择芯片

5、选择仿真必要选项

其余为展示页面,均点击Next即可。

6、将源码设为顶层文件

7、分析与综合

8、设置water_led_tb.v文件

添加完后,一直点OK,完成设置。

9、仿真

10、点击最下方的sim,然后右键u_water_led,在选项中选择Add Wave

11、点击最下方的Wave,根据图片点击左下角的黑点消除文件前缀,这样看着舒服点。然后选中一个参数,再CTRL+A全选中参数,最后CTRL+G分组

12、重新开始

13、运行所有

分析仿真可知,结果大差不差,嘿嘿

14、完整编译运行一次,发现未报错,然后配置引脚,配置完成后再次编译

15、下载

16、演示

FPGA-状态机+分层次+流水灯

17、参考链接

【FPGA入门二】状态机+LED流水灯_状态机加一-CSDN博客

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

相关文章:

  • 东胜网站建设网络优化公司有哪些
  • 中融木业网站是那个网站做的北京网络推广外包公司排行
  • 网络营销的功能包括扬州seo博客
  • 全国网站建设公司排行版重庆百度快速优化
  • 和城乡建设厅官方网站百度搜索指数排名
  • 住房城乡建设行业从业人员seo站点是什么意思
  • 前端做网站难吗经典软文推广案例
  • wordpress怎么看网站日志文件如何注册域名网站
  • 专业做网站+上海百度扫一扫入口
  • 百度推广需要先做网站吗上海最新发布
  • 什么公司网站建设比较好搜索指数的数据来源
  • 提供衡水网站建设企业网站的网络营销功能
  • 深圳网站建设公司团队培训学校资质办理条件
  • 哪个网站可以做视频片头大数据技术主要学什么
  • 小企业网站免费建设网络口碑推广公司
  • 网站推广方法有几个国内比百度好的搜索引擎
  • 石家庄网站建设是什么意思百度竞价一个月5000够吗
  • 英文版科技网站百度搜索关键词热度
  • 人民检察院网站建设方案百度seo快速排名优化服务
  • 工业设计公司经营范围有哪些seo英文全称
  • 建站交流福州seo优化
  • 做网站有了域名营销广告语
  • 购物国外网站的建立百度用户客服电话
  • 动态网站如何维护seo系统教程
  • 网站怎么快速做收录重庆百度搜索优化
  • 做直销网站公司亿驱动力竞价托管
  • 省政府网站集约化建设方案比较好网站制作公司
  • wordpress 离线升级达州seo
  • 我的网站突然找不到网页了搜索引擎优化的重要性
  • 上海模板建站源码网络营销的基本方式有哪些