FPGA功能仿真,门级仿真,后仿真的区别
前言
分清楚各种仿真间的关系,工具采用quartus prime16.0,仿真工具采用modelsim10 ae版;项目:led_display;
流程
1.RTL行为级仿真:也叫功能仿真,这个阶段的仿真可以用来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。
需要的文件:编写的verilog源文件以及tb文件。如果用到了pll等ip核,需要挂载器件库文件。

#set the sim home dir ;
set sim_home D:/work/led_display/sim
#set the src code home dir;
set src_home D:/work/led_display/src
vlib ${sim_home}/work
vmap work ${sim_home}/work
vlog ${src_home}/*.v
vsim -novopt -t 1ns -L altera_ver -L altera_mf_ver -L cycloneive_ver -L sgate_ver -L lpm_ver work.led_display_tb
view wave
add wave *
run @600ns

可以看到波形无延时;
2.门级仿真:也叫综合后仿真,综合后生成的网表文件(.vo)加tb仿真;网表是与器件有关的,所以要挂载好相关器件库文件。
对于quartus生成的vo文件,首先要注释掉其中的挂载sdo文件语句,否则仿真是时序仿真,因为添加了sdo延时文件:

需要的文件:vo网表文件以及tb文件。需要挂载器件库文件。

#set the sim home dir ;
set sim_home D:/work/led_display/sim
#set the src code home dir;
set src_home D:/work/led_display/src
vlib ${sim_home}/work
vmap work ${sim_home}/work
vlog ${src_home}/led_display_8_1200mv_85c_slow.vo ${src_home}/led_display_tb.v
vsim -novopt -t 1ns -L altera_ver -L altera_mf_ver -L cycloneive_ver -L sgate_ver -L lpm_ver work.led_display_tb
view wave
add wave *
run @600ns

对于本栗子,可以看到门级仿真引入了中间态。

忽略不计。
3.时序仿真:也叫后仿真。网表文件加延时,仿真中会包含延时信息。
需要的文件:vo网表文件以及tb文件以及延时文件sdo(采用脚本挂载)。需要挂载器件库文件。

#set the sim home dir ;
set sim_home D:/work/led_display/sim
#set the src code home dir;
set src_home D:/work/led_display/src
vlib ${sim_home}/work
vmap work ${sim_home}/work
vlog ${src_home}/led_display_8_1200mv_85c_slow.vo ${src_home}/led_display_tb.v
vsim -novopt -t ns -L altera_ver -L altera_mf_ver -L cycloneive_ver -L sgate_ver -L lpm_ver -sdftyp /led_display_tb/u=${src_home}/led_display_8_1200mv_85c_v_slow.sdo work.led_display_tb
view wave
add wave *
run @600ns
/led_display_tb/u 的意义:前面是tb名,后边是实例化led_display的名字。


如上图所示,可以看到器件延时大约4ns,包含了延时信息。
以上。
FPGA功能仿真,门级仿真,后仿真的区别的更多相关文章
- Gate level Simulation(门级仿真)
1 什么是后仿真? 后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真. 2 后仿真是用来干嘛的? 检查电路中的timing vio ...
- ISE联合modelsim功能仿真和综合后仿真1
1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道 ...
- ISE联合modelsim功能仿真和综合后仿真
1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道 ...
- 关于fpga的后仿真重要性
也许你天天做些fpga,写完代码就直接编译成功,锁定引脚后,马上使用signaltaII软件. 也许你一天,你发现signaltapII看信号的痛苦,一个源代码文件修改一点,要花个20分钟编译一次. ...
- FPGA前仿真后仿真
前仿真 后仿真 时序(综合后)仿真 时序仿真将时延考虑进去,包括综合后产生的(与.或.非)门时延,还有布局布线产生的时延. 综合(Synthesize),就是将HDL语言设计输入翻译成由与.或.非门和 ...
- [原创]Modelsim后仿真
因调试需要,进行后仿真,ISE生成的sim文件和sdf文件 `timescale ns/ ps module lut_dly ( clkout, fpga_clk, config_in ); outp ...
- Arduino UNO仿真开发环境设置和仿真运行
一. Proteus仿真平台简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司).它不仅具有其它EDA工具软件 ...
- 工艺成型及仿真、铸造工艺及仿真ProCAST软件入门认识介绍
视频源:技术邻 关键词:ProCAST.工艺成型及仿真.铸造工艺及仿真 简介:ProCAST 软件是由美国 USE 公司开发的铸造过程的模拟软件采用基于有限元(FEM)的数值计算和综合求解的方法,对铸 ...
- (数字IC)低功耗设计入门(七)——门级电路低功耗设计优化(续)
前面讲解了门级功耗的优化方法,包括静动态和总体的功耗.现在来记录一下门级层次(有点书也说是在系统级)常用的一种低功耗方法--电源门控. ①电源门控概述与原理 电源门控是指芯片中某个区域的供电电源被关掉 ...
随机推荐
- 【LeetCode】66. Plus One
题目: Given a non-negative number represented as an array of digits, plus one to the number. The digit ...
- ajax同步请求JS代码
ajax同步请求JS代码 <script type="text/javascript"> var txt = document.getElementById('txt' ...
- Example017简单的下拉框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Angular基础(一)
AngularJS有五个主要核心特性,如下介绍: 双向数据绑定 -- 实现了把model与view完全绑定在一起,model变化,view也变化,反之亦然. 模板 -- 在AngularJS中,模板相 ...
- VBS基本语法
一.初识VBS Vbs 是一种变量无关.解释性执行的脚本语言.vbs语言中不区分大小写.语句以换行结束. dim 声明变量:批量名称声明,多个变量之间用逗号分隔: set ...
- hibernate总结-持续更新
简介 hibernate官网:Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思 ...
- 猜年龄---while循环
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Andy Chen age_of_oldboy = 56 count = 0while True ...
- php+xdebug+phpstorm(mac os x+homebrew)
今天研究了下用phpstorm做xdebug调试,首先申明本人电脑是mac系统,软件包管理用的是homebrew,phpstorm用的是2016.3.2版本,php56,xdebug2.5.1,希望对 ...
- 一个简单的java贷款程序
代码如下: //计算贷款package ClassDemo;import javax.swing.JOptionPane; public class ComputeLoan { public stat ...
- JDK动态代理源码学习
继上一篇博客设计模式之代理模式学习之后http://blog.csdn.net/u014427391/article/details/75115928,本博客介绍JDK动态代理的实现原理,学习一下JD ...