首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ModelSim 使用【二】联合Quarus自动仿真

ModelSim 使用【二】联合Quarus自动仿真

作者头像
数字积木
发布于 2021-04-15 02:53:26
发布于 2021-04-15 02:53:26
2.8K0
举报
文章被收录于专栏:数字积木数字积木

【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第二篇。

3 ModelSim工程实战之自动仿真

说完了 ModelSim 的使用流程,接下来我们将会对每个流程进行详细的操作演示,一步步、手把手带领大家学习使用 ModelSim 软件。首先我们讲解的 ModelSim 自动仿真,所谓自动仿真,其实是在 Quartus II 中调用 ModelSim 软件来进行仿真,在调用过程中,Quartus II 会帮我们完成 ModelSim 中的所有操作,我们只需要分析最后的仿真结果。下面我们就以上章节中我们创建的 Quartus II 软件工程为例,进行仿真。

3.1 检查 EDA 路径

首先我们打开之前的 Quartus II 工程,如图

在该页面中,我们在菜单栏中找到【Tool】→【Options】按钮并打开,在打开的页面左侧,我们找到“EDA Tool Options”点击,如图

在该页面中,如果你安装的是 ModelSim 软件,那么你需要在 ModelSim 路径中进行设置,这里我们使用的 ModelSim-Altera , 所 以 我 们 将 ModelSim-Altera 路 径 设 置 成 了C:\altera\13.1\modelsim_ase\win32aloem。这里需要大家注意的是一定要选择 modelsim_ase文件夹中的 win32aloem,不要选择 modelsim_ae 文件夹中的 win32aloem。还记得我们前面说的么?ae 是收费版本,我们是不能使用的,这里的 ase 免费版本也是可以满足我们的设计的。路径设置完成以后,我们点击【OK】返回我们的 Quartus II 软件界面。

3.2 选择 EDA 工具

我们在 Quartus II 软件页面的菜单栏中,我们找到【Assignments】→【Settings】按钮并打开,在打开的页面左侧我们找到“EDA Tool Settings”点击,如图

还记得我们之前创建工程的时候,由于在 Quartus II 软件中我们没有用到仿真,所以我们将这里设置成了“None”,现在我们需要用到仿真工具了,我们需要在这里将 Simulation 设置成“ModelSim-Altera、Verilog HDL”。设置完成之后,我们点击【OK】返回 Quartus II 软件页 面中。

3.3 编写仿真文件

我们在 Quartus II 软件页面的菜单栏中,我们找到【Processing】→【Start】→【Start TestBench Template Writer】按钮并点击,这时 Message 窗口中会显示,如图

我们可以从这条信息中知道,Quartus II 软件自动给我们生成了一个 TestBench 模板,我们只需要在这个模板上稍作修改就能直接使用了。我们在工程目录下找到 Verilog_First.vt 文件,我们可以用记事本打开进行修改,也可以使用 Quartus II 软件打开它进行修改,这里我们建议还在 Quartus II 软件中进行修改。我们在 Quartus II 软件的菜单栏中找到【File】→【Open】按钮并打开,在对话框中找到我们的 Verilog 文件,如图

打开之后,如图

在该图中我们可以看到,Quartus II 软件已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个模板里添加我们需要的测试代码(也就是我们常说的激励)。

为了让读者能够更好的理解仿真,这里我们就简单介绍一下 TestBench 源代码:代码的第 1 行,表示仿真的单位时间为 1ps,精度为 1ps。想要进行仿真首先要规定时间单位,我们建议大家最好在 Testbench 里面统一规定时间单位,不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,timescale 是 Verilog 语法中的不可综合语法。代码的第 2 行就是我们熟悉的部分了,其中第 5 行至第 10 行是我们的数据类型定义,这里我们可以看到 reg eachvec 是一个多余的信号,没有任何作用,我们也可以将它删除,接下来我们再来看第 13 行至第 18 行,这一部分就是一个模块调用,它将我们的 Verilog 模块中的信号连接到我们的 TestBench 模块中。最后,我们再来看下第 20 行至第 32 行代码,其中第 20 行至第 26 行是信号的初始化,第 28 行至第 31 行是时钟信号的生成。这里我们主要来讲讲#10000,#10000 表示的是延迟 10000ps(即 10ns),具体的延迟单位,还是要看我们的 timescale 是如何设置的。至此,整个代码都介绍完了。

3.4 配置仿真功能

编写完了仿真文件,接下来我们需要在 Quartus II 软件中配置仿真功能,我们在 Quartus II软件界面的菜单栏找到【Assigement】→【Settings】按钮并打开,在打开的页面中,我们找到左侧的 Simulation 点击,出现如图

我们选中“Compile Test bench”,然后单击后面的【Test Benches】按钮,则出现如图 2.9所示的“Test Benches”窗口(也就是图中上面的窗口),接着我们单击【New】按钮,则会出现如图 所示的“New Test Bench Settings”窗口(也就是图中下面的窗口)。

在该页面中,我们将 TestBench 模块名输入到“Test bench name”和 “Top level module in test bench”的编辑栏中。接着我们在“Test bench and simulation files”下拉列表框中添加仿真文件,如图 所示,点击【Open】即可。

然后单击【Add】 按钮添加到最下面的列表中如图

完成后我们单击【OK】按钮,便可看到如图 2.12 所示的“Test benches”窗口的列表中出现了刚才添加的仿真文件相关信息,至此,我们仿真文件添加完成了,接着我们单击【OK】按钮,返回我们的 Quartus II 软件界面。

3.5 开始功能仿真

万事俱备只欠东风,经过上面这么多的操作步骤,我们终于完成了所有设置,接下来我们就可以进行仿真了,在开始仿真之前,我们这里有一点要需要注意,我们在 Quartus II 软件中实现的功能是 LED 闪烁,它的间隔时间是 1s,如果我们想要仿真这个功能,那么我们仿真软件运行时间最低就是 1s。这 1s 钟在我们看来是很短很短的,不过在仿真软件看来是很长很长的,我们的仿真软件单位可是 ps。为了便于我们仿真,这里我们需要稍微改动一下 Verilog 代码,我们需要将 parameter SET_TIME_1S = 27'd50_000_000;修改为 parameter SET_TIME_1S = 27'd50; 也就是将我们原来的 1s 钟修改成了 1us。修改完毕后,我们在 Quartus II 软件界面中的菜单栏中找到【Tools】→【Run Simulation Tool】→【RTL Simulation】按钮并点击,则会出现如图 2.13 所示界面。

看到这里,也许有的朋友点击【RTL Simulation】并没有出现 Modelsim 仿真窗口界面,而是出现了如图 2.14 所示界面。

出现这种错误主要是因为我们前面设置的 Modelsim 路径不对造成的,如何解决这个问题呢?我们尝试将 ModelSim-Altera 路径设置成了 C:\altera\13.1\modelsim_ase\win32aloem\。这和我们刚刚设置不同的是,我们在路径的最后面添加了一个反斜杠。这时,我们再点击【RTL Simulation】按钮就会出现 Modelsim 仿真窗口界面了,这里我们需要说明的是:有的电脑不添加反斜杠是可以运行的,有的电脑不添加反斜杠是不能运行。在 Modelsim 软件启动过程中,我 们不需要任何操作,它会自动完成仿真,并给出我们所需要的波形,当波形图出现之后,我们就可以查看波形来判断设计功能是否正常了。

欢迎关注,更精彩的内容等着你!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字积木 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
Hi,您好呀,您近期内容创作表现突出,已入选腾讯云开发者社区内容共创官计划。内容共创官计划是腾讯云开发者社区面向社区重点潜力创作者打造的内容创作扶持机制,提供一系列技术创作教程、独家有奖创作激励、活动优先参会、社区流量曝光等资源。请您添加社区助理微信(微信号:yun_assistant)沟通加入计划。
Hi,您好呀,您近期内容创作表现突出,已入选腾讯云开发者社区内容共创官计划。内容共创官计划是腾讯云开发者社区面向社区重点潜力创作者打造的内容创作扶持机制,提供一系列技术创作教程、独家有奖创作激励、活动优先参会、社区流量曝光等资源。请您添加社区助理微信(微信号:yun_assistant)沟通加入计划。
回复回复1举报
推荐阅读
增强无界 3D 高斯扫描与视图一致的 2D 扩散优先级,3DGS-Enhancer在NVS增强中的先进效果 !
新视角合成(NVS)在计算机视觉和图形学领域有着数十年的历史,旨在从多个输入图像或视频中生成场景的视角。最近,三维高斯分裂(3DGS)[18]在生成具有高效渲染管线的照片级渲染方面表现出色。然而,在远离现有视角渲染高质量的新视角仍然具有很大的挑战性,这在稀疏视图设置中经常遇到,因为低采样区域的信息不足。如图1所示,当只有三个输入视图时,会出现明显的椭球形和空洞状的伪影。由于实际中存在这些低质量的渲染结果,因此有必要增强3DGS,以确保其在实际应用中的可行性。
AIGC 先锋科技
2024/11/21
3810
增强无界 3D 高斯扫描与视图一致的 2D 扩散优先级,3DGS-Enhancer在NVS增强中的先进效果 !
HumanGaussian开源:基于Gaussian Splatting,高质量 3D 人体生成新框架
在 3D 生成领域,根据文本提示创建高质量的 3D 人体外观和几何形状对虚拟试穿、沉浸式远程呈现等应用有深远的意义。传统方法需要经历一系列人工制作的过程,如 3D 人体模型回归、绑定、蒙皮、纹理贴图和驱动等。为了自动化 3D 内容生成,此前的一些典型工作(比如 DreamFusion [1] )提出了分数蒸馏采样 (Score Distillation Sampling),通过优化 3D 场景的神经表达参数,使其在各个视角下渲染的 2D 图片符合大规模预训练的文生图模型分布。然而,尽管这一类方法在单个物体上取得了不错的效果,我们还是很难对具有复杂关节的细粒度人体进行精确建模。
机器之心
2023/12/12
7130
HumanGaussian开源:基于Gaussian Splatting,高质量 3D 人体生成新框架
CVPR 2024 | VastGaussian:用于大型场景重建的3D高斯
基于NeRF的方法在处理大型场景时,渲染时间长且渲染效果差。而现有基于3D高斯的方法由于训练内存大、优化时间长和外观变化剧烈,难以扩展到大型场景。
用户1324186
2024/04/12
1.7K0
CVPR 2024 | VastGaussian:用于大型场景重建的3D高斯
FlashSplat: 以最佳方式求解 2D 到 3D 高斯展开分割 !
本研究旨在解决准确分割3D高斯分水(3D-GS) FROM 2D Mask 的挑战。传统方法通常依靠迭代梯度下降为每个高斯分配唯一的标签,导致长久的优化和次优解。
未来先知
2024/12/30
2710
FlashSplat: 以最佳方式求解 2D 到 3D 高斯展开分割 !
VideoScene:以三维感知跳跃流蒸馏策略破局,高效弥合从Sparse视图到三维场景的差距!
高效三维重建的需求正迅速增长,这得益于其实时游戏[83]、自主导航[1]等领域的应用[57, 97]。NeRF[59]和3DGS[35]等技术开创了高质量、密集视点重建,并在真实场景生成中展现出令人印象深刻的性能。然而,这些方法通常需要大量专业拍摄的图像,限制了其可及性[84]。为克服这一限制,研究行人开始探索从Sparse视点进行三维重建[13, 84, 95, 99],将输入要求降低至仅需两张随意拍摄的图像。
未来先知
2025/05/27
540
VideoScene:以三维感知跳跃流蒸馏策略破局,高效弥合从Sparse视图到三维场景的差距!
CVPR2024 | HUGS:人体高斯溅射
真实渲染和人体动态是一个重要的研究领域,具有在AR/VR、视觉特效、虚拟试衣、电影制作等众多应用。早期的工作创建人类化身依赖于多相机捕捉设置中的高质量数据捕捉、大量计算和大量手工努力。最近的工作通过使用3D参数化身体模型如SMPL,直接从视频生成3D化身来解决这些问题,这些模型具有高效光栅化和适应未见变形的能力。然而,参数化模型的固定拓扑结构限制了对衣物、复杂发型和其他几何细节的建模。最近的进展探索了使用神经场来建模3D人类化身,通常使用参数化身体模型作为建模变形的模版。神经场在捕捉衣物、配饰和头发等细节方面表现出色,超越了通过纹理和其他属性光栅化参数化模型所能实现的质量。然而,它们也有不足,特别是在训练和渲染效率方面较低。
用户1324186
2024/05/31
6410
CVPR2024 | HUGS:人体高斯溅射
滑铁卢大学使用谷歌地球图像和高斯溅射进行真实感3D城市场景重建和点云提取!
从2D图像中进行3D重建和建模近年来受到了极大的关注,这要归功于具有3D重建能力的真实感视图合成方法的最新进展。从技术角度来看,这是一个跨计算机视觉、计算机图形学和摄影测量学的交叉研究领域。
AIGC 先锋科技
2024/07/08
1K0
滑铁卢大学使用谷歌地球图像和高斯溅射进行真实感3D城市场景重建和点云提取!
Gamba:仅需0.05秒让一张图片生成高质量3D模型!(新加坡国立大学&天工AI开源)
Github:https://github.com/SkyworkAI/Gamba
AI进修生
2024/12/02
8020
Gamba:仅需0.05秒让一张图片生成高质量3D模型!(新加坡国立大学&天工AI开源)
NeRFs和3D高斯溅射技术如何重塑SLAM:综述
文章:How NeRFs and 3D Gaussian Splatting are Reshaping SLAM: a Survey
点云PCL博主
2024/06/21
1.7K0
NeRFs和3D高斯溅射技术如何重塑SLAM:综述
分割一切「3D高斯」版来了:几毫秒完成3D分割、千倍加速
今年 4 月,Meta 发布「分割一切(SAM)」AI 模型,这项成果不仅成为很多 CV 研究者心中的年度论文,更是在 ICCV 2023 上斩获最佳论文提名 。
机器之心
2023/12/12
6270
分割一切「3D高斯」版来了:几毫秒完成3D分割、千倍加速
FSGS: 基于 Gaussian Splatting 的实时 Few-shot 视角合成
新视角合成是计算机视觉和图形学领域中一项长期存在并且富有挑战的任务。过去两年,NeRF及其衍生工作的提出将该任务提升到了新的高度。然而,基于NeRF的方法的训练和渲染需要大量的成本才能达到理想的效果,比如稠密的输入视角和耗时的训练与渲染。尽管后续的一些稀疏视角NeRF的工作以及InstantNGP的提出在一定程度上解决了部分缺陷,但NeRF方法始终没有做到实时和高质量的高分辨率渲染。
用户1324186
2024/04/12
1K0
FSGS: 基于 Gaussian Splatting 的实时 Few-shot 视角合成
世界模型进入4D时代!单视角视频构建的自由视角4D世界来了
人工智能技术正以前所未有的速度改变着我们对世界的认知与构建方式。近期,李飞飞教授团队通过单张图片生成三维物理世界的研究,再次向世界展示了空间智能技术的巨大潜力。
机器之心
2025/02/14
1670
世界模型进入4D时代!单视角视频构建的自由视角4D世界来了
FlexWorld:引入视频到视频扩散模型与渐进扩展过程,从单张图像高效生成灵活视角3D 场景 !
从单张图像创建具有灵活视角的3D场景,在直接获取3D数据成本高或不切实际的应用领域(如考古保护和自主导航)中具有变革性潜力。然而,这一任务本质上仍然存在困难:单一的2D观测无法提供足够的信息来消除完整的3D结构歧义。特别是,在推理到极端视角(例如,180°旋转)时,之前被遮挡或完全不存在的内容可能会出现,从而引入显著的不确定性。
AIGC 先锋科技
2025/04/18
1150
FlexWorld:引入视频到视频扩散模型与渐进扩展过程,从单张图像高效生成灵活视角3D 场景 !
ICLR 2025|高效重建几何精准的大规模复杂三维场景,中科院提出CityGaussianV2
是否还在担心大规模场景训练和压缩耗时太长、显存开销太大?是否还在苦恼重建出的建筑物和道路表面破碎不堪?是否还在困扰如何定量衡量大规模场景几何重建的精确程度?
机器之心
2025/02/06
1970
ICLR 2025|高效重建几何精准的大规模复杂三维场景,中科院提出CityGaussianV2
纯RGB输入,解决户外场景SLAM!误差降低至9.8%,港科广开源 | ICRA 2025
在自主驾驶、机器人导航、AR/VR等前沿应用中,Simultaneous Localization and Mapping (SLAM) 是核心技术之一。
新智元
2025/03/27
830
纯RGB输入,解决户外场景SLAM!误差降低至9.8%,港科广开源 | ICRA 2025
CVPR 2024 | DNGaussian: 全局局部深度归一化优化的稀疏三维高斯辐射场
从稀疏输入合成新视图对于辐射场来说是一个挑战。神经辐射场(NeRF)的最新进展在仅使用少量输入视图就能重建出高度逼真的外观和准确的几何信息方面取得了卓越成果。然而,大部分基于稀疏视图的NeRF实现速度较慢,内存消耗也较大,导致时间和计算成本很高,限制了它们的实际应用。
用户1324186
2024/05/31
1.5K0
CVPR 2024 | DNGaussian: 全局局部深度归一化优化的稀疏三维高斯辐射场
InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格
摘要:本文提出了InstantMesh,这是一个用于从单视角图像生成即时3D网格的前馈框架,具有当前非常优秀的生成质量和显著的训练可扩展性。
一点人工一点智能
2024/04/18
3.2K0
InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格
开源 4D 生成框架 | 4DGen: 基于动态 3D 高斯的可控 4D 生成
本文分享4D生成方向新工作,由北京交通大学和得克萨斯大学奥斯汀分校共同完成的4DGen: Grounded 4D Content Generation with Spatial-temporal Consistency,文章使用Gaussian Splatting实现了高质量的4D生成。
CV君
2024/01/02
7780
开源 4D 生成框架 | 4DGen: 基于动态 3D 高斯的可控 4D 生成
告别3D高斯Splatting算法,带神经补偿的频谱剪枝高斯场SUNDAE开源了
本论文作者包括帝国理工学院硕士生杨润一、北航二年级硕士生朱贞欣、北京理工大学二年级硕士生姜洲、北京理工大学四年级本科生叶柏均、中国科学院大学本科大三学生张逸飞、中国电信人工智能研究院多媒体认知学习实验室(EVOL Lab)负责人赵健、清华大学智能产业研究院(AIR)助理教授赵昊等。
机器之心
2024/05/22
4390
告别3D高斯Splatting算法,带神经补偿的频谱剪枝高斯场SUNDAE开源了
每日学术速递12.24
1.On Calibration in Multi-Distribution Learning
AiCharm
2024/12/24
1320
每日学术速递12.24
推荐阅读
增强无界 3D 高斯扫描与视图一致的 2D 扩散优先级,3DGS-Enhancer在NVS增强中的先进效果 !
3810
HumanGaussian开源:基于Gaussian Splatting,高质量 3D 人体生成新框架
7130
CVPR 2024 | VastGaussian:用于大型场景重建的3D高斯
1.7K0
FlashSplat: 以最佳方式求解 2D 到 3D 高斯展开分割 !
2710
VideoScene:以三维感知跳跃流蒸馏策略破局,高效弥合从Sparse视图到三维场景的差距!
540
CVPR2024 | HUGS:人体高斯溅射
6410
滑铁卢大学使用谷歌地球图像和高斯溅射进行真实感3D城市场景重建和点云提取!
1K0
Gamba:仅需0.05秒让一张图片生成高质量3D模型!(新加坡国立大学&天工AI开源)
8020
NeRFs和3D高斯溅射技术如何重塑SLAM:综述
1.7K0
分割一切「3D高斯」版来了:几毫秒完成3D分割、千倍加速
6270
FSGS: 基于 Gaussian Splatting 的实时 Few-shot 视角合成
1K0
世界模型进入4D时代!单视角视频构建的自由视角4D世界来了
1670
FlexWorld:引入视频到视频扩散模型与渐进扩展过程,从单张图像高效生成灵活视角3D 场景 !
1150
ICLR 2025|高效重建几何精准的大规模复杂三维场景,中科院提出CityGaussianV2
1970
纯RGB输入,解决户外场景SLAM!误差降低至9.8%,港科广开源 | ICRA 2025
830
CVPR 2024 | DNGaussian: 全局局部深度归一化优化的稀疏三维高斯辐射场
1.5K0
InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格
3.2K0
开源 4D 生成框架 | 4DGen: 基于动态 3D 高斯的可控 4D 生成
7780
告别3D高斯Splatting算法,带神经补偿的频谱剪枝高斯场SUNDAE开源了
4390
每日学术速递12.24
1320
相关推荐
增强无界 3D 高斯扫描与视图一致的 2D 扩散优先级,3DGS-Enhancer在NVS增强中的先进效果 !
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档