在 Verilog 中调用模块
Calling a Module in Verilog
我刚开始使用Verilog学习硬件编程,我感到迷茫,因为我不明白错误是什么意思。
在这里,我调用模块 reg31
module nbit_register(input clk, input [31:0]in, input reset, input L,
input load, input shift, output reg[31:0] out);
always@(*)begin
if(load==1)
reg32 add(clk, in, reset,L, out);
else
out={ in[30:0],1'b0};
end
endmodule
但是,我得到这个错误:
error: syntax error near "reg32"
这是模块的样子
module reg32(
input clk,
input [31:0] in,
input rst,
input L,
output [31:0] out
);
谁能指出这里的错误?
因为您想“select”并使模块 reg32
在 if
分支中“工作”。
成像细胞phone PCB 板。扬声器单元就在那里,即使它处于静音模式。所以单独实例化reg32
,然后用自己的逻辑去处理连接到reg32
的网。
wire [31:0] add_out;
reg32 add(clk, in, reset,L, add_out); // here the 4 inputs are connected to top inputs
// directly. but if you want, you can use 'load'
// to control them similar to the code below.
always@(*)begin
if(load==1)
out = add_out;
else
out = { in[30:0],1'b0};
end
如果您主要从事软件工作,则需要熟悉以“硬件”方式思考。
我刚开始使用Verilog学习硬件编程,我感到迷茫,因为我不明白错误是什么意思。
在这里,我调用模块 reg31
module nbit_register(input clk, input [31:0]in, input reset, input L,
input load, input shift, output reg[31:0] out);
always@(*)begin
if(load==1)
reg32 add(clk, in, reset,L, out);
else
out={ in[30:0],1'b0};
end
endmodule
但是,我得到这个错误:
error: syntax error near "reg32"
这是模块的样子
module reg32(
input clk,
input [31:0] in,
input rst,
input L,
output [31:0] out
);
谁能指出这里的错误?
因为您想“select”并使模块 reg32
在 if
分支中“工作”。
成像细胞phone PCB 板。扬声器单元就在那里,即使它处于静音模式。所以单独实例化reg32
,然后用自己的逻辑去处理连接到reg32
的网。
wire [31:0] add_out;
reg32 add(clk, in, reset,L, add_out); // here the 4 inputs are connected to top inputs
// directly. but if you want, you can use 'load'
// to control them similar to the code below.
always@(*)begin
if(load==1)
out = add_out;
else
out = { in[30:0],1'b0};
end
如果您主要从事软件工作,则需要熟悉以“硬件”方式思考。