花了些时间重新研究了clock switch的结构,总结如下:
1. clock处于高电平时,必须避免产生switch动作, 因此每个clock的选择信号是下降沿驱动的。
2. 每个clock源对应一个clock选择信号(如clk0_sel,clk1_sel,...)
3. 每个clock的最终选择信号是互斥的(因此在当某个clock的选择信号为有效时,必须保证其他clock的最终选择信号必须为无效)。
4. 起始reset状态,各个selection都为0,有效的防止了死锁。
下面我们举个4个clock的switch例子