前言
在我年轻的时候,在例化了几个近百行接口的module,声明了还几百行的接口和wire后,精神就已经恍惚了,一直恍惚到今天。于是后来我尝试了各种办法来简化这个过程,包括生成简单的例化代码,通过VBA做例化文件等等,但是使用无法解决还是需要手动修改和连线的问题。
终于有一天我知道了verilogmode,所以我突然萌生一个想法,我也要做一个这样的工具来练一练手!
准备
做好的脚本我放在了固定路径下,之后在vimrc中补充这句话:
command! L :execute '%! /home/xiaotu/my_work/gen_link/gen_link -f %'
command! D :execute '%! /home/xiaotu/my_work/gen_link/gen_link -d -f %'
准备了几个需要在定层互连的模块:processing_unit、ctrl_unit、mem_unit,关于这几个模块的具体行为请参考:
在此只罗列下三个模块的接口:
module processing_unit #(
`include "C:/Users/gaoji/Desktop/RISC_SPM/src/para_def.v"
)(
output [WORD_WD -1:0] instruction ,//to ctl
output zero_flag ,//to ctl
output [ADDR_WD