gpt4 book ai didi

module - Verilog 错误 : Must be connected to a structural net expression

转载 作者:行者123 更新时间:2023-12-05 08:57:25 29 4
gpt4 key购买 nike

我收到错误:输出或输入端口“Qout”必须连接到结构网络表达式。我评论了下面代码中发生错误的行(代码被修剪/压缩)。我搜索了答案,但似乎无法将输入/输出端口分配给 reg。我认为一种解决方案是将 Q 更改为电线,但 Q 是我的 eightBitRegister 模块中 always-block 的一部分,因此它必须是一个 reg。我该如何解决这个错误?

`timescale 1ns / 1ns

module lab4_3(SW, KEY, LEDR);
input [9:0] SW;
input [3:0] KEY;
output [7:0] LEDR;

eightBitRegister eight1(
.DATA_IN(SW[7:0]),
.parallelloadn(KEY[1]),
.rotateRight(KEY[2]),
.clock(KEY[0]),
.reset(SW[9]),
.Q(LEDR[7:0])
);
endmodule

module eightBitRegister(DATA_IN, parallelloadn, rotateRight, reset, clock, Q);
input [7:0] DATA_IN;
input parallelloadn;
input rotateRight;
input reset;
input clock;
output[7:0] Q;


register reg0(.Qout(Q[0]), //GETTING ERROR HERE
.right(Q[1]),
.left(Q[7]),
.D(DATA_IN[0]),
.loadleft(rotateRight),
.loadn(parallelloadn),
.clk(clock),
.rst(reset));

reg [7:0] Q;
always @(*)
begin
case({parallelloadn,rotateRight})
2'b00: Q = DATA_IN;
2'b01: Q = DATA_IN;
2'b11: Q = Q >> 1;
2'b10: Q = Q << 1;
endcase
end

endmodule

module register(Qout, right, left, D, loadleft, loadn, clk, rst);
input right, left;
input D;
wire datato_dff, rotatedata;
input loadleft, loadn;
input clk, rst;
output Qout;

flipflop F0(
.d(datato_dff),
.q(Qout),
.clock(clk),
.reset(rst)
);

module flipflop(d, q, reset, clock);
input reset, clock;
input d;
output q;
reg q;
always @(posedge clock)
begin
if (reset == 1'b0)
q <= 0;
else
q <= d;
end

endmodule

最佳答案

首先,在flipflop F0实例化后,endmodule不见了。 Verilog 不支持嵌套模块(这可能是拼写错误)。

其次,Qout 由多个驱动程序驱动。您已经从 .Qout(Q[0]) 驱动了 Qout,即从 register 模块和 always block 。这是非法的。

模块的输出必须连接到线。尽管 Qout 是一个输出端口,但它被用作逻辑的输入以驱动 Q。因此,您需要从register 模块中取出一根线,并用它来驱动eightBitRegister 模块的Q

下图显示了输入、输出和inout端口的端口连接规则。

Port Connection Rules

我已经稍微修改了您的代码。在这里,使用临时电线作为解决方法。代码可在 EDAPlayground 获得。 .

关于module - Verilog 错误 : Must be connected to a structural net expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33090239/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com