一、题目:
利用10MHz的时钟,设计一个单周期形状的周期波形。前20us为低电平,中间10us为高电平,后20us为低电平,周期为50us。
二、程序语句:
//程序代码:
module single_period(clk_in, rst, clk_out);
input clk_in, rst;
output clk_out;
reg clk_out;
reg [9:0]j;
always @(posedge clk_in)
begin
if(!rst) //同步低电平置位端
begin
j <= 0;
clk_out <= 0;
end
else if(j == 199) //第20us时翻转
begin
j <= j+1;
clk_out <= ~clk_out;
end
else if(j == 299) //第30us时再次翻转
begin
j <= j+1;
clk_out <= ~clk_out;
end
else if(j == 499) //第50us时归零
begin
j <= 0;
clk_out <= 0;
end
else
j <= j+1;
end
endmodule
三、testbench语句:
`timescale 1 ns/ 100 ps