Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74961
  • 博文数量: 26
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-19 08:55
文章分类

全部博文(26)

文章存档

2011年(1)

2009年(10)

2008年(15)

我的朋友
最近访客

分类:

2009-04-02 19:58:18

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

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

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

经过学长的提示,我终于找到了解决的方法,下为用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

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

 

阅读(714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~