{"objectClass":"NSDictionary","root":{"objectClass":"MindNode","ID":"14YN5","rootPoint":{"objectClass":"CGPoint","x":360,"y":1092},"lineColorHex":"#BBBBBB","children":{"0":{"objectClass":"MindNode","ID":"WHRSA","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"WC58G","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"MT78D","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"P4W39","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"G8Y80","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"Q25FJ","lineColorHex":"#DC306C","text":"两级寄存器同步"},"objectClass":"NSArray"},"text":"慢时钟域到快时钟域"},"1":{"objectClass":"MindNode","ID":"U188I","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"6138R","lineColorHex":"#DC306C","text":"两级寄存器同步"},"objectClass":"NSArray"},"text":"快时钟域到慢时钟域"},"objectClass":"NSArray"},"text":"单bit"},"1":{"objectClass":"MindNode","ID":"61RLX","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"Y87VY","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"DJH28","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"L1917","lineColorHex":"#DC306C","text":"FIFO深度"},"1":{"objectClass":"MindNode","ID":"25K57","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"Y41G5","lineColorHex":"#DC306C","text":"将指针的位宽多定义一位(区分是读空还是写满)"},"objectClass":"NSArray"},"text":"FIFO位宽"},"2":{"objectClass":"MindNode","ID":"2QD5P","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"3LR46","lineColorHex":"#DC306C","text":"复位的时候,读指针和写指针相等,读空信号有效(这里所说的指针其实就是读地址、写地址)\n当读指针赶上写指针的时候,写指针等于读指针意味着最后一个数据被读完,此时读空信号有效"},"objectClass":"NSArray"},"text":"读空信号"},"3":{"objectClass":"MindNode","ID":"T7M4X","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"0S039","lineColorHex":"#DC306C","text":"当写指针比读指针多一圈时,写指针等于读指针意味着写满了,此时写满信号有效\n我们会发现 读空的条件是写指针等于读指针,写满的条件也是写指针等于读指针","maxWidthLine":308},"objectClass":"NSArray"},"text":"写满信号"},"objectClass":"NSArray"},"text":"重要参数"},"1":{"objectClass":"MindNode","ID":"757DU","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"461FL","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"XZ24B","lineColorHex":"#DC306C","text":"当最高位和次高位相同,其余位相同认为是读空\n当最高位和次高位不同,其余位相同认为是写满"},"1":{"objectClass":"MindNode","ID":"FUW85","lineColorHex":"#DC306C","text":"将写时钟域的写指针同步到读时钟域,将同步后的写指针与读时钟域的读指针进行比较产生读空信号"},"2":{"objectClass":"MindNode","ID":"QJ1E5","lineColorHex":"#DC306C","text":"将读时钟域的读指针同步到写时钟域,将同步后的读指针与写时钟域的写指针进行比较产生写满信号"},"objectClass":"NSArray"},"text":"两级寄存器同步读指针和写指针,用格雷码判断比较空满"},"objectClass":"NSArray"},"text":"两级寄存器同步 + 格雷码"},"objectClass":"NSArray"},"text":"异步FIFO"},"1":{"objectClass":"MindNode","ID":"FJ35M","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"5DD57","lineColorHex":"#DC306C","text":"这种设计是单向的数据跨时钟域传输,也就是说,只能从源时钟域传输到目的时钟域,而不是反过来传输数据,这是设计本身决定的,单向设计。"},"objectClass":"NSArray"},"text":"MUX同步器"},"2":{"objectClass":"MindNode","ID":"13O1I","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"0PD4B","lineColorHex":"#DC306C","text":"采用请求和确认机制来保证正确的数据采样到目的时钟域。这种技术主要用于不连续变化或非常频繁地变化的数据。"},"objectClass":"NSArray"},"text":"握手同步"},"3":{"objectClass":"MindNode","ID":"T41B2","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"18RTI","lineColorHex":"#DC306C","text":"对于连续变化的信号,发送方转为格雷码发送,接收方收到后再转为二进制"},"objectClass":"NSArray"},"text":"格雷码"},"objectClass":"NSArray"},"text":"多bit"},"objectClass":"NSArray"},"text":"跨时钟域问题"},"1":{"objectClass":"MindNode","ID":"943X1","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"4N6KF","lineColorHex":"#DC306C","text":"setup建立时间:在有效的时钟沿来临前,数据需要保持稳定的最短时间,简写为Tsu;"},"1":{"objectClass":"MindNode","ID":"MVY6H","lineColorHex":"#DC306C","text":"hold保持时间:在有效的时钟沿来临后,数据需要保持稳定的最短时间,简写为 Th;"},"2":{"objectClass":"MindNode","ID":"X7T21","lineColorHex":"#DC306C","text":"对于时钟和数据信号,分析setup建立时间和hold保持时间"},"objectClass":"NSArray"},"text":"","latex":"建立时间T_{setup}和保持时间T_{hold}"},"2":{"objectClass":"MindNode","ID":"7LCCB","lineColorHex":"#DC306C","children":{"0":{"objectClass":"MindNode","ID":"5SFVE","lineColorHex":"#DC306C","text":"recovery恢复时间:在有效的时钟沿来临前,异步复位信号保持稳定的最短时间;"},"1":{"objectClass":"MindNode","ID":"WOKHU","lineColorHex":"#DC306C","text":"removal移除时间:在有效的时钟沿来临后,异步复位信号保持文档的最短时间;"},"2":{"objectClass":"MindNode","ID":"1HON9","lineColorHex":"#DC306C","text":"对于时钟和异步复位信号,分析recovery恢复时间和removal移除时间"},"objectClass":"NSArray"},"text":"recovery恢复时间和removal移除时间"},"objectClass":"NSArray"},"text":"亚稳态问题"},"objectClass":"NSArray"},"text":"时序逻辑电路问题"},"1":{"objectClass":"MindNode","ID":"3XC7H","lineColorHex":"#BF58F5","children":{"0":{"objectClass":"MindNode","ID":"477CH","lineColorHex":"#BF58F5","children":{"0":{"objectClass":"MindNode","ID":"EZR2W","lineColorHex":"#BF58F5","text":"在一个组合电路当中,当某一个变量经过两条以上的路径到达输出端的时候,由于每条路径上的延迟时间的不同,到达终点的时间就会有先有后,这一现象称作竞争。"},"1":{"objectClass":"MindNode","ID":"669NP","lineColorHex":"#BF58F5","children":{"0":{"objectClass":"MindNode","ID":"4B10M","lineColorHex":"#BF58F5","children":{"0":{"objectClass":"MindNode","ID":"F71FY","lineColorHex":"#BF58F5","text":"增加冗余项"},"1":{"objectClass":"MindNode","ID":"2XVW5","lineColorHex":"#BF58F5","text":"增加选通信号(高电平)"},"2":{"objectClass":"MindNode","ID":"3242M","lineColorHex":"#BF58F5","text":"引入封锁脉冲(低电平)"},"3":{"objectClass":"MindNode","ID":"7PY9V","lineColorHex":"#BF58F5","text":"增加滤波电容"},"4":{"objectClass":"MindNode","ID":"BM5W8","lineColorHex":"#BF58F5","text":"采用可靠性编码。比如格雷码,每次只变化1位。"},"objectClass":"NSArray"},"text":"消除冒险"},"objectClass":"NSArray"},"text":"在具有竞争现象的组合电路中,当某个变量发生变化的时候,如果真值表所描述的逻辑关系或者功能遭受到短暂的破坏,在输出端出现一个不应有的尖脉冲毛刺,这种现象就叫冒险。"},"objectClass":"NSArray"},"text":"竞争冒险问题"},"objectClass":"NSArray"},"text":"组合逻辑电路问题"},"objectClass":"NSArray"},"text":"逻辑电路"},"ID":"431Q7"}