TD联合Modelsim进行功能仿真

2023-11-08

1 引言

   最近在接触使用国产安路科技公司的FPGA进行相关的开发,TD(Tang Dynasty)作为一款安路FPGA开发工具与Quartus 使用大致相同,但仍旧有一定的不同。

2 基本配置流程

  这里推荐以官方使用手册作为参考进行实践,首先需要完成TD软件内部的操作。

在这里插入图片描述

2.1 TD软件设置操作

    1. Process ⇒ \Rightarrow Properties ⇒ \Rightarrow Optimize RTL :

rtl_sim_model : ON

在这里插入图片描述

    2. Process ⇒ \Rightarrow Properties ⇒ \Rightarrow Optimize Gate :

gate_sim_model : ON

在这里插入图片描述

    3. Process ⇒ \Rightarrow Properties ⇒ \Rightarrow Optimize Routing :

phy_sim_model : ON

在这里插入图片描述

    4. Process ⇒ \Rightarrow Properties ⇒ \Rightarrow Timing Option :

sdf : ON

在这里插入图片描述

  5.设置相关仿真参数

在这里插入图片描述

6.运行Simulation

在这里插入图片描述

7.选择相关测试文件(testbench文件)

在这里插入图片描述

这里有两种方式,第一种是添加已经存在的tb文件进行测试;第二种是新建一个新的测试文件。

8.完成上述步骤之后会生成两个文件:①testbench文件 ②脚本文件do文件。

在这里插入图片描述

完成这些步骤之后,TD软件这边的设置便已经完成,下面需要完成Modelsim软件方面的设置。

2.2 Modelsim软件方面设置

  1. 首先进入TD安装目录,在改目录下有一个文件夹为sim_release的文件,文件夹下是一些对应芯片的仿真文件,因为这里使用的芯片为EF2L45LG144B。所以仅复制EF2文件夹下的相关文件。(这里一定要注意根据芯片类型选择复制的文件夹)在这里插入图片描述

  2. 在Modelsim安装根目录下新建一个文件夹(Anlogic),将刚才复制的EF2文件夹复制进新建的Anlogic >> src文件夹内。此时src文件夹内便存放着大量该芯片的仿真文件。

在这里插入图片描述

  1. 打开Modelsim,File ⇒ \Rightarrow Change Directory ⇒ \Rightarrow 修改当前目录为刚创建的Modelsim根目录下的Anlogic文件夹。

在这里插入图片描述

在这里插入图片描述

  1. File ⇒ \Rightarrow New ⇒ \Rightarrow Library ⇒ \Rightarrow 新建安路仿真库。库名字设置为EF2_ver。

    在这里插入图片描述

    在这里插入图片描述

5.Compile ⇒ \Rightarrow Compile ⇒ \Rightarrow 编译新库

在这里插入图片描述

在这里插入图片描述

6.回到TD软件,设置Lib,重新进行Simulation。

在这里插入图片描述

  1. 将TD工程目录下的tb文件和原始Verilog文件进行拷贝到modelsim根目录Anlogic文件夹下的新建文件夹内,作为工程文件。

    在这里插入图片描述

8.在Modelsim中新建工程文件

在这里插入图片描述

在这里插入图片描述

9.为工程加入测试文件

在这里插入图片描述

10.加入文件后进行编译,编译之前一定要对tb文件进行初值的幅值与修改。即修改initial语句中的定义部分。

在这里插入图片描述

在这里插入图片描述

11.启动仿真,设置仿真文件,加入仿真库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

12.仿真结果

在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TD联合Modelsim进行功能仿真 的相关文章

  • PRBS笔记

    1 概述 PRBS 伪随机二进制序列 也称为伪随机码 通常被用来测试高速信号的信号质量 伪随机 也说明了该码流并不是真正的随机 而是具有特性属性 码流由 多项式 决定 具有重复周期 PRBS具有多种阶数 如PRBS7 PRBS15 PRBS
  • 【Xilinx Vivado时序分析/约束系列6】FPGA开发时序分析/约束-IO时序输入延时

    目录 源同步FPGA输入时序分析的模型 input delay约束 极限input delay 往期系列博客 源同步FPGA输入时序分析的模型 以下为源同步FPGA输入时序分析的模型的示意图 在之前的文章中介绍过 在此介绍一下各个时钟延时的
  • modelsim 关联 notepad++

    modelsim 控制窗口敲入 1 proc external editor filename linenumber exec I notepad notepad exe filename 2 set PrefSource altEdito
  • Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)

    当搭建FPGA逻辑时 使用循环语句可以使语句更加简洁易懂 Verilog中存在四类循环语句 如标题 几种循环语句的具体介绍和用法如下 1 forever 连续的执行语句 语法格式 forever
  • SD卡读写实验(SPI模式)

    对于 SD 卡的 SPI 模式而言 采用的 SPI 的通信模式为模式 3 即 CPOL 1 CPHA 1 在 SD 卡 2 0 版 本协议中 SPI CLK 时钟频率可达 50Mhz SD 卡的 SPI 模式 只用到了 SDIO D3 SP
  • 关于Keil中Memory中观察不到数据变化的问题以及启动文件栈的初始化

    关于Keil中Memory中观察不到数据变化的问题 在KEIL中观察Memory数据变化 一定要记得只能在RAM地址或ROM之内观察 如下图所示 RAM的地址设置在地址为0x20000000开始的地方 大小为0x20000 因此只有在这个范
  • FPGA的基本设计流程

    FPGA开发主要包括系统设计 设计输入 功能仿真 综合优化 综合后仿真 实现与布局布线 时序方针与验证 板级方针与验证 芯片编程与调试等9个部分 如下图所示 1 电路设计 在系统设计之前 首先要进行的是方案论证 系统设计和FPGA芯片选择等
  • 数码管电子时钟

    文章目录 前言 一 回顾数码管 二 任务描述 三 系统框图 四 模块调用 五 模块原理图 六 工程源码 6 2 时钟计数模块代码 6 2 数码管驱动模块代码 6 3 顶层模块代码 七 仿真测试 7 1 测试代码 7 2 仿真结果 八 管脚信
  • FPGA硬件工程师Verilog面试题(基础篇二)

    作者简介 大家好我是 嵌入式基地 是一名嵌入式工程师 希望一起努力 一起进步 个人主页 嵌入式基地 系列专栏 FPGA Verilog 习题专栏 微信公众号 嵌入式基地 FPGA硬件工程师Verilog面试题 二 习题一 多功能数据处理器
  • 八段数码管动态显示(输入数据为BCD编码)

    八段数码管动态显示 输入数据为BCD编码 一 数码管概述 图1 八段共阴数码管内部等效原理图 图2 八段共阳数码管内部等效原理图 上面两图分别是对应八段共阴 共阳的数码管内部等效图 共阴是将八个LED数码管的阴极连接在一起接低 阳极segm
  • TestBench编写_激励产生

    TestBench编写 激励产生 TestBench编写 激励产生 基本背景 读取函数介绍 a fopen函数使用 b fread函数使用 c fclose函数使用 实际使用 TestBench编写 激励产生 基本背景 最近遇到项目中需要对
  • xilinx xdma PCIe中断bug

    xilinx xdma PCIe中断存在bug bug1 此中断虽然是msi或者msx中断 但是不中断cpu bug2 此中断不是边沿中断 而是电平中断 在驱动层需要不断地轮训查询中断事件 bug3 此中断持续时间必须长 而且在收到中断应答
  • BUCK电路分析(二)

    BUCK电路分析 二 PSIM仿真同步BUCK电路 在上片文章中 初步的分析了BUCK电路的工作原理 本章使用PSIM软件仿真BUCK电路 观察分析BUCK电路器件关键波形 图1是同步BUCK电路图 开关频率设置为200K 固定占空比 在仿
  • PAJ7620U2手势识别——配置0x00寄存器(3)

    文章目录 前言 一 为啥要配置0x00寄存器 二 配置步骤 1 单个读操作步骤图 2 模块状态转移图绘制 3 模块波形图绘制 4 上板验证 5 参考代码 总结 前言 在前面的教程中 小编带领各位读者学习了如何通过I2C协议去唤醒PAJ762
  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • ALLEGRO等长时如何将PIN DELAY和VIA长度计算在内

    在PCB设计中 对于时序要求严格的线路 Via和IC pin delay的长度必须得到重视 通过下面的操作 可将Via和Pin delay加入到线路长度的计算中 1st 计算Pin delay 打开Constraint Manager 选择
  • 【电子技术】什么是LFSR?

    目录 0 前言 1 数学基础 1 1 逻辑异或 1 2 模2乘法 和 模2除法 2 线性反馈移位寄存器LFSR 3 抽头和特征多项式 4 阶线性反馈移位寄存器实例 0 前言 线性反馈移位寄存器 Linear Feedback Shift R
  • 画时序图软件——TimeGen和Timing Designer下载

    在写实验报告的时候需要画波形图 但是手头没有很好的软件 就上网搜了一些 分享出来 这里分享的是TimeGen和Timing Designer两个软件 资源均来自网上 有侵权请联系 TimeGen使用和安装都比较简单 我发的应该里面有破解方法
  • 无线网络管理系统与无线路由器的区别

    第5章 波形发生器软件设计 本章我们将介绍系统的软件设计 系统中控制软件占有很重要的地位 它不仅要产生波形数据 控制波形的发生 还要控制显示电路和键盘电路 因此系统软件的好坏直接决定着系统的功能和稳定 5 1软件的总体结构 在本系统中 由于
  • TRICONEX MA2211-100 芯片上相互连接

    TRICONEX MA2211 100 芯片上相互连接 TRICONEX MA2211 100 所有相同的组件 io的电源 处理器 和内存将需要 但是 你可以看到所有这些带存储器和处理器的OO板 针不能嵌入到一个小的单片机上 现在是 普拉克

随机推荐

  • C++实验02(02)华氏温度转换为摄氏温度

    题目描述 编写一个函数convert 把华氏温度转换为摄氏温度 转换公式为 C F 32 5 9 要求用内联函数实现 在main 中调用该函数 说明 F为double型 输入描述 华氏温度 输出描述 摄氏温度 输入样例 100 输出样例 华
  • 单线双线多线服务器有哪些区别

    单线双线多线服务器有哪些区别 服务器托管是我们现在当下比较常用的一种方式 越来越多的企业及站长 他们都会选择服务器托管 这不仅可以减少企业的维护时间成本 也可以让网站或者平台能够得到更多的专业技术支持 那么 在服务器托管中 我们经常会遇到单
  • jenkins+fastlane+git+cocoapods实现iOS持续集成踩坑记录

    前提 本项目在配置jenkins前已配置安装fastlane并自动上传蒲公英 关于fastlane的使用不在本文讨论范围之内 安装Jenkins jenkins有几种方式安装 一种是去官网下载dmg安装包 还可以下载 war文件 通过执行命
  • 整理一下react的知识点之redux-devtools-extension基本使用(持续更新)

    1 下载相关包 npm i redux react redux redux thunk redux devtools extension 2 安装react开发工具 chrome浏览器插件 3 安装redux的开发工具 chrome浏览器插
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 如何用ChatGPT辅助写论文

    ChatGPT先进功能创造了巨大的需求 该AI工具在推出后的两个月内就积累了超过1亿用户 最突出的功能之一是它能够在几秒钟内编写各种文本 包括歌曲 诗歌 睡前故事和散文 但是ChatGPT可以做的不仅仅是写一篇文章 更有用的是它如何帮助指导
  • 什么是IOC和DI?DI是如何实现的?

    什么是IOC和DI DI是如何实现的 IOC Inversion of Control 叫控制反转 DI Dependency Injection 叫依赖注入 是对IOC更简单的诠释 IOC 控制反转是把传统上由程序代码直接操控的对象的调用
  • IDEA上传代码到Gitee

    提示 这里可以使IDEA上传代码到Gitee 需要自己手动操作 目录 前言 一 打开Gitee官网 进行注册登录 1 登录进去找到右上角添加仓库 进行所示图操作 二 启动IDEA 1 IDEA关联Gitee 2 找到git下载好git程序
  • SPI协议的verilog实现:利用spi协议配置寄存器

    状态机状态跳转图 因常常需要对寄存器进行配置 因而学习了V3学院的视频课 利用spi协议对寄存器进行配置 在此做个记录 以便日后回顾 上图为状态机状态转移图 需要先将需要配置的寄存器的信息存放在ROM中 然后将数据读出来 通过SPI协议发送
  • Vue3快速入门教程

    学某个新技能时 大多数人倾向于 一开始就从头到尾完整学一遍 甚至有人翻来覆去重复学很多遍也达不到熟记于心 我个人认为 这不是最好的办法 我的建议的是 面向需求 or 面向问题来学习 最开始你可能不了解你要实现的效果会涉及哪些技术知识点 那么
  • 六十七.深度优先遍历C语言实现(有向图)

    include
  • ApplicationContext类继承设计

    先上类图 BeanFactory是Spring IoC的核心接口 BeanFactory相关的类设计可以看做是Spring的核心骨骼 为整个框架设计了一个基本的核心架构 但只有骨骼 没有血肉 也是不完整的 这样一个核心的骨架难以在实际开发中
  • 【知识蒸馏】Knowledge Review

    GiantPandaCV引言 知识回顾 KR 发现学生网络深层可以通过利用教师网络浅层特征进行学习 基于此提出了回顾机制 包括ABF和HCL两个模块 可以在很多分类任务上得到一致性的提升 摘要 知识蒸馏通过将知识从教师网络传递到学生网络 但
  • 【无关技术·朋友圈朝花朝拾】月相

    月相 月相是以日月黄经差度数 以下的度数就是日月黄经差值 来算的 农历每一天的月相都有自己的专门名字 详情请看https baike baidu com item 月相是日月黄经差度数 以下的度数就是日月黄经差值 来算的 共划分八种 新月
  • Java集合之LinedList

    LinedList类实现了List接口 他提供了 双向的 链表数据结构 在该链表中的每一个元素除了存储本身的内容之外还存储指向前一个元素的指针和指向后一个元素的指针 下图展示了一个包含三个元素的双向链表 每个链表都有一个头部 头部指向第一个
  • Jdk8 foreach语法需要break怎么办?

    forEach里的return只相当于continue 没有break语法 在这里我总结了3种解决方案供你选择 exception filter anyMatch forEach里的return只相当于continue 没有break语法
  • 【Unity】让动画系统支持相对坐标

    假如你有一个很简单的动画 并且需要应用到许多物体上 但如果你挂载同一个动画到两个物体上 就会这样 解决方案 仅测试过 legacy 动画 挂载此脚本到物体上 using System Collections using System Col
  • 新手小白学影视剪辑50天日入500,她的方法秘籍全在这里了!【覃小龙课堂】

    hi 我是您的老朋友 覃小龙 您可以称呼我为覃总 今天给您带来的主题干货是一位女学员的总结 新手小白学影视剪辑50天日入500 她的方法秘籍全在这里了 做视频剪辑无论新手老手 无非就是这几点 1 怎么样才能不侵权 过审核发布 2 怎么样才能
  • upload-labs靶场学习笔记1-21关

    目录 Pass 01 前端验证 Pass 02 MIME验证 Pass 03 黑名单验证 特殊后缀 Pass 04 黑名单验证 htaccess重写解析绕过上传 Pass 05 黑名单验证 user ini 点空格点 Pass 06 黑名单
  • TD联合Modelsim进行功能仿真

    TD联合Modelsim进行功能仿真 1 引言 2 基本配置流程 2 1 TD软件设置操作 2 2 Modelsim软件方面设置 1 引言 最近在接触使用国产安路科技公司的FPGA进行相关的开发 TD Tang Dynasty 作为一款安路