|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
FPGA的前仿真和后仿真的区别,FPGA的门级仿真和时序仿真的区别 % E- v2 ? p$ A. P7 N5 L
6 ~! R+ r5 G, Z# }! @8 y+ K 初学者学习FPGA,必定会被它的各种仿真弄的晕头转向。比如,前仿真、后仿真、功能仿真、时序仿真、行为级仿真、RTL级仿真、综合后仿真、门级仿真、布局布线后仿真等。
0 F8 Q4 Q; Z$ f7 v* F' ] j
; h) {# b2 R/ |: G* T4 g8 i Quartus和Modelsim软件的仿真形式9 x& R6 p7 s9 @2 u
; G& J; q/ g& w( u3 {+ e: {7 T8 L
Quartus II有两种仿真形式:1、功能仿真;2、时序仿真。
* P# u: Z% {5 u
$ A* j8 W. Z& g, ]! v Quartus II调用Modelsim的两种仿真形式为:1、RTL级仿真;2、Gate-level仿真。
: N# o& c; H1 s0 j* B' t& W$ p% ~' l; f d3 s5 o7 A% ?$ I' N
0 j, }( @& U& v; n8 |6 S2 V4 |
7 v8 I1 { Y4 u2 Y- W& F 前仿真和后仿真的区别:前仿真就是指综合前的仿真,也就是行为级的仿真,如你在Modelsim直接写代码的仿真。后仿真指的是综合后的仿真,也就是功能仿真。比如你在Modelsim中用VHDL写了个计数器,行为级得仿真通过了,你把它加到quartus中或者其他的综合工具进行综合,综合完后生成功能网表,它把行为语言变成寄存器传送级语言,这时候你把它加到Modelsim中仿真叫后仿真,后仿真成功后,你还要在quartus中进行映射,布局布线,完后进行时序分析,生成时序网表,描述器件里门或者布线的延时,最后把延时网表和功能网表一起加到Modelsim中仿真叫门级仿真。
1 R @$ F$ L5 J& E8 W, M5 i) ^& U2 L9 r2 R/ o5 x4 }
门级仿真和时序仿真的区别:门级仿真是quartus生成的网表文件.vo。门级则不考虑互联延迟,二只考虑了器件的延迟。时序仿真是选择具体器件并布局布线后进行的包含定时关系的仿真,主要验证是否满足时间约束关系、延时、最大工作频率和消耗的资源等。时序仿真是需添加时延文件.sdo。) P, g* V f% y2 ?1 O( k+ F
! b, P) w8 l0 W V0 G
2 l# R* _' C0 {' x1 T {; L, A3 O
modelsim 是专门进行仿真的软件,可以分别进行前仿真和后仿真。前仿真也称为功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与testbench。后仿真也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。其输入文件为从布局布线结果抽象出来的门级网表、testbench和扩展为sdo或sdf的标准时延文件。sdo、sdf的标准时延文件不仅包含门延迟,还包括实际布线延迟,能较好地反映芯片的实际工作情况。一般来说后仿真是必选的,检查设计时序与实际的FPGA运行情况是否一致,确保设计的可靠性和稳定性。
1 z# w- h `, t/ b" {' Z |
|