环境

pwm.v

$ cat pwm.v
module Pwm(
    input clk,
    input [31:0] period,
    input [31:0] duty,
    output pwmout
);
    reg [31:0] counter;
    reg r_pwmout;
    always @(posedge clk) begin

if(counter < duty) begin
            r_pwmout = 1;
        end
        else begin
            r_pwmout = 0;
        end

case(counter)
            default:
                counter = counter + 1;
            period:
                counter = 0;
        endcase

end

assign pwmout = r_pwmout;

top.v

$ cat top.v
module top(
    input sys_clk,
    input key1,
    output led
);
    parameter TIME_1MS = 1000;

reg [31:0] duty;

parameter pwm_period = 200 * TIME_1MS;
    Pwm pwm(sys_clk, pwm_period, duty, led);

reg [31:0] counter;
    reg [31:0] duty_step;
    reg modify_duty;
    reg duty_dir;
    always @(posedge sys_clk) begin

counter = counter + 1;

case(counter % (TIME_1MS / 5))
            0:
                modify_duty = 1;
        endcase

case(duty)
            0:
                duty_dir = 1;
            pwm_period:
                duty_dir = 0;
        endcase

case(duty)
            0 - pwm_period / 2:
                duty_step = 10;
            default:
                duty_step = 2;
        endcase

if(modify_duty) begin

if(duty_dir) begin
                duty = duty + duty_step;
            end
            else begin
                duty = duty - duty_step;
            end
            modify_duty = 0;

end

end

原理图

GW1NSR-LV4CQN48GC6/I5 FPGA呼吸灯相关推荐

  1. 基于FPGA的呼吸灯设计

    一:背景介绍: 网上类似的标题很多,有一些呼吸灯的设计是基于单片机的,还有一部分设计是基于FPGA的,我也一时手痒,将这两天自己重新写的verilog描述语句晒出来,免得压箱底放久了,出现发霉点. 为 ...

  2. 【正点原子FPGA连载】第十二章 呼吸灯实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  3. 【正点原子FPGA连载】第十二章呼吸灯实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  4. 实验一 简单io应用—流水灯控制示例程序_【正点原子FPGA连载】第十章呼吸灯实验--领航者ZYNQ之linux开发指南...

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  5. step fpga上实现呼吸灯和交通灯

    呼吸灯 呼吸灯:我们将通过脉宽调制技术来实现"呼吸灯",实现LED的亮度由最暗逐渐增加到最亮,再逐渐变暗的过程. 脉冲宽度调制.它是利用微控制器的数字输出调制实现,是对模拟电路进行 ...

  6. FPGA 双按键控制LED呼吸灯实现

    FPGA &&双按键控制&&LED呼吸灯实现 文章目录 FPGA &&双按键控制&&LED呼吸灯实现 1.按键脉冲设计 1.1按键脉冲信 ...

  7. qq自定义diy名片代码复制_「正点原子FPGA连载」第六章自定义IP核-呼吸灯实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  8. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

    目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...

  9. FPGA项目三:PWM呼吸灯

    文章目录 第一节 项目背景 第二节 设计目标 第三节 设计实现 3.1顶层设计 3.2 信号设计 3.3 信号定义 第四节 综合和上板 4.1 新建工程 4.2 综合 4.3 配置管脚 4.4 再次综 ...

最新文章

  1. jquery tab插件
  2. adsl拨号无公网地址如何用ddns_【好玩的网络-第5期】分享自编ddns程序,17行代码轻松实现免费ddns,服务器或nas玩家的福音...
  3. OpenCV+python调用本地摄像头并录制视频
  4. 用层进表面预测来重建三维物体
  5. opencv 修改图像数值_【1】Introduction to OpenCV (2)使用VS生成OpenCV应用程序
  6. mysql强制指定索引_mysql强制索引和禁止某个索引
  7. 机械专业与python的联系_机械转行想学python?
  8. Python 绘图利器 —— ggplot
  9. java集合和数组互转
  10. 数据库系统概论知识点
  11. 如何使用QXDM 的1477项 转化utc时间
  12. 均匀B样条和准均匀B样条
  13. c语言求余运算作用,C语言中的整数除法和求余运算
  14. Moive-Pages
  15. openstack(云主机热迁移)
  16. excel合并sheet表格
  17. 锐龙4750u和4800u的区别
  18. Element 中图片预览后如何快速关闭
  19. xshell、CRT上使用vbscript更高效连接定位到服务器以及目录、数据库
  20. 高等数学(拉格朗日乘子法):NOI 2012 骑行川藏

热门文章

  1. 渲染系列--图像渲染过程
  2. iphone邮箱看不到已发送_不看不知道 教你如何设置iPhone邮箱
  3. Python:实现aliquot sum等分求和算法(附完整源码)
  4. 读书笔记_Unity3d 游戏优化2
  5. R语言——如何调用自己写的函数
  6. 多人使用服务器,如何开个人账户?以及 个人账户如何操作服务器?
  7. 好心情:长期服用精神药物,需监测哪些指标?
  8. XP系统IE浏览器无法访问https
  9. 我们是如何连上WiFi的?
  10. android NV21裁剪算法