2016-09-19 21 views
0

您好我有一个简单的verilog语句,我希望使用assign语句将实际网络中的值传送到线路。然而,无论实际变量的值如何,我始终都会在“x”处看到导线。下面是一个示例代码的快照,其中值为零时注释:在Verilog中为线路分配实际值

QN是一条导线,real_QN是真实类型。

enter image description here

enter image description here

任何想法,为什么QN为 “X”,即使real_QN为 “0”?

+0

在什么时间对'always @ *'的RHS上的信号进行更改?特别是'CheckZeroPsup' –

+0

60纳秒。我只是用波形更新原始帖子 – sanforyou

+0

任何帮助将不胜感激! – sanforyou

回答

0

所以仅供参考,不能合成的“真实”类型。只是提到它,因为它可能是相关的。因此,这种解决方案也不可合成。但它应该在模拟中工作。在这种情况下,你不能只将一个分配给另一个。但是有一个功能会为你做。

real someReal; 
reg [63:1]someReg; 

initial begin 

someReal = 21.0 ; 
$display("someReal---->%f",someReal); 
$display("someReg---->%b",someReg); 
#1 

someReg = $realtobits(someReal); 
$display("someReg---->%b",someReg); 

让我知道如果这不适合你。