您的位置:首页 > 其它

FPGA基础知识16(ASIC/FPGA设计中的仿真 )

2016-07-09 15:01 267 查看
需求说明:IC设计基础



内容 :异步时钟数据交互

来自 :时间的诗

原文:http://blog.csdn.net/verylogic/article/details/38640315

一直看到各种文献中说有三种仿真。综合前仿真(也叫功能仿真、行为仿真)、综合后仿真和布局布线仿真(后仿真)。但是实际开发中,我从来没用过行为仿真,概念上一直觉得混乱。今天特意查了下,记录下来以备遗忘。

行为仿真确实几乎实际中没有被用过。它是编译之前对用户设计的电路进行逻辑功能验证,主要针对基于原理框图的设计,不针对使用HDL代码的设计。因为该仿真是在编译之前实施的。该仿真也不是FPGA开发的必要流程,实际上我在ASIC开发中,也没见谁编译之前搞仿真,也没见过基于原理框图的设计。

综合后仿真,可以仿真到RTL级别,但是不带有布线的延时信息。这个时候的仿真,所有的触发器值得跳变都跟时钟延是对齐的。也不存在建立保持时间的问题。

布局布线后的仿真,到了这个级别的仿真,才能给出建立保持时间是否满足。但是通常,这个级别的仿真太慢,所以用得也很少。对于FPGA开发,布局布线之后一般也就做一个静态时序分析,没必要做仿真。对于ASIC开发,后仿是肯定要做的,这个很重要,不然很多时序问题检查不出来。

所以实际的开发步骤中,省略了不少标准开发流程的一些东西。下图是FPGA的标准开发流程,划上红线的是实际开发中不会用到的。



简而言之:

FPGA开发步骤就是:写代码——>编译综合(查看资源使用量)——>综合后仿真(看功能是否实现)——>布局布线(看静态时序分析报告)——>下载到板子直接开跑。

真正有用的仿真也就是综合之后,布局布线之前的仿真。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: