接着上文继续聊,详解Spyglass使用(一),在看到一条条lint Warning信息后,怎么才能更清晰地知道warning的具体原因呢?告诉你一个好习惯!
Spyglass的Analyze Results默认GUI界面如下,
我们通过View -> Windows -> Help Viewer 来查看SolvNet对每个RTL lint warning类型的解释。
举个例子:
W528 : A signal or variable is set but never read
W528是Warning类型,说一个信号或者变量没有负载。
举个例子:
信号bigbus在第一个assign statement中被赋值了256bit位宽,但是在第二个assign statement中,bigbus仅128 bits (2**(13-7+1) 或者 2**(6-0+1)) 会被选择。因此,W528 的warning message就会出现。
module test1 (a, b); input [13:0] a; output [1:0] b; wire [255:0] bigbus; assign bigbus = {{16{4'h0}},{16{4'h0}},{16{4'h0}},{16{4'h0}}}; assign b={bigbus[a[13:7]],bigbus[a[6:0]]}; endmodule
那么上面代码应该怎么修改才能避免这个warning message呢?
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !