Download presentation
Presentation is loading. Please wait.
Published byLeslie Crawford Modified 5年之前
1
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
Guangzhou Tronlong Electronic Technology Co., Ltd FIFO 与 UPP 01 51ele.net
2
本节将讲解仿真原理、Verilog仿真验证以及如何使用Vivado Simulator (XSim)进行仿真。
FPGA仿真详解 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd 本节将讲解仿真原理、Verilog仿真验证以及如何使用Vivado Simulator (XSim)进行仿真。 01 广州创龙电子科技有限公司
3
01 仿真的原理及方法 02 Verilog HDL仿真与验证 03 XSim的仿真实战 02 广州创龙电子科技有限公司
4
01 仿真的原理及方法 第 1 部分 03 广州创龙电子科技有限公司
5
仿真概念 “仿真”即用另一数据处理系统,主要是用硬件来全部或部分地模仿某一数据处理系统,以致于模仿的系统能像被模仿的系统一样接受同样的数据,执行同样的程序,获得同样的结果。 04 广州创龙电子科技有限公司
6
仿真要素 测试平台 激励产生 被测试系统 结果输出及验证 05 广州创龙电子科技有限公司
7
FPGA设计流程和仿真流程 06 广州创龙电子科技有限公司
8
功能仿真和时序仿真 功能仿真:也叫前仿真,目的是验证代码的语法和确认代码功能,这一步仿真主要是RTL描述,器件是理想的,不包含设计的延时信息; 时序仿真:也叫后仿真,在设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF标准延时文件。使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路的行为作出实际地估价。时序仿真使用的仿真器和功能仿真使用的仿真器是相同的,所需的流程和激励也是相同的;惟一的差别是为时序仿真加载到仿真器的设计包括基于实际布局布线设计的最坏情况的布局布线延时,并且在仿真结果波形图中,时序仿真后的信号加载了时延。 07 广州创龙电子科技有限公司
9
TestBench概念 TestBench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是TeshBench的含义。 08 广州创龙电子科技有限公司
10
XSIM简介 XSIM即Vivado Simulator,是Vivado自带的一款轻量级HDL仿真器,允许用户通过Verilog/VHDL或者混合Verilog/VHDL进行功能仿真和时序仿真。 09 广州创龙电子科技有限公司
11
02 Verilog HDL仿真与验证 第 2 部分 10 广州创龙电子科技有限公司
12
编写TestBench目的 编写TestBench的主要目的是为了对使用硬件描述语言(HDL)设计的电路进行仿真验证,测试设计电路的功能、部分性能是否与预期的目标相符。 TestBench通常使用行业标准的Verilog或者VHDL编写,掌握了Verilog或者VHDL,就可以搭建TestBench测试平台。 11 广州创龙电子科技有限公司
13
结构语句 Verilog语言中的任何过程模块都从属于以下四种结构的说明语句: 1.initial说明语句 2.always说明语句
3.task说明语句 4.function说明语句 一个程序模块可以有多个initial和always模块,每个initial和always 从仿真一开始就立即执行,其中initial只执行一次,always则是不断的 重复执行。 Task和function可以在程序模块中的一处或多处调用,具体使用方 法后面实战将会详细介绍。 12 广州创龙电子科技有限公司
14
常用系统任务 1.系统任务只能用于仿真,在系统综合过程中被忽略。 2.系统任务一般以“$”作为开头。
3.常用的系统任务包括:$display 、$write 、$fopen 、$fclose 、$finish 、 $stop 、$readmemb 、$readmemh 、$random等等。 13 广州创龙电子科技有限公司
15
`timescale reference_time/precision
编译预处理 Verilog HDL语言和C语言一样提供了编译预处理的功能。“编译预处理”是 Verilog HDL编译系统的一个组成部分,Verilog HDL语言允许在程序中使用几种特 殊的命令,Verilog HDL编译系统通常先对这些特殊的命令进行“预处理”,然后 将预处理的结果和源程序一起进行通常的编译处理。常用的编译预处理命令主要 是`define 、`include 、`timescale等。 timescale用于指定仿真的单位时间。以及仿真的精度。这个指令的语法如下: `timescale reference_time/precision reference_time是仿真的单位时间。Precision是仿真的精度。 下面是一个的例子的时间表用法: `timescale 1 ns / 1 ps 代表设置仿真的单位时间是1ns,精度是1ps。 14 广州创龙电子科技有限公司
16
仿真延时模型与表示 延时包括门延时、assign赋值延时和连线延时等。 1.门延时是从门输入端发生变化到输出端发生变化的延迟时间;
2.连线延时则体现了信号在连线上的传输延时。 4.如果没有定义时延值,缺省时延为0。 5.延时语句用于仿真测试中,它不能综合生成硬件,主要用于仿真真实数 字电路运行时的电路延时情况和人为设计的波形输出。 延时的表示方法有下面几种: # delaytime # (d1,d2) # (d1,d2,d3) # delaytime表示延迟时间为delaytime,d1表示上升延迟d2表示下降延迟,d3则表示转换到高阻态z的延迟,这些延迟的具体时间由时间定义语句‘timescale确定。 15 广州创龙电子科技有限公司
17
TeshBench编写例子 16 广州创龙电子科技有限公司
18
03 XSim的仿真实战 第 3 部分 17 广州创龙电子科技有限公司
19
平台 案例:UART_DEOMO 软件:Vivado 系统:WINDOWS 10 18 广州创龙电子科技有限公司
20
广州创龙电子科技有限公司 谢谢 官网: 论坛:51ele.net 微信公众号:广州创龙
Similar presentations