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

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

3天内不再提示

仿真测试1:半加器

冬至子 来源:大哈学习纪录铺 作者:张大哈 2023-10-10 13:02 次阅读

2.1半加器

2.1.1原理推导得到逻辑关系

图片

2.1.2 端口定义

做任何模块前,要确定输入输出端口有哪些,有一个整体的概念;方便以后模块调用;

图片

2.1.3 源代码(附 test 文件)

源文件

图片

测试文件

图片

2.1.4RTL试图(两种)

图片图片

2.2实操(quartus13.1与modelsim_alter的操作,主要是每次重新捡起来的时候,都要重新看一遍,所示汇总一次)

2.2.1工程建立

图片

点击左上角的File---->New Project Wizard如下图所示

图片

图片

图片

图片

至此完成了工程的创建。下面我们就来创建工程顶层文件,我们可以点击菜单栏的 FileNew…,然后弹出如图所示的新建文件窗口, 在这里我们可以选择各种需要的设计文件格式。可以作为工程顶层设计文件的格式主要在 Design Files 类别下,我们选择 Verilog HDL File并单击OK 完成文件创建。在主编辑窗口中, 出现了一个新建的空白的可编辑文件, 我们接着在该文件中输入实现实验功能的一段 Verilog 代码,并保存文件名为h_addr.v

图片

自此, 我们的工程创建和设计输入工作已经完成。但是为了验证一下设计输入的代码的基本语法是否正确,可以点击 Flow→Compilation 下的 Analysis & Elaboration 按钮,如图所示。同时我们可以输出打印窗口的 Processing 里的信息,包括各种 warning 和 Error。

Error是不得不关注的,因为 Error 意味着我们的代码有语法错误,后续的编译将无法继续;而warning 则不一定是致命的,但很多时候 warning 中暗藏玄机,很多潜在的问题都可以从这些条目中寻找到蛛丝马迹。当然了,也并不是说一个设计编译下来就不可以有 warning,如果能够确认这些 warning 符合我们的设计要求,那么可以忽略它。

图片

最后,在 Analysis & Elaboration 完成后,通常前面的问号会变成勾号,表示通过。

2.2.2仿真文件

完成了前面基本的设计输入后, 为了进一步的验证代码所实现功能的正确性, 我们还需要进行仿真测试。首先我们可以点击菜单栏的Processing→Start→Start Test Bench Template Writer,随后弹出提示“Test Bench TemplateWriter was successful“,那么我们就已经创建了一个 Verilog测试脚本,在此脚本中,我们可以设计一些测试激励输入并且观察相应输出, 借此我们就能够验证原工程的设计代码是否符合要求。

图片

我们打开工程路径下的/simulation/modelsim 文件夹,可以看到一个名为led_flash.vt 的测试脚本文件创建了。

我们可以在 Quartus II 中打开这个文件,并且将其重新编辑(见2.1.3测试文本撰写)

完成测试脚本编写,我们接着需要打开菜单栏的 Assigement→Settings 选项,选择CategoryEDA Tool Setting→Simulation,在右边的相关属性中做如图所示的设置,在选中Comple test bench 后,我们要点击后面的 Test Benches…按钮去选择刚才创建的测试脚本。

图片

图片

图片

图片

回到 Setting 中也点击 OK 完成所有相关设置。我们还需要打开菜单栏的 Tools→Options配置页面,我们选择 Category 下的 General→EDA Tool Options,然后设置 ModelSim-Altera软件安装路径(请根据实际安装时的路径进行设置) 。

当 Quartus II 调用 ModelSim-Altera 软件进行仿真时,会通过这里所设置的路径来查找并启动ModelSim-Altera。

图片

在仿真测试前,我们还需要对工程进行一次编译。点击 Flow→Compilation 下的 Analysis & Elaboration 按钮。

仿真测试的所有准备工作就绪了,下面我们就可以一键完成仿真工作。点击菜单栏的Tools→Run Simulation Tool→RTL Simulation。随后 ModelSim-Altera 便启动,如图所示,这ModelSim-Altera 软件的工作界面。

图片

3.最终仿真结果以及打印信息

图片

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

    关注

    4

    文章

    267

    浏览量

    31789
  • 仿真器
    +关注

    关注

    14

    文章

    1017

    浏览量

    83722
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59763
  • 半加器
    +关注

    关注

    1

    文章

    29

    浏览量

    8791
  • Verilog设计
    +关注

    关注

    0

    文章

    20

    浏览量

    6517
收藏 人收藏

    评论

    相关推荐

    [5.3.9]--09的时序仿真

    仿真
    学习电子知识
    发布于 :2022年12月13日 19:54:44

    单相桥逆变器仿真技巧资料下载

    单相桥逆变器仿真技巧,1. 拓扑与控制  单相桥逆变器拓扑如下:  电压环和电流环控制图如下:  调制方式如下:2. 仿真步骤  单相
    发表于 07-09 06:21

    对双电源波精密整流进行仿真

    前面写了双电源波精密整流,输出Vo1和Vo2分别到负周期和正周期信号,只需要将Vo2-Vo1即可以得到全波整流信号,具体:注意
    发表于 12-29 06:23

    和全加器是算术运算电路中的基本单元,它们是完成1
    发表于 04-07 10:34 1.6w次阅读
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>

    一种分布式实物仿真测试前端系统的研究

    实现了一套分布式实物仿真测试前端系统。经过测试,不同前端间的时钟同步精度可达微秒级,所设计前端能够仿真被测软件的外部交联设备实现SPI总线
    发表于 01-10 15:04 0次下载
    一种分布式<b class='flag-5'>半</b>实物<b class='flag-5'>仿真</b><b class='flag-5'>测试</b>前端系统的研究

    全加器是什么?全加器和的区别?

    是能够计算低位进位的二进制加法电路。与相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级
    发表于 07-25 11:15 7.4w次阅读
    全加器是什么?全加器和<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>的区别?

    和全加器的原理及区别(结构和功能)

    +加法和全加法是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路。
    的头像 发表于 07-25 11:37 33.8w次阅读
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>和全加器的原理及区别(结构和功能)

    电路原理图

    电路原理图免费下载。
    发表于 06-11 10:51 24次下载

    真值表

    是实现两个一位二进制数加法运算的电子器件,具有被加数A和加数B两个输入端、输出端Y,经常被应用在算数运算电路中,用于计算两个一位二进制相加,不考虑低位进位。
    的头像 发表于 07-09 09:46 5.3w次阅读
    <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b> <b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>真值表

    vhdl描述

    vhdl描述
    发表于 02-24 11:08 0次下载

    基于FPGA的设计

    加法器用于两个数或者多个数的和,加法器又分为(half adder)和全加器(full adder)。
    的头像 发表于 05-12 14:50 1063次阅读
    基于FPGA的<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>设计

    如何去实现一个电路的设计呢?

    加法器用于两个数或者多个数的和,加法器又分为(half adder)和全加器(full adder)。
    的头像 发表于 05-22 15:22 5294次阅读
    如何去实现一个<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>电路的设计呢?

    请用Verilog分别实现11位全加器

    当多位数相加时,可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。
    的头像 发表于 06-26 16:32 3459次阅读
    请用Verilog分别实现<b class='flag-5'>1</b>位<b class='flag-5'>半</b><b class='flag-5'>加</b><b class='flag-5'>器</b>和<b class='flag-5'>1</b>位全加器

    和全加器的功能特点

    和全加器是数字电路中的基本组件,用于执行二进制数的加法运算。它们在计算机、微处理和其他数字系统中扮演着重要角色。
    的头像 发表于 10-18 11:10 1207次阅读

    和全加器的区别是什么

    (Half Adder)和全加器(Full Adder)是数字电路中的基本组件,用于执行二进制加法运算。它们的主要区别在于功能和输入输出的数量。 1. 功能差异
    的头像 发表于 10-18 11:12 3358次阅读