当前位置: 首页 > news >正文

modelsim做后仿真的一点思路

        这是以TD_5.6.3_Release_88061生成的网表文件(其他工具生成的网表文件类似),与modelsim联合进行门级仿真的样例,时序仿真与门级仿真的方法类似,只是增加了标准延时文件。

1、建立门级仿真工程

        将门级网表和testbench添加进来,建立工程。

2、查找所有的wire变量

        (1)在modelsim中将tb文件设置为顶层文件,运行仿真。
       (2)  在sim窗口,找到顶层设计的实例化名字,鼠标右键点击add wave ,将所有的wire型变量添加到wave窗口。

        (3)点击save按钮,将所有的wire型变量保存到.do文件。下面就是设计中所有wire信号的绝对路径。

3、使用find connections命令查找所有wire变量的连接关系

        主要是与instance的连接关系,这样整个设计的门级单元以及互联关系就清楚了。将所有的wire变量以及与instance之间的互联关系保存到txt文件,就可以追踪数据流了。

find connections {/tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/cnt }

# Connected nets for {/tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/cnt }
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/ns[0]_syn_44 /q[0]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/ns[0]_syn_46 /q[0]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_44 /q[0]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_44 /q[1]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_48 /q[0]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_48 /q[1]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_51 /q[0]
# 	  output : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg0_syn_51 /q[1]
# 	internal : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/cnt 
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_70 /a[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_73 /a[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_73 /a[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_76 /a[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_76 /a[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_79 /a[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_79 /a[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/add3_syn_81 /a[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /a[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /a[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /b[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /b[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /c[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /c[1]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /d[0]
# 	   input : /tb/inst_ac/\adc_array_1/adc_module[0]$adc7606_ctr_1/ad7606_1/reg4_syn_393 /d[1]
# 



 

相关文章:

modelsim做后仿真的一点思路

这是以TD_5.6.3_Release_88061生成的网表文件(其他工具生成的网表文件类似),与modelsim联合进行门级仿真的样例,时序仿真与门级仿真的方法类似,只是增加了标准延时文件。 1、建立门级仿真工程 将门级网表和testbench添…...

如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区

如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区 1. 问题背景 有时我们需要获取特定 HIVE 库下所有分区表,或者所有分区表的所有分区,以便执行进一步的操作,比如通过 使用 HIVE 命令 MSCK REPAIR TABLE table_name sync partiti…...

如何在 qmake(QtCreator)中指定 Mac 平台

在 Qt 项目文件(.pro 文件)中设置针对 Mac OS 的配置项。通常情况下,我们可以使用如下方式为 Windows 和 Unix 系统分别添加源文件: win32 {SOURCES += hellowin.cpp } unix {SOURCES += hellounix.cpp }虽然 Mac OS 是类 Unix 系统,但有时我们仍然需要区分它和 Linux 系…...

day39动态规划part02| 62.不同路径 63. 不同路径 II 343. 整数拆分 (可跳过)96..不同的二叉搜索树 (可跳过)

**62.不同路径 ** 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 题目讲解 | 视频讲解 class Solution { public:int uniquePaths(int m, int n) {// 确定数组及其下标的含义int dp[101][101] {0}; //到达i,j的点有多少条路径// 确定递推…...

声场合成新方法:基于声波传播的框架

声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后…...

鸿蒙文件操作事前准备

13900001,沙箱13900002 首选授权 module授权配置 "requestPermissions": [{ "name": "ohos.permission.CAMERA",}, { "name": "ohos.permission.READ_MEDIA",}, { "name": "ohos.permission.WR…...

AI智能时代:ChatGPT如何在金融市场发挥策略分析与预测能力?

文章目录 一、ChatGPT在金融策略制定中的深度应用客户需求分析与定制化策略市场动态跟踪与策略调整策略分析与优化 二、ChatGPT在算法交易中的深度应用自动交易策略制定交易执行与监控风险管理 三、未来展望《智能量化:ChatGPT在金融策略与算法交易中的实践》亮点内…...

C#面:C#属性能在接口中声明吗?

在C#中,接口是一种定义了一组方法、属性和事件的类型。在接口中,只能声明方法、属性和事件的签名,而不能包含字段、构造函数或实现代码。因此,C#属性不能直接在接口中声明。 然而,你可以在接口中定义属性的签名&#…...

区块链的历史和发展:从比特币到以太坊

想象一下,你住在一个小镇上,每个人都有一个大账本,记录着所有的交易。这个账本很神奇,每当有人买卖东西,大家都会在自己的账本上记一笔,确保每个人的账本都是一致的。这就是区块链的基本思想。而区块链的故…...

input()函数——输入

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 input()函数可以提示并接收用户的输入,将所有的输入按照字符串进行处理,并返回一个字符串,input()函数的…...

CST 时间格式减去八小时

问题: 查看服务器时间是正确的,但输出出来的时间,比此时多出来八个小时。这里直接把时间减去八个小时。 public static void main(String[] args) throws ParseException {// 设定原始时间格式try {SimpleDateFormat dateFormat new SimpleDateFormat(&…...

植物大战僵尸杂交版技巧大全(附下载攻略)

《植物大战僵尸杂交版》为策略游戏爱好者带来了全新的挑战和乐趣。如果你是新手玩家,可能会对游戏中的植物和僵尸感到困惑。以下是一些实用的技巧,帮助你快速掌握游戏并享受其中的乐趣。 技巧一:熟悉基本玩法 游戏的基本玩法与原版相似&…...

HTTPS 代理的优点和缺点是什么?

HTTPS代理的优点包括提供更好的安全性、支持验证、速度、匿名性、节省带宽。 安全性:HTTPS代理通过使用SSL/TLS协议对传输的数据进行加密,保护用户的数据传输安全,防止中间人攻击和窃听,确保数据的安全性。 速度:HTTPS…...

Mac安装多版本node

Mac下使用n模块去安装多个指定版本的Node.js,并使用命令随时切换。 node中的n模块是,node专门用来管理node版本的模块,可以进行node版本的切换,下载,安装。 1.安装n npm install -g n 2.查看版本 n --version 3.展…...

HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…...

【机器学习300问】125、什么是双向循环神经网络(BRNN)?什么是深度循环神经网络(DRNN)?

一、双向循环神经网络 (1)诞生背景 双向循环神经网络(Bidirectional Recurrenct Neural Network, BRNN)是在深度学习领域发展起来的一种特殊类型的循环神经网络(RNN),它诞生的背景是为了解决传…...

办公软件汇总

1、OCR 1.1 pearOCR pearOCR 是一个免费的免费在线文字提取OCR工具网站。PearOCR界面简洁,所有过程均在网页端完成,无需下载任何软件,点开即用。官方地址:https://pearocr.com/ 参考:9款文字识别(OCR)工具…...

Docker 搭建 MinIO 对象存储

Docker 搭建 MinIO 对象存储 一、MinIO MinIO 是一个高性能的对象存储服务器,用于构建云存储解决方案。MinIO 允许你存储非结构化数据(如图片、视频、日志文件等)以对象的形式。MinIO 提供简单的部署选项和易于使用的界面,允许你…...

主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络

主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络:中文详解 1. 简介 YOLOv5 和 YOLOv7 是目前主流的目标检测算法之一,具有速度快、精度高的特点。但 YOLOv5 和 YOLOv7 的原始模型结构中使用的是 MobileNetV3 作为骨干网络&am…...

CubeFS - 新一代云原生存储系统

CubeFS 是一种新一代云原生存储系统,支持 S3、HDFS 和 POSIX 等访问协议,支持多副本与纠删码两种存储引擎,为用户提供多租户、 多 AZ 部署以及跨区域复制等多种特性。 官方文档 CubeFS 作为一个云原生的分布式存储平台,提供了多种访问协议,因此其应用场景也非常广泛,下面…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...