概述
1.常规时钟
1) initial:
parameter clk_period = 10;
reg clk;
initial begin
clk = 1'b0;
forever
#(clk_period / 2) clk = ~clk;
end
2) always:
parameter clk_period = 10;
reg clk;
initial
clk = 0;
always #(clk_period / 2) clk = ~clk;
2.占空比可调时钟
//占空比:High_time / (High_time + Low_time)
parameter High_time = 5, Low_time = 10;
reg clk;
always
begin
clk = 1;
# High_time;
clk = 0;
# Low_time;
end
3.偏移相位时钟信号
//相位偏移:360 * pshift_time / (High_time + Low_time)
parameter High_time = 5, Low_time = 10, pshift_time = 2;
reg clk;
always
begin
clk = 1;
# High_time;
clk = 0;
# Low_time;
end
assign #(pshift_time) clk_p = clk;
4.固定数目时钟信号
parameter clk_cnt = 50, clk_period = 2;
reg clk;
initial
begin
clk = 0;
repeat(clk_cnt)
#(clk_period / 2) clk = ~clk;
end
5.复位信号
1)异步复位
parameter rst_repiod = 100;
reg rst_n;
initial
begin
rst_n = 0;
#rst_repiod;
rst_n = 1;
end
2)同步复位
parameter rst_repiod = 100;
reg rst_n;
initial begin
rst_n = 1;
@(posedge clk)
rst_n = 0;
#rst_repiod;
rst_n = 1;
end
最后
以上就是清新嚓茶为你收集整理的verilog | 十、时钟信号与复位信号的全部内容,希望文章能够帮你解决verilog | 十、时钟信号与复位信号所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复