verilog 호흡등 코드
1039 단어 201904
전언
호흡등, 즉 PWM조광은 인터넷의 다른 대부분의 코드에 비해 내용이 적지만 기능은 실현될 수 있다.코드는 다른 사람의 기초 위에서 수정된 것이다.나 자신도 흐리멍덩하다. 참고 링크:https://www.cnblogs.com/hechengfei/p/4106538.html
제1판 module led(LED,CLK);
output reg LED = 1;
input CLK;//50Mhz
//
parameter CLK_50M = 31'd50_000_000;
//
parameter UP_TIME = 1;
parameter T1 = CLK_50M / 100 * UP_TIME; // T1=UP_TIME*(1s/100)=UP_TIME*10us, , 100 。T1 , cunt2 。
parameter high_TZL = T1 / 100; // 1000 , cut1 。
reg [30:0] cut1=high_TZL;// ,T1 = 1/1000/100s
reg [30:0] cut0=0;// , 1/50 000 000s, T1
reg flag=1;//1 ,0
always @(posedge CLK)
begin
if(cut0=T1-high_TZL) begin cut1<=cut1; flag=~flag; end end
else begin cut1<=cut1-high_TZL;
if(cut1
module led(LED,CLK);
output reg LED = 1;
input CLK;//50Mhz
//
parameter CLK_50M = 31'd50_000_000;
//
parameter UP_TIME = 1;
parameter T1 = CLK_50M / 100 * UP_TIME; // T1=UP_TIME*(1s/100)=UP_TIME*10us, , 100 。T1 , cunt2 。
parameter high_TZL = T1 / 100; // 1000 , cut1 。
reg [30:0] cut1=high_TZL;// ,T1 = 1/1000/100s
reg [30:0] cut0=0;// , 1/50 000 000s, T1
reg flag=1;//1 ,0
always @(posedge CLK)
begin
if(cut0=T1-high_TZL) begin cut1<=cut1; flag=~flag; end end
else begin cut1<=cut1-high_TZL;
if(cut1