reg map 自动生成寄存器配置脚本

这是一个关于如何使用Python脚本自动生成FPGA寄存器配置脚本的教程。依赖的工具包括Python 3.6+、pandas、numpy以及相关库。脚本支持.xls和.xlsx格式的输入文件,可以处理Excel表格,生成SV格式的寄存器配置文件。用户可以指定输入文件、工作表、作者信息和命名规则等参数。此外,脚本还提供了错误控制级别和自动例化功能。
摘要由CSDN通过智能技术生成

reg map 自动生成寄存器配置脚本


  还记得之前写自动例化的脚本就是因为配置寄存器的模块端口太多了,例化起来实在费劲,而生成配置寄存器的模块用的是公司大佬写的脚本,不过源文件是word做的,虽然不得不说非常好看,但是填起来有点费劲的,当时就想要是源文件是excel表就好了,然后基于这个表自动生成一份word和相关代码多好。
  最近又要做这样的东西了,但却没了称手的工具,实验室之前没用过这种方式做配置。
  好在网上还有大神,在github找到了一个大佬写的,通过APB做配置,然后源文件是excel表。
  用了一段时间后感觉填那个位宽以及reserved还是有点麻烦,还有格式没有做控制,虽然这个模块理论上只需要功能正确就可以了,一般也没人去看,但我还是想稍微控制一下,比如每组加个注释…
  还有,大佬端口变量的逗号是放在开头的,这样自动例化的脚本就识别不到了…
  本来是想基于大佬的版本修改一下的,但大佬用的xlrd模块,而我查了一下用pandas好像更方便处理,而且我也想学一下pandas的,于是就有了这个脚本,
  功能基本是参考大佬的来做的,大佬的功能已经很完善了,非要说我这个的长处的话,可能就是格式稍微控制了一下吧,可是就是因为做这个格式控制,代码里加了好多奇奇怪怪的东西,有“屎山”那感觉了…

  hhh,至少pandas入门了 :)

使用方法

  由于代码的“观赏性”较低,所以我们先来看看用法。
  使用示例如下:

17
18
19
20

依赖工具

  首先python版本得高一点(比如3.6+才能支持f string);
  然后主要是python第三方的库:

  • pandas和numpy这俩得有,用来处理表格;
  • 然后pandas读excel表又依赖于别的库:
      读.xls(Excel 2007之前的老版本)需要用xlrd;
      读.xlsx(Excel 2007之后的新版本)需要用openxl;
      所以这俩包也得装,要是你确定只用一种表,那可以只装一个,不会报错;
  • 还有用于获取excel表创建信息的两个库:zipfile和lxml

  安装命令参考如下:


pip3 install numpy pandas xlrd openxl zipfile lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

后面那个-i是为了避免国外线路太慢,使用清华的镜像

命令参数


-> py reg_map.py -h
usage: reg_map.py [-h] [-f InputFile [InputFile ...]] [-sheet SheetName] [-author Author] [-namerule {
   0,1,2}] [-fout OutputFile] [-ins {
   0,1}]
                  [-v {
   DEBUG,INFO,WARNING,ERROR,CRITICAL}]

options:
  -h, --help            show this help message and exit
  -f InputFile [InputFile ...], --filename InputFile [InputFile ...]
                        Specify input xls file
  -sheet SheetName      To specify one sheet in the file
  <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值