# module_snapshot **Repository Path**: carewb/module_snapshot ## Basic Information - **Project Name**: module_snapshot - **Description**: 帮你画verilog代码的模块接口图 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-12-08 - **Last Updated**: 2025-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # module_snapshot ## 介绍 只需要复制verilog代码的模块声明到文本框,就能帮你画出对应的模块接口图 新版本支持生成 .xml 文件,使用 draw.io 打开后可以将图形保存为矢量图,[新版本链接](https://gitee.com/qyley/module_snapshot/tree/draw.io/) ## 安装教程 1. python 3.8 或以上 2. 屏幕分辨率 >= 1080*720 ## 使用说明 ### 1. **运行module_snapshot.py** ![输入图片说明](img/ps00.png) ### 2. **接着会弹出一个带按钮的文本框** ![输入图片说明](img/help.png) ### 3. **在文本框中插入你的verilog代码中模块声明部分** ![输入图片说明](img/temp0.png) - 在verilog代码中添加标签能让绘制时的信号布局更加合理,标签使用方法如下: > ``:在a标签对中可插入模块的附加信息(如版本号,模块简称等),建议不超过10个字符,a标签是唯一的,后面的a标签会覆盖前面的a标签 > ``:覆盖上方的``标签,此标签后面的信号都会被绘制在模块的左侧 > ``:覆盖上方的``标签,此标签后面的信号都会被绘制在模块的右侧 - 连续多行的信号会被分成一组,同组的信号之间靠的更近,通过插入额外的换行将信号分在不同组 - 标签需要放在独立的一行 ### 4. **点击generate按钮,生成io接口图片** ![输入图片说明](img/image.png) ### 5. **截图保存** ## 注意事项 1. 只支持部分 verilog 2001 语法。支持的语法如下: `module module_name ...` `input signal_name ...` or `input [w_h:w_l] signal_name ...` `output signal_name ...` or `output [w_h:w_l] signal_name ...` `inout signal_name ...` or `inout [w_h:w_l] signal_name ...` ` Additional information ` `` `` 其他不支持的关键字或语法结构都将被视为空行 2. 一行最多定义一个IO信号 3. 信号位宽可以使用字母或数字,位宽包含字母会直接显示原文,纯数字只支持高位在左,低位在右,可以包含数学表达式(如:`[16-1:0]`)。 4. 图片暂时无法保存,需要截图使用 5. 若要调整绘图尺寸、背景颜色等请自行修改源码