body
{
font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif;
font-size: 10.5pt;
line-height: 1.5;
}
html, body
{
}
h1 {
font-size:1.5em;
font-weight:bold;
}
h2 {
font-size:1.4em;
font-weight:bold;
}
h3 {
font-size:1.3em;
font-weight:bold;
}
h4 {
font-size:1.2em;
font-weight:bold;
}
h5 {
font-size:1.1em;
font-weight:bold;
}
h6 {
font-size:1.0em;
font-weight:bold;
}
img {
border:0;
max-width: 100%;
height: auto !important;
}
blockquote {
margin-top:0px;
margin-bottom:0px;
}
table {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
td {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
时钟多路器用于使同一个逻辑功能具有不同的时钟,比如需要处理多个频率标准的通信应用常常使用多个时钟。下图是某一类型的时钟多路器:
虽然在时钟信号上引入多路逻辑会产生毛刺等问题,但是在不同的应用中,对多路时钟的要求区别
很大。但是如果能够满足以下标准,时钟多路操作是可接受的:
- 在初始化配置后,时钟多路逻辑不在改变。
- 在时钟切换时,寄存器始终处于复位状态。
- 在时钟切换时产生的短暂错误没有负面影响。
如果设计中时钟切换很频繁,并且不在复位时切换,设计中也不能允许出现短暂的错误,就必须使用同步设计以确保寄存器没有违背时序,时钟信号上不会出现毛刺等问题。下图是一个无毛刺的时钟多路复用器:
上图的结构适用于任意数量的时钟通道,而且在切换的过程中,可以容许极端的竞争冒险。
以下是时钟多路复用器功能仿真波形图,具体代码请参考下方参考代码链接,同时Altera也提供了对应的IP核,详情请参考Clock Control Block (ALTCLKCTRL) Megafunction User Guide
参考资料
1 Advanced Synthesis Cookbook
2 The Art of Hardware Architecture
3 参考代码