呼吸灯(PWM波)
原理图
代码如下
`timescale 1ns / 1ps
module breath_led(input sys_clk,input sys_rst_n,output led);reg [15:0] period_cnt; //周期计数频率 1khz周期是1ms 所以计数值为1ms/20ns=50000reg [15:0] duty_cycle; //占空比计数值reg inc_dec_flag;//状态标志,递增为0,递减为1always@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)period_cnt <= 16'b0;else if(period_cnt == 16'd50000)period_cnt <= 16'b0;elseperiod_cnt <= period_cnt + 1'b1;endalways@(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)beginduty_cycle <= 16&