Xilinx DDR3学习总结——3、MIG exmaple仿真

news2024/11/22 13:17:05

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Xilinx DDR3学习总结——3、MIG exmaple例程仿真

  • 前言
  • 仿真


前言

前面我们直接把exmaple例程稍加修改就进行了抢先上板测试,证明了MIG模块工作时正常的,但后续如果需要添加读写功能的话,还是需要先进行仿真,因此我们还是先要把modelsim仿真弄起来

仿真

在生成example的时候,vivado就自带仿真激励的是直接可以仿真的,

sim_tb_top.v就是仿真tb文件

ddr3_model.sv
ddr3_model_parameters.vh
这两个文件是DDR3的模型,根据我们MIG的设置生成的,因此我们也需要引用

最后,还有一个sim.do文件,这个文件的内容用于自己do文件的编写的参考,我们依葫芦画瓢,最后形成自己的do文件

quit -sim
set RTL_PATH .
cd $RTL_PATH

vlib work
vmap work work


vlog -work work  $RTL_PATH/imports/mig_7series*.v


vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/clk_wiz_0/clk_wiz_0_sim_netlist.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/mig_7series_0.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/mig_7series_0_mig_sim.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/clocking/*.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/controller/*.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ecc/*.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ip_top/*.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/phy/*.v
vlog -work work  $RTL_PATH/mig_7series_0_ex.srcs/sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ui/*.v
vlog -work work  $RTL_PATH/imports/example_top.v
vlog -work work  $RTL_PATH/imports/wiredly.v
vlog -work work  $RTL_PATH/imports/sim_tb_top.v

#Pass the parameters for memory model parameter file#
vlog -work work -sv +define+x4Gb +define+sg107E +define+x16 $RTL_PATH/imports/ddr3_model.sv
vlog -work work  D:/Xilinx/Vivado/2020.2/data/verilog/src/glbl.v
vsim -L secureip -L simprims_ver -L unifast -L unifast_ver -L unimacro -L unimacro_ver -L unisim -L unisims_ver -L xpm -voptargs="+acc"  sim_tb_top glbl
add wave sim:/sim_tb_top/*
log -r *
run 1209us
do wave.do

注意,因为example_top的sys_rst端口被我删掉了,以及sys_clk_i的输入变成了100M,这两点需要在sim_tb_top.v进行修改。

修改完成之后。进行modelsim仿真:

在这里插入图片描述
不一会儿 ,DDR3初始化成功的标志就拉高了,说明modelsim仿真成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/869021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SWIG使用方法

安装 下载 swigwin软件包,解压到合适的位置,然后将路径添加到环境变量即可。 编写C代码 //vector.hpp class Vector { private:int x;int y; public:Vector(int,int);double abs();void display(); };//vector.cpp #include "vector.hpp" …

C语言 ——指针数组与数组指针

目录 一、二维数组 二、指针数组 (1)概念 (2)书写方式 (3)指针数组模拟二维数组 三、数组指针 (1)概念 (2)使用数组指针打印一维数组 (3&a…

网络协议栈-基础知识

1、分层模型 1.1、OSI七层模型 1、OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。 2、每一层都有相关…

【C语言】分支语句(选择结构)详解

✨个人主页: Anmia.🎉所属专栏: C Language 🎃操作环境: Visual Studio 2019 版本 目录 什么是分支语句? if语句 if if - else单分支 if - else if - else ...多分支 if - if嵌套 switch语句 基本语…

HackRF One Block Diagram

HackRF One r1-r8 Block Diagram HackRF One r9 Block Diagram

FPGA 之 xilinx DDS IP相位控制字及频率控制字浅析

浅析相位环在Xilinx DDS中的理解 本文仅为个人理解之用; 相关仿真结果如下:

Qt5.9.4搭建安卓环境-Qt for Android

目录 需要安装以下内容:安装JDK设置环境变量安装剩余文件 使用新建文件 可能出现的问题第一种解决方法: 第二种解决方法 需要安装以下内容: 下载地址: https://www.qter.org/portal.php?modview&aid10 很多Qt开发会用到的环…

理解-面向对象

目录 对象: 举例: 封装: 好处: 继承: 多态: 类和对象之间的关系 对象: 把一个东西看成对象,我们就可以孤立的审查它的性质,行为,进而研究它和其他对象的关系。 对象是一个应用系统中用…

探索极限:利用整数或字符串操作找出翻转后的最大数字

本篇博客会讲解力扣“1323. 6 和 9 组成的最大数字”的解题思路,这是题目链接。 对于这道题目,我会讲解2种解题思路,分别是直接操作整数,和利用字符串操作。希望大家通过本题学习关于整数和字符串的技巧。 显然,这道题…

如何在 .NET Core WebApi 中处理 MultipartFormDataContent 中的文件

问题描述# 上图示例展示了用户通过 IOS 客户端发送请求时,对应后端接口接收到的 Request 内容。从请求内容的整体结果,我们可以看出这是一个 multipart/form-data 的数据格式,由于这种数据是由多个 multipart section 组成,所以我…

ELK常见部署架构以及出现的问题及解决方案

ELK常见部署架构以及出现的问题及解决方案 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats 、Logstash 、Elasticsearch 、 Kibana 等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决方案。本文将会介…

无情被裁的后续来了

关注、星标公众号,直达精彩内容 来源:技术让梦想更伟大作者:不生气 大家好,给大家分享一个案例,收集好证据,劳动仲裁吧 ,裁员时候老板打感情牌,员工呢坚持付出就得回报按照程序来。…

Zabbix 6.0 监控

文章目录 一、Zabbix简介1)zabbix 是什么?2)zabbix 监控原理3)Zabbix 6.0 新特性1、Zabbix server高可用防止硬件故障或计划维护期的停机2、Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集…

【计算机视觉|生成对抗】用深度卷积生成对抗网络进行无监督表示学习(DCGAN)

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 链接:[1511.06434] Unsupervised Representation Learning with Deep Conv…

python——案例18:判断该元素是否在列表中

案例18:判断该元素是否在列表中test_list[10,-8,25.6,88,0,4]print("查看88是否在列表里面:")for i in test_list:if(i88):print("存在") print("查看88是否在列表中:") if(88 in test_list):print("存在…

Scractch3.0_Arduino_ESP32_学习随记_WIFI一键配网web(五)

WIFI一键配网web 目的器材程序联系我们 目的 使用手机为C02一键配网 器材 硬件: 齐护机器人C02 购买地址 软件: scratch3.0 下载地址:官网下载 程序 程序如下图所示: 当程序上载完成后使用手机连接WIFI名为qdprobot的网络,密码为12345678。连接后会自动弹出配网的网页。…

特征选择 | 变量重要性衡量

特征选择 | 变量重要性衡量 目录 特征选择 | 变量重要性衡量写在前面常规方法存在问题解决策略参考资料 写在前面 特征选择是预测模型构建的关键步骤,旨在1)降低数据维度,减少计算量;2)剔除一些无关或冗余变量&#xf…

【uniapp】uniapp自动导入自定义组件和设置分包:

文章目录 一、自动导入自定义组件:二、设置分包和预加载: 一、自动导入自定义组件: 【Volar 官网】https://github.com/vuejs/language-tools 二、设置分包和预加载: 【官方文档】https://uniapp.dcloud.net.cn/collocation…

无涯教程-Perl - ord函数

描述 此函数返回EXPR指定的字符的ASCII数值,如果省略则返回$_。例如,ord(A)返回值为65。 语法 以下是此函数的简单语法- ord EXPRord返回值 该函数返回整数。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -wprint("ord() ", ord(G), "\n"…

初出茅庐的小李博客之认识编码器

编码器是什么: 一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器通常由一个旋转部分和一个固定部分组成,旋转部分随着被测量的物体进行旋转,固定部分则保持不动…