|  | 
 
| 
计数器产生的门控时钟问题
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  设计中需要由计数器产生一个时钟供后级电路使用,计数器将一个全局时钟rdy_60分频,当reg_zip=cnt时产生一个脉冲a,使用a做为时钟驱动后级!基本代码如下:
 
 process(rdy_60,reg_zip)
 begin
 if(rdy_60'event and rdy_60='1')then
 if(reg_zip=cnt)then
 cnt<="0000000000000001";
 a<='1';
 else
 cnt<=cnt+'1';
 a<='0';
 end if;
 end if;
 
 由于a为门控时钟,直接使用a驱动后级电路会给后级电路带了很多不稳定的因素,因此将a做为触发器的使能端,来产生一个由全局时钟rdy_60得到的稳定时钟b,增加的代码如下:
 if(rdy_60'event and rdy_60='1')then
 if(a='1')then
 b<='1';
 else
 b<='0';
 end if;
 end if;
 
 可能是我的第二个代码写法不对,b还是不稳定,求消除门控时钟的正解!!!
 | 
 |