用verilog编写时,在同一个顶层文件下的两个程序,想共用一个一位寄存器
请教:用verilog编写时,在同一个顶层文件下的两个程序,想共用一个一位寄存器,这个寄存器不作为输出输入管脚,只是内部的变量寄存器,请问应该怎么定义这个寄存器的属性,或者应该怎样做?<br><br>
我的做法:定义了在一个程序中设置一个一位寄存器,但不设为input或者output,置位后,另外一个程序调用这个寄存器的结果,但调用不成功,请指教,感谢 寄存器类型" reg " 只能在" always" 块中赋值. 请问如果想在一个程序中做一个变量,然后另外一个程序根据这个变量再对其他变量付值,应该怎样做这个中间变量?谢谢指点 always@(.....)begin<br>
if(你定义的那个寄存器)begin<br>
......<br>
end<br>
else begin<br>
......<br>
end<br>
end<br>
是不是这个意思?<br>
<br>
assign a=(你定义的那个寄存器)? ( 逻辑1) : (逻辑2);<br>
这样也可以, 表示如果你定义的那个寄存器不为0时, 执行逻辑1, 否则执行逻辑2. 是这个意思,我在case语句中对寄存器a进行付值,在另外的一个程序中判断a的值来对其他的变量付值<br>
就是这个中间寄存器a脱节,达不到预期的目的<br>
你的意思是:用assign语句可以判断a的值,然后对其他变量付值,对吗?<br>
thx 学习了 谢谢 如果是两个.v文件怎么可能不通过接口达到一个文件访问另一个文件中的变量的目的? 应该需要吧 4楼正解 原帖由 skycanny 于 2006-9-21 12:05 发表<br>
4楼正解 我觉得4楼的说法应该是只适用于同一个文件中的两个always语句结构
页:
[1]
2