【FPGA】高云FPGA之科学的FPGA开发流程(二)

简介: 【FPGA】高云FPGA之科学的FPGA开发流程

【FPGA】高云FPGA之科学的FPGA开发流程(一)https://developer.aliyun.com/article/1472626


4、功能仿真

这里我们需要将我们的源代码设置为顶层文件(这里引用一下小梅哥的图),然后我们可以看到该源码所占用的资源情况

然后我们创建一个test beach测试文件

代码如下

`timescale 1ns/1ps
module mux_2_1_tb();
 
    reg In1;
    reg In2;
  reg Sel;
  wire Led;
  
  // 创建模块实例并赋值参数
  mux_2_1 Mux_2_1(
    .in1(In1),
    .in2(In2),
    .sel(Sel),
    .led(Led)
  );
  // 初始化运行 测试每个真值表上对应的参数设定
    initial begin
        In1 = 0;In2 = 0;Sel = 0;
    #100; 
    In1 = 0;In2 = 0;Sel = 1;
    #100;
    In1 = 0;In2 = 1;Sel = 0;
    #100;
        In1 = 0;In2 = 1;Sel = 1;
    #100;
    In1 = 1;In2 = 0;Sel = 0;
    #100;
    In1 = 1;In2 = 0;Sel = 1;
    #100;
    In1 = 1;In2 = 1;Sel = 0;
    #100;
    In1 = 1;In2 = 1;Sel = 1;
    #100;
  end
  
endmodule

点击综合和布线,验证有无逻辑错误

然后我们打开modsim软件创建工程

添加我们的两个源码文件并编译

进入 Add Simulation Configuration 页面,我们在 Design 标签页面中选择work 库中的“ mux_2_1_tb”模块作为设计顶层,点击复制模块名作为仿真配置“ Simulation Configuration Name”的命名,确保命名保持一致。在复杂的工程设计中,我们可以设计多个不同的仿真配置顶层对工程进行仿真测试。

点击“ Optimization Options…”, 在“ Optimization Options…” 设置栏中选择“ Apply full visibility to all modules(full debug module)”,点击“ OK”

配置元件库(这一步的操作需要在modsim中已经添加了高云fpga的仿真库后操),点击“ libraries” 设置栏, 在“ Search libraries(-L)” 一栏中点击“ Add…”添加我们新建的高云的库文件“ gw5a”,在“ Search Libraries First(-Lf)”同样选择库文件“ gw5a”,最后点击“ Save”保存设置;

然后双击我们的仿真文件进入仿真界面

然后我们选中模块右击后点击Add Wave放到显示波形中

添加好波形后回到“ Library”栏,右键单击“ work”点击 Update 将

“ mux_2_1_tb”文件更新在“ work”栏,如下所示

然后我们点击状态栏中的运行即可捕捉到波形,然后右击Zoom Full可以快速查看波形,在这一步我们可以验证我们的波形是否是我们需要的效果;

下一步我们可以将modsim的工程和波形文件保存到项目project路径下;

然后点击波形界面一下再点击这个按钮选择保存波形路径

下次还需打开工程只需要点击该目录下的.mpf文件即可

到这里功能仿真也就是RTL仿真就结束了,下一步我们需要分配我们程序中引脚并完成布局布线;


【FPGA】高云FPGA之科学的FPGA开发流程(三)https://developer.aliyun.com/article/1472628

相关文章
|
6月前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(一)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
159 2
|
6月前
|
编译器 异构计算 内存技术
【FPGA】高云FPGA之科学的FPGA开发流程(三)
【FPGA】高云FPGA之科学的FPGA开发流程
217 0
【FPGA】高云FPGA之科学的FPGA开发流程(三)
|
6月前
|
芯片 异构计算
【FPGA】高云FPGA之科学的FPGA开发流程(一)
【FPGA】高云FPGA之科学的FPGA开发流程
174 0
|
6月前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(三)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
152 4
|
6月前
|
存储 芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(二)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
146 4
|
6月前
|
芯片 异构计算
【FPGA】高云FPGA之IP核的使用->PLL锁相环(二)
【FPGA】高云FPGA之IP核的使用->PLL锁相环
111 1
|
6月前
|
芯片 异构计算
【FPGA】高云FPGA之IP核的使用->PLL锁相环(一)
【FPGA】高云FPGA之IP核的使用->PLL锁相环
250 0
|
算法 编译器 测试技术
第二章 FPGA开发流程
第二章 FPGA开发流程
222 0
第二章 FPGA开发流程
|
8天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的1024QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的1024QAM调制解调系统的仿真与实现。通过Vivado 2019.2进行仿真,分别在SNR=40dB和35dB下验证了算法效果,并将数据导入Matlab生成星座图。1024QAM调制将10比特映射到复数平面上的1024个星座点之一,适用于高数据传输速率的应用。系统包含数据接口、串并转换、星座映射、调制器、解调器等模块。Verilog核心程序实现了调制、加噪声信道和解调过程,并统计误码率。
27 1
|
29天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的64QAM调制解调通信系统的设计与实现,包括信号生成、调制、解调和误码率测试。系统在Vivado 2019.2中进行了仿真,通过设置不同SNR值(15、20、25)验证了系统的性能,并展示了相应的星座图。核心程序使用Verilog语言编写,加入了信道噪声模块和误码率统计功能,提升了仿真效率。
44 4

热门文章

最新文章