|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
FPGA的前仿真和后仿真的区别,FPGA的门级仿真和时序仿真的区别
0 i5 K/ r L' ~8 q% p% d7 o9 i% t& D- x7 F0 c# y6 X; }
初学者学习FPGA,必定会被它的各种仿真弄的晕头转向。比如,前仿真、后仿真、功能仿真、时序仿真、行为级仿真、RTL级仿真、综合后仿真、门级仿真、布局布线后仿真等。
+ |8 Q6 r1 X# ^7 M" _) ^$ ^, L' ~& d; ^ i" g9 f o9 ]1 E
Quartus和Modelsim软件的仿真形式
$ t/ n/ w* @- {8 c! O: l) i. Z9 a4 ~; L) V2 l
Quartus II有两种仿真形式:1、功能仿真;2、时序仿真。
9 b" e: c/ }5 v2 N
( ?$ h0 |) q; J. G6 b& g" P* e Quartus II调用Modelsim的两种仿真形式为:1、RTL级仿真;2、Gate-level仿真。
& k% m# O m6 J4 G5 s' y8 {: c4 c2 _
3 b/ {7 N, l; V5 M8 ] I3 }! I
5 P* F5 Q) {& R- ~! h6 c* G 前仿真和后仿真的区别:前仿真就是指综合前的仿真,也就是行为级的仿真,如你在Modelsim直接写代码的仿真。后仿真指的是综合后的仿真,也就是功能仿真。比如你在Modelsim中用VHDL写了个计数器,行为级得仿真通过了,你把它加到quartus中或者其他的综合工具进行综合,综合完后生成功能网表,它把行为语言变成寄存器传送级语言,这时候你把它加到Modelsim中仿真叫后仿真,后仿真成功后,你还要在quartus中进行映射,布局布线,完后进行时序分析,生成时序网表,描述器件里门或者布线的延时,最后把延时网表和功能网表一起加到Modelsim中仿真叫门级仿真。
& S# R& d: }/ ^, B' _, n$ \! Q* I- d( d. n2 H/ U
门级仿真和时序仿真的区别:门级仿真是quartus生成的网表文件.vo。门级则不考虑互联延迟,二只考虑了器件的延迟。时序仿真是选择具体器件并布局布线后进行的包含定时关系的仿真,主要验证是否满足时间约束关系、延时、最大工作频率和消耗的资源等。时序仿真是需添加时延文件.sdo。8 |& Y7 g9 y% ~
- f% d9 R$ w3 h3 o, o, i( U
' g1 T: p, H* w8 m- d r( ?; s modelsim 是专门进行仿真的软件,可以分别进行前仿真和后仿真。前仿真也称为功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与testbench。后仿真也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。其输入文件为从布局布线结果抽象出来的门级网表、testbench和扩展为sdo或sdf的标准时延文件。sdo、sdf的标准时延文件不仅包含门延迟,还包括实际布线延迟,能较好地反映芯片的实际工作情况。一般来说后仿真是必选的,检查设计时序与实际的FPGA运行情况是否一致,确保设计的可靠性和稳定性。
* D- C& y1 g3 R9 [% r) K; W& c |
|