【发布时间】:2016-07-08 22:00:17
【问题描述】:
我正在制作两个模块,一个serializer 和一个deserializer,我正在尝试将serializer 输出连接到deserializer 输入。
但关键是我有一个不寻常的问题,我定义的临时变量没有改变,它们有 x 值。任何人都可以帮我解决这个问题吗?
这是serializer 的定义:
module serializer (clk, validInput, inputData, outputData, validOutput);
input clk, validInput;
input [0:9] inputData;
output reg outputData;
output reg validOutput;
之后还有一些代码,deserializer 看起来像:
module deserializer( input clk, inputBit, validInput,
output reg validOutput,
output reg [0:9] outputData);
控制器代码是:
module controller( input clk, validInput,
input [0:9] inputData,
output [0:9] outputData,
output validOutput);
wire tmpValid = 1, tmpData = 1;
deserializer dsrilz(
.clk(clk),
.inputBit(tmpData),
.validInput(tmpValid),
.validOutput(validOutput),
.outputData(outputData));
serializer srilz (
.clk(clk),
.validInput(validInput),
.inputData(inputData),
.outputData(tmpData),
.validOutput(tmpValid));
endmodule
问题是当我将 tmpData 从 serializer 更改为另一个值而不是我在开始时给它的那个值时(现在给零,而它在controller 中定义的值是1),而不是变成零,它变成x。
有没有人知道我应该怎么做才能解决它?
【问题讨论】:
标签: serialization module verilog system-verilog