Quartus II的实例化的操作

这篇具有很好参考价值的文章主要介绍了Quartus II的实例化的操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

文章目录

前言

一、概述

二、实例化的QuestII操作

1.添加.v文件

2、 编写xuehao.v和testbench

 3、testbench—SMG.vt的添加



前言

       本博客介绍如何在QuestusII在一个工程中调用其他工程中已经写好的.v文件,也就是实例化语句。需要博客和参考书籍只是讲解了实例化语句的使用方法,关系如何在QuestusII中调用相关文件的实际操作介绍甚少。

         本人也是在实际和摸索中找到了正确的方法,被卡了很久。此时,即是一个学习记录,也希望帮助到遇到同样问题的EDA初学者。 

一、概述

         本文以一个实例为例进行数码管的一个实例进行实例化语句的讲解。

         首先是创建并编写一个"SMG"的工程文件。

          .v文件如下:

module SMG(number,smg);
input number;
output smg;
wire[3:0] number;
reg[6:0] smg;
always @*
  begin
    case(number)
  4'h0:smg[6:0]=7'b1000000;
  4'h1:smg[6:0]=7'b1111001;
  4'h2:smg[6:0]=7'b0100100;
  4'h3:smg[6:0]=7'b0110000;
  4'h4:smg[6:0]=7'b0011001;
  4'h5:smg[6:0]=7'b0010010;
  4'h6:smg[6:0]=7'b0000010;
  4'h7:smg[6:0]=7'b1111000;
  4'h8:smg[6:0]=7'b0000000;
  4'h9:smg[6:0]=7'b0010000;
  default://在操作时赋值给number=4'h15=4'b1111再赋给数码管即为全灭
       smg[6:0]=7'b1111111;
  endcase
  end
  
endmodule

          testbench如下:

`timescale 1 ns/1 ps
`include "SMG.v"

module SMG_tb;

reg[3:0] number;
wire[6:0] smg;

initial
begin
  number=0;
  #10 number=1;
  #10 number=2;
  #10 number=3;
  #10 number=4;
  #10 number=5;
  #10 number=6;
  #10 number=7;
  #10 number=8;
  #10 number=9;
  #10 number=8;
  #10 number=7;
  #10 number=6;
  #10 number=5;
  #10 number=4;
  #10 number=3;
  #10 number=2;
  #10 number=1;
  #10 number=0;
  #10 $stop;
end

SMG u1(.number(number),.smg(smg));

endmodule

        运行结果如图:

Quartus II的实例化的操作

       可以看到,运行结果是正确的!

       下一步我们就要在一个名称为“xuehao”的工程中,用实例化的语句调用这个.v文件。 

二、实例化的QuestII操作

1.添加.v文件

          新建了“xuehao”工程,因为我们需要调用上面说的SMG.v的文件,所以,第一步就是将“SMG.v”添加到“xuehao”工程中。

1、点击Assignments——>Settings

Quartus II的实例化的操作2、找到对应的存储位置,添加SMG.v文件

Quartus II的实例化的操作

3、点击apply->ok后,成功标识:显示如下图所示则表示成功添加

Quartus II的实例化的操作

2、 编写xuehao.v和testbench

        在编写xuehao.v时用到了实例化语句

         xuehao.v:

module xuehao(number,smg);

input number;
output smg;

wire[3:0] number;
wire[6:0] smg;//注意:例化语句时不是在alwags中也是用wire类型

SMG u1(.number(number),.smg(smg));

endmodule

         testbench:

`timescale 1 ns/1 ps
`include "xuehao.v"

module xuehao_tb;

reg[3:0] number;
wire[6:0] smg;

initial
begin
  number=1;
  #10 number=2;
  #10 number=3;
  #10 number=4;
  #10 number=5;
  #10 number=15;
  #10 number=15;
  #10 number=15;
  #10 number=0;
  #10 number=0;
  #10 number=0;
  #10 $stop;
end

xuehao u1(.number(number),.smg(smg));

endmodule

 3、testbench—SMG.vt的添加

          注意:这是非常容易遗漏的一个环节,也是容易配置错的一个环节!!!!!

1、点击Assignments——>Settings

Quartus II的实例化的操作

2、进行testbench的添加

Quartus II的实例化的操作3、 添加主文件的testbench

Quartus II的实例化的操作

4、添加所调用文件的testbench 

        因为后来添加的是被调用的testbench,所以黑色圈出的地方名称不变,还是主文件testbench的名称。这里需要注意一下

Quartus II的实例化的操作

5、利用实例化的语句也可以波形成功显示

Quartus II的实例化的操作


总结

         希望可以帮到大家!文章来源地址https://www.toymoban.com/news/detail-435623.html

到了这里,关于Quartus II的实例化的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Quartus II 的入门级使用

    好久没有用VHDL写东西了,今天需要完成一个项目,重新复习一下 新建工程 file--New Project Wizard, next, 选择存放的路径+名字(project+top-level 名字要相同), next,File name名字同上, next,选择响应的硬件,若只用于仿真不需要硬件的话,就默认 新建VHDL文件 文件名同工程名,编写

    2024年02月05日
    浏览(33)
  • Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)

    开篇: 欢迎来到 Spring 5 学习系列!在这个系列中,我们将深入研究 Spring 框架的最新版本,揭示其在现代Java开发中的精髓。无论你是初学者还是有经验的开发者,本系列都旨在为你提供深刻的理解和实用的知识,让你在构建强大、可维护和高效的应用程序方面更上一层楼。

    2024年01月22日
    浏览(77)
  • FPGA学习实践之旅——前言及目录

    很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定

    2024年02月03日
    浏览(58)
  • Quartus-II的安装教程

    一、Quartus-II的下载 ​ 百度网盘下载链接: ​ 百度网盘 请输入提取码 ​ 提取码:CWGG 二、Quartus-II的安装 1.解压压缩包 解压之后,可以看到有三个文件,其中Patch是用来注册破解的(安装时一定要确保QDZ文件和可执行文件在同一个文件夹) 2.进行安装 打开文件夹后,直接双

    2024年02月02日
    浏览(44)
  • Quartus II的基本使用及仿真

    本文描述的是如何利用QuartusII建立工程并进行基本的仿真操作。 2.1 建立工程 1.打开Quartus II,FileNew proje Wizard… 2. 设置工程路径和工程名。 3.是否要添加verilog文件?否的话直接点击next。 4.选择FPGA型号NEXT。 5.选择仿真工具和仿真语言,有的是Modelsim-Altera,有的是Modelsim,这个

    2024年02月02日
    浏览(46)
  • 关于Quartus II 13.0破解失败问题

    问题描述: 安装quartus II 13.0时,使用破解器生成licence.dat文件时,提示了大致如下内容: 提示框的标题是sys_cpt.dll。 显示问题:该文件正在使用。。。。 (注意不是某些人遇到的未找到sys_cpt.dll未被找到) 请在检查确保破解器正确安装在对应的bin/bin64目录下无效后再寻找其

    2023年04月09日
    浏览(51)
  • 基于Quartus II的fpga设计流程

    本文仅用于记录与学习。参考 串口(UART)的FPGA实现(含源码工程) 逻辑综合(logic synthesis)入门指南 quartusII关于时钟约束 FPGA内部硬件结构简介 如有侵权,联系删除 指用Verilog或VHDL语言实现的一个单元模块。在这个单元模块中,通过实例化将待验证设计(DUV)作为一个子模块

    2024年02月05日
    浏览(53)
  • 【MODELSIM】Quartus ii 中使用modelsim仿真

    1.仿真环境设置 Quartus ii 中调用modelsim,首次使用modelsim时设置 在tools–options–General–EDA Tool Option中设置好Modelsim的安装文件的路径 2.设置EDA仿真工具 Assignments - settings - EDA Tool settings Simulation选择modelsim 语言选择VHDL 3.生成顶层模块vhd文件 Bdf文件无法直接调用modelsim,在顶层b

    2024年02月04日
    浏览(45)
  • Quartus II使用——3 LED流水灯

    1.学习要求 目标:实现8个LED灯(LED 0~LED 7)间隔100ms依次点亮,然后全部熄灭,再依次点亮。 2.仿真分析 clk是50Mhz时钟,那么一个周期为(1X10^9)/(50X10^6)=20ns,1秒对应50000000个时钟周期,100ms=5000000个时钟周期。 复位时,LED灯全部熄灭    :led=8\\\'hff 点亮第1个LED灯               

    2023年04月22日
    浏览(38)
  • Quartus II 18.1的下载安装和注册

    本文章主要教学Quartus II 18.1安装教学以及使用方法的介绍说明。 进入Quartus官网: 点击下载Windows版: 选择所需要的软件版本:(推荐使用18.1版本的) 下载Quartus软件包和ModelSim组件包: 下载器件库文件:(一般选择Cyclone4、5) 完成上述下载操作后点击如下图所示的运行文件: 点

    2024年02月02日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包