0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Verilog语言进行仿真验证

冬至子 来源:电子技术实验XJTU 作者:孙敏 2023-10-02 16:29 次阅读

0****1

仿真验证平台结构

仿真验证主要作用是搭建一个测试平台,测试和验证程序设计的正确性,验证设计是否实现了我们所预期的功能。其结构如下图所示。

图片

图中可以看到,这个测试平台本身对外没有输入输出端口的,我们需要通过实例化的方式将待测试模块放置于仿真中,然后设计相应的激励信号加载在待测试模块的输入端,运行仿真后观测输出信号是否正确。

下图是2选1多路选择器的仿真测试代码,我们依次解读各部分内容。

图片

`timescale 1ns/1ps

`timescale是预编译指令,用于定义时间单位和时间精度。此处,时间单位为1ns,时间精度为1ps。

因此,语句 always #10 a=~a 中“#10”表示延时10ns。

reg a,b,sel;

wire out;

信号声明部分包含两部分。

待测试模块的输入信号,在仿真文件中是需要设计的激励信号,一般在always和initial语句中描述,因此,声明为reg型。

待测试模块的输出信号是待观察的信号,声明为wire型。

initial begin

a=0;b=0;sel=0;

end

always #10 a=~a;

always #20 b=~b;

always #40 sel=~sel;

以上是激励信号的描述。

mux2_1 uut(

.a(a),

.b(b),

.sel(sel),

.out(out)

);

以上是待测试模块的实例化。uut是实例名,由用户自定义,不能缺少。

0****2

仿真验证一般步骤

• 新建仿真文件(.v),与源程序文件名不能相同。

• 模块声明:对外没有输入、输出端口。

• 信号声明:待测模块的输入信号声明为reg型,输出信号声明为wire型。

• 设计激励信号:对待验证模块的输入端口信号进行模拟,覆盖所有情况。

• 实例化待测模块:对待测模块进行实例化。

• 运行仿真:Run Behavioral Simulation(行为仿真)

• 观察仿真结果:判断被测试模块的输出响应是否符合预期要求

03

如何观察内部信号

①scope窗口选则待测试模块(uut是待测模块实例名)。

②将想要观察的信号拖到仿真波形窗口。

③重新加载仿真(relaunch simulation)。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真验证
    +关注

    关注

    0

    文章

    19

    浏览量

    8105
  • HDL语言
    +关注

    关注

    0

    文章

    46

    浏览量

    8869
  • Verilog设计
    +关注

    关注

    0

    文章

    20

    浏览量

    6474
  • 多路选择器
    +关注

    关注

    1

    文章

    22

    浏览量

    6439
收藏 人收藏

    评论

    相关推荐

    Verilog HDL入门教程(全集)

    的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用 Ve r i l o g
    发表于 11-30 19:03

    硬件验证语言——简介

    员提供的预期输出进行比较。这是可能的,因为数字电路遵循布尔逻辑,可以预测它们的输出。可以编写一个计算机程序来执行此操作,而这正是模拟中发生的事情。 在那些日子里,几乎所有你能想到的编程语言都用来实现验证
    发表于 02-16 13:36

    使用ModelSim进行设计仿真

    ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程序进行仿真,支持IEEE常见的各种硬件描述语言
    发表于 04-19 20:52 151次下载

    使用 ModelSim 进行设计仿真

    ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程序进行仿真,支持IEEE常见的各种硬件描述语言
    发表于 05-27 16:41 132次下载
    使用 ModelSim <b class='flag-5'>进行</b>设计<b class='flag-5'>仿真</b>

    Verilog HDL硬件描述语言_验证

    本章介绍了如何编写测试验证程序(test bench)。测试验证程序用于测试和验证设计的正确性。Verilog HDL提供强有力的结构来说明测试验证
    发表于 04-25 16:09 17次下载

    设计与验证Verilog HDL(清晰PDF)

    设计与验证,很不错的一本书,《设计与验证》以实例讲解的方式对HDL语言的设计方法进行介绍。全书共分9章,第1章至第3章主要介绍了Verilog
    发表于 10-10 17:04 570次下载

    基于System Verilog的可重用验证平台设计及验证结果分析

    采用System Verilog语言设计了一种具有层次化结构的可重用验证平台,该平台能够产生各种随机、定向、错误测试向量,并提供功能覆盖率计算。将验证平台在Synopsys公司的VCS
    发表于 01-12 11:28 2418次阅读
    基于System <b class='flag-5'>Verilog</b>的可重用<b class='flag-5'>验证</b>平台设计及<b class='flag-5'>验证</b>结果分析

    锆石FPGA A4_Nano开发板视频:Verilog关于问题解惑

    Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog
    的头像 发表于 09-27 07:09 1552次阅读
    锆石FPGA A4_Nano开发板视频:<b class='flag-5'>Verilog</b>关于问题解惑

    VHDL与Verilog硬件描述语言如何用TestBench来进行仿真

    小的设计中,用TestBench来进行仿真是一个很不错的选择。 VHDL与Verilog语言的语法规则不同,它们的TestBench的具体写法也不同,但是应包含的基本结构大体相似,在V
    的头像 发表于 08-04 14:16 3373次阅读

    使用Vivado仿真进行混合语言仿真的一些要点

    Vivado 仿真器支持混合语言项目文件及混合语言仿真。这有助于您在 VHDL 设计中包含 Verilog 模块,反过来也是一样。 本文主要
    的头像 发表于 10-28 16:24 2810次阅读

    如何通过仿真器理解Verilog语言的思路

    要想深入理解Verilog就必须正视Verilog语言同时具备硬件特性和软件特性。
    的头像 发表于 07-07 09:54 1159次阅读

    仿真器的角度理解Verilog语言1

    只作为语法设定来介绍,忽略了Verilog语言的软件特性和仿真特性。使得初学者无法理解Verilog语言在行为级语法(过程块、赋值和延迟)背
    的头像 发表于 05-25 15:10 675次阅读
    从<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b><b class='flag-5'>语言</b>1

    仿真器的角度理解Verilog语言2

    只作为语法设定来介绍,忽略了Verilog语言的软件特性和仿真特性。使得初学者无法理解Verilog语言在行为级语法(过程块、赋值和延迟)背
    的头像 发表于 05-25 15:10 628次阅读
    从<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b><b class='flag-5'>语言</b>2

    Verilog基本语法概述

    Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。
    的头像 发表于 06-10 10:04 927次阅读
    <b class='flag-5'>Verilog</b>基本语法概述

    如何使用 ModelSim 进行设计仿真

    ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程 序进行仿真,支持IEEE常见的各种硬件描述语言
    发表于 01-14 09:47 0次下载