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

02.0 基于Verilog控制LED灯每秒钟闪烁一次

本段代码是为Verilog初学者提供的一个名为led_blink简单实例Verilog模块,其功能是控制6个LED灯同步闪烁,每秒钟闪烁一次。
本例代码用于理解时序逻辑的概念,理解多个always模块完全并行执行的概念,讲授时可以与C语言的执行过程进行比对,特别是分支结构与C语言形式上非常相似。

知识点:

  • 时序逻辑与组合逻辑的联系与区别;
  • reg与wire的不同赋值方法;
  • 同步复位与异步复位的概念及区别和联系,强调较好的风格是使用同步复位;
  • 低有效复位和高有效复位;
  • always块结构
//led_blink_v0.v
//Function: leds blink every second
//Author: Richard Fu
//Date: 2024-04-26module led_blink(input  clk,  input  rst_n,output wire [5:0] led
);reg [31:0] count; //always @(posedge clk or negedge rst_n) begin
always @(posedge clk) beginif(~rst_n) count <= 0;else if(count < 50*1000*1000) count <= count + 1;else count <= 0;
endreg led_q;
always @(posedge clk) beginif(~rst_n) led_q <= 6'b000000;else if(count == 50*1000*1000) beginif(led_q == 6'b000000) led_q <= 6'b111111;else led_q <= 6'b000000;end//else led_q <= led_q;
endassign led = led_q;endmodule
http://www.lryc.cn/news/341681.html

相关文章:

  • C语言创建文件夹和多级目录
  • 2024.5.6
  • mybatis配置获取自增主键
  • 完整、免费的把pdf转word文档
  • 使用 Lua 协程模拟 Golang 的 go defer 编程模式
  • 网络通信协议,UDP和TCP,初步了解
  • Golang | Leetcode Golang题解之第61题旋转链表
  • 美业SaaS系统多门店收银系统源码-【分润常见问题】讲解(一)
  • Chatbot 在教育中的应用
  • Apache和Nginx的区别以及如何选择
  • 深入探索Element-UI:构建高效Web前端的利器
  • 在Ubuntu 24.04 LTS (Noble Numbat)上安装nfs server以及nfs client
  • 供应链|经典论文解读:(s,S) 策略在动态库存下的最优性
  • Python从0到100(二十):文件读写和文件操作
  • AI+客服行业落地应用
  • 40 生产者消费者模型
  • QT5之windowswidget_菜单栏+工具栏_核心控件_浮动窗口_模态对话框_标准对话框/文本对话框
  • Satellite, Aerial, and Underwater Communication Track(WCSP2023)
  • AtCoder Regular Contest 176(ARC176)A、B
  • VTK —— 二、教程六 - 为模型加入3D微件(按下i键隐藏或显示)(附完整源码)
  • 一种基于图搜索的全局/局部路径避障策略
  • LT2611UX四端口 LVDS转 HDMI2.0,带音频
  • TypeError报错处理
  • PHP的数组练习实验
  • P3743 小鸟的设备
  • 数字旅游以科技创新为动力:推动旅游服务的智能化、网络化和个性化发展,满足游客日益增长的多元化、个性化需求
  • 64位的IP地址设想
  • 1.python爬虫爬取视频网站的视频可下载的源url
  • Linux目录结构
  • 电脑问题2【彻底删除CompatTelRunner】