verilog输出单个时钟脉冲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Verilog HDL输出单个时钟脉冲的方法

张绍言2012/9/4 由于需要对输入的7bit数据进行比较,如果相等则输出VLDCMD。输出信号用于触发下一模块的动作。所以VLDCMD只需要输出一个CLK周期的脉冲即可。经过实现,以下代码完美的解决了这个问题。

`timescale 10us/1us

module enc;

reg reset;

reg clk;

wire va;

always #1 clk=~clk;

initial

begin

clk=0;

#1 reset=0;

#2 reset=1;

#3 reset=0;

end

tt u1(.reset(reset),.clk(clk),.valid_frame(va));

endmodule

module tt(reset,clk,valid_frame);

input reset;

input clk;

output valid_frame;

reg valid_frame;

reg[31:0] counter;

always@(posedge clk or posedge reset)

begin

if(reset) counter=0;

else

if(counter==10)

counter<=0;

else

counter<=counter+1;

end

always@(posedge clk or posedge reset)

begin

if(reset) valid_frame=0;

else

begin

if(valid_frame) valid_frame=0;

if(counter==10 && !valid_frame)

begin

valid_frame=1;

end

end

end

endmodule

相关文档
最新文档