信号数据流向追踪(特别是涉及到PAD内外模块和PAD模块这三个模块):
1.每一个SOC的外围都有PAD,PAD的管脚好多是inout类型的。
singal_pad作为输入和输出都有会OEN /IE之类的使能信号,可以观测使能信号判断inout是输入还是输出。
2.模块内部一般不允许有inout类型,而是把inout类型拆散为input +output类型。
assign singal_inout= link? singal_inout_reg:z;(inout类型为输出时)
若singal_inout为输入可直接赋值,在模块外面。
可以观测link信号,判断singal_inout为输入还是输出。
可以找到inout类型拆散后对应的input/output两个信号,判断输入输出(他们不可能同时有数据的)。
3.理清楚信号的链接规律(比如命名规则)。
公司由于用vperl实现模块信号互联,所以不同模块如果端口信号名字相同,他们一定会连接在一起,发生互联。
一边模块互联会把信号按此命名:在A模块中的input信号,xx_A_singal,output信号,A_xx_singal。