quartusII的RTL仿真实现 一、quartusII简介quartusII是一款集成式的EDA软件主要用于FPGA的开发包括了verilog代码编辑器、综合器、仿真器等其还可以与modelsim实现联合仿真。软件下载见我的安装过程记录见博文这是我转载的B站的视频以及我的下载记录该视频我觉得讲得非常详细非常适合入门感谢注意在quartusII软件中命名Verilog代码文件名(.v)需要与模块名保持一致且不能用中文或全数字命名。此外推荐参考书黄继业、潘松《EDA技术实用教程》第六版作为初学者觉得可读性很高。二、quartusII常用功能2.1 项目内顶层文件切换与不同项目间切换任何一项设计都是一项project需要保持在一文件夹内。因此同一工程的所有文件都应在同一文件夹而不同的项目就最好放不同文件夹项目内顶层文件切换Asignment-Setings-General-Top-level entity不同项目间切换如需要切换项目应该点击Open Project选择相应项目的文件夹选择QPF文件而不是上方的Open File。2.2 RTL级图形观察start compilation编译成功后Tool-Netlist-RTL Viewer即可看到对应代码的RTL级电路。2.3 代码仿真验证这里没有加延时主要是功能仿真之类的quartusII自带的仿真自带的仿真软件已经慢慢被放弃目前主流是与第三方仿真软件如ModelSim如果代码功能比较简单可以选择University Program VWF 进行仿真如果代码功能比较复杂则可以通过编写对应代码的测试代码(常称为Test Bench)直接使用ModelSim联合仿真。如果刚开始安装quartusII时未安装ModelSim需要安装仿真器后才可使用)VWF仿真按如下操作创建仿真2. 插入端口3. 设置仿真时间Edit-Set End Time看电脑性能与个人需求决定如10us。4. 设置输入信号有两种方法方法1总体设置分别选择输入端口(1处)分别设置输入信号(2处)其中Period是周期总长、Duty cycle是高电平信号在一个周期中的占比进行仿真(3处)。总体设置可以方便的产生输入信号的总体波型。方法2特殊设置总体设置输入信号很难根据自己想要研究的问题设置特定的波形输入形式于是我们可以在某一特定的区域按照我们自己的需求更改输入波形。可以点击鼠标左键在输入信号需要更改的区域拖动最后会形成一个方框再点击上方工具栏中?标即可更改选中区域的输入信号。方框最少需要选中两网格线之间的距离可以在Edit-Grid Size中修改网格线宽度。争对波形图的放大与缩小做出如下说明选择功能表中缩放标左击放大、右击缩小。Modelsim联合仿真使用改功能需要写一段用于仿真测试Testbench代码该代码文件应该与本项目在同一文件夹内。assignment-EDA Tool Setting-simulation即可进入该界面。按顺序操作完成后点击第4处即可进入如下界面。在1处输入自己命名的测试文件名(如我的就叫testbench)2处选择对应的测试代码文件点击Add。注意需要(1与2处)的文件名需一致Tools-Run Simulation Tool-RTL Simulation三、modelsim仿真单独使用流程文件管理在自己的代码存储文件夹中创建一个用于保存modelsim文件的文件夹比如我的在E:\Program_Project\Modelsim_project中。然后在该目录下给对应项目创建一个文件夹E:\Program_Project\Modelsim_project\filter1工程创建与导入创建一个工程File-New-project选择刚刚工程的文件地址E:\Program_Project\Modelsim_project\filter1工程名filter1导入已有源代码找到如图Project如果没有在View中进行添加导入源代码在Project中右键add to project-Exsting Files注意选择copy to project directory!!编译与仿真编译同样在Project下右键compile仿真View下找到Library-work-testbench右键simulate找到Object界面右键add wave这里我们添加输出out其他信号输入同理添加波形设置仿真时间开始仿真(点击run如果继续点击run会仿真下一段仿真时间如设置仿真时间1ms再次点击run就会仿真出1~2ms的仿真波形以此类推关于Wave界面的一些说明选择信号Radix选择信号几进制产生模拟信号四、在FPGA上实现其实单纯从操作流程上看其实可以跑一个简单的流水灯算法(FPGA开发界的hello,world)熟悉一下流程即可因此数字集成电路前端设计又回归到了本质算法设计与系统架构

相关新闻

最新新闻

HTTP与TCP长连接核心差异解析:从协议分层到实战配置

HTTP与TCP长连接核心差异解析:从协议分层到实战配置

“HTTP 长连接”和“TCP 长连接”是一回事吗?很多开发者,甚至一些有经验的工程师,都容易将这两个概念混为一谈。当你在排查一个“502 Bad Gateway”或“Connection timed out”的诡异问题时,如果对底层连接机制的理解是模糊的&…

2026/8/9 23:37:19
AI与3D技术实战:从零打造华为Mate 80概念设计全流程

AI与3D技术实战:从零打造华为Mate 80概念设计全流程

这次我们来看一个名为“我从地狱杀回来了!&华为mate 80/ PRO/ PRO MAX”的项目。从标题来看,这很可能是一个与华为Mate 80系列相关的概念设计、渲染图创作,或者是基于AI图像生成技术对未发布产品的预测性创作项目。这类项目通常由设计师或…

2026/8/9 23:37:19
ComfyUI-H3-Qwen3VL-TextGen插件使用教程:构建你的专属AI生成工作流

ComfyUI-H3-Qwen3VL-TextGen插件使用教程:构建你的专属AI生成工作流

ComfyUI-H3-Qwen3VL-TextGen插件使用教程:构建你的专属AI生成工作流 【免费下载链接】Qwen3-VL-32B-Ultra-Heretic-H3-ComfyUI-INT8-ConvRot 项目地址: https://ai.gitcode.com/hf_mirrors/ethanfel/Qwen3-VL-32B-Ultra-Heretic-H3-ComfyUI-INT8-ConvRot Co…

2026/8/9 23:37:19
Redis在SaaS短链接系统中的应用:缓存策略与性能优化

Redis在SaaS短链接系统中的应用:缓存策略与性能优化

Redis在SaaS短链接系统中的应用:缓存策略与性能优化 【免费下载链接】shortlink 🔥 热门推荐 🔥 SaaS 短链接系统,承载高并发和海量存储等场景难题。专为实习、校招以及社招而出的最新项目,项目质量不亚于 12306 铁路购…

2026/8/9 23:37:19
AI 改变工作方式的工具链选型评估:工具选型别只比较参数

AI 改变工作方式的工具链选型评估:工具选型别只比较参数

AI 改变工作方式的工具链选型评估:工具选型别只比较参数范围说明: 本文给出评估方法;工具收益须在具体代码库、任务和协作约束下测量。选 AI 开发工具时,参数量、上下文窗口和公开榜单可以作为参考,却不能代替团队自己…

2026/8/9 23:37:19
分布式存储架构设计与一致性算法实践:接口设计的可验证边界

分布式存储架构设计与一致性算法实践:接口设计的可验证边界

分布式存储架构设计与一致性算法实践:接口设计的可验证边界 分布式存储的 API 和数据模型一旦被多个调用方依赖,兼容性改动就会带来迁移成本。接口设计应尽早明确幂等、版本演化和错误语义。 只覆盖正常读写路径并不够;还应设计幂等语义、版本…

2026/8/9 23:32:19