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

ModelSim 配合 Makefile 搭建 Verilog 仿真工程

📁 项目目录结构

prj/
├── tb.sv                  # 顶层测试平台
└── sims/├── filelist.f         # 所有源文件清单├── Makefile           # 一键编译与仿真脚本└── run.do             # ModelSim 自动运行脚本

📄 filelist.f

列出参与仿真的所有源文件路径:

../tb.sv

📝 run.do(ModelSim 批处理脚本)

vsim -voptargs=+acc work.tb
add wave -position insertpoint sim:/tb/*
run 10ms

🛠️ Makefile 自动构建系统

# 设置变量
work     = work
output   = ./
vsimbatch0 = -do "run -all"# 编译流程
all: compile vsimlib:@echo "Start compile for Questasim 10.6c"vlib $(work)vmap work $(work)vlog:vlog -f filelist.f -l $(output)/compile.logcompile: lib vlogrun:modelsim -do ./run.do# 清理生成文件
clean:del *.wlfdel vsim_stacktrace.vstfdel transcriptdel compile.logdel modelsim.inirmdir /s /q work

📘 测试平台 tb.sv 示例

// `timescale 指令
`timescale 1ns/1ps
module tb;wire  clk;initial begin$display("State: IDLE366888");end
endmodule

🖥️ 编译与仿真流程

✅ 初次执行(Windows DOS 控制台):

cd sims
make
make run

🔁 修改代码后,在 ModelSim 控制台执行:

vlog -f filelist.f; restart -f; run 1ms
http://www.dtcms.com/a/286922.html

相关文章:

  • Docker-下载和安装
  • ADVB协议内容分析
  • LeetCode Hot100【6. Z 字形变换】
  • GI6E 加密GRID電碼通信SHELLCODE載入
  • CCF编程能力等级认证GESP—C++3级—20250628
  • 操作系统-处理机调度和死锁进程同步
  • 基于Qwen2.5-3B-Instruct的LoRA微调与推理实战指南
  • 多线程-3-线程同步
  • HTTPie: 开发者友好的http客户端工具
  • 数据排序
  • 特种作业操作证(制冷空调)的考试科目有哪些?
  • Xilinx Zynq:一款适用于软件定义无线电的现代片上系统
  • 使用 C# 实现移动加权平均(Weighted Moving Average)算法
  • java基础-5 : 面向对象
  • python网络爬虫(第三章/共三章:驱动浏览器窗口界面,网页元素定位,模拟用户交互(输入操作、点击操作、文件上传),浏览器窗口切换,循环爬取存储)
  • RPG60.生成可拾取物品
  • 拓扑排序/
  • 安卓Android项目 报错:系统找不到指定文件
  • Python编程:从入门到实践
  • rpa机器人流程自动化软件公司是做什么的?如何选择RPA厂商?简要介绍RPA技术、应用场景和未来趋势
  • Shell变量操作
  • Linux内核设计与实现 - 第4章 进程的调度
  • 函数返回值问题,以及返回值的使用问题(c/c++)
  • [FDBUS4.2] watcher的使用
  • STM32-CAN
  • vs openssl编译提示无法打开文件“libssl.lib”或“libcrypto.lib”
  • 理解 VMA 与 LMA
  • 【实战】Dify从0到100进阶--文档解读(8)文档列表节点
  • 深入剖析 Delta Live Tables (DLT):声明式数据管道的核心原理与底层实现
  • git:tag标签远程管理