原创 一道面试题

2009-9-2 01:28 2013 8 9 分类: FPGA/CPLD

前几天,学长去面试,回来后讲了一道面试过程中的题目,在这里拿出来跟大家分享一下:


题目:检测时钟信号,当时钟上升沿到来的时候在输出信号上用高电平表示。


初看这个题目感觉很一般,我第一感觉就是用计数器计数就可以了,但是细细想想,计数功能只能是记录时钟的个数,并不能显示出时钟的上升沿。


经过学长的提示,我终于找到了解决的方法,下为用verilog编写的代码:


module posedge_clk(rst,clk,d,out);
 input rst,clk,d;
 output out;
 
 reg q;
 
 always @ (posedge clk or posedge rst)
 begin
  if(rst)
   q<=1;
  else
   q<=d;
 end
 assign out=(!q)&d;
endmodule


 经过我的前仿,综合,布线,后仿,都可以实现。

文章评论1条评论)

登录后参与讨论

用户146077 2009-9-2 21:54

是检测时钟的上升沿还是新号的上升沿啊,
相关推荐阅读
用户167215 2009-09-02 01:56
另一种二分频电路设计
在此再推荐一种二分频电路的写法:设计块如下://half_clk.vmodule half_clk(reset,clk_in,clk_out); input  reset; input  clk_in...
用户167215 2009-09-02 01:55
二分频电路
一般的分频电路有多种写法,在此介绍一种简单的二分频电路.原理为,将d触发器的输出q取非作为该触发器的输入,代码如下:   // clk_2_fenpin.vmodule  clk_2 (rst,clk...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条