Skip to content

module info

korben.dong edited this page Jun 30, 2020 · 8 revisions

module-info

SoC-Gulp 是以IP为中心的设计方法学构建的flow,使用SoC-Gulp前需要规范化IP(或module)。

使用module_info.json5标注模块在SoC中的信息,请参考pipeLiningAdder

module的目录结构

├── flist.f                                <-- module的文件列表
├── hdl
│   └── pipeLiningAdder.v
├── module.info.json5                      <-- 用于描述module
├── README.md
└── sim
    ├── run
    │   ├── dump.vcd
    │   ├── flist.f
    │   ├── run_flist.sh
    │   ├── run.sh
    │   └── test.vpp
    └── testbench
        └── TestBench.v

module_info.json5字段描述

  • topModule

用于描述模块的顶层module的名字,topModule可用于命名等用途。

  • verdor

用于描述模块的提供商。

  • gateCount_K

用于提供模块综合后的粗略门级数量,以供提取做SoC的面积粗略评估使用。

  • ramSize_KB

显示模块内部调用的ram的大小,可用于评估SoC的memory大小。

  • slaveSpace_KB

提供模块的slave口的寻址空间。

  • protocol

显示模块使用到的标准协议。例如: AXI/AHB/wishbone/TileLink...

  • flist

提供模块的hdl文件列表文件名,根据tag标注flist。 asic-sim -- 用于asic仿真的flist asic-syn -- 用于asic综合的flist fpga-sim -- 用于fpga仿真的flist fpga-syn -- 用于fpga综合的flist dummy -- asic/fpga流程使用仅有接口(dummy)的flist

  • port

描述模块的顶层端口信息,根据协议属性与clock/rst属性描述。

demo

{
  topModule:'pipeLiningAdder',
  vendor: '',
  gateCount_K: '',
  ramSize_KB: '',
  slaveSpcae_KB: '',
  protocol: '',
  flist:[
    {
      suffix : "",
      isVppreproc : true,
      flist  : [
        {
          path: 'flist.f',
          tags: ["asic_sim", "asic_syn", "fpga_sim", "fpga_syn", "dummy"], 
        }
      ]
    },
  ],
  port:[
    {
      clock  : 'clk',
      freqMHz: '64',
      reset  : 'rstn',
      input  : 'a,b,ci',
      output : 's,co',
    },
  ],
}

Release Notes

Clone this wiki locally