首页 > 其他分享 >02使用vivado和Modelsim进行仿真

02使用vivado和Modelsim进行仿真

时间:2023-09-11 15:11:24浏览次数:37  
标签:02 文件 仿真 Modelsim vivado 点击 添加 我们

软件版本:vitis2021.1(vivado2021.1)

操作系统:WIN10 64bit

硬件平台:适用AMD-XILINX A7/K7/Z7/ZU/KU系列FPGA

登录"米联客"SOC|SOC社区-www.uisrc.com视频课程、答疑解惑!

1 概述

仿真是每个初学者必须学会的一项技能,因为FPGA程序编译时间往往很长,所以对程序进行仿真就成为了校验程序正确性的最快捷的方式。

本节课,我们将通过Modelsim以及vivado两个不同软件,使用两种方法对我们上节课所生成的程序进行仿真,带读者快速掌握基本的FPGA开发技能。

2使用vivado进行仿真

相比较Modelsim仿真,我们直接使用vivado进行仿真就显得简单得多,仅仅只需要编辑好我们的Test Bench,也就是我们俗称的TB文件就可以了。

2.1添加RTL仿真文件

首先我们打开上一节课做的程序,添加RTL文件。添加RTL文件的方法跟添加verilog文件的文件方法类似

Step1:单击 Add Sources

Step2:选择需要添加的文件类型,这里我们选择仿真类型的文件,点击Next添加确定

Step3:点击Create File创建一个新的Test Bench文件,当然,如果你有提前写好的TB文件也可以直接点Add Files添加已有的文件。

Step4:创建一个pll_test_TB的文件,并且文件类型选择Verilog,路径可以选择存放在工程默认路径下,米联客推荐存放在创建的FPGA工程目录的uisrc\02_sim目录下,方便管理,注意整个路径不允许出现中文。

Step5:点击OK确认生成文件,点击Finsh结束

Step6:这边可以预先添加端口以及修改模块名,我们保持默认,直接点击OK即可。

Step7:这边我们的TB文件就新建完成了,但是我们发现他跟我们的主程序"pll_test.v"是保持平行状态的。那是因为我们的TB文件里面内容为空,所以并不对我们的主程序有任何激励,也同样没有对我们的主模块进行例化,所以我们接下来就是要进行例化操作。

2.2编写RTL仿真文件

首先我们要有一个概念,我们仿真的目的是模拟代码实际运行时候的一个状态。所以我们要做的就是尽可能真实的还原我们将程序下载后,我们实际开发板的运行状态。然后使用例化的方式,将我们的信号接入我们的主程序模块,方法类似我们例化IP,所以例化的部分我们不详细讲解。

我们目前的代码比较简单,由于我们的使用的开发板的系统时钟是50M,所以我们仅仅需要模拟一个50M的系统时钟即可。

本教程具有通用性,可作为其他型号的FPGA参考学习资料,如果作为其他型号的FPGA参考使用,开发板的系统时钟存在差异,请在理解原理后适当修改,切勿生搬硬套。

由于时钟翻转我们需要保持高/低电平的状态,所以我们设置一个reg类型的寄存器"clk_i",然后使该寄存器定时翻转。

这边我们使用一个关键词"`timescale"来控制我们仿真的精度,我们本次模拟的是一个50M的时钟,我们的周期为20ns,所以我们设置每10ns进行一次翻转,我们的仿真精度是1ns,所以我们翻装的周期设置"#10",我们具体代码如下

`timescale 1 ns/100ps

 

module sim_top_tb;

 

reg sysclk;          //时钟信号

wire [1:0] up_led;   //仿真的LED 信号  

 

pll_test u_pll_test(

.I_sysclk_p(sysclk),

.O_up_led(up_led)

);

initial

begin

   sysclk = 1'b0;

end

 

///////////////////////////////////////////////////////////////////

//

// Clock generation

//

 

always #10 sysclk = ~sysclk;  //duty cycle 50%, period 20 ns; Frequency 50Mhz;

endmodule

TB文件保存后,我们可以发现,文件结构又发生了变化,主程序并入了我们TB文件下,说明我们程序例化成功,可以开始仿真。

2.3运行仿真

Step1:点击Run Behavioral Simulation

 

Step2:等待数秒,我们进入仿真界面,这时候我们需要选出我们需要观察的信号,然后右键添加进我们的观察窗口,

Step3:添加完成后,我们需要重新开始仿真或者刷新一下我们的观察数据,然后点击run运行仿真。

 

Step4:运行后,由于我们计数器要经过一段时间比较长的计数,所以我们需要等待一段时间。通过结果可以看到经过PLL IP分频出来的时钟跟预期保持一致,LED正常翻转。

 

3使用Modelsim进行仿真

默认电脑上已经安装完成vivado以及Modelsim软件。

Step1:打开vivado,点击Tools --> Compile Simulation Libraries,生成库函数

Step2:生成库函数设置

Simulator选择ModelSim Simulator

Language,Library,Family选择全部(All)

Compiled library location:编译库目录,可以选择在ModelSim的安装路径下,新建一个Vivado_2021_lib的文件夹

Simulator executable path:选择ModelSim的启动路径

点击Compile,即可开始生成库文件,等待编译完毕。

Step3:在Vivado中添加ModelSim调用设置

Vivado --> Tools --> setting,分别设置仿真软件和仿真库

Step4:在Simulation中选择ModelSim来仿真并且调用之前到处的库。

Step5:点击Run Behavioral Simulation,Modelsim正常启动

Step5:右键添加信号

Step6:先把信号复位,然后重新开始仿真

Step6:仿真结果无误

4本章小结

本章节主要学习了两种仿真方法,并且分别对工程进行仿真。

标签:02,文件,仿真,Modelsim,vivado,点击,添加,我们
From: https://www.cnblogs.com/milianke/p/17693603.html

相关文章

  • 都2023年了,别再用ifconfig啦! 试试这个吧!
    下午好,我的网工朋友。ifconfig这玩意儿,还有多少人在用?举个手看看总在说ifconfig即将被淘汰,但其实很多网工还在用吧。比如说组合使用诸如ifconfig、route、arp和netstat等命令行工具(来源于安装包net-tools)来配置网络功能,解决网络故障。net-tools起源于BSD的TCP/IP工具箱,后来成为老版......
  • 米联客 2024 版 FPGA 课程快速入口课程-目录速览(网页版没有页码)
    目录米联客2024版FPGA课程快速入口课程    101AMDFPGAvitis-vivado软件快速入门课程    91概述    92新建VIVADO工程    93添加代码管理文件夹    124添加PLLIP核    125新建工程文件    186完善RTL代码    227添加管脚约束......
  • 2023年9月DAMA-CDGA/CDGP数据治理认证哪好?
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......
  • 2023年9月NPDP产品经理国际认证报名哪靠谱些?
    产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是全球范围内产品开发与管理专业人士最杰出的倡导者,协助个人、企业或......
  • 2023年9月CSPM-3国标项目管理中级认证报名,哪有?
    CSPM-3中级项目管理专业人员评价,是中国标准化协会(全国项目管理标准化技术委员会秘书处),面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系,建立健全人才职业能力评价和激励机制的要求,培养我国项目管理领域复合型人才。  【证书含金量】 ·竞聘优先......
  • 2023年下半年杭州/深圳软考(中/高级)认证报名,去哪?
    软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成项目管理工程师,属于软考三个级别中的“中级”。信息系统项目管理师,属于软考三个级别中的“高级......
  • 2023年9月深圳CPDA数据分析师认证到弘博创新
    CPDA数据分析师认证是大数据方面的认证,助力数据分析人员打下扎实的数据分析基础知识功底,为入门数据分析保驾护航。帮助数据分析人员掌握系统化的数据分析思维和方法论,提升工作效率和决策能力,遇到问题能够举一反三,为大部分决策难题提供解决方案。帮助数据分析人员掌握几种通用的数据......
  • 【2023-09-08】梳理怨气
    20:00路沾蔬草白,天气转青高。叶下和秋吹,惊看两鬓毛。养羞因野鸟,为客讶蓬高。火急收田种,晨昏莫辞劳。                                                 ——唐·元稹《白......
  • 【2023-09-09】连岳摘抄
    23:59当天空中出现乌云的时候,我们就指出:这不过是暂时的现象,黑暗即将过去,曙光即在前头。                                                 ——XXX你的直觉是对的,你现......
  • 开源 & Dad:聊一下我与 2022 的故事
    开源&Dad:聊一下我与2022的故事董天成​github.com/andycall​关注他 22人赞同了该文章​展开目录 每个人都有这自己难忘的2022年,同样,2022对于我来说,是个重要的人生转折点。通常每次在新年的时候,我都是向前看,想象着新的一年后,自......