打印
[技术文档]

FPGA设计的10点小知识-数字系统

[复制链接]
750|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotcool|  楼主 | 2022-10-24 16:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hotcool 于 2022-10-24 16:08 编辑

数字系统101
        开头我们先来说说一个典型的同步电路。可能有很多其他形式,但一个简单的例子足以说明。图1展示了同步电路的形式和时序。

        一个值得提及的问题是:到底为什么要使用同步电路?异步逻辑(组合逻辑)不是更快速吗?这个问题的答案有很多,这里只提重要的几点:

1.同步电路消除了不同路径之间由于速度差异导致的问题。通过一个确定的时间间隔采样来实现的同步电路,使得快路径和慢路径可以以一种相同的形式完成采样;
2.同步电路不太受电压、温度和压力等外部因素的影响,这使得大规模的工业生产称为可能;
3.许多的设计被要求具备良好的移植性--也就是说,要非常容易地适应新的技术或者某种改进的技术(比如,从90nn到65nn)。同步电路的确定性行为使其更容易实现技术移植;
4.同步电路可以简化不同时钟域之间的接口。异步接口通常需要复杂的握手协议来保证数据的完整性;而同步电路自身就已经携带了时序信息,这使得数据可以被方便且正确地互相传递。

        同步电路是由组合逻辑和一些时钟元素组成的,比如触发器和寄存器。时钟元素共享同一个时钟,所有的数据传递都发生在时钟的上升沿(或者下降沿,上升沿还是主流)。当上升沿到来时,寄存器把逻辑值从输入D端传递到输出Q端。


在图1中,定义了两个重要的时钟参数:

Setup Time(建立时间)—Tsu:建立时间是指数据输入在时钟上升沿到来之前必须保持稳定的时间。
Hold Time(保持时间)—Th :保持时间是指数据输入在时钟上升沿到来之后必须保持稳定的时间。

如何违反了建立时间和保持时间的要求,就会导致可怕的亚稳态问题。



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

76

帖子

0

粉丝