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)熟悉一下流程即可因此数字集成电路前端设计又回归到了本质算法设计与系统架构

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/10/2 15:29:32
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻