环形振荡器是利用门延时实现振荡的,如图假设v11有一个正阶跃,到达G3输出时经过三个反相器延时,在v11形成负阶跃,完成半个周期。这个负阶跃又经过3个反相器延时,在v11形成正阶跃,完成整个周期。所以振荡器的振荡周期是6个反相器的延时。这个电路的初始状态是随机的,所以不易仿真。解决的办法是把其中一个反相器改为与非门或或非门,在t=0时加负或正的RST信号控制初始状态。环形振荡的反相器数必须是奇数3/5/7...,否则就成了锁存而不会发生振荡。在CMOS芯片中常用可电压控制的门延时,用环形振荡实现VCO。 而cpld中你使用器件打起的逻辑关系会被综合掉。因为cpld中的逻辑关系是通过查表来实现的。你用真正的门电路达就不会有问题。在实际应用中cpld都会有时钟芯片的。如果你想你的逻辑关系不被综合掉可以使用d触发器来打。不过都没有必要。 |