MuleRun助力MakerChip-FPGA在线编程模拟仿真操练

选用好用又不落伍的在线FPGA-Verilog编程设计模拟仿真软件工具,看到了Makerchip,相关应用案例也不少,特别是SoC项目案例。于是用AI工具--IMA-copilot生成了相应运行案例,始终跑不通,只有Makerchip自带的案例可以运行,尽管有警告。转用龙虾工具--MuleRun生成编码测试,修改了几次,终于完全运行,特地撰文记录下来。

Makerchipmakerchip.com),由 Redwood EDA 开发的免费在线数字电路设计与仿真 IDE,当前版本为 v132 。下面以一个简单的 4 位计数器 为例,说明完整的使用流程。

1. 打开Makerchip IDE

浏览器访问 https://www.makerchip.com/ide/,无需安装任何软件,直接在浏览器中使用。

2. IDE 界面介绍

打开后你会看到几个核心面板:

|------------------|-----------------------------------------------|
| 面板 | 功能 |
| Editor (E) | 代码编辑器,支持 Verilog / SystemVerilog / TL-Verilog |
| Diagram (D) | 自动生成的逻辑框图 |
| Waveform (W) | 仿真波形查看器 |
| VIZ (V) | 可视化调试视图 |
| Log (L) | 编译和仿真日志 |
| Nav-TLV (N) | TL-Verilog 层次导航 |

3. 用标准 Verilog 写一个 4 位计数器

在 Editor 中清空默认代码,输入以下内容:

cpp 复制代码
\m5_TLV_version 1d: tl-x.org
\SV
   m5_makerchip_module

   reg [3:0] count;

   always @(posedge clk) begin
      if (reset)
         count <= 4'b0;
      else
         count <= count + 1;
   end

\TLV
   *passed = *cyc_cnt > 40;
   *failed = 1'b0;

\SV
   endmodule

注意:Makerchip 要求文件以 \m5_TLV_version 开头,\SV 标记后面写标准 Verilog/SystemVerilog 代码。

Makerchip 要求使用 m5_makerchip_module 宏来生成模块头,而不是手写 module top(...)。

4. 用 TL-Verilog 写同样的计数器(推荐)

TL-Verilog 是 Makerchip 主推的语言,写法更简洁:
\m5_TLV_version 1d: tl-x.org
\SV
m5_makerchip_module
\TLV

reset = \*reset; count3:0 = reset ? 4'b0 : \>\>1count + 1;

*passed = *cyc_cnt > 40;
*failed = 1'b0;

\SV
endmodule

关键语法说明:

  • count --- TL-Verilog 信号, 前缀表示管道信号
  • >>1count --- 表示上一个时钟周期的 count 值(隐式生成触发器)
  • *reset / *cyc_cnt --- * 前缀引用系统级 Verilog 信号
  • *passed / *failed --- 控制仿真结束的内建信号

5. 编译与仿真

  1. 写好代码后,按 Ctrl + Enter (或点击 Editor 面板的 Compile/Sim 按钮)
  2. 查看 Log 面板确认无错误(绿色 = 成功)
  3. 编译成功后,三个结果面板自动更新:
    • Diagram --- 显示计数器的逻辑框图,包含自动推断的触发器
    • Waveform --- 显示 $count 信号随时钟递增的波形
    • VIZ --- 如果有可视化定义,会显示自定义动画

6. 查看与调试波形

Waveform 面板中:

  • 展开信号层次,找到 $count3:0
  • 可以看到它从 0000 逐周期递增到 1111,然后溢出回到 0000
  • 点击信号名可以在 Editor 和 Diagram 中高亮对应位置(三视图联动)
  • 使用 << >> 按钮或拖动时间轴浏览不同时刻

7. 查看生成的Verilog

点击 Editor 面板中的 Show Verilog 按钮,可以查看 TL-Verilog 编译后生成的标准 Verilog 代码。这对理解 TL-Verilog 的翻译机制以及导出到 FPGA 工具链非常有用。

8. 保存与分享

  • Save to Server --- 保存到 Makerchip 服务器,获得可分享的 URL
  • Save As --- 下载 .tlv 文件到本地
  • Share Snapshot --- 生成只读快照链接

总结

|----|--------------------------------------|
| 步骤 | 操作 |
| 1 | 打开 makerchip.com/ide |
| 2 | 在 Editor 中输入 TL-Verilog 或 Verilog 代码 |
| 3 | Ctrl+Enter 编译仿真 |
| 4 | 在 Waveform 查看波形,Diagram 查看电路图 |
| 5 | Show Verilog 导出标准 Verilog |

Makerchip 的核心优势在于 TL-Verilog 的 时序抽象------你不需要手动写 always_ff 和触发器,只需用 >>1 表示"上一周期的值",工具自动推断时序逻辑。这对流水线设计尤其强大。

9. MuleRun应用截图

相关推荐
坏孩子的诺亚方舟14 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐14 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐14 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH15 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡15 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安15 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐16 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯16 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客16 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA16 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发